Hoton HOLTEK HT32 CMSIS-DSP Library
Jagorar Mai Amfani
D/N: Saukewa: AN0538

Gabatarwa

CMSIS mizanin masarrafar software ce ta ARM wacce ke da cikakken suna Cortex Microcontroller Software Interface Standard. Tare da wannan daidaitaccen keɓancewa, masu haɓakawa za su iya amfani da mahaɗa iri ɗaya don sarrafa microcontrollers daga masu samar da kayayyaki daban-daban don haka suna rage haɓakarsu da lokacin koyo. Don ƙarin bayani, koma ga jami'in CMSIS website: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. Wannan rubutun ya fi bayyana aikace-aikacen CMSIS-DSP a cikin jerin HT32 na microcontrollers waɗanda suka haɗa da saitin yanayi, jagora don amfani, da sauransu.

Bayanin Aiki

Fasalolin CMSIS-DSP
CMSIS-DSP, wanda shine ɗayan abubuwan haɗin CMSIS ya haɗa da waɗannan abubuwan.

  1. Yana ba da saitin ayyukan sarrafa sigina na gabaɗaya da aka keɓe ga Cortex-M.
  2. Laburaren aikin da ARM ke bayarwa yana da ayyuka sama da 60.
  3. Yana goyan bayan q7,q15,q31
    (bayanin kula) da nau'ikan bayanai masu iyo (32-bit).
  4. An inganta aiwatarwa don saitin koyarwa na SIMD wanda akwai don Cortex-M4/M7/M33/M35P.

Lura: Sunan q7, q15, da q31 a cikin ɗakin karatu na aiki bi da bi suna wakiltar madaidaitan maki 8, 16, da 32bit.
Abubuwan Laburare Ayyukan CMSIS-DSP
Laburaren aikin CMSIS-DSP ya kasu kashi-kashi masu zuwa:

  1. Ayyukan lissafi na asali, ayyukan lissafin sauri, da hadaddun ayyukan lissafi
  2. Ayyukan tace sigina
  3. Matrix ayyuka
  4. Canza ayyuka
  5. Ayyukan sarrafa motoci
  6. Ayyukan ƙididdiga
  7. Ayyukan tallafi
  8. Ayyukan interpolation

Saitin Muhalli

Wannan sashe zai gabatar da kayan masarufi da software da aka yi amfani da su a cikin aikace-aikacen example.
Hardware
Kodayake CMSIS-DSP yana goyan bayan cikakken jerin HT32, ana ba da shawarar yin amfani da MCU tare da ƙarfin SRAM mafi girma fiye da 4KB azaman aikace-aikacen CMSIS-DSP ex.ample yana buƙatar girman SRAM mafi girma. Wannan rubutu yana ɗaukar ESK32-30501 azaman tsohonampwanda ke amfani da HT32F52352.
Software
Kafin amfani da aikace-aikacen example, da farko, tabbatar da cewa an sauke sabuwar Holtek HT32 Firmware Library daga jami'in Holtek. website. Ana nuna wurin zazzagewa a hoto
Decompress da file bayan saukewa.

HOLTEK HT32 CMSIS-DSP Library - Hoto

Zazzage lambar aikace-aikacen CMSIS-DSP ta hanyar haɗin da ke ƙasa. An cika lambar aikace-aikacen azaman zip file tare da sunan HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
Hanyar saukewa: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
The file Ana nuna ƙa'idar suna a hoto na 2.

HOLTEK HT32 CMSIS-DSP Library - Hoto 2

Kamar yadda lambar aikace-aikacen ba ta ƙunshi ɗakin karatu na firmware ba files, masu amfani suna buƙatar sanya lambar aikace-aikacen da ba a buɗe ba da ɗakin karatu na firmware files cikin madaidaiciyar hanya kafin fara haɗawa. Lambar aikace-aikacen file ya ƙunshi manyan fayiloli guda biyu, waɗanda su ne aikace-aikacen da kuma ɗakin karatu wanda aka nuna wurin su a cikin hoto na 3. Sanya waɗannan manyan fayiloli guda biyu a cikin tushen tushen laburare na firmware don kammala karatun. file Tsarin hanya kamar yadda aka nuna a Hoto 4. Masu amfani kuma za su iya rage lambar aikace-aikacen da ɗakin karatu na firmware da aka matsa files cikin hanya guda don cimma tasiri iri ɗaya. Domin wannan exampHar ila yau, za a ga kundin adireshi na CMSIS_DSP a ƙarƙashin babban fayil ɗin aikace-aikacen bayan yankewa.

HOLTEK HT32 CMSIS-DSP Library - Hoto 3

