国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 教你如何使用STM32F4的DSP庫(kù)

教你如何使用STM32F4的DSP庫(kù)

關(guān)鍵字:STM32 DSP 程序 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-18  瀏覽:9

我們平常所使用的CPU為定點(diǎn)CPU,意思是進(jìn)行整點(diǎn)數(shù)值運(yùn)算的CPU。當(dāng)遇到形如1.1+1.1的浮點(diǎn)數(shù)運(yùn)算時(shí),定點(diǎn)CPU就遇到大難題了。對(duì)于32位單片機(jī),利用Q化處理能發(fā)揮他本身的性能,但是精度和速度仍然不會(huì)提高很多。

現(xiàn)在設(shè)計(jì)出了一個(gè)新的CPU,叫做FPU,這個(gè)芯片專(zhuān)門(mén)處理浮點(diǎn)數(shù)的運(yùn)算,這樣處理器就將整點(diǎn)數(shù)和浮點(diǎn)數(shù)分開(kāi)來(lái)處理,整點(diǎn)數(shù)交由定點(diǎn)CPU處理而浮點(diǎn)數(shù)交由FPU處理。我們見(jiàn)到過(guò)TI的DSP,還有STM32F4系列的帶有DSP功能的微控制器。前者筆者沒(méi)有用過(guò),不作評(píng)論,而后者如果需要用到FPU的浮點(diǎn)運(yùn)算功能,必須要進(jìn)行一些必要的設(shè)置。

首先,由于浮點(diǎn)運(yùn)算在FPU中進(jìn)行,所以首先應(yīng)該使能FPU運(yùn)行。在system_init()中,定義__FPU_PRESENT和__FPU_USED

/* FPU settings------------------------------------------------------------*/

#if (__FPU_PRESENT == 1)&& (__FPU_USED == 1)

SCB->CPACR |= ((3UL<< 10*2)|(3UL << 11*2)); /*set CP10 and CP11 Full Access */

#endif

這樣就使能了FPU。

對(duì)于上述改變,當(dāng)程序中出現(xiàn)這種簡(jiǎn)單的加減乘除運(yùn)算FPU就起作用了。但是對(duì)于復(fù)雜的如三角運(yùn)算、開(kāi)方運(yùn)算等,我們就需要加入math.h頭文件。但是如果單純的加入他,那么Keil會(huì)自動(dòng)調(diào)用內(nèi)部的math.h,該頭文件是針對(duì)ARM處理器的,專(zhuān)門(mén)用于定點(diǎn)CPU和標(biāo)準(zhǔn)算法(IEEE-754)。對(duì)于使用了FPU的STM32F4是沒(méi)有任何作用的。所以,需要將math.h換成ST的庫(kù),即arm_math.h。在該頭文件中,涉及到另一個(gè)文件core_cmx.h(x=0、3、4),當(dāng)然了,如同STM32F1系列一樣,在工程中加入core_cm4.h即可。

到這里,算是全部設(shè)置完畢,之差最后一步,調(diào)用!但是別小看了這一步,因?yàn)槿绻{(diào)用的不正確,前面的設(shè)置就白費(fèi)了。在使用三角函數(shù)如sin()、cos()時(shí)不要直接寫(xiě)如上形式,因?yàn)樗麄兒瘮?shù)的名字來(lái)自于math.h,所以你調(diào)用的仍舊是Keil庫(kù)中的標(biāo)準(zhǔn)math.h。要使用arm_math.h中的arm_sin_f32()函數(shù)(見(jiàn)Line.5780,原函數(shù)見(jiàn)DSP_Lib\Source\FastMathFunctions),可以看到他利用的是三次樣條插值法快速求值(見(jiàn)Line.263 /* Cubic interpolation process */)。

注意一下例外函數(shù),sqrt(),在arm_math.h中為arm_sqrt_f32()。使用他的時(shí)候需要同時(shí)開(kāi)啟#if(__FPU_USED == 1) && defined ( __CC_ARM )才行,切記!還可以發(fā)現(xiàn)開(kāi)方函數(shù)還有q15和q31之分,我想他們的區(qū)別就是精度的問(wèn)題,但是他們沒(méi)有應(yīng)用FPU來(lái)計(jì)算,說(shuō)白了就是利用0x5f3759df這個(gè)數(shù)進(jìn)行快速開(kāi)方,大家如果對(duì)這個(gè)數(shù)很陌生,查閱http://en.wikipedia.org/wiki/Fast_inverse_square_root。不過(guò)他的處理可能有些不同。

另外還有很多DSP的函數(shù)都在DSP_Lib\Source中,有興趣的自己研究吧。

編輯:admin  最后修改時(shí)間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

丰满的人妻一区二区三区| 亚洲一区二区欧美激情| 操白丝女孩在线观看免费高清 | 日本免费一区二区三女| 夫妻性生活一级黄色录像| 99久久精品午夜一区二区| 人妻久久这里只有精品| 九九热最新视频免费观看| 日韩午夜福利高清在线观看| 亚洲人午夜精品射精日韩 | 精品少妇人妻一区二区三区 | 亚洲欧美日产综合在线网| 久久久精品区二区三区| 亚洲中文字幕日韩在线| 中文字幕日产乱码一区二区| 欧美一区二区三区十区| 91久久精品国产成人| 久久婷婷综合色拍亚洲| 天堂热东京热男人天堂| 欧美日韩国产另类一区二区| 色一情一乱一区二区三区码| 欧美日韩精品久久亚洲区熟妇人| 日本熟妇熟女久久综合| 国产精品激情在线观看| 国产麻豆一线二线三线| 国产内射一级一片内射高清视频 | 日韩中文字幕人妻精品| 午夜小视频成人免费看| 婷婷色香五月综合激激情| 樱井知香黑人一区二区| 亚洲精品偷拍一区二区三区| 国产精品内射视频免费| 久久碰国产一区二区三区| 国产精品激情在线观看| 国产免费操美女逼视频| 99久久精品国产日本| 日本高清加勒比免费在线| 国产老女人性生活视频| 国产成人高清精品尤物| 国产传媒中文字幕东京热| 69久久精品亚洲一区二区|