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. دا متن په عمده ډول د مایکرو کنټرولرونو HT32 لړۍ کې د CMSIS-DSP غوښتنلیک تشریح کوي چې پکې د چاپیریال تنظیم کول ، د کارولو لارښود ، او داسې نور شامل دي.
فعالیت توضیحات
د CMSIS-DSP ځانګړتیاوې
CMSIS-DSP، چې د CMSIS یو له اجزاوو څخه دی لاندې ځانګړتیاوې لري.
- Cortex-M ته وقف شوي د عمومي سیګنال پروسس کولو دندو سیټ چمتو کوي.
- د ARM لخوا چمتو شوی فنکشن کتابتون له 60 څخه ډیر دندې لري.
- د q7، q15، q31 ملاتړ کوي
(یادونه) او د تیرولو نقطه (32-bit) ډیټا ډولونه - تطبیقونه د SIMD لارښوونې سیټ لپاره مطلوب دي کوم چې د Cortex-M4/M7/M33/M35P لپاره شتون لري.
یادونه: د فنکشن په کتابتون کې د q7، q15، او q31 نومول په ترتیب سره د 8، 16، او 32bit ثابت ټکي استازیتوب کوي.
د CMSIS-DSP فعالیت کتابتون توکي
د CMSIS-DSP فعالیت کتابتون په لاندې کټګوریو ویشل شوی دی:
- د ریاضیاتو بنسټیز فعالیتونه، د چټک ریاضی فعالیت، او پیچلی ریاضی فعالیتونه
- د سیګنال فلټر کولو دندې
- د میټرکس دندې
- د دندو بدلول
- د موټرو کنټرول دندې
- احصایوي دندې
- د دندو ملاتړ
- د انټرپولیشن دندې
د چاپیریال تنظیم کول
دا برخه به هغه هارډویر او سافټویر معرفي کړي چې په غوښتنلیک کې کارول کیږيample.
هارډویر
که څه هم CMSIS-DSP د بشپړ HT32 لړۍ ملاتړ کوي، دا وړاندیز کیږي چې د MCU د SRAM ظرفیت سره د 4KB څخه لوی وي لکه څنګه چې د CMSIS-DSP غوښتنلیک پخوانیampد لوی SRAM اندازه ته اړتیا لري. دا متن ESK32-30501 د پخواني په توګه اخليample چې HT32F52352 کاروي.
سافټویر
د غوښتنلیک کارولو دمخه د مثال په توګهampلومړی، ډاډ ترلاسه کړئ چې د Holtek HT32 فرم ویئر کتابتون د هولټیک چارواکو څخه ډاونلوډ شوی دی 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 شکل کې ښودل شوې.
لکه څنګه چې د غوښتنلیک کوډ د فرم ویئر کتابتون نلري files، کاروونکي اړتیا لري چې د غیر زپ شوي غوښتنلیک کوډ او د فرم ویئر کتابتون ځای په ځای کړي fileد تالیف پیل کولو دمخه سمې لارې ته لاړشئ. د غوښتنلیک کوډ file دوه فولډرونه لري، کوم چې غوښتنلیک او کتابتون دي چې موقعیت یې په 3 شکل کې ښودل شوی. دا دوه فولډرونه د فرم ویئر کتابتون روټ ډایرکټر کې ځای په ځای کړئ ترڅو بشپړ شي. file د لارې ترتیب لکه څنګه چې په 4 شکل کې ښودل شوي. کاروونکي کولی شي د غوښتنلیک کوډ او د فرم ویئر کتابتون کمپریس هم کم کړي. fileد ورته اغیز ترلاسه کولو لپاره ورته لاره ته لاړ شئ. د دې لپاره پخوانیample، د CMSIS_DSP لارښود به د ډیکمپریشن وروسته د غوښتنلیک فولډر لاندې لیدل کیږي.
File جوړښت
د غوښتنلیک کوډ کې دوه اصلي فولډر شامل دي file، کتابتون\CMSIS، او غوښتنلیک\CMSIS_DSP، په انفرادي ډول لاندې تشریح شوي.
د کتابتون د CMSIS فولډر منځپانګې په لاندې ډول دي.
د فولډر نوم | تفصیل |
DSP_Lib | د غوښتنلیک FW سرچینې کوډ |
DSP_Lib\examples | ډیری معیاري سابقه لريampد CMSIS-DSP فعالیت کتابتون چې د ARM لخوا چمتو شوي. د دې پروژو تنظیمات پرته له دې چې MCU ته اړتیا ولري په ساده ډول اجرا کیږي. کاروونکي کولی شي ژر تر ژره زده کړي چې څنګه د دې پخوانیو کارولو څرنګوالیampد دوی په اعدامولو سره. |
DSP_Lib \ سرچینه | د CMSIS-DSP فعالیت کتابتون سرچینه کوډ |
شامل دي | اړین سرلیک file کله چې د CMSIS-DSP فعالیت کتابتون کاروئ |
شامل کړئ\arm_common_tables.h | د خارجي صف متغیرونو اعلامیه (بهرني) |
شامل کړئ\arm_const_structs.h | د بهرني ثابتو اعالمیه |
شامل کړئ\arm_math.h | دا file د CMSIS-DSP فعالیت کتابتون کارولو لپاره د انٹرفیس په توګه خورا مهم دی. د هر فنکشن کتابتون API ته زنګونه د arm_math.h له لارې پلي کیږي. |
لیب\ARM | د CMSIS-DSP فعالیت کتابتون د ARMCC لپاره |
Lib\GCC | د GCC l libarm_cortexM3l_math.a (Cortex-M3, Little ndian) l libarm_cortexM0l_math.a (Cortex-M0 / M0+, Little endian) لپاره د CMSIS-DSP فعالیت کتابتون |
غوښتنلیک\CMSIS_DSP فولډر ډیری CMSIS_DSP لريamples، کوم چې د MCUs HT32 لړۍ کاروي او د بشپړ 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 | د NLMS (نورمالیز شوي لږ تر لږه مربع)، FIR، او لومړني ریاضی ماډلونو په کارولو سره د ځان تنظیم وړ FIR ټیټ پاس فلټر ښیې. |
arm_sin_cos_example | د مثلثاتو محاسبه څرګندوي. |
arm_variance_example | د بنسټیزو ریاضیاتو او مالتړ دندو له لارې د توپیر محاسبه کولو څرنګوالی څرګندوي. |
فلټر_iir_high_pass_example | د IIR په کارولو سره د لوړ پاس فلټرینګ پلي کولو څرنګوالی ښیې. |
ازموینه
دا متن به اپلیکیشن\CMSIS_DSP\arm_class_marks_ex کارويample د ازموینې په توګه example. د ازموینې پیل کولو دمخه ، وګورئ چې ایا ESK32-30501 وصل شوی یا نه او ډاډ ترلاسه کړئ چې د غوښتنلیک کوډ او فرم ویئر کتابتون په سم ځای کې ځای په ځای شوی. غوښتنلیک خلاص کړئ\CMSIS_DSP\arm_class_marks_example فولډر او _CreateProject.bat اجرا کړئ fileلکه څنګه چې لاندې ښودل شوي. له دې وروسته، MDK_ARMv5 (یا د Keilv4 لپاره MDK_ARM) پرانیزئ، ترڅو ومومئ چې دا پخوانی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…} |
max_marks | محصول | د ازموینې محصول سرې کې د عناصرو اعظمي ارزښت | 364 |
min_marks | محصول | د ازموینې محصول سرې کې د عناصرو لږترلږه ارزښت | 156 |
مطلب | محصول | د ازموینې محصول سرې کې د عناصرو متوقع ارزښت | 212.300003 |
std | محصول | د ازموینې محصول سرې کې د عناصرو معیاري انحراف | 50.9128189 |
var | محصول | د ازموینې محصول په سري کې د عناصرو توپیر | 2592.11523 |
د کارولو لپاره لارښوونه
ادغام
دا برخه به د کاروونکو په پروژو کې د CMSIS-DSP ادغام څرنګوالی معرفي کړي.
1 ګام
لومړی، د پروژې د تنظیم کولو په وخت کې یو نوی تعریف سمبول اضافه کړئ، د M0+ لپاره "ARM_MATH_CM0PLUS" او "ARM_MATH_CM3" د M3 لپاره. د ترتیب کولو کړنلاره: (1) د هدف شارټ کټ کیلي "Alt+F7" اختیارونه، (2) C/C++ پاڼه غوره کړئ، (3) د تعریف په اختیار کې یو نوی تعریف اضافه کړئ، لکه څنګه چې لاندې ښودل شوي.
2 ګام
د شاملولو لارې اضافه کولو لپاره، په C/C++ پاڼه کې "د لارې شامل کړئ" اختیار ته نږدې تڼۍ کلیک وکړئ. بیا د فولډر سیټ اپ کړکۍ به پاپ اپ شي ، چیرې چې یوه نوې لاره ..\..\..\..\library\CMSIS\Include" اضافه کیدی شي ، لکه څنګه چې لاندې ښودل شوي.
3 ګام (اختیاري)
د فنکشن کتابتون اضافه کولو لپاره، د "پروژې توکي اداره کړئ" تڼۍ کلیک وکړئ لکه څنګه چې لاندې ښودل شوي. که تڼۍ نه لیدل کیږي، کلیک وکړئ "کړکۍ → بیا تنظیم کړئ View Defaults → Reset" ته، نو د IDE کړکۍ ترتیب به بیرته خپل اصلي ترتیباتو ته راستانه شي. له دې وروسته، د "پروژې توکي اداره کړئ" تڼۍ به وښودل شي.
لکه څنګه چې لاندې سور بکس کې ښودل شوي د بټونو په کارولو سره د CMSIS-DSP فولډر اضافه کړئ او د "اوږد پورته" تڼۍ په کارولو سره یې د CMSIS فولډر لاندې حرکت وکړئ. کله چې بشپړ شي د پروژې مدیریت کړکۍ وتړئ.
4 ګام
په ښي خوا کې د CMSIS-DSP فولډر دوه ځله کلیک وکړئ (که دریم ګام پریښودل شوی وي، هر فولډر غوره کړئ لکه یوزر یا CMSIS، او نور)، بیا د CMSIS-DSP فعالیت کتابتون پکې اضافه کړئ. د M3+ لپاره \library\CMSIS\Lib\ARM\arm_cortexM0l_math.lib یا \library\CMSIS\Lib\ARM \arm_cortexM0l_math.lib د M3 لپاره غوره کړئ. په بشپړیدو سره، د فعالیت کتابتون arm_cortexMxl_math.lib به د CMSIS-DSP فولډر کې وښودل شي، لکه څنګه چې لاندې ښودل شوي.
5 ګام
سر اضافه کړئ file "arm_math.h" په main.c کې، لکه څنګه چې لاندې ښودل شوي. اوس د ادغام ټول ترتیبات بشپړ شوي دي
د ټیټ پاس فلټر - FIR
دا برخه، د غوښتنلیک په معرفي کولو سره\CMSIS_DSP\arm_fir_example، به وښيي چې څنګه د FIR فلټر تنظیم کړئ او د FIR په کارولو سره د لوړې فریکونسۍ سیګنالونه لرې کړئ. د ننوتلو سیګنال د 1kHz او 15kHz ساین څپو څخه جوړ دی. سیګنال sampد لینګ فریکونسۍ 48kHz ده. د 6kHz څخه پورته سیګنالونه د FIR لخوا فلټر شوي او د 1kHz سیګنالونه تولید دي. د غوښتنلیک کوډ په څو برخو ویشل شوی دی.
- ابتکار. د 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.
Coffs: د فلټر کوفیینټ. په دې سابقه کې 29 فلټر کوفیشینټونه شتون لريample چې د MATLAB لخوا محاسبه کیږي.
حالت: د وضعیت شاخص
د بلاک اندازه: د s شمیره استازیتوب کويampپه یو وخت کې پروسس شوی. - د ټیټ پاس فلټر. د FIR API ته په زنګ وهلو سره، 32 samples هر ځل پروسس کیږي او 320 s شتون لريampپه مجموع کې. کارول شوی API لاندې ښودل شوی.
void arm_fir_f32 (const arm_fir_instance_f32 *S، float32_t *pSrc، float32_t *pDst، uint32_t بلاک سایز)؛
S: د FIR فلټر جوړښت
pSrc: د ننوتلو سیګنال. د 1kHz او 15kHz مخلوط سیګنال په دې ایکس کې داخل دیample. pDst: د محصول سیګنال. د متوقع محصول سیګنال 1kHz دی. د بلاک اندازه: د s شمیره استازیتوب کويampپه یو وخت کې پروسس شوی. - د معلوماتو تصدیق. د MATLAB لخوا ترلاسه شوي د فلټر کولو پایله د حوالې په توګه ګڼل کیږي او د CMSIS-DSP لخوا ترلاسه شوي د فلټر کولو پایله ریښتیني ارزښت دی. دوه پایلې پرتله کړئ ترڅو تصدیق کړئ چې ایا د محصول پایله سمه ده که نه. float arm_snr_f32(float *pRef, float *pTest, uint32_t buffSize)
ترجیح: د حوالې ارزښت د MATLAB لخوا رامینځته شوی.
پوسټ: اصلي ارزښت د CMSIS-DSP لخوا تولید شوی.
د بلاک اندازه: د s شمیره استازیتوب کويampپه یو وخت کې پروسس شوی.
لکه څنګه چې لاندې ښودل شوي، د ننوتلو ډاټا ښیي چې سیګنال لاهم فلټر شوی نه دی او د محصول ډاټا د فلټر شوې پایله ښیې. د Y-محور استازیتوب کوي ampد سیګنال لیتوډ او sampد لینګ فریکونسۍ 48kHz ده، نو د ایکس محور شمیره جمع یو د وخت جمع 20.833μs استازیتوب کوي. دا د 12 او 13 شکل څخه موندل کیدی شي چې د 15kHz سیګنال له مینځه وړل شوی او یوازې د 1kHz سیګنال پاتې دی.
د لوړ پاس فلټر - IIR
دا برخه، د غوښتنلیک په معرفي کولو سره\CMSIS_DSP\filter_iir_high_pass_example، به وښيي چې څنګه د IIR فلټر تنظیم کړئ او د IIR په کارولو سره د ټیټ فریکونسۍ سیګنالونه لرې کړئ. د ننوتلو سیګنال د 1Hz او 30Hz ساین څپو څخه جوړ شوی دی. سیګنال sampد لینګ فریکونسۍ 100Hz ده او ټولټال 480 ټکي s ديampمشرۍ د 7Hz لاندې سیګنالونه د IIR لخوا لرې کیږي.
د غوښتنلیک کوډ په څو برخو ویشل شوی دی.
- 480 s شتون لريamples. سample 0~159 د 30Hz sine څپې دي، sample 160~319 د 1Hz sine څپې او s ديample 320~ 479 د 30Hz ساین څپې دي.
- ابتکار. د 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: د دوهم ترتیب شمیرهtages په فلټر کې. په دې کې پخوانيample, numStages=1.
Coffs: د فلټر کوفیینټ. په دې سابقه کې 5 فلټر کوفیشینټونه شتون لريample.
حالت: د وضعیت شاخص - د لوړ پاس فلټر. د IIR API ته په زنګ وهلو سره، 1 sample هر ځل پروسس کیږي او 480 s شتون لري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: د ننوتلو سیګنال. د 1Hz او 30Hz مخلوط سیګنال پدې ایکس کې داخل دیample.
pDst: د محصول سیګنال. د متوقع محصول سیګنال 30Hz دی.
د بلاک اندازه: د s شمیره استازیتوب کويampپه یو وخت کې پروسس شوی. - د پایلې پایله. د ننوتلو او محصول سیګنالونه د چاپ له لارې کمپیوټر ته تولید کیږي. لکه څنګه چې لاندې ښودل شوي، د ننوتلو ډاټا ښیي چې سیګنال لاهم فلټر شوی نه دی او د محصول ډاټا د فلټر شوې پایله ښیې. د Y-محور استازیتوب کوي ampد سیګنال لیتوډ او sampد لینګ فریکونسۍ 100Hz ده، نو د ایکس محور شمیره جمع یو د وخت جمع 10ms استازیتوب کوي. دا د 14 او 15 شکل څخه موندل کیدی شي چې د 1Hz سیګنال له مینځه وړل شوی او یوازې د 30Hz سیګنال پاتې دی.
غورونه
کاروونکي باید د حافظې اندازې ته ځانګړې پاملرنه وکړي کله چې د 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سایټ، د معلوماتو دقت لپاره د هولټیک لخوا هیڅ څرګند یا ضمیمه تضمین نه دی ورکړل شوی. هولټیک باید د هر ډول غلطۍ یا لیک کیدو مسؤلیت په غاړه واخلي. هولټیک باید د کوم زیان لپاره مسؤل نه وي (پشمول مګر د کمپیوټر ویروس ، سیسټم ستونزې یا ډیټا ضایع کیدو پورې محدود ندي) هر هغه څه چې د دې کارولو یا کارولو په تړاو رامینځته کیږي. webد هر ګوند لخوا سایټ. په دې سیمه کې ممکن لینکونه وي، کوم چې تاسو ته اجازه درکوي چې لیدنه وکړئ webد نورو شرکتونو سایټونه. دا webسایټونه د هولټیک لخوا نه کنټرول کیږي. هولټیک به هیڅ مسؤلیت په غاړه نه اخلي او هر هغه معلومات چې په ورته سایټونو کې ښودل شوي تضمین کوي. نورو ته هایپر لینکونه webسایټونه ستاسو په خطر کې دي.
د مسؤلیت محدودیت
په هر حالت کې، شرکت اړتیا نلري د کوم زیان یا زیان مسؤلیت په غاړه واخلي کله چې څوک لیدنه کوي webسایټ په مستقیم یا غیر مستقیم ډول او منځپانګې، معلومات یا خدمت کاروي webسایټ
د حکومت کولو قانون
دا اعلان د چین جمهوریت د قوانینو او د چین جمهوریت د محکمې تر واک لاندې دی.
د اعلان تازه کول
هولټیک حق لري چې هر وخت د مخکینۍ خبرتیا سره یا پرته د اعلان تازه کولو حق لري، ټول بدلونونه سمدلاسه د پوسټ کولو وروسته اغیزمن کیږي. webسایټ
اسناد / سرچینې
![]() |
HOLTEK HT32 CMSIS-DSP کتابتون [pdf] د کارونکي لارښود HT32, CMSIS-DSP کتابتون, HT32 CMSIS-DSP کتابتون, کتابتون |