logo a HOLTEK 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.

  1. Tuuina atu se seti o galuega fa'atino fa'ailoga lautele fa'apitoa mo le Cortex-M.
  2. O le faletusi galuega na saunia e le ARM e silia ma le 60 galuega.
  3. Lagolago q7, q15, q31
    (Fa'amatalaga) ma fa'ailoga fa'afefe (32-bit) fa'amaumauga
  4. 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:

  1. Galuega fa'atatau o le matematika, galuega fa'amatematika vave, ma galuega fa'amatematika lavelave
  2. Galuega fa'amama fa'ailoga
  3. Galuega fa'atino
  4. Suia galuega
  5. Galuega fa'atonutonu afi
  6. Galuega fa'amaumauga
  7. Galuega lagolago
  8. 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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata

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.

HOLTEK HT32 CMSIS-DSP Faletusi - 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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 3

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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 4

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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 5

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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 6

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".

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 7

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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 8

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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 9

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

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 10

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.

  1. 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.
  2. 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.
  3. 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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 11

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. 

  1.  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.
  2. 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
  3. 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.
  4. 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.

HOLTEK HT32 CMSIS-DSP Faletusi - Ata 12

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.

logo a HOLTEK

Pepa / Punaoa

HOLTEK HT32 CMSIS-DSP Faletusi [pdf] Taiala mo Tagata Fa'aoga
HT32, CMSIS-DSP Faletusi, HT32 CMSIS-DSP Faletusi, Faletusi

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *