Chithunzi cha HOLTEK HT32 CMSIS-DSP Library
Wogwiritsa Ntchito
D/N: Chithunzi cha AN0538EN

Mawu Oyamba

CMSIS ndi mawonekedwe apulogalamu opangidwa ndi ARM omwe ali ndi dzina lonse la Cortex Microcontroller Software Interface Standard. Ndi mawonekedwe okhazikika awa, opanga amatha kugwiritsa ntchito mawonekedwe omwewo kuwongolera ma microcontrollers kuchokera kwa ogulitsa osiyanasiyana motero amafupikitsa kwambiri nthawi yawo yophunzirira ndi kuphunzira. Kuti mudziwe zambiri, onani mkulu wa CMSIS webtsamba: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. Lembali limafotokoza makamaka za CMSIS-DSP mu mndandanda wa HT32 wa ma microcontrollers omwe akuphatikiza kukhazikitsidwa kwa chilengedwe, momwe angagwiritsire ntchito, ndi zina zambiri.

Kufotokozera Kwantchito

Zinthu za CMSIS-DSP
CMSIS-DSP, yomwe ndi imodzi mwa zigawo za CMSIS ili ndi zotsatirazi.

  1. Amapereka mndandanda wazinthu zosinthira ma siginecha operekedwa ku Cortex-M.
  2. Laibulale yantchito yoperekedwa ndi ARM ili ndi ntchito zopitilira 60.
  3. Imathandizira q7, q15, q31
    (Zindikirani) ndi mitundu yoyandama (32-bit) data
  4. Zothandizira zimakongoletsedwa ndi malangizo a SIMD omwe amapezeka ku Cortex-M4/M7/M33/M35P.

Zindikirani: Kutchula q7, q15, ndi q31 mu library yantchito motsatana kumayimira 8, 16, ndi 32bit-points.
CMSIS-DSP Function Library Zinthu
Laibulale ya ntchito ya CMSIS-DSP imagawidwa m'magulu awa:

  1. Ntchito zoyambira masamu, masamu othamanga, komanso masamu ovuta
  2. Ntchito zosefera ma Signal
  3. Matrix ntchito
  4. Sinthani ntchito
  5. Ntchito zowongolera magalimoto
  6. Ntchito zowerengera
  7. Ntchito zothandizira
  8. Ntchito zomasulira

Kukonzekera Kwachilengedwe

Gawoli liwonetsa zida ndi mapulogalamu omwe amagwiritsidwa ntchito muzolemba zakaleample.
Zida zamagetsi
Ngakhale CMSIS-DSP imathandizira mndandanda wathunthu wa HT32, tikulimbikitsidwa kugwiritsa ntchito MCU yokhala ndi mphamvu ya SRAM yokulirapo kuposa 4KB ngati CMSIS-DSP application ex.ample imafuna kukula kwa SRAM. Mawu awa amatenga ESK32-30501 ngati wakaleample yomwe imagwiritsa ntchito HT32F52352.
Mapulogalamu
Musanagwiritse ntchito ntchito example, choyamba, onetsetsani kuti Holtek HT32 Firmware Library yatsopano yatsitsidwa kuchokera kwa mkulu wa Holtek webmalo. Malo otsitsa akuwonetsedwa pazithunzi
Decompress ndi file pambuyo kutsitsa.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chith

Tsitsani kachidindo ka CMSIS-DSP kudzera pa ulalo womwe uli pansipa. Khodi yofunsira imadzazidwa ngati zip file ndi dzina la HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
Njira yotsitsa: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
The file lamulo la mayina likuwonetsedwa mu Chithunzi 2.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 2

