HT32 CMSIS-DSP Faletusi
Fa'aoga Taiala
D/N: AN0538EN
Folasaga
O le CMSIS o se atinaʻe faʻapipiʻi faʻapipiʻiina e le ARM o loʻo i ai le igoa atoa o Cortex Microcontroller Software Interface Standard. Faatasi ai ma lenei faʻataʻitaʻiga masani, e mafai e le au atinaʻe ona faʻaogaina le atinaʻe tutusa e pulea ai microcontrollers mai faʻatau oloa eseese ma faʻapuupuu ai a latou atinaʻe ma taimi aʻoga. Mo nisi faʻamatalaga, vaʻai ile ofisa CMSIS webnofoaga: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. O lenei tusitusiga e masani ona faʻamatalaina le CMSIS-DSP talosaga i le HT32 faʻasologa o microcontrollers lea e aofia ai le faʻatulagaina o le siosiomaga, faʻatonuga mo le faʻaogaina, ma isi.
Fa'amatalaga Fa'atino
CMSIS-DSP Vaega
CMSIS-DSP, o se tasi o vaega CMSIS e aofia ai vaega nei.
- Tuuina atu se seti o galuega fa'atino fa'ailoga lautele fa'apitoa mo le Cortex-M.
- O le faletusi galuega na saunia e le ARM e silia ma le 60 galuega.
- Lagolago q7, q15, q31
(Fa'amatalaga) ma fa'ailoga fa'afefe (32-bit) fa'amaumauga - O faʻatinoga e sili ona lelei mo le seti faʻatonuga a le SIMD lea e avanoa mo Cortex-M4/M7/M33/M35P.
Fa'aaliga: O le fa'aigoaina o le q7, q15, ma le q31 i totonu o le faletusi galuega e fai ma sui o le 8, 16, ma le 32bit fa'amaumau.
CMSIS-DSP Function Library Items
O le CMSIS-DSP galuega faletusi ua vaevaeina i vaega nei:
- Galuega fa'atatau o le matematika, galuega fa'amatematika vave, ma galuega fa'amatematika lavelave
- Galuega fa'amama fa'ailoga
- Galuega fa'atino
- Suia galuega
- Galuega fa'atonutonu afi
- Galuega fa'amaumauga
- Galuega lagolago
- Galuega fa'afeso'ota'i
Seti Siosiomaga
O lenei vaega o le a faʻaalia ai meafaigaluega ma polokalama faʻaogaina i le talosaga example.
Meafaigaluega
E ui o le CMSIS-DSP e lagolagoina le HT32 faʻasologa atoa, e fautuaina e faʻaaoga se MCU ma se malosi SRAM e sili atu nai lo le 4KB e pei o le CMSIS-DSP application ex.ampe manaʻomia le tele o le SRAM. O lenei tusitusiga e ave le ESK32-30501 e fai ma faʻamatalagaamplea e fa'aaoga le HT32F52352.
Polokalama
A'o le'i fa'aogaina le talosaga exampmuamua, ia mautinoa ua sii mai le faletusi fou o Holtek HT32 Firmware mai le ofisa Holtek. webnofoaga. O loʻo faʻaalia le nofoaga o le download i le Ata
Decompress le file ina ua uma ona sii mai.
Sii mai le code talosaga CMSIS-DSP e ala i le sootaga i lalo. O lo'o fa'apipi'i le fa'ailoga tusi e pei o se zip file ma le igoa HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
Ala i lalo: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
O le file tulafono fa'aigoaina o lo'o fa'aalia i le Ata 2.
Talu ai e le oi ai i le tusi talosaga le faletusi firmware files, e manaʻomia e tagata faʻaoga ona tuʻu le faʻailoga tusi talosaga ma le faletusi firmware files i le ala sa'o a'o le'i amataina le tuufaatasia. Le code talosaga file o loʻo i ai ni laupepa se lua, o le talosaga ma le faletusi o loʻo faʻaalia lona nofoaga i le Ata 3. Tuu nei laupepa e lua i totonu o le firmware library root directory e faʻamaeʻa ai le file fetuutuunaiga ala e pei ona faaalia i le Ata 4. E mafai foi e tagata faaaoga ona decompress le code talosaga ma le faletusi firmware compressed files i le ala lava e tasi e ausia ai le aafiaga tutusa. Mo lenei example, o le fa'atonuga mo CMSIS_DSP o le a va'aia i lalo o le faila talosaga pe a mae'a fa'aletonu.
File Fauga
O laupepa autu e lua o loʻo aofia i totonu o le numera o talosaga file, faletusi\CMSIS, ma le talosaga\CMSIS_DSP, o loʻo faʻamatalaina taʻitasi i lalo.
O mea o lo'o i totonu o le faletusi\CMSIS faila e fa'apea.
Igoa faila | Fa'amatalaga |
DSP_Lib | Talosaga FW source code |
DSP_Lib\Examples | O lo'o i ai le tele o tulaga masani exampo le CMSIS-DSP galuega faletusi lea e saunia e le ARM. O faʻatulagaga mo nei poloketi o loʻo faʻatinoina i se auala faʻatusa e aunoa ma le manaʻomia o se MCU. E mafai e tagata fa'aoga ona vave a'oa'o pe fa'apefea ona fa'aoga nei mea muamuaamples e ala i le fasiotia o i latou. |
DSP_Lib\Source | CMSIS-DSP galuega fa'akomepiuta punatusi puna |
Fa'aaofia | Ulutala mana'omia file pe a faʻaaogaina le faletusi galuega CMSIS-DSP |
Fa'aaofia\arm_common_tables.h | Ta'utinoga o fesuiaiga o la'au i fafo (fafo) |
Fa'aaofia\arm_const_structs.h | Ta'utinoga o fa'aauau mai fafo |
Fa'aaofia\arm_math.h | Lenei file e taua tele e pei o le atinaʻe mo le faʻaaogaina o le CMSIS-DSP faletusi galuega. O vala'au i so'o se faletusi API e fa'atinoina e ala i le arm_math.h. |
Lib\ARM | CMSIS-DSP faletusi galuega mo ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little endian) |
Lib\GCC | CMSIS-DSP faletusi galuega mo GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian) |
O le tusi talosaga\CMSIS_DSP e iai le tele o CMSIS_DSP examples, lea e fa'aaoga ai le HT32 fa'asologa o MCU ma lagolagoina le HT32 fa'asologa atoa. O galuega fa'atino e atia'e e fa'aaoga ai le Keil MDK_ARM.
Igoa faila | Fa'amatalaga |
arm_class_marks_example | Fa'aalia pe fa'apefea ona maua le tau aupito maualuga, tau maualalo, tau fa'amoemoeina, va'aiga masani, eseesega ma galuega matrix. |
arm_convolution_example | Fa'aali le fa'aupuga fa'asagatau e ala ile FFT lavelave ma galuega lagolago. |
arm_dotproduct_example | Fa'aali mai le auala e maua mai ai dot product e ala i le fa'ateleina ma le fa'aopoopoina o vectors. |
arm_fft_bin_example | Fa'aali pe fa'apefea ona fa'atatau le fa'amalama pito i luga ole malosi (talone) i le fa'asologa o fa'ailoga fa'aoga e fa'aaoga ai le FFT lavelave, lavelave lavelave, ma le maualuga o galuega faatino. |
arm_fir_example | Fa'aali le fa'atinoina o le fa'aogaina o le su'ega maualalo e fa'aaoga ai le FIR. |
arm_graphic_equalizer_example | Fa'aali pe fa'afefea ona sui le lelei o le leo e fa'aaoga ai le fa'atusa fa'ata. |
arm_linear_interp_example | Fa'aalia le fa'aogaina o le fa'aogaina o laina laina ma le numera vave. |
arm_matrix_example | Fa'aalia le fa'atusatusaga o matrix e aofia ai matrix transform, matrix multiplication, ma matrix inverse. |
arm_signal_converge_example | Fa'aalia le fa'amama fa'amama fa'ase'e a le tagata lava ia e fa'aaoga ai le NLMS (Normalised Least Mean Square), FIR, ma fa'aoga numera fa'avae. |
arm_sin_cos_example | Fa'aali fa'atatauga fa'atatauga. |
arm_variance_example | Fa'aali le fa'atatauina o eseesega e ala ile numera fa'avae ma galuega lagolago. |
filter_iir_high_pass_example | Fa'aali le fa'atinoina o le fa'amama o le pasi maualuga e fa'aaoga ai le IIR. |
Su'ega
O lenei tusitusiga o le a fa'aogaina le talosaga\CMSIS_DSP\arm_class_marks_example pei o le suega example. Aʻo leʻi amataina suʻega, siaki pe ua fesoʻotaʻi le ESK32-30501 pe leai ma faʻamautinoa o loʻo tuʻuina le code code ma le firmware library i le nofoaga saʻo. Tatala le talosaga\CMSIS_DSP\arm_class_marks_example faila ma faatino le _CreateProject.bat file, e pei ona faaalia i lalo. A maeʻa lenei, tatala le MDK_ARMv5 (poʻo le MDK_ARM mo Keilv4), e suʻe ai o lenei exampe lagolagoina le faasologa atoa HT32. Tatala le poloketi Project_52352.uvprojx aua o loʻo faʻaaogaina le ESK32-30501.
A uma ona tatala le poloketi, faʻapipiʻi (ki puʻupuʻu "F7"), download (ki puʻupuʻu "F8"), debug (ki puʻupuʻu "Ctrl + F5") ona faʻatino lea (ki puʻupuʻu "F5"). O taunu'uga o le fa'atinoga e mafai ona va'aia e fa'aaoga ai suiga o lo'o lisi atu i lalo.
Fesuia'i Igoa | Fa'atonuga o Fa'amatalaga | Fa'amatalaga | I'uga o le Fa'atau |
testMarks_f32 | Ulufale | Tasi 20 × 4 laina | – |
testUnity_f32 | Ulufale | Tasi 4 × 1 laina | – |
su'ega galuega | Tuuina atu | Le oloa a testMarks_f32 ma testUnity_f32 | {188…} |
max_marks | Tuuina atu | Le tau maualuga o elemene i le faʻasologa o suʻega | 364 |
min_marks | Tuuina atu | Le tau maualalo o elemene o loʻo i totonu o le faʻasologa o suʻega | 156 |
uiga | Tuuina atu | Le tau fa'amoemoeina o elemene o lo'o i totonu o le fa'asologa o su'ega | 212.300003 |
std | Tuuina atu | Le fa'asologa masani o elemene i le fa'asologa o fa'ata'ita'iga | 50.9128189 |
var | Tuuina atu | Le ese'esega o elemene i le fa'asologa o fa'ata'ita'iga | 2592.11523 |
Fa'atonuga mo le Fa'aaogaina
Tuufaatasiga
O lenei vaega o le a faʻaalia pe faʻafefea ona tuʻufaʻatasia le CMSIS-DSP i galuega a tagata faʻaoga.
Laasaga 1
Muamua, fa'aopoopo se fa'ailoga fou Fa'amatala pe a fa'atulaga le poloketi, "ARM_MATH_CM0PLUS" mo M0+ ma le "ARM_MATH_CM3" mo M3. Fa'atulagaina o faiga: (1) Filifiliga o le 'Au'au 'Alt + F7', (2) Filifili le itulau C/C++, (3) Fa'aopoopo se fa'amatalaga fou i le Fa'amatalaga filifiliga, e pei ona fa'aalia i lalo.
Laasaga 2
Ina ia faʻaopoopo se ala Faʻaaofia, kiliki le ki i tafatafa o le "Include Paths" filifiliga ile itulau C/C++. Ona oso aʻe lea o se faamalama Setup Folder, lea e mafai ona faaopoopo ai se ala fou ..\..\..\..\library\CMSIS\Include", e pei ona faaalia i lalo.
Laasaga 3 (Filifili)
Ina ia faʻaopoopo le faletusi galuega, kiliki le "Manage Project Items" faʻamau e pei ona faʻaalia i lalo. Afai e le o vaʻaia le ki, kiliki "Faʻamalama → Toe setiina View i Defaults → Reset", ina ia toe foʻi le faʻaogaina o le faamalama IDE i ona tulaga le lelei. A maeʻa lea, o le a faʻaalia le "Manage Project Items".
Faʻaopoopo le CMSIS-DSP folder e faʻaaoga ai faʻamau e pei ona faʻaalia i le pusa mumu i lalo ma faʻanofo i lalo o le CMSIS folder e faʻaaoga ai le "Move Up" button. Tapuni le faamalama Manage Project tems pe a uma.
Laasaga 4
Kiliki faalua le pusa CMSIS-DSP i le agavale (pe a faaseʻe le Laasaga 3, filifili soʻo se faila e pei o le User poʻo le CMSIS, ma isi), ona faʻaopopo lea o le CMSIS-DSP galuega faletusi i totonu. Filifili le \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib mo M0+ po'o le \library\CMSIS\Lib\ARM \arm_cortexM3l_math.lib mo M3. A maeʻa, o le a faʻaalia le faletusi o le arm_cortexMxl_math.lib i le pusa CMSIS-DSP, e pei ona faʻaalia i lalo.
Laasaga 5
Faaopopo le ulu file “arm_math.h” i le main.c, e pei ona faaalia i lalo. O lea ua mae'a uma fa'atulagaga tu'ufa'atasia
Filifiliga Maulalo – FIR
O lenei vaega, e ala i le faʻalauiloaina o le talosaga\CMSIS_DSP\arm_fir_example, o le a faʻaalia pe faʻafefea ona seti le faamama FIR ma aveese faʻailoga maualuga e faʻaaoga ai le FIR. O le fa'ailoga fa'aoga e aofia ai 1kHz ma 15kHz galu sine. O le faailo sampole ling ole 48kHz. O fa'ailo i luga a'e o le 6kHz e fa'amama e le FIR ma fa'ailoga 1kHz o lo'o gaosia. Ua vaevaeina le code application i ni vaega.
- Faamuamua. Ina ia amataina le FIR, o loʻo faʻaaogaina le API lea.
void arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize);
S: Fuafuaga faamama FIR
numera: Ole numera ole faamama stages (numera o fa'amama fa'amama). I lenei example, numTaps=29.
Coffs: Fa'amau fa'amama. E 29 fa'amama fa'amama i lenei example lea e fuafuaina e MATLAB.
setete: Faailoga tulaga
polokaSize: Fa'atusa le numera o samples processed i le taimi e tasi. - Fa'amama pasi maualalo. E ala ile vala'au ole API ole FIR, 32 sampo lo'o fa'agasolo i taimi ta'itasi ma e 320 samples atoa. O loʻo faʻaalia i lalo le API faʻaaogaina.
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
S: Fuafuaga faamama FIR
pSrc: Fa'ailoga fa'aulu. O se fa'ailoga fefiloi o le 1kHz ma le 15kHz o lo'o tu'uina i lenei fa'auluample. pDst: Fa'ailoga fa'aoso. O le fa'ailoga fa'amoemoeina o le gaosiga o le 1kHz. polokaSize: Fa'atusa le numera o samples processed i le taimi e tasi. - Fa'amaumauga fa'amaumauga. O le suʻega faʻamaonia na maua e le MATLAB ua faʻatatauina o le faʻamatalaga ma o le suʻega faʻamaonia na maua e CMSIS-DSP o le tau moni. Fa'atusatusa fa'ai'uga e lua e fa'amaonia ai pe sa'o pe leai le fa'ai'uga. fa'apeopea lima_snr_f32(fa'opeopea *pRef, fa'afefe *pTest, uint32_t buffSize)
Pref: Fa'asinoga tau fa'atupuina e MATLAB.
meli: Taua moni na gaosia e CMSIS-DSP.
polokaSize: Fa'atusa le numera o samples processed i le taimi e tasi.
E pei ona faʻaalia i lalo, Faʻamatalaga Faʻamatalaga o loʻo faʻaalia ai e leʻi faʻamama le faʻailoga ma Faʻamatalaga Faʻamatalaga o loʻo faʻaalia ai le iʻuga faʻamama. O le Y-axis e fai ma sui o le ampo le fa'ailoga ma le sampOle tele ole taimi ole 48kHz, ole numera X-axis fa'atasi ma le tasi e fa'atusalia le taimi fa'atasi ma le 20.833μs. E mafai ona maua mai le Ata 12 ma le Ata 13 ua aveese le faailo 15kHz ae na'o le faailo 1kHz e totoe.
Filifiliga Maualuga-IIR
O lenei vaega, e ala i le faʻalauiloaina o le talosaga\CMSIS_DSP\filter_iir_high_pass_example, o le a faʻaalia pe faʻafefea ona seti le faamama IIR ma aveese faʻailoga maualalo e faʻaaoga ai le IIR. O le fa'ailoga fa'aoga e aofia ai 1Hz ma 30Hz galu sine. O le faailo sampOle fa'avevesi ole 100Hz ma ole aofa'i ole 480 points ole sampta'ita'ia. O faailo i lalo ole 7Hz e aveese e le IIR.
Ua vaevaeina le code application i ni vaega.
- E i ai 480 samples. Sample 0~159 o 30Hz galu sinus, sample 160~319 o 1Hz galu sinus ma sample 320~479 o 30Hz galu sinus.
- Faamuamua. Ina ia amataina le IIR, o loʻo faʻaaogaina le API lea. void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *setete));
S: IIR faamama fausaga
aofaiga stages: Ole numera ole fa'asologa lona lua stage i totonu o le faamama. I lenei example, numStages=1.
Coffs: Fa'amau fa'amama. E 5 fa'amama fa'amama i lenei example.
setete: Faailoga tulaga - Fa'amama pasi maualuga. E ala i le viliina o le API o le IIR, 1 sampe fa'agasolo i taimi ta'itasi ma e 480 samples atoa. O loʻo faʻaalia i lalo le API faʻaaogaina. fa'aleaogaina le arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
S: IIR faamama fausaga
pSrc: Fa'ailoga fa'aulu. O se fa'ailoga fefiloi o le 1Hz ma le 30Hz o lo'o tu'uina i lenei fa'auluample.
pDst: Fa'ailoga fa'aoso. O le fa'ailoga fa'amoemoeina o le gaosiga o le 30Hz.
polokaSize: Fa'atusa le numera o samples processed i le taimi e tasi. - Fa'ai'uga galuega. O fa'ailoga fa'aoga ma fa'ailoga o lo'o tu'uina atu i le PC e ala ile lolomi. E pei ona faʻaalia i lalo, Faʻamatalaga Faʻamatalaga o loʻo faʻaalia ai e leʻi faʻamama le faʻailoga ma Faʻamatalaga Faʻamatalaga o loʻo faʻaalia ai le iʻuga faʻamama. O le Y-axis e fai ma sui o le ampo le fa'ailoga ma le sampE 100Hz, o le numera X-axis fa'atasi ma le tasi e fa'atusalia le taimi fa'atasi ma le 10ms. E mafai ona maua mai le Ata 14 ma le Ata 15 ua aveese le faailo 1Hz ae na'o le faailo 30Hz e totoe.
Manatuga
E tatau i tagata faʻaoga ona gauai faʻapitoa i le tele o le manatua pe a uma ona tuʻufaʻatasia pe a faʻaaoga le CMSIS-DSP function library. Ia mautinoa e leai se manatua e tupu a'o le'i faia le su'ega.
Fa'ai'uga
O le CMSIS-DSP o loʻo i ai tomai sili i le faʻagasologa o faʻailoga ma le faʻatusatusaina o le matematika ma e tatau ona mafaufau loloto i ai tagata faʻaoga.
Fa'asinoga Mea
Fa'asinomaga webnofoaga: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
Fa'aliliuga ma Fa'amatalaga Suiga
Aso | Tusitala | Mataupu | Fa'amatalaga Suiga |
2022.06.02 | Tusitusi, Liu | V1.10 | Suia le ala e sii mai ai |
2019.09.03 | Aleni, Wang | V1.00 | Muamua Version |
Fa'ailoga
O fa'amatalaga uma, fa'ailoga tau fefa'ataua'iga, logos, ata, vitiō, kilipi leo, so'oga ma isi mea o lo'o fa'aalia i lenei mea web'upega tafaʻilagi ('Faʻamatalaga') e mo naʻo faʻamatalaga ma e mafai ona suia i soʻo se taimi e aunoa ma se faʻaaliga muamua ma i le pule faitalia a le Holtek Semiconductor Inc. ma ana kamupani faʻapitoa (e mulimuli ane 'Holtek', 'kamupani', 'us', ' matou' poʻo 'lo matou'). Aʻo taumafai Holtek e faʻamautinoa le saʻo o Faʻamatalaga i lenei mea web'upega tafaʻilagi, leai se faʻamaoniga faʻaalia pe faʻamaonia e tuʻuina atu e Holtek i le saʻo o Faʻamatalaga. E leai se matafaioi a Holtek mo soʻo se mea sese poʻo le leak. E le noatia Holtek mo soʻo se mea faʻaleagaina (e aofia ai ae le gata i le siama komepiuta, faʻafitauli faʻaletonu poʻo faʻamaumauga leiloa) soʻo se mea e tulaʻi mai i le faʻaaogaina poʻo le fesoʻotaʻi ma le faʻaogaina o lenei mea. webnofoaga e soo se pati. Atonu e iai so'otaga i lenei vaega, e mafai ai ona e asiasi i le webnofoaga o isi kamupani. O nei webnofoaga e le pulea e Holtek. O le a leai se matafaioi a Holtek ma leai se faʻamaoniga i soʻo se Faʻamatalaga faʻaalia i ia nofoaga. Hyperlinks i isi webnofoaga e i lou lava tulaga lamatia.
Tapulaa o Noataga
I so'o se tulaga, e le mana'omia e le Kamupani le nafa mo so'o se gau po'o se fa'aleagaina e mafua pe a asiasi atu se tasi i le webnofoaga tuusao pe le tuusao ma faʻaogaina mea o loʻo i totonu, faʻamatalaga poʻo auaunaga i luga ole webnofoaga.
Tulafono Pule
O lenei fa'ate'a e fa'atatau i tulafono a le Malo o Saina ma i lalo o le fa'amasinoga a le Fa'amasinoga a le Malo o Saina.
Fa'afouga o le Fa'ailoaga
O loʻo faʻatumauina e Holtek le aia tatau e faʻafouina ai le Faʻasalaga i soʻo se taimi pe leai foi se faʻaaliga muamua, o suiga uma e aoga vave pe a lafoina i le webnofoaga.
Pepa / Punaoa
![]() |
HOLTEK HT32 CMSIS-DSP Faletusi [pdf] Taiala mo Tagata Fa'aoga HT32, CMSIS-DSP Faletusi, HT32 CMSIS-DSP Faletusi, Faletusi |