當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于IQmath庫(kù)的定點(diǎn)DSP算法設(shè)計(jì)

摘要:基于TI公司提供的IQmath庫(kù)實(shí)現(xiàn)在定點(diǎn)DSP芯片TMS320F28xx上進(jìn)行精確的浮點(diǎn)運(yùn)算,方便開發(fā)人員采用C/C++編寫浮點(diǎn)運(yùn)算程序,可以節(jié)省設(shè)計(jì)和調(diào)試時(shí)間。IQmath庫(kù)主要應(yīng)用于高速度和高精度的實(shí)時(shí)計(jì)算,與直接采用ANSI C語(yǔ)言相比效率更高,這對(duì)設(shè)計(jì)實(shí)時(shí)性要求很高的控制系統(tǒng)尤其重要。
關(guān)鍵詞:IQmath庫(kù);TMS320F28xx;浮點(diǎn)運(yùn)算;實(shí)時(shí)性

引言
    DSP數(shù)字信號(hào)處理器分為定點(diǎn)和浮點(diǎn)兩種基本類型,它們之間最大差異在于浮點(diǎn)DSP比定點(diǎn)DSP具有更強(qiáng)大的計(jì)算能力和更大范圍的動(dòng)態(tài)精度。浮點(diǎn)DSP內(nèi)部設(shè)有專門支持浮點(diǎn)運(yùn)算的硬件單元,對(duì)浮點(diǎn)格式的數(shù)據(jù)可以直接通過代碼加入硬件運(yùn)算中,因此運(yùn)算速度很高。而定點(diǎn)DSP沒有定點(diǎn)運(yùn)算單元,它對(duì)浮點(diǎn)格式的實(shí)數(shù)必須通過軟件才能實(shí)現(xiàn),這樣就增加了指令代碼,間接地使得定點(diǎn)DSP運(yùn)算速度低于浮點(diǎn)DSP,典型的浮點(diǎn)處理器,如TI公司的C6000系列,幾乎所有的嵌入式微控制器都為定點(diǎn)處理器,如TI公司的C2000系列。因?yàn)楦↑c(diǎn)DSP的價(jià)格更加昂貴,因此定點(diǎn)DSP仍然有其巨大的優(yōu)勢(shì)。但是任何算法都需要進(jìn)行浮點(diǎn)運(yùn)算,因此如何提高在定點(diǎn)DSP上進(jìn)行的浮點(diǎn)運(yùn)算的速度和精度,就成為了用戶開發(fā)時(shí)必須要考慮的關(guān)鍵問題。TI公司專門為定點(diǎn)處理器TMS320C2000系列提供的IQmath庫(kù)為解決上述問題提供了良好的實(shí)現(xiàn)方法。

1 數(shù)的定標(biāo):Q格式
    定點(diǎn)DSP不能直接處理小數(shù),編程時(shí)處理小數(shù)有3種方法:
    ①把變量定義成float類型。該方法編程量最小,但編譯出來的代碼最大。
    ②把整數(shù)變量放大來表示小數(shù)。這是許多開發(fā)定點(diǎn)DSP的程序員經(jīng)常使用的方法,但程序不具有可移植性。
    ③采用整數(shù)定標(biāo)的方法來確定小數(shù),即采用Q格式來表示小數(shù)。對(duì)于定點(diǎn)處理器而言,不管定義哪種類型的數(shù)據(jù)最終都采用整型數(shù)據(jù)進(jìn)行具體的運(yùn)算。
    整數(shù)定標(biāo)的實(shí)質(zhì)就是通過確定小數(shù)點(diǎn)位于哪一位,從而確定小數(shù)的精度,通常用Q格式表示。一個(gè)32位有符號(hào)定點(diǎn)數(shù)的Q格式如下:
    
    其中,S是符號(hào)位,I是整數(shù)部分,f是小數(shù)部分。定點(diǎn)數(shù)的大小按下式計(jì)算:
    
    比如Q15定點(diǎn)數(shù)的小數(shù)點(diǎn)位于第15位的右側(cè),小數(shù)0.25用Q15表示則為2000H。這樣很簡(jiǎn)單地用一個(gè)整數(shù)格式表示了一個(gè)小數(shù),對(duì)于定點(diǎn)DSP來說處理小數(shù)就與處理整數(shù)完全相同了。需要注意的是,采用Q格式數(shù)據(jù)進(jìn)行算法設(shè)計(jì)的時(shí)候必須考慮溢出,各種Q格式數(shù)據(jù)表示的范圍和精度參考文獻(xiàn)。

2 TMS320F2812定點(diǎn)DSP處理器
    作為TI公司C2000系列DSP典型產(chǎn)品,定點(diǎn)處理器TMS320F2812具有很高的性價(jià)比,廣泛應(yīng)用于工業(yè)控制,特別是應(yīng)用于處理速度、處理精度方面要求較高的領(lǐng)域。TMS320F2812整合了Flash存儲(chǔ)器、A/D轉(zhuǎn)換器、事件管理器、QEP以及多種通信模塊,具有強(qiáng)大的控制和信號(hào)處理能力,便于用戶開發(fā)高性能的數(shù)字控制系統(tǒng)。特別是TI公司為C28xx內(nèi)核專門設(shè)計(jì)的IQmath庫(kù)能夠?qū)崿F(xiàn)在定點(diǎn)DSP處理器上進(jìn)行精確的浮點(diǎn)運(yùn)算和復(fù)雜的控制算法。