Monga ntchito code mulibe fimuweya laibulale files, ogwiritsa ntchito ayenera kuyika nambala yofunsira yosatsekedwa ndi laibulale ya firmware files m'njira yoyenera musanayambe kusonkhanitsa. Kodi application file ili ndi zikwatu ziwiri, zomwe ndi pulogalamu ndi laibulale yomwe malo ake akuwonetsedwa pa chithunzi 3. Ikani zikwatu ziwirizi mu bukhu la firmware laibulale ya firmware kuti mumalize file kasinthidwe kanjira monga momwe tawonetsera pa Chithunzi 4. Ogwiritsa ntchito amathanso kutsitsa code yogwiritsira ntchito ndi laibulale ya firmware yoponderezedwa. files munjira yomweyo kuti akwaniritse zomwezo. Kwa example, chikwatu cha CMSIS_DSP chiziwoneka pansi pa chikwatu cha pulogalamu pambuyo pakuwonongeka.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 3

File Kapangidwe

Zikwatu zazikulu ziwiri zomwe zikuphatikizidwa mu code yofunsira file, library\CMSIS, ndi application\CMSIS_DSP, zafotokozedwa payekhapayekha pansipa.
Zomwe zili mu library \ CMSIS foda ndi izi.

Dzina lachikwatu Kufotokozera
DSP_Lib Ntchito FW source code
DSP_Lib\Examples Muli angapo ma standard exampzina za laibulale ya CMSIS-DSP yomwe imaperekedwa ndi ARM. Zokonda zamapulojekitiwa zimachitidwa mongoyerekeza popanda kufunikira kwa MCU. Ogwiritsa ntchito amatha kuphunzira mwachangu momwe angagwiritsire ntchito ma ex awaamples powapha.
DSP_Lib\Source CMSIS-DSP ntchito laibulale source code
Phatikizanipo Zofunikira pamutu file Mukamagwiritsa ntchito laibulale ya CMSIS-DSP
Phatikizani\arm_common_tables.h Kulengeza kwamitundu yosiyanasiyana yakunja (kunja)
Phatikizani\arm_const_structs.h Kulengeza zakunja zokhazikika
Phatikizani\arm_math.h Izi file Ndikofunikira kwambiri ngati mawonekedwe ogwiritsira ntchito laibulale ya CMSIS-DSP. Kuyimba ku library library API kumayendetsedwa kudzera mu arm_math.h.
Lib\ARM CMSIS-DSP ntchito laibulale ya ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little endian)
Lib\GCC CMSIS-DSP ntchito laibulale ya GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian)

Foda ya\CMSIS_DSP ili ndi angapo CMSIS_DSP examples, omwe amagwiritsa ntchito mndandanda wa HT32 wa MCUs ndikuthandizira mndandanda wonse wa HT32. Mapulojekitiwa amapangidwa pogwiritsa ntchito Keil MDK_ARM.

Dzina lachikwatu Kufotokozera
arm_class_marks_example Imawonetsa momwe mungapezere kuchuluka kwamtengo wapatali, mtengo wocheperako, mtengo woyembekezeka, kupatuka kokhazikika, kusiyana ndi ntchito za matrix.
arm_convolution_example Imawonetsa theorem ya convolution kudzera mu zovuta za FFT ndi ntchito zothandizira.
arm_dotproduct_example Ikuwonetsa momwe mungapezere malonda a madontho kudzera pakuchulutsa ndi kuwonjezera ma vector.
arm_fft_bin_example Ikuwonetsa momwe mungawerengere zenera lamphamvu kwambiri (bin) mumayendedwe pafupipafupi azizindikiro zolowera pogwiritsa ntchito zovuta za FFT, zovuta zazikulu, ndi magwiridwe antchito a module.
arm_fir_example Ikuwonetsa momwe mungagwiritsire ntchito kusefa kwapang'onopang'ono pogwiritsa ntchito FIR.
arm_graphic_equalizer_example Ikuwonetsa momwe mungasinthire mtundu wamawu pogwiritsa ntchito graphic equalizer.
arm_linear_interp_example Imawonetsa kugwiritsidwa ntchito kwa linear interpolation module ndi masamu othamanga.
arm_matrix_example Imawonetsa kuwerengera kolumikizana kwa matrix kuphatikiza kusintha kwa matrix, kuchulutsa kwa matrix, ndi kusintha kwa matrix.
arm_signal_converge_example Imawonetsa fyuluta yodzisintha yokha ya FIR yotsika pogwiritsa ntchito NLMS (Normalised Least Mean Square), MOTO, ndi ma module a masamu.
arm_sin_cos_example Imawonetsa mawerengedwe a trigonometric.
arm_variance_example Ikuwonetsa momwe mungawerengere kusiyana pogwiritsa ntchito masamu oyambira ndi ntchito zothandizira.
fyuluta_iir_high_pass_example Ikuwonetsa momwe mungagwiritsire ntchito kusefa kwapamwamba kwambiri pogwiritsa ntchito IIR.