File Tsarin

Manyan manyan fayiloli guda biyu da aka haɗa a cikin lambar aikace-aikacen file, laburare\CMSIS, da aikace-aikacen\CMSIS_DSP, an kwatanta su daban-daban a ƙasa.
Abubuwan da ke cikin babban fayil ɗin laburare\CMSIS sune kamar haka.

Sunan Jaka Bayani
DSP_Lib Aikace-aikacen FW lambar tushe
DSP_Lib\Examples Ya ƙunshi ma'auni da yawa examples na ɗakin karatu na aikin CMSIS-DSP wanda ARM ke bayarwa. Ana aiwatar da saitunan waɗannan ayyukan ta hanyar kwaikwaya ba tare da buƙatar MCU ba. Masu amfani za su iya koyon yadda ake amfani da waɗannan tsoffinamples ta hanyar aiwatar da su.
DSP_Lib Source CMSIS-DSP lambar tushen ɗakin karatu
Hada Mabuɗin kai file lokacin amfani da ɗakin karatu na aikin CMSIS-DSP
Hada da tebur_na kowa_hannu.h Sanarwa na masu canjin tsararru na waje (na waje)
Hada da\arm_const_structs.h Sanarwa na dindindin na waje
Hada da\arm_math.h Wannan file yana da matukar mahimmanci a matsayin haɗin kai don amfani da ɗakin karatu na aikin CMSIS-DSP. Ana aiwatar da kira zuwa kowane ɗakin karatu API ta hanyar arm_math.h.
lib\ARM CMSIS-DSP ɗakin karatu na aikin ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little endian)
lib\GCC CMSIS-DSP ɗakin karatu don GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian)

Babban fayil CMSIS_DSP yana ƙunshe da CMSIS_DSP da yawaamples, waɗanda ke amfani da jerin HT32 na MCUs kuma suna tallafawa cikakken jerin HT32. Ana haɓaka ayyukan ta amfani da Keil MDK_ARM.

Sunan Jaka Bayani
hannu_class_marks_example Yana nuna yadda ake samun matsakaicin ƙima, ƙima mafi ƙanƙanta, ƙimar da ake tsammani, daidaitaccen karkata, bambancin da ayyukan matrix.
hannu_convolution_example Yana nuna ƙa'idar juyin juya hali ta hanyar hadaddun FFT da ayyukan tallafi.
hannu_dotproduct_example Yana nuna yadda ake samun samfurin digo ta hanyar ninkawa da ƙari na vectors.
hannu_fft_bin_example Yana nuna yadda ake ƙididdige madaidaicin taga makamashi (bin) a cikin yanki mitar siginar shigarwa ta amfani da hadaddun FFT, girma mai rikitarwa, da matsakaicin ayyukan module.
hannu_fir_example Yana nuna yadda ake aiwatar da ƙarancin wucewa ta amfani da FIR.
arm_graphic_equalizer_example Yana nuna yadda ake canza ingancin sauti ta amfani da ma'aunin hoto.
arm_linear_interp_example Yana nuna yadda ake amfani da tsarin haɗin kai na linzamin kwamfuta da tsarin lissafi mai sauri.
arm_matrix_example Yana nuna lissafin daidaitawar matrix gami da canjin matrix, haɓaka matrix, da matrix inverse.
hannu_signal_converge_example Nuna da tace-wuce-dama-ent tace ta amfani da Nlms (ƙayyadadden ma'anar murabba'i), fir, da kuma matattun maths.
hannu_sin_cos_example Yana nuna lissafin trigonometric.
hannu_variance_example Yana nuna yadda ake lissafin bambance-bambance ta hanyar lissafi na asali da ayyukan tallafi.
filter_iir_high_pass_example Yana nuna yadda ake aiwatar da tacewa mai tsayi ta amfani da IIR.

Gwaji
Wannan rubutun zai yi amfani da aikace-aikacen \CMSIS_DSP\arm_class_marks_example a matsayin gwajin example. Kafin fara gwaji, bincika ko an haɗa ESK32-30501 ko a'a kuma tabbatar da cewa an sanya lambar aikace-aikacen da ɗakin karatu na firmware a wurin da ya dace. Bude aikace-aikacen \CMSIS_DSP\arm_class_marks_example babban fayil kuma aiwatar da _CreateProject.bat  file, kamar yadda aka nuna a kasa. Bayan wannan, buɗe MDK_ARMv5 (ko MDK_ARM don Keilv4), don gano cewa wannan tsohonample yana goyan bayan cikakken jerin HT32. Bude aikin Project_52352.uvprojx saboda ana amfani da ESK32-30501.

