Leabharlann HT32 CMSIS-DSP
Stiùireadh Cleachdaiche
D/N: AN0538AN
Ro-ràdh
Tha CMSIS na eadar-aghaidh àbhaisteach bathar-bog air a leasachadh le ARM aig a bheil an t-ainm slàn Cortex Microcontroller Software Interface Standard. Leis an eadar-aghaidh àbhaisteach seo, faodaidh luchd-leasachaidh an aon eadar-aghaidh a chleachdadh gus smachd a chumail air microcontrollers bho dhiofar sholaraichean agus mar sin a’ giorrachadh an ùine leasachaidh agus ionnsachaidh gu mòr. Airson tuilleadh fiosrachaidh, thoir sùil air oifigear CMSIS weblàrach: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. Tha an teacsa seo gu ìre mhòr a’ toirt cunntas air an tagradh CMSIS-DSP anns an t-sreath HT32 de microcontrollers a tha a’ toirt a-steach suidheachadh àrainneachd, stiùireadh cleachdaidh, msaa.
Tuairisgeul gnìomh
Feartan CMSIS-DSP
Tha CMSIS-DSP, a tha mar aon de na pàirtean CMSIS a’ toirt a-steach na feartan a leanas.
- A’ toirt seachad seata de ghnìomhan giullachd chomharran coitcheann a tha coisrigte don Cortex-M.
- Tha còrr air 60 gnìomh aig an leabharlann gnìomh a thug ARM seachad.
- A’ toirt taic do q7, q15, q31
(Nota) agus seòrsachan dàta puing-fleòdraidh (32-bit). - Tha buileachadh air an ùrachadh airson an t-seata stiùiridh SIMD a tha ri fhaighinn airson Cortex-M4 / M7 / M33 / M35P.
Thoir an aire: Tha an ainmeachadh q7, q15, agus q31 anns an leabharlann gnìomh fa leth a’ riochdachadh na puingean stèidhichte 8, 16, agus 32bit.
Nithean Leabharlann Gnìomh CMSIS-DSP
Tha leabharlann gnìomh CMSIS-DSP air a roinn anns na roinnean a leanas:
- Gnìomhan matamataigeach bunaiteach, gnìomhan matamataigs luath, agus gnìomhan matamataigeach iom-fhillte
- Feartan sìoltachaidh comharran
- Gnìomhan matrix
- Atharraich gnìomhan
- Feartan smachd motair
- Gnìomhan staitistigeil
- Feartan taic
- Feartan eadar-dhealachaidh
Suidheachadh àrainneachd
Bheir an roinn seo a-steach am bathar-cruaidh is am bathar-bog a thathar a’ cleachdadh san tagradh example.
Bathar-cruaidh
Ged a tha an CMSIS-DSP a’ toirt taic don t-sreath HT32 slàn, thathas a’ moladh MCU a chleachdadh le comas SRAM nas motha na 4KB mar an tagradh CMSIS-DSP ex.ampTha feum air meud SRAM nas motha. Tha an teacsa seo a’ gabhail an ESK32-30501 mar example a chleachdas an HT32F52352.
Bathar-bog
Mus cleachd thu an tagradh example, an toiseach, dèan cinnteach gu bheil an Leabharlann Firmware Holtek HT32 as ùire air a luchdachadh sìos bho oifigear Holtek weblàrach. Tha an t-àite luchdaich sìos air a shealltainn ann am Figear
Dèan dì-dhùmhlachadh an file an dèidh a luchdachadh sìos.
Luchdaich sìos còd tagraidh CMSIS-DSP tron cheangal gu h-ìosal. Tha an còd tagraidh air a phacaigeadh mar zip file leis an ainm HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
Luchdaich sìos slighe: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
Tha an file Tha an riaghailt ainmeachaidh air a shealltainn ann am Figear 2.
Leis nach eil leabharlann firmware anns a’ chòd tagraidh files, feumaidh luchd-cleachdaidh an còd tagraidh gun fhosgladh agus leabharlann firmware a chuir files a-steach don t-slighe cheart mus tòisich thu air a’ chruinneachadh. Còd an aplacaid file tha dà phasgan ann, is iad sin am prògram agus an leabharlann aig a bheil an t-àite air a shealltainn ann am Figear 3. Cuir an dà phasgan seo a-steach don eòlaire freumh leabharlainn firmware gus an file rèiteachadh slighe mar a chithear ann am Figear 4. Faodaidh luchd-cleachdaidh cuideachd còd an tagraidh agus leabharlann firmware a dhì-dhùmhlachadh files a-steach don aon shlighe gus an aon bhuaidh a choileanadh. Airson an example, bidh an eòlaire airson CMSIS_DSP ri fhaicinn fo phasgan an tagraidh às deidh dì-dhùmhlachadh.
File Structar
An dà phrìomh phasgan a tha sa chòd tagraidh file, leabharlann\CMSIS, agus an aplacaid\CMSIS_DSP, fa leth air am mìneachadh gu h-ìosal.
Tha susbaint pasgan an leabharlainn\CMSIS mar a leanas.
Ainm Folder | Tuairisgeul |
DSP_Lib | Iarrtas còd stòr FW |
DSP_Lib\Examples | A’ toirt a-steach grunn àbhaisteach exampnas lugha de leabharlann gnìomh CMSIS-DSP a tha air a thoirt seachad le ARM. Tha na roghainnean airson na pròiseactan sin air an cur an gnìomh ann an dòigh samhlachail gun a bhith feumach air MCU. Faodaidh luchd-cleachdaidh ionnsachadh gu sgiobalta mar a chleachdas iad iad sin examples le bhith gan cur gu bàs. |
DSP_Lib\Stòr | Còd stòr leabharlainn gnìomh CMSIS-DSP |
Gabhail a-steach | Ceann-cinn riatanach file nuair a bhios tu a’ cleachdadh leabharlann gnìomh CMSIS-DSP |
Cuir a-steach\arm_common_tables.h | Dearbhadh caochladairean raon taobh a-muigh (taobh a-muigh) |
Cuir a-steach\arm_const_structs.h | Dearbhadh air seasmhachd bhon taobh a-muigh |
Cuir a-steach \ arm_math.h | Seo file glè chudromach mar an eadar-aghaidh airson leabharlann gnìomh CMSIS-DSP a chleachdadh. Bithear a’ cur fiosan gu API leabharlann gnìomh sam bith tro arm_math.h. |
Lib\ARM | Leabharlann gnìomh CMSIS-DSP airson ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, endian beag) |
Lib\GCC | Leabharlann gnìomh CMSIS-DSP airson GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, endian beag) |
Tha iomadh CMSIS_DSP examples, a bhios a’ cleachdadh sreath HT32 de MCUn agus a’ toirt taic don t-sreath HT32 slàn. Tha na pròiseactan air an leasachadh a’ cleachdadh an Keil MDK_ARM.
Ainm Folder | Tuairisgeul |
arm_class_marks_example | Taisbeanadh mar a gheibh thu an luach as àirde, an luach as ìsle, an luach ris a bheil dùil, claonadh àbhaisteach, caochladair agus gnìomhan matrix. |
arm_convolution_example | A’ nochdadh an teòirim convolution tro na gnìomhan iom-fhillte FFT agus taic. |
arm_dotproduct_example | Taisbeanadh mar a gheibhear toradh dot tro iomadachadh agus cur-ris vectaran. |
arm_fft_bin_example | A’ sealltainn mar a nì thu obrachadh a-mach an uinneag lùtha as àirde (bin) ann an raon tricead comharran cuir a-steach a’ cleachdadh an FFT iom-fhillte, meud iom-fhillte, agus gnìomhan modal as àirde. |
arm_fir_example | A’ sealltainn mar a chuireas tu sìoladh pas-ìosal an gnìomh a’ cleachdadh FIR. |
arm_graphic_equalizer_example | Taisbeanadh mar a dh’atharraicheas càileachd fuaim a’ cleachdadh co-ionannachd grafaigeach. |
arm_linear_interp_example | A’ nochdadh cleachdadh modal eadar-cheangail sreathach agus modal matamataigs luath. |
arm_matrix_example | A’ nochdadh àireamhachadh co-dhàimh matrix a’ toirt a-steach cruth-atharrachadh matrix, iomadachadh matrix, agus matrix inverse. |
arm_signal_converge_example | A’ nochdadh an sìoltachan pas ìosal FIR fèin-atharrachail a’ cleachdadh NLMS (Ceàrnag àbhaisteach as ìsle), FIR, agus modalan matamataigeach bunaiteach. |
arm_sin_cos_example | A’ taisbeanadh àireamhachadh trigonometric. |
gàirdean_caochlaideachd_example | A’ sealltainn mar a nì thu obrachadh a-mach caochlaideachd tro ghnìomhan matamataigeach bunaiteach agus taic. |
filter_iir_high_pass_example | A’ sealltainn mar a chuireas tu sìoladh pas-àrd an gnìomh a’ cleachdadh IIR. |
Deuchainn
Cleachdaidh an teacsa seo an aplacaid\CMSIS_DSP\arm_class_marks_example mar an deuchainn example. Mus tòisich thu air deuchainn, dèan cinnteach a bheil an ESK32-30501 air a bhith ceangailte no nach eil agus dèan cinnteach gu bheil an còd tagraidh agus leabharlann firmware air an cur san àite cheart. Fosgail an aplacaid\CMSIS_DSP\arm_class_marks_example pasgan agus cuir an gnìomh an _CreateProject.bat file, mar a chithear gu h-ìosal. Às deidh seo, fosgail am MDK_ARMv5 (no MDK_ARM airson Keilv4), gus faighinn a-mach gu bheil an t-seannample a’ toirt taic don t-sreath slàn HT32. Fosgail am pròiseact Project_52352.uvprojx oir tha an ESK32-30501 air a chleachdadh.
Às deidh dhut am pròiseact fhosgladh, cuir ri chèile (iuchair ath-ghoirid “F7”), luchdaich sìos (iuchrach ath-ghoirid “F8”), debug (iuchair ath-ghoirid “Ctrl + F5”) agus an uairsin cuir an gnìomh (iuchair ath-ghoirid “F5”). Faodar na toraidhean coileanaidh fhaicinn a’ cleachdadh na caochladairean a tha air an liostadh gu h-ìosal.
Caochlaideach Ainm | Stiùir dàta | Tuairisgeul | Toradh Cur gu bàs |
comharran deuchainn_f32 | Cuir a-steach | Aon sreath 20 × 4 | – |
deuchainn_f32 | Cuir a-steach | Aon sreath 4 × 1 | – |
toradh deuchainn | Toradh | Toradh testMarks_f32 agus testUnity_f32 | {188, 229, 210…} |
as_comharran | Toradh | An luach as àirde de na h-eileamaidean anns an raon toraidh deuchainn | 364 |
mion_comharran | Toradh | An luach as ìsle de na h-eileamaidean anns an raon toraidh deuchainn | 156 |
ciallach | Toradh | An luach ris a bheil dùil aig na h-eileamaidean anns an raon toraidh deuchainn | 212.300003 |
std | Toradh | An claonadh àbhaisteach de na h-eileamaidean anns an raon toraidh deuchainn | 50.9128189 |
var | Toradh | Caochladh nan eileamaidean anns an raon toraidh deuchainn | 2592.11523 |
Stiùireadh airson a chleachdadh
Amalachadh
Bheir an earrann seo a-steach mar as urrainn dhut CMSIS-DSP fhilleadh a-steach do phròiseactan luchd-cleachdaidh.
Ceum 1
An toiseach, cuir samhla ùr defin ris nuair a shuidhicheas tu am pròiseact, “ARM_MATH_CM0PLUS” airson M0 + agus “ARM_MATH_CM3” airson M3. Modh suidheachaidh: (1) Roghainnean iuchair ath-ghoirid Targaid “Alt + F7”), (2) Tagh duilleag C / C ++, (3) Cuir mìneachadh ùr ris san roghainn Mìnich, mar a chithear gu h-ìosal.
Ceum 2
Gus slighe Cuir a-steach a chuir ris, cliog air a’ phutan ri taobh an roghainn “Include Paths” air duilleag C/C ++. An uairsin nochdaidh uinneag Setup Folder, far am faodar slighe ùr ...\...\library\CMSIS\Include" a chur ris, mar a chithear gu h-ìosal.
Ceum 3 (Roghainneil)
Gus an leabharlann gnìomh a chuir ris, cliog air a’ phutan “Stiùirich nithean pròiseict” mar a chithear gu h-ìosal. Mura faicear am putan, cliog air “uinneag → Ath-shuidheachadh View gu Defaults → Reset", gus an till rèiteachadh uinneag IDE gu na roghainnean bunaiteach aige. Às deidh seo, thèid am putan “Stiùirich nithean pròiseict” a shealltainn.
Cuir ris am pasgan CMSIS-DSP a’ cleachdadh na putanan mar a chithear sa bhogsa dhearg gu h-ìosal agus gluais e fon phasgan CMSIS a’ cleachdadh a’ phutan “Gluais Suas”. Dùin an uinneag Manage Project tems nuair a bhios tu deiseil.
Ceum 4
Dèan briogadh dùbailte air am pasgan CMSIS-DSP air an taobh chlì (ma tha Ceum 3 air a leum, tagh pasgan sam bith leithid Cleachdaiche no CMSIS, msaa), an uairsin cuir an leabharlann gnìomh CMSIS-DSP a-steach ann. Tagh \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib airson M0+ no \library\CMSIS\Lib\ARM\arm_cortexM3l_math.lib airson M3. Nuair a bhios e deiseil, thèid an leabharlann gnìomh arm_cortexMxl_math.lib a shealltainn ann am pasgan CMSIS-DSP, mar a chithear gu h-ìosal.
Ceum 5
Cuir an ceann file “arm_math.h” a-steach gu main.c, mar a chithear gu h-ìosal. A-nis tha a h-uile suidheachadh amalachaidh deiseil
Filter pas ìosal - FIR
Tha an earrann seo, le bhith a' toirt a-steach an aplacaid\CMSIS_DSP\arm_fir_example, seallaidh e mar a shuidhicheas tu an sìoltachan FIR agus mar a bheir thu air falbh comharran àrd-tricead a’ cleachdadh an FIR. Tha an comharra cuir a-steach air a dhèanamh suas de tonnan sine 1kHz agus 15kHz. Tha an comharra sampIs e tricead ling 48kHz. Tha comharran os cionn 6kHz air an sìoladh leis an FIR agus tha comharran 1kHz air an toirt a-mach. Tha an còd tagraidh air a roinn ann an grunn phàirtean.
- Tòiseachadh. Gus FIR a thòiseachadh, thèid an API a leanas a chleachdadh.
arm_fir_init_f32 falamh (arm_fir_instance_f32 * S, uint16_t numTaps, float32_t * pCoeffs, float32_t * pState, uint32_t blockSize);
S: Structar sìoltachain FIR
àireamhan: An àireamh de chriathrag stages (an àireamh de cho-èifeachdan sìoltachain). Anns an example, numTaps=29.
Coffs: Filter coefficient. Tha 29 co-èifeachdan sìoltachain san t-seann seoample a tha air a thomhas le MATLAB.
staid: Inbhe comharra
blockSize: A’ riochdachadh an àireamh de samples air a phròiseasadh aig aon àm. - Criathrag pas-ìosal. Le bhith a’ gairm API de FIR, 32 samples air an giullachd gach uair agus tha 320 diog annampnas lugha gu h-iomlan. Tha an API a chaidh a chleachdadh air a shealltainn gu h-ìosal.
falamh arm_fir_f32 (const arm_fir_instance_f32 * S, float32_t * pSrc, float32_t * pDst, uint32_t blockSize);
S: Structar sìoltachain FIR
pSrc: Comharra cuir a-steach. Tha comharra measgaichte de 1kHz agus 15kHz air a chuir a-steach san t-seann seoample. pDst: Comharra toraidh. Is e an comharra toraidh ris a bheil dùil 1kHz. blockSize: A’ riochdachadh an àireamh de samples air a phròiseasadh aig aon àm. - Dearbhadh dàta. Thathas den bheachd gur e an toradh sìoltachaidh a fhuair MATLAB an t-iomradh agus is e an toradh sìoltachaidh a fhuair CMSIS-DSP an fhìor luach. Dèan coimeas eadar an dà thoradh gus dearbhadh a bheil an toradh toraidh ceart no nach eil. fleòdradh arm_snr_f32 (float * preRef, fleòdradh * pTest, uint32_t buffSize)
Pref: Luach iomraidh air a chruthachadh le MATLAB.
post: Luach fìor air a chruthachadh le CMSIS-DSP.
blockSize: A’ riochdachadh an àireamh de samples air a phròiseasadh aig aon àm.
Mar a chithear gu h-ìosal, tha Dàta Inntrigidh a’ sealltainn nach eil an comharra air a shìoladh fhathast agus tha Dàta Toraidh a’ sealltainn an toradh sìoltachaidh. Tha an Y-axis a’ riochdachadh an ampsolas a’ chomharra agus an sampIs e tricead ling 48kHz, agus mar sin tha an àireamh X-axis agus aon a’ riochdachadh ùine agus 20.833μs. Faodar a lorg bho Figear 12 agus Figear 13 gu bheil an comharra 15kHz air a chuir às agus nach eil ach an comharra 1kHz air fhàgail.
Filter pas àrd - IIR
Tha an earrann seo, le bhith a' toirt a-steach an aplacaid\CMSIS_DSP\filter_iir_high_pass_example, seallaidh e mar a shuidhicheas tu an sìoltachan IIR agus mar a bheir thu air falbh comharran tricead ìosal a’ cleachdadh an IIR. Tha an comharra cuir a-steach air a dhèanamh suas de tonnan sine 1Hz agus 30Hz. Tha an comharra sampIs e tricead langa 100Hz agus is e 480 puingean gu h-iomlan sampstiùir. Tha comharran fo 7Hz air an toirt air falbh leis an IIR.
Tha an còd tagraidh air a roinn ann an grunn phàirtean.
- Tha 480 samples. S.ampTha le 0 ~ 159 nan tonnan sine 30Hz, sampTha le 160 ~ 319 nan tonnan sine 1Hz agus sampTha le 320 ~ 479 nan tonnan sine 30Hz.
- Tòiseachadh. Gus an IIR a thòiseachadh, thèid an API a leanas a chleachdadh. arm falamh_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, fleòdradh32_t *pCoeffs, fleòdradh32_t * stàite));
S: Structar sìoltachain IIR
suim stages: An àireamh de dh’ òrdugh eile stages anns a' chriathrag. Anns an example, numStageil = 1.
Coffs: Filter coefficient. Tha 5 co-èifeachdan sìoltachain san t-seann seoample.
staid: Inbhe comharra - Criathrag pas àrd. Le gairm API an IIR, 1 sample air a phròiseasadh gach uair agus tha 480 diog annampnas lugha gu h-iomlan. Tha an API a chaidh a chleachdadh air a shealltainn gu h-ìosal. falamh arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 * S, float32_t * pSrc, float32_t * pDst, uint32_t blockSize);
S: Structar sìoltachain IIR
pSrc: Comharra cuir a-steach. Tha comharra measgaichte de 1Hz agus 30Hz air a chuir a-steach san t-seann seoample.
pDst: Comharra toraidh. Is e an comharra toraidh ris a bheil dùil 30Hz.
blockSize: A’ riochdachadh an àireamh de samples air a phròiseasadh aig aon àm. - Toradh toraidh. Tha na comharran cuir a-steach is toraidh air an cur a-mach chun PC tro chlò. Mar a chithear gu h-ìosal, tha Dàta Inntrigidh a’ sealltainn nach eil an comharra air a shìoladh fhathast agus tha Dàta Toraidh a’ sealltainn an toradh sìoltachaidh. Tha an Y-axis a’ riochdachadh an ampsolas a’ chomharra agus an sampIs e tricead ling 100Hz, agus mar sin tha an àireamh X-axis agus aon a’ riochdachadh ùine agus 10ms. Faodar a lorg bho Figear 14 agus Figear 15 gu bheil an comharra 1Hz air a chuir às agus nach eil ach an comharra 30Hz air fhàgail.
Beachdachaidhean
Bu chòir do luchd-cleachdaidh aire shònraichte a thoirt don mheud cuimhne às deidh dhaibh a bhith air an cur ri chèile nuair a bhios iad a’ cleachdadh leabharlann gnìomh CMSIS-DSP. Dèan cinnteach nach tachair cus cuimhne sam bith mus dèan thu deuchainn.
Co-dhùnadh
Tha comasan mòra aig an CMSIS-DSP ann an giullachd chomharran agus àireamhachadh matamataigeach agus tha e airidh air beachdachadh gu mòr le luchd-cleachdaidh.
Stuth iomraidh
Iomradh weblàrach: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
Tionndaidhean agus Fiosrachadh Mion-atharrachaidh
Ceann-latha | Ùghdar | Cùis | Fiosrachadh mu atharrachadh |
2022.06.02 | Sgrìobhadh, Liu | v1.10 | Atharraich an t-slighe a-nuas |
2019.09.03 | Ailean, Wang | v1.00 | A ’chiad dreach |
Àicheadh
A h-uile fiosrachadh, comharran-malairt, suaicheantasan, grafaigean, bhideothan, criomagan claisneachd, ceanglaichean agus nithean eile a’ nochdadh air seo webTha an làrach (‘Fiosrachadh’) airson fiosrachadh a-mhàin agus faodaidh e atharrachadh aig àm sam bith gun fios ro-làimh agus a rèir toil Holtek Semiconductor Inc. agus na companaidhean co-cheangailte ris (an-seo ‘Holtek’, ‘the company’, ‘sinn’,’ sinn' no 'ar'). Ged a bhios Holtek a’ feuchainn ri dèanamh cinnteach gu bheil am fiosrachadh mu dheidhinn seo ceart weblàrach, chan eil barantas soilleir no so-thuigsinn air a thoirt seachad le Holtek a thaobh cruinneas an fhiosrachaidh. Cha bhith uallach sam bith air Holtek airson mearachd no aodion sam bith. Cha bhith Holtek cunntachail airson milleadh sam bith (a’ gabhail a-steach ach gun a bhith cuibhrichte ri bhìoras coimpiutair, duilgheadasan siostam no call dàta) ge bith dè a dh’ èiricheas ann a bhith a’ cleachdadh no an co-cheangal ri bhith a’ cleachdadh seo. weblàrach le pàrtaidh sam bith. Is dòcha gu bheil ceanglaichean san raon seo, a leigeas leat tadhal air an weblàraich chompanaidhean eile. iad seo webchan eil làraich fo smachd Holtek. Cha bhith uallach sam bith air Holtek no gealltanas sam bith a thaobh fiosrachadh sam bith a thèid a thaisbeanadh air na làraich sin. Hyperlinks gu feadhainn eile webtha làraich air do chunnart fhèin.
Cuingealachadh buailteachd
Ann an suidheachadh sam bith, chan fheum a 'Chompanaidh uallach a ghabhail airson call no milleadh sam bith a thig air adhart nuair a bhios duine a' tadhal air an webgu dìreach no gu neo-dhìreach agus a’ cleachdadh na th’ ann, fiosrachadh no seirbheis air an weblàrach.
Lagh Riaghlaidh
Tha an àicheadh seo fo ùmhlachd laghan Poblachd Shìona agus fo uachdranas Cùirt Poblachd Shìona.
Ath-nuadhachadh Àicheadh
Tha Holtek a’ glèidheadh na còrach an Àicheadh-àichidh ùrachadh aig àm sam bith le no às aonais fios ro-làimh, tha a h-uile atharrachadh èifeachdach sa bhad nuair a thèid a phostadh chun weblàrach.
Sgrìobhainnean/Goireasan
![]() |
Leabharlann HOLTEK HT32 CMSIS-DSP [pdfStiùireadh Cleachdaiche HT32, Leabharlann CMSIS-DSP, HT32 Leabharlann CMSIS-DSP, Leabharlann |