Yesani
Mawuwa adzagwiritsa ntchito\CMSIS_DSP\arm_class_marks_exampndi monga mayeso example. Musanayambe kuyesa, fufuzani ngati ESK32-30501 yalumikizidwa kapena ayi ndikuwonetsetsa kuti code code ndi laibulale ya firmware yayikidwa pamalo oyenera. Tsegulani pulogalamuyi\CMSIS_DSP\arm_class_marks_example foda ndikuchita _CreateProject.bat  file, monga momwe zilili pansipa. Pambuyo pake, tsegulani MDK_ARMv5 (kapena MDK_ARM ya Keilv4), kuti mupeze kutiample imathandizira mndandanda wathunthu wa HT32. Tsegulani polojekiti ya Project_52352.uvprojx chifukwa ESK32-30501 imagwiritsidwa ntchito.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 4

Mukatsegula pulojekiti, sungani (kiyi yachidule "F7"), tsitsani (kiyi yachidule "F8"), chotsani (chidule cha "Ctrl + F5") ndiyeno tsatirani (kiyi yachidule "F5"). Zotsatira zakupha zitha kuwonedwa pogwiritsa ntchito zosintha zomwe zalembedwa pansipa.

Zosintha Dzina Mayendedwe a Data Kufotokozera Zotsatira
testMarks_f32 Zolowetsa Gulu limodzi la 20 × 4
testUnity_f32 Zolowetsa Gulu limodzi la 4 × 1
mayeso otuluka Zotulutsa Zopangidwa ndi testMarks_f32 ndi testUnity_f32 {188…}
max_marks Zotulutsa Mtengo wokwanira wa zinthu zomwe zili mugawo loyeserera 364
min_marks Zotulutsa Mtengo wochepera wa zinthu zomwe zili mugawo loyeserera 156
kutanthauza Zotulutsa Mtengo woyembekezeredwa wa zinthu zomwe zili mugawo loyeserera 212.300003
std Zotulutsa Kupatuka kokhazikika kwa zinthu zomwe zili mugulu lotulutsa zoyeserera 50.9128189
var Zotulutsa Kusiyanasiyana kwa zinthu mu test output array 2592.11523

Malangizo Ogwiritsa Ntchito 

Kuphatikiza
Gawoli lifotokoza momwe mungaphatikizire CMSIS-DSP kukhala mapulojekiti a ogwiritsa ntchito.
Gawo 1
Choyamba, onjezani chizindikiro chatsopano cha Define pokhazikitsa pulojekiti, “ARM_MATH_CM0PLUS” ya M0+ ndi “ARM_MATH_CM3” ya M3. Njira yokhazikitsira: (1) Zosankha za fungulo lachidule la Target "Alt + F7"), (2) Sankhani C / C ++ tsamba, (3) Onjezani tanthauzo latsopano mu Define njira, monga momwe zilili pansipa.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 5

Gawo 2
Kuti muwonjezere Njira Yophatikizira, dinani batani pafupi ndi "Phatikizani Njira" patsamba la C/C ++. Kenako zenera la Folder Setup lidzatulukira, kumene njira yatsopano ..\..\..\..\ library\CMSIS\Include” ikhoza kuwonjezeredwa, monga momwe tawonetsera pansipa.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 6