HOLTEK HT32 CMSIS-DSP Library - Hoto 4

Bayan buɗe aikin, haɗa (maɓallin gajeriyar hanya "F7"), zazzage (maɓallin gajeriyar hanya "F8"), cire kuskure (maɓallin gajeriyar hanya "Ctrl+F5") sannan aiwatar da (maɓallin gajeriyar hanya "F5"). Ana iya lura da sakamakon kisa ta amfani da masu canji da aka jera a ƙasa.

Mai canzawa Suna Hanyar Data Bayani Sakamakon Kisa
testMarks_f32 Shigarwa Tsari ɗaya na 20 × 4
shaidaUnity_f32 Shigarwa Tsari ɗaya na 4 × 1
gwajin fitarwa Fitowa Samfurin testMarks_f32 da testUnity_f32 {188…}
max_marks Fitowa Matsakaicin ƙimar abubuwan da ke cikin tsararrun fitarwa na gwaji 364
min_marks Fitowa Matsakaicin ƙimar abubuwan da ke cikin tsararrun fitarwa na gwaji 156
nufi Fitowa Ƙimar da ake tsammani na abubuwan da ke cikin tsararrun fitarwar gwaji 212.300003
std Fitowa Madaidaicin daidaitattun abubuwan abubuwa a cikin tsararrun fitarwa na gwaji 50.9128189
var Fitowa Bambance-bambancen abubuwan da ke cikin tsararrun fitarwa na gwaji 2592.11523

Hanyar Amfani 

Haɗin kai
Wannan sashe zai gabatar da yadda ake haɗa CMSIS-DSP cikin ayyukan masu amfani.
Mataki na 1
Da farko, ƙara sabon Alamar Ƙira lokacin saita aikin, "ARM_MATH_CM0PLUS" na M0+ da "ARM_MATH_CM3" don M3. Hanyar saitawa: (1) Zaɓuɓɓuka na Maɓallin gajeriyar hanya "Alt+F7"), (2) Zaɓi shafi C/C++, (3) Ƙara sabon ma'ana a cikin Zaɓin Ƙayyade, kamar yadda aka nuna a ƙasa.

HOLTEK HT32 CMSIS-DSP Library - Hoto 5

Mataki na 2
Don ƙara hanyar Haɗa, danna maɓallin kusa da zaɓin "Hada Hanyoyi" akan shafin C/C++. Sannan taga Saitin Jaka zai fito, inda za'a iya ƙara sabuwar hanyar .. \...\...\..\library\CMSIS\Include, kamar yadda aka nuna a ƙasa.

HOLTEK HT32 CMSIS-DSP Library - Hoto 6

Mataki na 3 (Na zaɓi)
Don ƙara ɗakin karatu na aiki, danna maɓallin "Sarrafa Abubuwan Ayyuka" kamar yadda aka nuna a ƙasa. Idan ba a ga maɓallin ba, danna "Window → Sake saiti View to Defaults → Sake saitin”, ta yadda IDE taga saitin zai koma ga tsoffin saitunan sa. Bayan wannan, za a nuna maɓallin "Sarrafa Abubuwan Ayyuka".

HOLTEK HT32 CMSIS-DSP Library - Hoto 7

Ƙara babban fayil na CMSIS-DSP ta amfani da maɓallan kamar yadda aka nuna a cikin akwatin ja da ke ƙasa kuma matsar da shi a ƙarƙashin babban fayil na CMSIS ta amfani da maɓallin "Move Up". Rufe taga abubuwan Sarrafa Project idan an gama.

HOLTEK HT32 CMSIS-DSP Library - Hoto 8

Mataki na 4
Danna babban fayil ɗin CMSIS-DSP a hagu sau biyu (idan an tsallake mataki na 3, zaɓi kowane babban fayil kamar User ko CMSIS, da sauransu), sannan ƙara ɗakin karatu na aikin CMSIS-DSP a ciki. Zaɓi \laburare\CMSIS\Lib\ARM\arm_cortexM0l_math.lib don M0+ ko \laburare\CMSIS\Lib\ARM \arm_cortexM3l_math.lib don M3. Bayan kammalawa, za a nuna ɗakin ɗakin karatu na aikin arm_cortexMxl_math.lib a cikin babban fayil na CMSIS-DSP, kamar yadda aka nuna a ƙasa.

HOLTEK HT32 CMSIS-DSP Library - Hoto 9

Mataki na 5
Ƙara kai file "arm_math.h" zuwa main.c, kamar yadda aka nuna a kasa. Yanzu an kammala duk saitunan haɗin kai

HOLTEK HT32 CMSIS-DSP Library - Hoto 10

