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