Китобхонаи HT32 CMSIS-DSP
Дастури корбар
D/N: AN0538EN
Муқаддима
CMSIS интерфейси стандартии нармафзорест, ки аз ҷониби ARM таҳия шудааст, ки номи пурраи Cortex Microcontroller Software Interface Standard дорад. Бо ин интерфейси стандартӣ, таҳиягарон метавонанд аз як интерфейс истифода баранд, то микроконтроллерҳои таъминкунандагони гуногунро идора кунанд, ва ин васила вақти таҳия ва омӯзиши онҳоро хеле кӯтоҳ мекунад. Барои маълумоти иловагӣ, ба расмии CMSIS муроҷиат кунед webсайт: http://www.keil.com/pack/doc/CMSIS/General/html/index.html. Ин матн асосан барномаи CMSIS-DSP-ро дар силсилаи микроконтроллерҳои HT32 тавсиф мекунад, ки танзими муҳити зист, самти истифода ва ғайраро дар бар мегирад.
Тавсифи функсионалӣ
Хусусиятҳои CMSIS-DSP
CMSIS-DSP, ки яке аз ҷузъҳои CMSIS мебошад, дорои хусусиятҳои зерин мебошад.
- Маҷмӯи функсияҳои умумии коркарди сигналро, ки ба Cortex-M бахшида шудаанд, таъмин мекунад.
- Китобхонаи функсияҳои аз ҷониби ARM пешниҳодшуда зиёда аз 60 функсия дорад.
- q7, q15, q31 -ро дастгирӣ мекунад
(Эзоҳ) ва намуди шинокунандаи маълумот (32-бит). - Амалиётҳо барои маҷмӯи дастурҳои SIMD, ки барои Cortex-M4/M7/M33/M35P дастрасанд, оптимизатсия карда шудаанд.
Шарҳ: Номгузории q7, q15 ва q31 дар китобхонаи функсионалӣ мутаносибан нуқтаҳои собит 8, 16 ва 32-битро ифода мекунанд.
Ададҳои Китобхонаи Функсияи CMSIS-DSP
Китобхонаи функсияҳои CMSIS-DSP ба категорияҳои зерин тақсим мешавад:
- Функсияҳои асосии математика, функсияҳои математикии зуд ва функсияҳои мураккаби математика
- Функсияҳои филтркунии сигнал
- Функсияҳои матритсавӣ
- Функсияҳои табдилдиҳӣ
- Функсияҳои идоракунии мотор
- Функсияҳои оморӣ
- Функсияҳои дастгирӣ
- Функсияҳои интерполяция
Танзими муҳити зист
Ин бахш сахтафзор ва нармафзореро, ки дар барнома истифода мешаванд, муаррифӣ хоҳад кардampле.
Таҷҳизот
Гарчанде ки CMSIS-DSP силсилаи пурраи HT32-ро дастгирӣ мекунад, тавсия дода мешавад, ки MCU бо иқтидори SRAM аз 4 КБ зиёдтар ҳамчун барномаи CMSIS-DSP истифода шавад.ample андозаи калонтари SRAM-ро талаб мекунад. Ин матн ESK32-30501-ро ҳамчун собиқ мегирадample, ки HT32F52352-ро истифода мебарад.
Нармафзор
Пеш аз истифода бурдани замимаи собикampаввал, боварӣ ҳосил кунед, ки навтарин китобхонаи Firmware Holtek HT32 аз расмии Holtek зеркашӣ карда шудааст. webсайт. Ҷои зеркашӣ дар расм нишон дода шудааст
Декомпресс file пас аз зеркашӣ.
Рамзи барномаи CMSIS-DSP-ро тавассути истиноди зер зеркашӣ кунед. Рамзи барнома ҳамчун почта баста шудааст file бо номи HT32_APPFW_xxxxx_CMSIS_DSP_vn_m.zip.
Роҳи зеркашӣ: https://mcu.holtek.com.tw/ht32/app.fw/CMSIS_DSP/
Дар file Қоидаи номгузорӣ дар расми 2 нишон дода шудааст.
Азбаски рамзи барнома китобхонаи нармафзорро дар бар намегирад fileс, корбарон бояд рамзи барнома ва китобхонаи нармафзори кушодашударо ҷойгир кунанд files ба роҳи дуруст пеш аз оғози тартибдиҳӣ. Рамзи барнома file дорои ду ҷузвдон аст, ки барнома ва китобхона, ки ҷойгиршавии онҳо дар расми 3 нишон дода шудааст. file конфигуратсияи роҳ тавре ки дар расми нишон дода шудааст 4. Истифодабарандагон инчунин метавонанд рамзи барнома ва китобхонаи миёнаравӣ фишурда decompress files ба ҳамон роҳ барои ба даст овардани самараи якхела. Барои ин собикample, директория барои CMSIS_DSP пас аз декомпрессия дар зери папкаи барнома дида мешавад.
File Сохтор
Ду ҷузвдони асосӣ, ки ба рамзи барнома дохил карда шудаанд file, китобхона\CMSIS ва барнома\CMSIS_DSP, дар зер ба таври инфиродӣ тавсиф шудаанд.
Мундариҷаи ҷузвдони китобхона\CMSIS чунинанд.
Номи папка | Тавсифи |
DSP_Lib | Рамзи сарчашмаи барнома FW |
DSP_Lib\Мисamples | Якчанд стандарти собиқро дар бар мегирадampКитобхонаи функсияҳои CMSIS-DSP, ки аз ҷониби ARM таъмин карда мешаванд. Танзимоти ин лоиҳаҳо ба таври тақлидшуда бидуни талаб кардани MCU иҷро карда мешаванд. Истифодабарандагон метавонанд ба зудӣ чӣ тавр истифода бурдани ин собиқро ёд гирандampбо иҷрои онҳо. |
DSP_Lib\Source | Рамзи сарчашмаи китобхонаи функсияи CMSIS-DSP |
дохил кунед | Сарлавҳаи зарурӣ file ҳангоми истифодаи китобхонаи функсияи CMSIS-DSP |
Дохил кунед\arm_common_tables.h | Эъломияи тағирёбандаҳои массивҳои беруна (берунӣ) |
Дохил кунед\arm_const_structs.h | Эъломияи константаҳои беруна |
Дохил кунед\arm_math.h | Ин file ҳамчун интерфейс барои истифодаи китобхонаи функсияи CMSIS-DSP хеле муҳим аст. Зангҳо ба ягон китобхонаи функсияи API тавассути arm_math.h амалӣ карда мешаванд. |
Lib\ARM | Китобхонаи функсияҳои CMSIS-DSP барои ARMCC l arm_cortexM3l_math.lib (Cortex-M3, Little ndian) l arm_cortexM0l_math.lib (Cortex-M0 / M0+, Little Endian) |
Lib\GCC | Китобхонаи функсияҳои CMSIS-DSP барои GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little Endian) |
Папкаи барнома\CMSIS_DSP якчанд CMSIS_DSP-ро дар бар мегирадamples, ки силсилаи HT32-и MCU-ро истифода мебаранд ва силсилаи пурраи HT32-ро дастгирӣ мекунанд. Лоиҳаҳо бо истифода аз Keil MDK_ARM таҳия карда мешаванд.
Номи папка | Тавсифи |
arm_class_marks_example | Нишон медиҳад, ки чӣ тавр ба даст овардани арзиши максималӣ, арзиши минималӣ, арзиши пешбинишуда, инҳирофи стандартӣ, дисперсия ва функсияҳои матритсавӣ. |
arm_convolution_example | Теоремаи конволютсияро тавассути функсияҳои мураккаби FFT ва дастгирӣ нишон медиҳад. |
arm_dotproduct_example | Чӣ тавр ба даст овардани ҳосили нуқта тавассути зарб ва иловаи векторҳо нишон медиҳад. |
arm_fft_bin_example | Нишон медиҳад, ки чӣ тавр ҳисоб кардани равзанаи максималии энергетикӣ (бин) дар домени басомади сигналҳои вурудӣ бо истифода аз функсияҳои мураккаби FFT, бузургии мураккаб ва максималии модул. |
arm_fir_example | Бо истифода аз FIR чӣ гуна амалӣ кардани филтри паст-гузарро нишон медиҳад. |
arm_graphic_equalizer_example | Бо истифода аз эквалайзери графикӣ чӣ гуна тағир додани сифати садоро нишон медиҳад. |
arm_linear_interp_example | Истифодаи модули интерполяцияи хатӣ ва модули математикаи зудро нишон медиҳад. |
arm_matrix_example | Ҳисобкунии коррелятсияи матритса, аз ҷумла табдили матритса, зарбкунии матритса ва баръакси матритсаро нишон медиҳад. |
arm_signal_converge_example | Филтри худтанзимшавандаи FIR-ро бо истифода аз NLMS (Майдони ҳадди ақали миёна), FIR ва модулҳои асосии математикӣ нишон медиҳад. |
arm_sin_cos_example | Ҳисобҳои тригонометриро нишон медиҳад. |
arm_variance_example | Нишон медиҳад, ки чӣ гуна ҳисоб кардани фарқият тавассути математикаи асосӣ ва функсияҳои дастгирӣ. |
filter_iir_high_pass_example | Бо истифода аз IIR чӣ гуна татбиқ кардани филтри баландгузарро нишон медиҳад. |
Санҷиш
Ин матн замимаи\CMSIS_DSP\arm_class_marks_ex-ро истифода мебарадample ҳамчун санҷиши собиқampле. Пеш аз оғози санҷиш, тафтиш кунед, ки ESK32-30501 пайваст шудааст ё не ва боварӣ ҳосил кунед, ки коди барнома ва китобхонаи нармафзор дар ҷои дуруст ҷойгир шудааст. Барномаро кушоед\CMSIS_DSP\arm_class_marks_example папка ва _CreateProject.bat -ро иҷро кунед file, тавре ки дар зер нишон дода шудааст. Пас аз ин, MDK_ARMv5 (ё MDK_ARM барои Keilv4) -ро кушоед, то бидонед, ки ин собиқample силсилаи пурраи HT32 -ро дастгирӣ мекунад. Лоиҳаи Project_52352.uvprojx -ро кушоед, зеро ESK32-30501 истифода мешавад.
Пас аз кушодани лоиҳа, компилясия (калиди миёнбури “F7”), зеркашӣ (калиди миёнбури “F8”), дебаг (калиди миёнабур “Ctrl+F5”) ва сипас иҷро кунед (калиди миёнабур “F5”). Натиҷаҳои иҷроро бо истифода аз тағирёбандаҳои дар поён овардашуда мушоҳида кардан мумкин аст.
Тағйирёбанда Ном | Самти маълумот | Тавсифи | Натиҷаи иҷроиш |
testMarks_f32 | Вуруд | Як массиви 20×4 | – |
testUnity_f32 | Вуруд | Як массиви 4×1 | – |
натиҷаи санҷиш | Натиҷа | Маҳсулоти testMarks_f32 ва testUnity_f32 | {188,229,210…} |
max_marks | Натиҷа | Арзиши максималии элементҳо дар массиви баромади санҷишӣ | 364 |
min_marks | Натиҷа | Арзиши ҳадди ақали элементҳо дар массиви баромади санҷишӣ | 156 |
маънои | Натиҷа | Арзиши интизории элементҳо дар массиви баромади санҷишӣ | 212.300003 |
стд | Натиҷа | Инҳирофоти стандартии элементҳо дар массиви натиҷаи санҷиш | 50.9128189 |
var | Натиҷа | Тафовути элементҳо дар массиви натиҷаи санҷиш | 2592.11523 |
Дастур барои истифода
Интегратсия
Ин бахш чӣ гуна ворид кардани CMSIS-DSP-ро ба лоиҳаҳои корбарон муаррифӣ мекунад.
Қадами 1
Аввалан, ҳангоми насб кардани лоиҳа рамзи нави Define илова кунед, "ARM_MATH_CM0PLUS" барои M0+ ва "ARM_MATH_CM3" барои M3. Тартиби танзим: (1) Имконоти калиди миёнабури Ҳадаф "Alt+F7"), (2) Саҳифаи C/C++-ро интихоб кунед, (3) Дар варианти Муайян кардани таърифи нав, тавре дар зер нишон дода шудааст, илова кунед.
Қадами 2
Барои илова кардани роҳи Include, тугмаро дар паҳлӯи имконоти "Дохил кардани роҳҳо" дар саҳифаи C/C++ клик кунед. Пас, равзанаи Танзимоти ҷузвдон кушода мешавад, ки дар он роҳи нави ..\..\..\..\library\CMSIS\Include»-ро метавон илова кард, тавре ки дар зер нишон дода шудааст.
Қадами 3 (Ихтиёрӣ)
Барои илова кардани китобхонаи функсия, тугмаи "Идоракунии ҷузъҳои лоиҳа" -ро клик кунед, тавре ки дар зер нишон дода шудааст. Агар тугма дида нашавад, "Равзана → Бозсозӣ" -ро клик кунед View ба Пешфарзҳо → Аз нав танзим кардан”, то конфигуратсияи равзанаи IDE ба танзимоти пешфарзии худ бармегардад. Пас аз ин, тугмаи "Идоракунии ҷузъҳои лоиҳа" нишон дода мешавад.
Папкаи CMSIS-DSP-ро бо истифода аз тугмаҳое, ки дар қуттии сурх дар зер нишон дода шудааст, илова кунед ва онро дар зери папкаи CMSIS бо истифода аз тугмаи "Ба боло ҳаракат кунед". Пас аз анҷоми кор равзанаи идоракунии лоиҳаро пӯшед.
Қадами 4
Папкаи CMSIS-DSP-ро дар тарафи чап ду маротиба клик кунед (агар Қадами 3 гузаред, ягон ҷузвдонро ба монанди User ё CMSIS ва ғайра интихоб кунед), пас китобхонаи функсияҳои CMSIS-DSP-ро ба он илова кунед. Интихоб кунед \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib барои M0+ ё \library\CMSIS\Lib\ARM \arm_cortexM3l_math.lib барои M3. Пас аз анҷом, китобхонаи функсияи arm_cortexMxl_math.lib дар папкаи CMSIS-DSP, тавре ки дар зер нишон дода шудааст, нишон дода мешавад.
Қадами 5
Сарро илова кунед file "arm_math.h" ба main.c, тавре ки дар зер нишон дода шудааст. Ҳоло ҳама танзимоти ҳамгироӣ анҷом дода шуданд
Филтри пастгузар - FIR
Ин бахш бо ҷорӣ намудани барнома\CMSIS_DSP\arm_fir_example, нишон медиҳад, ки чӣ гуна филтри FIR насб карда шавад ва сигналҳои басомади баланд бо истифода аз FIR хориҷ карда шаванд. Сигнали воридотӣ аз мавҷҳои синуси 1кГц ва 15кГц иборат аст. Сигнал сampбасомади линг 48kHz аст. Сигналҳои аз 6 кГц болотар аз ҷониби FIR филтр карда мешаванд ва сигналҳои 1 кГц баромад мекунанд. Рамзи барнома ба якчанд қисм тақсим мешавад.
- Интициализатсия. Барои оғоз кардани FIR, API-и зерин истифода мешавад.
void arm_fir_init_f32 (arm_fir_instance_f32 *S, uint16_t numTaps, float32_t *pCoeffs, float32_t *pState, uint32_t blockSize);
S: Сохтори филтри FIR
рақамҳо: Шумораи филтрҳоtages (шумораи коэффисиентҳои филтр). Дар ин собикample, numTaps = 29.
Кофф: Коэффисиенти филтр. Дар ин мисол 29 коэффисиенти филтр мавҷуд астample, ки аз ҷониби MATLAB ҳисоб карда мешавад.
давлат: Нишондиҳандаи ҳолати
blockSize: Шумораи s-ро ифода мекунадamples дар як вақт коркард карда мешавад. - Филтри паст-гузар. Бо занг задан ба API аз FIR, 32 сamples ҳар дафъа коркард карда мешаванд ва 320 сampдар маҷмӯъ. API-и истифодашуда дар зер нишон дода шудааст.
void arm_fir_f32 (const arm_fir_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize);
S: Сохтори филтри FIR
pSrc: Сигнали вуруд. Дар ин мисол сигнали омехтаи 1кГц ва 15кГц ворид карда мешавадampле. pDst: Сигнал баромад. Сигнали интизории баромад 1kHz аст. blockSize: Шумораи s-ро ифода мекунадamples дар як вақт коркард карда мешавад. - Тафтиши маълумот. Натиҷаи филтркунии аз ҷониби MATLAB ба даст овардашуда ҳамчун истинод ҳисобида мешавад ва натиҷаи филтр, ки аз ҷониби CMSIS-DSP гирифта шудааст, арзиши воқеӣ мебошад. Ду натиҷаро муқоиса кунед, то боварӣ ҳосил кунед, ки натиҷаи натиҷа дуруст аст ё не. float arm_snr_f32(float *pRef, шино *pTest, uint32_t buffSize)
Pref: Арзиши истинод аз ҷониби MATLAB тавлидшуда.
баъди: Арзиши воқеии тавлидшуда аз ҷониби CMSIS-DSP.
blockSize: Шумораи s-ро ифода мекунадamples дар як вақт коркард карда мешавад.
Тавре ки дар зер нишон дода шудааст, Маълумоти воридотӣ нишон медиҳад, ки сигнал ҳанӯз филтр нашудааст ва Маълумоти баромад натиҷаи филтршударо нишон медиҳад. Меҳвари Y -ро ифода мекунад ampлитудаи сигнал ва сampбасомади ling 48kHz аст, бинобар ин рақами меҳвари X плюс як вақт ва 20.833μсро ифода мекунад. Аз расми 12 ва расми 13 дидан мумкин аст, ки сигнали 15 кГц нест карда шуда, танҳо сигнали 1 кГц боқӣ мемонад.
Филтри баландгузар - IIR
Ин бахш бо ворид кардани барнома\CMSIS_DSP\filter_iir_high_pass_example, нишон медиҳад, ки чӣ гуна филтри IIR насб кардан ва сигналҳои басомади пастро бо истифода аз IIR хориҷ кардан мумкин аст. Сигнали воридотӣ аз мавҷҳои синуси 1Гц ва 30Гц иборат аст. Сигнал сampбасомади линг 100 Гц ва ҳамагӣ 480 нуқта с астampНН - Нурнишон. Сигналҳои зери 7 Гц аз ҷониби IIR хориҷ карда мешаванд.
Рамзи барнома ба якчанд қисм тақсим мешавад.
- 480 сония вуҷуд дорадampЛес. Сample 0 ~ 159 мавҷҳои синуси 30 Гц мебошанд, сample 160~319 мавҷҳои синуси 1Гц ва с мебошандample 320 ~ 479 мавҷҳои синуси 30 Гц мебошанд.
- Интициализатсия. Барои оғоз кардани IIR, API зерин истифода мешавад. void arm_biquad_cascade_df1_init_f32 (arm_biquad_casd_df1_inst_f32 *S, uint8_t numStages, float32_t *pCoeffs, float32_t *давлат));
S: Сохтори филтри IIR
сум сtages: Шумораи s-тартиби дуюмtagдар филтр. Дар ин собикampле, ададtages=1.
Кофф: Коэффисиенти филтр. Дар ин мисол 5 коэффисиенти филтр мавҷуд астampле.
давлат: Нишондиҳандаи ҳолати - Филтри баландгузар. Бо занг задан ба API-и IIR, 1 сampле хар дафъа кор карда мешавад ва 480 сampдар маҷмӯъ. API-и истифодашуда дар зер нишон дода шудааст. 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
pSrc: Сигнали вуруд. Дар ин мисол сигнали омехтаи 1 Гц ва 30 Гц ворид карда мешавадampле.
pDst: Сигнал баромад. Сигнали баромади интизорӣ 30 Гц аст.
blockSize: Шумораи s-ро ифода мекунадamples дар як вақт коркард карда мешавад. - Натиҷаи натиҷа. Сигналҳои вуруд ва баромад ба компютер тавассути чоп бароварда мешаванд. Тавре ки дар зер нишон дода шудааст, Маълумоти воридотӣ нишон медиҳад, ки сигнал ҳанӯз филтр нашудааст ва Маълумоти баромад натиҷаи филтршударо нишон медиҳад. Меҳвари Y -ро ифода мекунад ampлитудаи сигнал ва сampбасомади ling 100 Гц аст, бинобар ин рақами меҳвари X ҷамъи як вақт ва 10 мсро ифода мекунад. Аз расми 14 ва расми 15 дидан мумкин аст, ки сигнали 1 Гц нест карда шудааст ва танҳо сигнали 30 Гц боқӣ мемонад.
Мулоҳизаҳо
Ҳангоми истифодаи китобхонаи функсияҳои CMSIS-DSP, корбарон бояд ба андозаи хотира пас аз тартиб додан диққати махсус диҳанд. Боварӣ ҳосил кунед, ки пеш аз санҷиш пуркунии хотира рух надиҳад.
Хулоса
CMSIS-DSP дорои қобилиятҳои бузург дар коркарди сигналҳо ва ҳисобҳои математикӣ мебошад ва сазовори баррасии ҷиддӣ аз ҷониби корбарон аст.
Маводи истинод
Истинод webсайт: http://www.keil.com/pack/doc/CMSIS/General/html/index.html
Маълумот дар бораи версияҳо ва тағирот
Сана | Муаллиф | Чоп | Маълумот дар бораи тағирот |
2022.06.02 | Навиштан, Лю | V1.10 | Роҳи зеркаширо тағир диҳед |
2019.09.03 | Аллен, Ванг | V1.00 | Версияи якум |
Радди масъулият
Ҳама маълумот, тамғаҳои молӣ, логотипҳо, графика, видеоҳо, клипҳои аудиоӣ, истинодҳо ва дигар чизҳое, ки дар ин ҷо пайдо мешаванд webсайт ('Маълумот') танҳо барои истинод аст ва бояд дар вақти дилхоҳ бидуни огоҳии пешакӣ ва бо салоҳдиди Holtek Semiconductor Inc. ва ширкатҳои алоқаманди он (минбаъд 'Holtek', 'ширкат', 'мо',' тағир дода шавад. мо" ё "мо"). Дар ҳоле ки Холтек саъй мекунад, ки дурустии маълумотро дар ин бора таъмин кунад webДар сайт, ҳеҷ гуна кафолати мустақим ё дар назар дошташуда аз ҷониби Holtek ба дурустии Маълумот дода намешавад. Holtek барои ҳама гуна хатогӣ ё ихроҷ масъулият надорад. Holtek барои ҳама гуна хисорот (аз ҷумла, вале бо маҳдуд накардани вируси компютерӣ, мушкилоти система ё талафи маълумот), новобаста аз истифодаи он ё вобаста ба истифодаи ин масъулият надорад. webсайт аз ҷониби ягон ҳизб. Шояд дар ин минтақа пайвандҳо вуҷуд дошта бошанд, ки ба шумо имкон медиҳанд, ки ба он боздид кунед webсайтҳои ширкатҳои дигар. Инхо webсайтҳо аз ҷониби Holtek назорат карда намешаванд. Holtek ҳеҷ гуна масъулият ва кафолат намедиҳад, ки ҳеҷ гуна маълумоте, ки дар ин сайтҳо намоиш дода мешавад. Гиперпайвандҳо ба дигарон webсайтҳо ба хатари шумо ҳастанд.
Маҳдудияти масъулият
Дар ҳар сурат, ширкат лозим нест, ки барои ҳама гуна талафот ё зараре, ки ҳангоми ташрифи касе ба он расидааст, масъулиятро ба дӯш гирад webсайт мустақиман ё бавосита ва мундариҷа, маълумот ё хидматро дар сайт истифода мебарад webсайт.
Қонуни идоракунӣ
Ин раддия таҳти қонунҳои Ҷумҳурии Чин ва таҳти салоҳияти Суди Ҷумҳурии Чин қарор дорад.
Навсозии Радди Радди
Holtek ҳуқуқ дорад, ки Радди масъулиятро дар вақти дилхоҳ бо огоҳии пешакӣ ё бидуни огоҳии пешакӣ навсозӣ кунад, ҳама тағиротҳо фавран пас аз интишор ба webсайт.
Ҳуҷҷатҳо / Сарчашмаҳо
![]() | Китобхонаи HOLTEK HT32 CMSIS-DSP [pdf] Дастури корбар HT32, Китобхонаи CMSIS-DSP, HT32 Китобхонаи CMSIS-DSP, Китобхона |