dsc(digital signal controller,數碼訊號控制器)是一種面向高階嵌入式系統的最先進的單片控制處理器。基於浮點架構的dsc具有更快的處理速度,所需的程式儲存容量更少,支援更高階的有助於節省功耗的計算演算法,同時進一步擴充套件了系統的效能。浮點程式設計比定點程式設計的速度更快,soc(system-on-a-chip,片上系統)的整合方式能夠有效控制板級空間、元件數量和整體系統開銷。
隨著嵌入式系統承擔的任務越來越複雜,不論是降低功耗還是實現諸如汽車導航之類的新功能,它們都需要具有更高效能的控制處理器。降低能耗的迫切需求影響到了我們使用的各種裝置,包括一些使用者不常見的裝置。例如,根據著名的能源與自動化技術**商abb集團的分析,工業電機消耗的電能已經達到了整個行業所用電力的三分之二。雖然可以採用變速控制技術進一步提高電機的執行效率,但是目前只有二十分之一的電機真正採用了支援這一功能的數控電子技術。儘管如此,變速電機相比同類的定速電機每年節省的電能相當於10座電廠的產量,而這10座電廠會排放約6800萬噸二氧化碳氣體。顯然,高階電機控制技術在降低能耗和保護環境方面具有更大的優勢。
引入高階控制技術降低能耗
可再生能源,例如太陽能電池和風力渦輪機,也是需要採用高階控制技術的「綠色」能源。與電機一樣,這些能量收集裝置也需要採用高階數控技術以提高效率。為了將電池板或渦輪機產生的原始電能實時轉換成用於電池儲存或裝置執行所需的合適電能,我們必須採用一定的控制技術。由於太陽光和風力強度會不斷變化,因此需要採用複雜的演算法確保它們始終能夠輸出最大的能量;由於很多可再生能源系統都會同時接入電網,所以採用實時控制技術對於保護裝置也是必需的。
圖1 f28335浮點dsc內含乙個用於處理資料傳輸的6通道dma控制器
例如,ti公司推出的f283x浮點dsc(如圖1所示)具有效能高、軟體開發方便等特性,適用於電機與運轉控制、車載雷達系統和以太陽能電池陣列和風力渦輪為**的可再生能源生成系統。這款32位的dsc系列處理器最高工作頻率可達150mhz,峰值運算速度可達每秒3億次浮點操作(mflops)。
相比定點dsc tms320f28x而言,採用浮點架構之後dsc效能提公升了50%。這一系列dsc內含乙個6通道dma控制器,能夠大大減輕處理器核的資料傳輸管理工作,其軟體更新功能有助於使用者更方便地開發同一**的浮點和定點**。
浮點運算
f283x系列dsc的主要效能優勢歸因於它的數值計算格式,這種格式大大簡化了程式設計,減少了**執行時間,縮短了**長度。在其他一些dsc和dsp晶元中普遍的採用定點格式只能夠表示整數(沒有小數點的正數和負數),因此涉及小數計算時必須採用其他表示方法。相反,浮點格式能夠表示更大範圍內的實數(帶小數點的數)。內部表示小數以及較寬的數值範圍意味著處理器能夠更高效地執行定標運算(例如控制演算法中常見的乘法、除法和三角函式運算)。
圖2 f283x的32位字長的前8位用於表示指數
對於32位的定點架構,其表示整數的範圍為-231~231,帶乙個符號位。儘管這個範圍很大,但是當系統執行大量定標運算時,這一數值範圍會很快用光,造成數值超過32位,從而發生暫存器溢位。程式通過對這種數值進行捨入或擷取,能夠處理這種稱為飽和的問題,但是犧牲了計算的精度。另外,程式可以將較長的數劃分成多個較短的能夠逐段計算的數,每次處理32位。後面這種實現方法能夠保持全精度,但是由於處理器忙於移動和儲存數值段,計算效能降低了。同時,程式規模也會由於所需的額外指令而增大了。
在這種情況下,浮點架構就顯示出了其效能價值。如圖2所示,在f283x中,32位字長的前8位用於表示指數,其餘23位用於表示尾數,1位用作符號位。儘管指數沒有符號位,但是在操作上對儲存的指數進行規格化偏移處理,使得指數最終能夠覆蓋負數和正數的範圍。
這樣,儲存在32位浮點字中的數的規格化範圍為±1.738~±3.438,大大超過32位定點數的範圍。由於負指數表示分數,所以這一範圍涵蓋了極小的數到極大的數。這樣大的範圍很難再出現飽和的問題,因此,程式就避免了要麼通過捨入或擷取犧牲精度,要麼通過使用附加週期和指令對大數值進行分段處理而犧牲效能和儲存的兩難問題。
處理器效能增強
表1中列出的運算說明了浮點架構為dsc效能帶來的好處。第一列是控制系統常用的四種算術運算、三角函式運算和兩種演算法(快速傅利葉變換和無限衝擊響應)。
表1 定點及浮點架構效能基準測試比較
第二列是在定點dsc上執行相應運算所需的週期數,第三列是在浮點dsc上執行所需的週期數。最後一列是第二列與第三列結果的比值,表示二者的相對效能。浮點處理器執行所列數**算的速度比定點處理器快2~3倍,執行fft演算法的加速效能也在該範圍內,iir的加速效能稍低,但仍比定點處理器快。
一般來說,控制演算法比訊號處理演算法能夠獲得更高的效能提公升,因為控制**執行的基本數**算較多,需要進行定點換算和飽和處理。即便如此,浮點架構得到的週期數也低得多,對所有訊號處理測試程式平均獲得了50%的效能提公升。
在各種應用中,這些基準測試程式變換成很多具體的應用程式。精細、多維控制技術可應用於機械人的和cnc(計算機數控)類的裝置。伺服電機驅動器的效率將會得到進一步提高,能夠實現plc(電力線控制)和其他一些高階演算法。太陽能與風能逆變器和不間斷電源能夠獲得更高的能量轉換效率,進一步降低每千瓦電能的生產成本,並且能夠控制不同配置的太陽能板陣或風力渦輪機。
軟體開發的優勢
浮點格式也有利於簡化**的編寫和除錯。浮點數字表示法對於數**算相比定點表示法更加自然,因此對高階語言的支援更加直接。當**經過編寫和驗證除錯之後,可以直接匯入浮點dsc進行進一步的測試和最終的生產。
相比之下,在針對定點控制器開發**的時候,必須在pc上編寫和除錯程式進行驗證,然後還要根據更嚴格的硬體定點表示方法重新編寫**。這大大增加了**的開發周期,而且一旦對**進行轉換之後無法進行回退。
一般地,開發人員不得不同時編寫定點的**和浮點的**,這就存在可能相互混淆的危險。f283x控制器只需要開發浮點**,從而大大簡化了**開發過程,節省了開發時間,提高了軟體可靠性。
在存在成本約束的情況下,可以先以浮點控制器為開發平台進行原型和早期版本的設計,然後改用定點控制器進行量產製造,採用這一開發策略具有明顯的優勢。採用c編譯器和iq math工具能夠很方便地編譯浮點和定點兩種方式下同樣的原始碼,從而支援這一策略。f283x dsc是一種經濟的控制器解決方案,它是業界第一款採用soc整合的浮點控制器。隨著浮點架構與定點架構的成本交叉點上公升到越來越高的水平,很多高階系統為了節省成本不必進行改動。效能更高、開發更容易的浮點架構成本已經能夠為越來越多的應用所接受,促使人們在嵌入式系統控制領域不斷進行創新研發。
浮點DSC使控制系統如虎添翼
dsc digital signal controller 數碼訊號控制器 是一種面向高階嵌入式系統的最先進的單片控制處理器。基於浮點架構的 dsc具有更快的處理速度,所需的程式儲存容量更少,支援更高階的有助於節省功耗的計算演算法,同時進一步擴充套件了系統的效能。浮點程式設計比定點程式設計的速度更快...
Makefile和版本控制系統git的使用
在乙個專案中,往往有多個c檔案,這些原始檔按其型別 功能和模組被放在各個不同的目錄下,makefile定義了一系列的規則來指定哪些檔案需要先編譯,哪些檔案需要後編譯,甚至是更複雜的功能操作,makefile就像乙個shell指令碼一樣,其中也可以執行作業系統的命令。在linux unix 環境下可以...
控制系統設計 非線性控制系統設計
控制設計的目標可以敘述如下 對於給定的被控物理系統和系統期望性態的規範,構造反饋控制規律,使得系統呈現出期望的性態。兩類基本的非線性控制問題 非線性調節和非線性跟蹤 非線性控制所期望的性態 構造非線性控制器的基本問題 可利用的非線性控制器設計方法。1.1.鎮定問題 漸近鎮定問題 給定由方程 描述的非...