Gawo 3 (Mwasankha)
Kuwonjezera ntchito laibulale, dinani "Manage Project Items" batani monga pansipa. Ngati batani silikuwoneka, dinani "Window → Bwezerani View ku Zosasintha → Bwezeretsani”, kotero kuti kasinthidwe ka IDE kadzabwerera ku zoikamo zake. Pambuyo pake, batani la "Manage Project Items" lidzawonetsedwa.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 7

Onjezani chikwatu cha CMSIS-DSP pogwiritsa ntchito mabatani monga momwe zasonyezedwera m'bokosi lofiira m'munsimu ndikusunthira pansi pa chikwatu cha CMSIS pogwiritsa ntchito batani la "Move Up". Tsekani zenera la Sinthani Project tems mukamaliza.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 8

Gawo 4
Dinani kawiri chikwatu cha CMSIS-DSP kumanzere (ngati Gawo 3 lalumphidwa, sankhani chikwatu chilichonse monga Wogwiritsa kapena CMSIS, ndi zina zotero), kenako yonjezerani laibulale ya CMSIS-DSP mmenemo. Sankhani \ library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib ya M0+ kapena \library\CMSIS\Lib\ARM \arm_cortexM3l_math.lib ya M3. Mukamaliza, laibulale ya ntchito arm_cortexMxl_math.lib iwonetsedwa mufoda ya CMSIS-DSP, monga momwe zilili pansipa.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 9

Gawo 5
Onjezani mutu file "arm_math.h" kulowa main.c, monga momwe zilili pansipa. Tsopano zokonda zonse zophatikiza zatha

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 10

Zosefera za Low-Pass - MOYO

Gawoli, poyambitsa pulogalamuyo\CMSIS_DSP\arm_fir_example, iwonetsa momwe mungakhazikitsire FIR fyuluta ndikuchotsa ma siginecha apamwamba kwambiri pogwiritsa ntchito FIR. Chizindikiro cholowetsa chimapangidwa ndi 1kHz ndi 15kHz sine mafunde. Chizindikiro samppafupipafupi ndi 48kHz. Zizindikiro pamwamba pa 6kHz zimasefedwa ndi FIR ndipo zizindikiro za 1kHz zimatuluka. Khodi yofunsira imagawidwa m'magawo angapo.

  1. Kuyambitsa. Kuti muyambitse FIR, API yotsatirayi imagwiritsidwa ntchito.
    zopanda kanthu arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize);
    S: FIR fyuluta kapangidwe
    manambala: Chiwerengero cha fyuluta stages (chiwerengero cha ma coefficients a fyuluta). Mu example, numTaps=29.
    Coffs: Sefa coefficient. Pali zosefera 29 mu example yomwe imawerengedwa ndi MATLAB.
    boma: Chizindikiro cha mawonekedwe
    blockSize: Kuyimira chiwerengero cha samples kukonzedwa nthawi imodzi.
  2. Zosefera zotsika. Poyitana API ya MOYO, 32 sampLes amakonzedwa nthawi iliyonse ndipo pali 320sampzonse kwathunthu. API yogwiritsidwa ntchito ikuwonetsedwa pansipa.
    zopanda kanthu arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
    S: FIR fyuluta kapangidwe
    pSrc: Chizindikiro cholowetsa. Chizindikiro chosakanikirana cha 1kHz ndi 15kHz ndikulowetsa mu ex iyiample. pDst: Chizindikiro chotulutsa. Chizindikiro chomwe chikuyembekezeka ndi 1kHz. blockSize: Kuyimira chiwerengero cha samples kukonzedwa nthawi imodzi.
  3. Kutsimikizira kwa data. Zotsatira zosefera zopezedwa ndi MATLAB zimawonedwa ngati zolozera ndipo zosefera zopezedwa ndi CMSIS-DSP ndiye mtengo weniweni. Fananizani zotsatira ziwiri kuti muwone ngati zotsatira zake ndi zolondola kapena ayi. float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
    Zokonda: Mtengo wolozera wopangidwa ndi MATLAB.
    positi: Mtengo weniweni wopangidwa ndi CMSIS-DSP.
    blockSize: Kuyimira chiwerengero cha samples kukonzedwa nthawi imodzi.
    Monga tawonetsera pansipa, Input Data ikuwonetsa kuti chizindikirocho sichinasefedwe ndipo Data Yotulutsa ikuwonetsa zotsatira zosefedwa. Y-axis imayimira ampmphamvu ya chizindikiro ndi sampLing frequency ndi 48kHz, kotero nambala ya X-axis kuphatikiza imodzi imayimira nthawi kuphatikiza 20.833μs. Zitha kupezeka kuchokera ku Chithunzi 12 ndi Chithunzi 13 kuti chizindikiro cha 15kHz chimachotsedwa ndipo chizindikiro cha 1kHz chokha chatsala.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 11

