浮點(diǎn)DSC使控制系統(tǒng)如虎添翼
DSC(Digital signal controller,數(shù)字信號(hào)控制器)是一種面向高端嵌入式系統(tǒng)的最先進(jìn)的單片控制處理器。基于浮點(diǎn)架構(gòu)的DSC具有更快的處理速度,所需的程序儲(chǔ)存容量更少,支持更高級(jí)的有助于節(jié)省功耗的計(jì)算算法,同時(shí)進(jìn)一步擴(kuò)展了系統(tǒng)的性能。浮點(diǎn)編程比定點(diǎn)編程的速度更快,SoC(system-on-a-chip,片上系統(tǒng))的集成方式能夠有效控制板級(jí)空間、元件數(shù)量和整體系統(tǒng)開銷。
本文引用地址:http://m.butianyuan.cn/article/82695.htm隨著嵌入式系統(tǒng)承擔(dān)的任務(wù)越來(lái)越復(fù)雜,不論是降低功耗還是實(shí)現(xiàn)諸如汽車導(dǎo)航之類的新功能,它們都需要具有更高性能的控制處理器。降低能耗的迫切需求影響到了我們使用的各種設(shè)備,包括一些用戶不常見的設(shè)備。例如,根據(jù)著名的能源與自動(dòng)化技術(shù)供應(yīng)商ABB集團(tuán)的分析,工業(yè)電機(jī)消耗的電能已經(jīng)達(dá)到了整個(gè)行業(yè)所用電力的三分之二。雖然可以采用變速控制技術(shù)進(jìn)一步提高電機(jī)的運(yùn)行效率,但是目前只有二十分之一的電機(jī)真正采用了支持這一功能的數(shù)控電子技術(shù)。盡管如此,變速電機(jī)相比同類的定速電機(jī)每年節(jié)省的電能相當(dāng)于10座電廠的產(chǎn)量,而這10座電廠會(huì)排放約6800萬(wàn)噸二氧化碳?xì)怏w。顯然,高級(jí)電機(jī)控制技術(shù)在降低能耗和保護(hù)環(huán)境方面具有更大的優(yōu)勢(shì)。
引入高級(jí)控制技術(shù)降低能耗
可再生能源,例如太陽(yáng)能電池和風(fēng)力渦輪機(jī),也是需要采用高級(jí)控制技術(shù)的“綠色”能源。與電機(jī)一樣,這些能量收集裝置也需要采用高級(jí)數(shù)控技術(shù)以提高效率。為了將電池板或渦輪機(jī)產(chǎn)生的原始電能實(shí)時(shí)轉(zhuǎn)換成用于電池儲(chǔ)存或設(shè)備運(yùn)行所需的合適電能,我們必須采用一定的控制技術(shù)。由于太陽(yáng)光和風(fēng)力強(qiáng)度會(huì)不斷變化,因此需要采用復(fù)雜的算法確保它們始終能夠輸出最大的能量;由于很多可再生能源系統(tǒng)都會(huì)同時(shí)接入電網(wǎng),所以采用實(shí)時(shí)控制技術(shù)對(duì)于保護(hù)設(shè)備也是必需的。
圖1 F28335浮點(diǎn)DSC內(nèi)含一個(gè)用于處理數(shù)據(jù)傳輸?shù)?通道DMA控制器
例如,TI公司推出的F283x浮點(diǎn)DSC(如圖1所示)具有性能高、軟件開發(fā)方便等特性,適用于電機(jī)與運(yùn)轉(zhuǎn)控制、車載雷達(dá)系統(tǒng)和以太陽(yáng)能電池陣列和風(fēng)力渦輪為來(lái)源的可再生能源生成系統(tǒng)。這款32位的DSC系列處理器最高工作頻率可達(dá)150MHz,峰值運(yùn)算速度可達(dá)每秒3億次浮點(diǎn)操作(MFLOPS)。
相比定點(diǎn)DSC TMS320F28x而言,采用浮點(diǎn)架構(gòu)之后DSC性能提升了50%。這一系列DSC內(nèi)含一個(gè)6通道DMA控制器,能夠大大減輕處理器核的數(shù)據(jù)傳輸管理工作,其軟件更新功能有助于用戶更方便地開發(fā)同一來(lái)源的浮點(diǎn)和定點(diǎn)代碼。
浮點(diǎn)運(yùn)算
F283x系列DSC的主要性能優(yōu)勢(shì)歸因于它的數(shù)值計(jì)算格式,這種格式大大簡(jiǎn)化了編程,減少了代碼執(zhí)行時(shí)間,縮短了代碼長(zhǎng)度。在其他一些DSC和DSP芯片中普遍的采用定點(diǎn)格式只能夠表示整數(shù)(沒有小數(shù)點(diǎn)的正數(shù)和負(fù)數(shù)),因此涉及小數(shù)計(jì)算時(shí)必須采用其他表示方法。相反,浮點(diǎn)格式能夠表示更大范圍內(nèi)的實(shí)數(shù)(帶小數(shù)點(diǎn)的數(shù))。內(nèi)部表示小數(shù)以及較寬的數(shù)值范圍意味著處理器能夠更高效地執(zhí)行定標(biāo)運(yùn)算(例如控制算法中常見的乘法、除法和三角函數(shù)運(yùn)算)。
圖2 F283x的32位字長(zhǎng)的前8位用于表示指數(shù)。F283x數(shù)字信號(hào)控制器的32位浮點(diǎn)字
對(duì)于32位的定點(diǎn)架構(gòu),其表示整數(shù)的范圍為-231~231,帶一個(gè)符號(hào)位。盡管這個(gè)范圍很大,但是當(dāng)系統(tǒng)執(zhí)行大量定標(biāo)運(yùn)算時(shí),這一數(shù)值范圍會(huì)很快用光,造成數(shù)值超過(guò)32位,從而發(fā)生寄存器溢出。程序通過(guò)對(duì)這種數(shù)值進(jìn)行舍入或截取,能夠處理這種稱為飽和的問題,但是犧牲了計(jì)算的精度。另外,程序可以將較長(zhǎng)的數(shù)劃分成多個(gè)較短的能夠逐段計(jì)算的數(shù),每次處理32位。后面這種實(shí)現(xiàn)方法能夠保持全精度,但是由于處理器忙于移動(dòng)和存儲(chǔ)數(shù)值段,計(jì)算性能降低了。同時(shí),程序規(guī)模也會(huì)由于所需的額外指令而增大了。
在這種情況下,浮點(diǎn)架構(gòu)就顯示出了其性能價(jià)值。如圖2所示,在F283x中,32位字長(zhǎng)的前8位用于表示指數(shù),其余23位用于表示尾數(shù),1位用作符號(hào)位。盡管指數(shù)沒有符號(hào)位,但是在操作上對(duì)保存的指數(shù)進(jìn)行規(guī)格化偏移處理,使得指數(shù)最終能夠覆蓋負(fù)數(shù)和正數(shù)的范圍。
這樣,存儲(chǔ)在32位浮點(diǎn)字中的數(shù)的規(guī)格化范圍為±1.738~±3.438,大大超過(guò)32位定點(diǎn)數(shù)的范圍。由于負(fù)指數(shù)表示分?jǐn)?shù),所以這一范圍涵蓋了極小的數(shù)到極大的數(shù)。這樣大的范圍很難再出現(xiàn)飽和的問題,因此,程序就避免了要么通過(guò)舍入或截取犧牲精度,要么通過(guò)使用附加周期和指令對(duì)大數(shù)值進(jìn)行分段處理而犧牲性能和存儲(chǔ)的兩難問題。
處理器性能增強(qiáng)
表1中列出的運(yùn)算說(shuō)明了浮點(diǎn)架構(gòu)為DSC性能帶來(lái)的好處。第一列是控制系統(tǒng)常用的四種算術(shù)運(yùn)算、三角函數(shù)運(yùn)算和兩種算法(快速傅里葉變換和無(wú)限沖擊響應(yīng))。
表1 定點(diǎn)及浮點(diǎn)架構(gòu)性能基準(zhǔn)測(cè)試比較
評(píng)論