Tace mai ƙarancin wucewa - FIR

Wannan sashe, ta hanyar gabatar da aikace-aikacen \CMSIS_DSP\arm_fir_example, zai nuna yadda ake saita tacewar FIR da cire sigina mai girma ta amfani da FIR. Siginar shigarwa ta ƙunshi 1kHz da 15kHz sine tãguwar ruwa. Alamar sampmita mita ne 48 kHz. Sigina sama da 6kHz ana tace su ta FIR kuma ana fitar da sigina 1kHz. An raba lambar aikace-aikacen zuwa sassa da yawa.

  1. Farawa. Don fara FIR, ana amfani da API mai zuwa.
    vaid arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize);
    S: Tsarin tace FIR
    lambobi: Yawan tace stages (yawan adadin masu tacewa). A cikin wannan example, numTaps=29.
    Coffs: Filter coefficient. Akwai matattara guda 29 a cikin wannan tsohonample wanda aka ƙididdige ta MATLAB.
    state: Alamar matsayi
    blockSize: yana wakiltar adadin samples sarrafa lokaci guda.
  2. Ƙarƙashin wucewa tace. Ta hanyar kiran API na FIR, 32 sampAna sarrafa les kowane lokaci kuma akwai 320 samples a duka. API ɗin da aka yi amfani da shi yana nunawa a ƙasa.
    vaid arm_fir_f32 (const arm_fir_instance_f32 * S, float32_t * pSrc, float32_t * pDst, uint32_t blockSize);
    S: Tsarin tace FIR
    pSrc: Siginar shigarwa. An haɗa sigina na 1kHz da 15kHz a cikin wannan tsohonample. pDst: siginar fitarwa. Siginar fitarwa da ake tsammanin shine 1kHz. blockSize: yana wakiltar adadin samples sarrafa lokaci guda.
  3. Tabbatar da bayanai. Sakamakon tacewa da MATLAB ya samu ana ɗaukarsa azaman tunani kuma sakamakon tacewa ta CMSIS-DSP shine ainihin ƙimar. Kwatanta sakamakon biyu don tabbatar da ko sakamakon fitarwa daidai ne ko a'a. float arm_snr_f32 (taso kan ruwa * pRef, iyo * pTest, uint32_t buffSize)
    Pref: Ƙimar magana ta MATLAB.
    matsayi: Ƙimar gaske ta CMSIS-DSP.
    blockSize: yana wakiltar adadin samples sarrafa lokaci guda.
    Kamar yadda aka nuna a ƙasa, Bayanan shigarwa yana nuna cewa har yanzu ba a tace siginar ba kuma bayanan fitarwa yana nuna sakamakon da aka tace. Y-axis yana wakiltar amplitud na sigina da sampling mita ne 48kHz, don haka X-axis lamba da daya wakiltar lokaci da 20.833μs. Ana iya samuwa daga Hoto na 12 da Hoto 13 cewa an kawar da siginar 15kHz kuma siginar 1kHz kawai ya rage.

HOLTEK HT32 CMSIS-DSP Library - Hoto 11

Tace Mai Girma-IIR
Wannan sashe, ta hanyar gabatar da aikace-aikacen \CMSIS_DSP\filter_iir_high_pass_example, zai nuna yadda ake saita tacewar IIR da kuma cire sigina mara ƙarfi ta amfani da IIR. Siginar shigarwa ta ƙunshi raƙuman ruwa na 1Hz da 30Hz. Alamar sampMitar ling shine 100Hz kuma jimlar maki 480 shine sampjagoranci. IIR yana cire sigina da ke ƙasa da 7Hz.
An raba lambar aikace-aikacen zuwa sassa da yawa. 

  1.  Akwai 480 samples. Sample 0 ~ 159 raƙuman ruwa ne na 30Hz, sample 160 ~ 319 ne 1Hz sine taguwar ruwa da sample 320 ~ 479 sune raƙuman ruwa na 30Hz.
  2. Farawa. Don fara IIR, ana amfani da API mai zuwa. void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *state));
    S: IIR tsarin tacewa
    suma stages: Adadin oda na biyu stages a tace. A cikin wannan exampku, nustagda = 1.
    Coffs: Filter coefficient. Akwai matattara guda 5 a cikin wannan tsohonample.
    state: Alamar matsayi
  3. Tace ta wuce. Ta hanyar kiran API na IIR, 1 sampLe ana sarrafa kowane lokaci kuma akwai 480 samples a duka. API ɗin da aka yi amfani da shi yana nunawa a ƙasa. void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
    S: IIR tsarin tacewa
    pSrc: Siginar shigarwa. An shigar da sigina mai gauraya na 1Hz da 30Hz a cikin wannan tsohonample.
    pDst: siginar fitarwa. Siginar fitarwa da ake tsammanin shine 30Hz.
    blockSize: yana wakiltar adadin samples sarrafa lokaci guda.
  4. Fitowar sakamako. Ana fitar da siginar shigarwa da fitarwa zuwa PC ta hanyar bugawa. Kamar yadda aka nuna a ƙasa, Bayanan shigarwa yana nuna cewa har yanzu ba a tace siginar ba kuma bayanan fitarwa yana nuna sakamakon da aka tace. Y-axis yana wakiltar amplitud na sigina da sampMitar ling shine 100Hz, don haka lambar axis X da ɗaya tana wakiltar lokaci da 10ms. Ana iya samuwa daga Hoto 14 da Hoto 15 cewa an kawar da siginar 1Hz kuma kawai siginar 30Hz ya rage.