Zosefera za High-Pass- IIR
Gawoli, poyambitsa pulogalamuyo\CMSIS_DSP\filter_iir_high_pass_example, iwonetsa momwe mungakhazikitsire fyuluta ya IIR ndikuchotsa ma siginecha otsika kwambiri pogwiritsa ntchito IIR. Chizindikiro cholowera chimapangidwa ndi 1Hz ndi 30Hz sine mafunde. Chizindikiro sampLing pafupipafupi ndi 100Hz ndipo okwana 480 mfundo ndi sampLed. Zizindikiro zomwe zili pansi pa 7Hz zimachotsedwa ndi IIR.
Khodi yofunsira imagawidwa m'magawo angapo. 

  1.  Pali 480 sampziphuphu. Sample 0~159 ndi 30Hz sine mafunde, sample 160 ~ 319 ndi 1Hz sine mafunde ndi sample 320 ~ 479 ndi 30Hz sine mafunde.
  2. Kuyambitsa. Kuti muyambitse IIR, API yotsatirayi imagwiritsidwa ntchito. void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoefs, float32_t *state));
    S: Kapangidwe kasefa ka IIR
    ndalama stages: Chiwerengero cha dongosolo lachiwiri stages mu fyuluta. Mu exampndi, numstagndi=1.
    Coffs: Sefa coefficient. Pali zosefera 5 mu example.
    boma: Chizindikiro cha mawonekedwe
  3. Zosefera zapamwamba. Poyitana API ya IIR, 1 sample imakonzedwa nthawi iliyonse ndipo pali 480sampzonse kwathunthu. API yogwiritsidwa ntchito ikuwonetsedwa pansipa. void arm_biquad_cascade_df1_f32 (const arm_biquad_casd_df1_inst_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
    S: Kapangidwe kasefa ka IIR
    pSrc: Chizindikiro cholowetsa. Chizindikiro chosakanikirana cha 1Hz ndi 30Hz chikulowa mu ex iyiample.
    pDst: Chizindikiro chotulutsa. Chizindikiro chomwe chikuyembekezeka ndi 30Hz.
    blockSize: Kuyimira chiwerengero cha samples kukonzedwa nthawi imodzi.
  4. Zotsatira zake. Zolowetsa ndi zotuluka zimatuluka ku PC kudzera kusindikiza. Monga tawonetsera pansipa, Input Data ikuwonetsa kuti chizindikirocho sichinasefedwe ndipo Data Yotulutsa ikuwonetsa zotsatira zosefedwa. Y-axis imayimira ampmphamvu ya chizindikiro ndi sampLing frequency ndi 100Hz, kotero nambala ya X-axis kuphatikiza imodzi imayimira nthawi kuphatikiza 10ms. Ikhoza kupezeka kuchokera ku Chithunzi 14 ndi Chithunzi 15 kuti chizindikiro cha 1Hz chimachotsedwa ndipo chizindikiro cha 30Hz chokha chatsala.

Laibulale ya HOLTEK HT32 CMSIS-DSP - Chithunzi 12

Malingaliro

Ogwiritsa ntchito ayenera kusamala kwambiri kukula kwa kukumbukira pambuyo polemba pogwiritsa ntchito laibulale ya CMSIS-DSP. Onetsetsani kuti palibe kusefukira kwa kukumbukira komwe kumachitika musanayesedwe.
Mapeto
CMSIS-DSP ili ndi kuthekera kwakukulu pakukonza ma siginecha ndi kuwerengera masamu ndipo ndiyoyenera kuiganizira mozama ndi ogwiritsa ntchito.
Nkhani Zolozera
Buku webtsamba: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
Mabaibulo ndi Zambiri Zosintha

Tsiku Wolemba Nkhani Zambiri Zosintha
2022.06.02 Kulemba, Liu V1.10 Sinthani njira yotsitsa
2019.09.03 Allen, Wang V1.00 Mtundu Woyamba

Chodzikanira

Zidziwitso zonse, zizindikiro, ma logo, zithunzi, makanema, zomvera, maulalo ndi zinthu zina zomwe zikuwonekera pa izi. webmalo ('Chidziwitso') ndi ongogwiritsa ntchito okha ndipo angasinthidwe nthawi ina iliyonse popanda chenjezo komanso mwakufuna kwa Holtek Semiconductor Inc. ndi makampani ogwirizana nawo (pambuyo pake 'Holtek', 'kampani', 'ife', ' ife' kapena 'athu'). Pamene Holtek amayesetsa kuonetsetsa kuti Mauthengawa ndi olondola pa izi webTsambali, palibe chitsimikizo chodziwika kapena choperekedwa ndi Holtek kuti Chidziwitsocho chikhale cholondola. Holtek sadzakhala ndi mlandu pa zolakwika zilizonse kapena kutayikira. Holtek sadzakhala ndi mlandu pazowonongeka zilizonse (kuphatikiza koma osati kokha ku kachilombo ka kompyuta, zovuta zamakina kapena kutayika kwa data) zilizonse zomwe zingachitike pogwiritsa ntchito kapena kugwiritsa ntchito izi. webtsamba ndi gulu lililonse. Pakhoza kukhala maulalo m'derali, zomwe zimakupatsani mwayi wochezera webmasamba amakampani ena. Izi webmalo sakulamulidwa ndi Holtek. Holtek sadzakhala ndi udindo uliwonse kapena chitsimikizo pa Chidziwitso chilichonse chomwe chikuwonetsedwa pamasamba otere. Ma hyperlink ndi ena webmasamba ali pachiwopsezo chanu.
Kuchepetsa Udindo
Mulimonse momwe zingakhalire, kampani sifunika kutenga udindo pakutayika kapena kuwonongeka kulikonse komwe munthu amabwera webtsamba mwachindunji kapena mwanjira ina ndipo amagwiritsa ntchito zomwe zili, zambiri kapena ntchito pa webmalo.
Lamulo Lolamulira
Chodzikanirachi chikutsatiridwa ndi malamulo a Republic of China komanso pansi pa ulamuliro wa Khothi la Republic of China.
Kusintha kwa Chodzikanira
Holtek ali ndi ufulu wosintha Chodzikanira nthawi iliyonse kapena popanda chidziwitso, zosintha zonse zimagwira ntchito mukangotumiza ku webmalo.

Chithunzi cha HOLTEK

Zolemba / Zothandizira

Laibulale ya HOLTEK HT32 CMSIS-DSP [pdf] Buku Logwiritsa Ntchito
HT32, CMSIS-DSP Library, HT32 CMSIS-DSP Library, Library

Maumboni

Siyani ndemanga

Imelo yanu sisindikizidwa. Minda yofunikira yalembedwa *