3 IQmath庫(kù)及其應(yīng)用
    IQmath庫(kù)是高度優(yōu)化和具有高精度的數(shù)學(xué)函數(shù)庫(kù)集合。IQmath庫(kù)里面包含的函數(shù)都是采用Q格式定點(diǎn)數(shù)作為輸入/輸出,允許程序設(shè)計(jì)人員在定點(diǎn)TMS320F281xx處理器上進(jìn)行浮點(diǎn)算法設(shè)計(jì),從而提高運(yùn)算速度。
3.1 IQmath庫(kù)組成
    IQmath庫(kù)可以在c/C++程序設(shè)計(jì)中使用,它包含4個(gè)部分:
    ◆IQmath頭文件IQmathLib.h
    ◆包含所有函數(shù)和數(shù)值表的目標(biāo)文件IQmath.lib
    ◆命令連接文件IQmath.cmd
    ◆調(diào)試用的GEL文件IQmath.gel
3.2 IQmath庫(kù)函數(shù)
    IQmath庫(kù)中主要包括以下函數(shù)(用戶在程序設(shè)計(jì)開發(fā)時(shí)可以直接調(diào)用):
    ◆格式轉(zhuǎn)換函數(shù)IQ()、IQN()、IQtoF()、IQtoIQN()等
    ◆算術(shù)運(yùn)算函數(shù)IQmpy()、IQdiv()等
    ◆三角運(yùn)算函數(shù)IQsin()、IQcos()、IQatan2()等
    IQmath庫(kù)中的各個(gè)函數(shù)及其含義參考文獻(xiàn)。[!--empirenews.page--]
3.3 IQmath庫(kù)函數(shù)應(yīng)用
    下面說明如何在一個(gè)C程序中使用IQmath庫(kù)。首先要安裝IQmath庫(kù),可以從TI公司的網(wǎng)站http://WWW.dspvillage.ti.com免費(fèi)下載得到。然后新建一個(gè)工程,將IQmath.lib,IQmath.cmd添加到工程。同時(shí),還要把IQmath.gel添加到工程中,因?yàn)镮Q變量的變換和調(diào)整都是通過GEL函數(shù)來實(shí)現(xiàn)的。按以上步驟設(shè)置完以后,就可以在C語(yǔ)言程序中利用IQmath庫(kù)里面的函數(shù)了。需要注意的是,IQmath.cmd必須包含以下內(nèi)容:



4 PARK變換浮點(diǎn)算法的定點(diǎn)數(shù)實(shí)現(xiàn)
    在現(xiàn)代交流電機(jī)控制領(lǐng)域,空間矢量控制法(SVPWM)使得交流電機(jī)的控制策略能像直流電機(jī)的控制策略一樣,可以實(shí)現(xiàn)轉(zhuǎn)矩電流和磁通的單獨(dú)控制,因此成為主流的交流伺服驅(qū)動(dòng)控制策略。利用DSP強(qiáng)大的計(jì)算能力和信號(hào)處理能力,SVPWM的電流和磁通控制均可以采用軟件實(shí)現(xiàn)。TMS320F2812處理器專門為電機(jī)控制設(shè)有兩個(gè)事件管理器(EVA/EVB)和編碼器電路(QEP),因此成為運(yùn)動(dòng)控制的最佳選擇之一。圖1是采用
TMS320F2812實(shí)現(xiàn)SVPWM控制算法的系統(tǒng)結(jié)構(gòu)框圖。

    從圖1可以看出,PARK變換是SVPWM控制算法中最為復(fù)雜的變換之一,是一個(gè)旋轉(zhuǎn)矢量is從靜止二相坐標(biāo)系(α-β)變換到同步旋轉(zhuǎn)的二相坐標(biāo)系(d-q)。PARK變換坐標(biāo)映射如圖2所示。


    由圖2可以得到PARK變換的方程式:
    [!--empirenews.page--]
    因?yàn)镻ARK變換是一個(gè)浮點(diǎn)算法,如果在定點(diǎn)處理器TMS320F2812上采用浮點(diǎn)運(yùn)算來實(shí)現(xiàn),代價(jià)很高。采用浮點(diǎn)類型進(jìn)行編程將產(chǎn)生十分龐大的代碼,而且在循環(huán)計(jì)算中勢(shì)必影響系統(tǒng)的效率和性能。采用IQmath庫(kù)可以將浮點(diǎn)算法轉(zhuǎn)換為定點(diǎn)數(shù)算法,這樣運(yùn)算速度可以明顯提高,這對(duì)實(shí)時(shí)性要求很好的運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì)十分有效。利用IQmath庫(kù)實(shí)現(xiàn)PARK變換的程序段如下:

    圖3是利用Embedded Target for TI C2000 DSP集成開發(fā)工具對(duì)IQmath庫(kù)編寫的SVPWM程序計(jì)算PWM占空比的波形圖。



5 結(jié)論
    利用IQmath庫(kù)可以在32位定點(diǎn)處理器TMS320F2812上實(shí)現(xiàn)浮點(diǎn)算法與定點(diǎn)算法之間的無縫連接,能夠極大地增強(qiáng)定點(diǎn)DSP的運(yùn)算能力;在不犧牲時(shí)間周期的情況下可以實(shí)現(xiàn)高精度計(jì)算,能夠快速地完成對(duì)浮點(diǎn)算法的轉(zhuǎn)換、植入和執(zhí)行;還可以根據(jù)應(yīng)用系統(tǒng)不同要求相應(yīng)地調(diào)整運(yùn)算精度,與直接采用ANSI C語(yǔ)言相比效率更高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