HOLTEK HT32 CMSIS-DSP Library - Hoto 12

La'akari

Masu amfani yakamata su ba da kulawa ta musamman ga girman ƙwaƙwalwar ajiya bayan haɗawa lokacin amfani da ɗakin karatu na aikin CMSIS-DSP. Tabbatar cewa babu ambaton ƙwaƙwalwar ajiya da ke faruwa kafin gwaji.
Kammalawa
CMSIS-DSP yana da babban iyawa a cikin sarrafa sigina da lissafin lissafi kuma ya cancanci la'akari sosai daga masu amfani.
Abubuwan Magana
Magana website: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
Siffofin da Bayanin Gyarawa

Kwanan wata Marubuci Batu Bayanin Gyarawa
2022.06.02 Rubuce-rubucen, Liu V1.10 Gyara hanyar saukewa
2019.09.03 Allen, Wang V1.00 Farko Na Farko

Disclaimer

Duk bayanai, alamun kasuwanci, tambura, zane-zane, bidiyo, shirye-shiryen sauti, hanyoyin haɗin gwiwa da sauran abubuwan da ke bayyana akan wannan website ('Bayani') don tunani ne kawai kuma ana iya canzawa a kowane lokaci ba tare da sanarwar farko ba kuma bisa ga ra'ayin Holtek Semiconductor Inc. da kamfanoni masu alaƙa (daga nan 'Holtek', 'kamfanin', 'mu',' mu ko 'namu'). Yayin da Holtek ke ƙoƙarin tabbatar da daidaiton Bayani akan wannan webGidan yanar gizon, babu wani takamaiman ko garanti mai ma'ana da Holtek ya bayar ga daidaiton Bayanin. Holtek ba zai ɗauki alhakin kowane kuskure ko yabo ba. Holtek ba zai zama alhakin duk wani lalacewa ba (ciki har da amma ba'a iyakance ga cutar kwamfuta ba, matsalolin tsarin ko asarar bayanai) duk abin da ya taso a amfani ko dangane da amfani da wannan. website ta kowace jam'iyya. Akwai yuwuwar samun hanyoyin haɗin gwiwa a wannan yanki, waɗanda ke ba ku damar ziyartar wurin webshafukan sauran kamfanoni. Wadannan webHoltek ba shi da iko akan rukunin yanar gizon. Holtek ba zai ɗauki alhaki ba kuma bashi da garanti ga kowane Bayani da aka nuna a irin waɗannan rukunin yanar gizon. Haɗin kai zuwa wasu webshafuka suna cikin haɗarin ku.
Iyakance Alhaki
A kowane hali, Kamfanin ba ya buƙatar ɗaukar alhakin duk wani asara ko lalacewa da aka yi lokacin da kowa ya ziyarci gidan webshafin kai tsaye ko a kaikaice kuma yana amfani da abubuwan ciki, bayanai ko sabis akan website.
Dokar Mulki
Wannan ƙin yarda yana ƙarƙashin dokokin Jamhuriyar Sin da kuma ƙarƙashin ikon Kotun Jamhuriyar Sin.
Sabunta Disclaimer
Holtek yana da haƙƙin sabunta Disclaimer a kowane lokaci tare da ko ba tare da sanarwa ta farko ba, duk canje-canje suna aiki nan da nan bayan aikawa zuwa ga website.

Hoton HOLTEK

Takardu / Albarkatu

HOLTEK HT32 CMSIS-DSP Library [pdf] Jagorar mai amfani
HT32, CMSIS-DSP Library, HT32 CMSIS-DSP Library, Laburare

Magana

Bar sharhi

Ba za a buga adireshin imel ɗin ku ba. Ana yiwa filayen da ake buƙata alama *