微控制器DSP/FPU硬體加速晶片整合 智慧應用 影音
Microchip
ADI

微控制器DSP/FPU硬體加速晶片整合

  • DIGITIMES企劃

MCU整合FPU可以在進階數值運算的精密度大幅提升、處理效能也能獲得改善,圖為Microchip的32位元MCU產品。Microchip
MCU整合FPU可以在進階數值運算的精密度大幅提升、處理效能也能獲得改善,圖為Microchip的32位元MCU產品。Microchip

微控制器(MCU)深入人們應用生活,幾乎大小設備都看得到MCU蹤影,在MCU導入DSP數位訊號處理器、FPU浮點運算單元功能後,MCU更大幅擴展元件可適用範圍,這幾年來,在眾多MCU大廠紛紛針對旗下商品推出多樣整合方案,不管是產品策略還是市場區隔,也讓MCU市場更加豐富多元...

MCU(Microcontroller Unit)深入生活應用是不容易質疑的趨勢,尤其是MCU在功能優化或市場區隔目的下,進行DSP(digital signal processor)數位訊號處理器或FPU(Floating Point Unit)浮點運算單元功能整合,使得MCU的可應用場域大幅擴展。

針對IoT應用開發的MCU方案,整合DSP可優化感測器數據擷取品質與提升信號處理效能。Renesas

針對IoT應用開發的MCU方案,整合DSP可優化感測器數據擷取品質與提升信號處理效能。Renesas

透過高階硬體加速晶片整合,可讓MCU達到兼具成本與高開發應用彈性,圖為infineon開發驗證平台。infineon

透過高階硬體加速晶片整合,可讓MCU達到兼具成本與高開發應用彈性,圖為infineon開發驗證平台。infineon

如果以FPU或DSP導入目的,一般在MCU中追加FPU、DSP整合架構,主要目的還是在考量成本下的設計方向,尤其在早期半導體元件,SOC(System on Chip)系統單晶片與MCU存在一段價格差距,如果僅需要SDP或FPU進行運算加速,又不想選用高單價SOC,這時整合DSP或FPU硬體加速單元的MCU產品、不僅可以更好的提供運行效能,同時又能在成本控制上表現更加優異。

MCU整合晶片封裝成本驟降  增加MCU功能擴充應用空間

以早期的SOC產品來看,搭載DSP與FPU硬體加速器是SOC產品的重要特性,其中DSP與FPU的應用方向主要以音訊、影像等處理加速運算為主,而在製程技術持續優化,SOC的成本逐步與MCU拉近,MCU在32位元甚至64位元架構下,也開始有結合DSP或是FPU硬體加速單元的解決方案。

先看看MCU加上硬體加速單元的優點,在MCU追加FPU導入,最直接的效益是早期利用MCU處理類似FPU運算內容,會因為MCU本身的運算架構限制,讓運算結果得出時間會相對拉長,而在導入硬體加速器處理浮點運算時,因為硬體呼叫或是資料傳遞就能透過硬體算出數據,MCU本身耗在浮點運算的記憶體資源可以因硬體加速整合減少至少10%。

當然,從目的性來看,不管MCU有無整合FPU硬體加速單元,浮點運算需求使用MCU現有的運算能力也能得出結果,只是前提是計算過程會耗用較多運算時間與硬體資源,對於可等待、無需提供即時反應的系統自然可以不考慮整合FPU的MCU方案,但若是對系統效能、回饋反應速度要求高的整合需求,MCU結合FPU的效益提升不僅僅是運算資源耗用優化、節能優勢等效果,反而是加快系統回應與效能提升的效用,才是MCU結合FPU硬體加速最直接、重要的功能改進,也讓MCU可以因應更高複雜度的整合工作。

高階數值運算  運用硬體加速滿足設計需求

在早期MCU元件仍以8位元架構為主流的應用方向,MCU在資料處理與運算處理上,本來就有因架構的問題而有其處理限制,例如,MCU進行小數點、分數處理運算時,因為4位元或是8位元位數有限,就必須採用有限數值進行處理,透過數值結果的限制換取處理複雜度簡化與效能要求目的,而這種因為數值處理產生的誤差即「截斷誤差」,截斷誤差也會因為使用MCU進行數據運算的限制,而令誤差數值產生擴大現象。

而在MCU整合FPU硬體加速,在運算同類型的數據處理時,例如在IoT物聯網或是終端感測器應用中,常有將外部類比感測數據轉換成數位資料的資料擷取、處理需求,這時透過MCU整合的FPU/DSP硬體加速單元,不僅可將感測數據更快速處理完成、加快系統回應,同時,也能導入進階運算減少數據演算的誤差。

在實際應用中,FPU硬體加速器本身並無法完全解決誤差擴大問題,所以會有FPU、DSP等不同硬體加速整合架構下的應用目的考量,舉例來說,透過DSP硬體加速器,可針對特殊數據類型更高速、可靠的運算處理輸出,像是DSP可利用指令來進行多種運算,處理如快速快速傅立葉轉換(fast Fourier transform;FFT)或有限脈衝回應(Finite impulse response;FIR)進階運算中重要且耗資源的運算需求,甚至透過單週期的指令便能處理單一指令多重資料(Single Instruction Multiple Data;SIMD)運算需求,MCU在進行進階數值處理方面還可獲得進階增強效益。

FPU/DSP不同硬體加速單元具互補作用

雖說整合FPU或DSP基本在架構與應用方向就不同,但實際上兩者分別是針對數據運算、訊號處理對應至各式演算法應用,兩者功能可以說是各有互補效用,比較難被獨立拆分。以ARM Cortex-M4來看,若僅提供DSP硬體加速處理器反而沒設置FPU浮點運算加速器反而會造成應用限制,因為在Cortex-M4應用場合如果僅有數位信號處理加速硬體支援,少了浮點運算支援,對開發需求端若碰到需要數值進階運算加速,就會造成設計上的彈性限制,或是導致還需透過外部功能晶片支援,或利用原有的運算資源因應數值進階計算需求,反而會因為數值處理效能限制了Cortex-M4的應用可能性。

同樣的狀況也發生在僅有FPU而沒有設置DSP的微控制器應用方案上,對DSP或是FPU應用功能是相輔相成,獨立整合對於微控制器的配置並未能產生綜效,反而會成為發展路徑的限制。

再者,從新一代IoT產品發展方向,透過感測器融合(Sensor Fusion)應用方向為例,若是Sensor Fusion概念為將多感測器整合在單一系統中協同運行,系統需要高階數值與訊號處理能力,才可以將關鍵數值訊號自複雜數據中提取出來。

至於感測器融合可以再搭配即時的調整、控制與校正處理,由DSP加上FPU協同處理達到高精密度、高效率進行擷取數據的精密分析,尤其是現有的Sensor Fusion已做到陀螺儀、加速度器、溫度、壓力甚至觸控感測都做在同一個模組中,必須透過DSP與FPU預先篩出相對精密且兼顧處理效率的訊號擷取與預處理的感測數據,提供相對高效的系統更具效率的感測數值處理機制。

DSP數位濾波應用  可提升感測訊號擷取品質

此外,在MCU整合FPU的另一個優勢在於可在系統中善用其運算特性,例如,運用數位演算法進行擷取數值的數位濾波應用,針對處理訊號進一步以基於硬體加速的數位演算法進行波形或數據再處理,形成一提升數據噪訊比(SNR)的便捷作法,數位濾波器還可利用演算機制優化提供不同程度大小的濾波效果,這在於微控制器用於感測熱門的心率、血液含氧量、運動數值等生理資訊,或是數位電表、智能電表等應用,解決末端數據因為雜訊或環境噪訊影響,倒置訊號失真的數據優化回補效用,優化終端取得的訊號波形信號品質,更利於後續處理或數據使用。

為了優化末端應用,微控制器整合硬體加速單元也蔚為一股風潮,不只是DSP或是FPU硬體加速單元,例如就有微控制器在架構上加入了VMU硬體加速單元,處理因應馬達應用重點的三角函數數值運算需求,或是對應無線電通訊需求整合的數據分析演算支援,與現有FPU浮點運算硬體加速功能區隔,採取協同分工的方式加速整體微控制器的應用效能。

有趣的是,針對不同的市場與運算需求定位,微控制器除在運算時脈進行差異區隔,以最實際的運算效能區分不同應用場合、市場切分外,整合不同應用所需的硬體加速單元也成為產品市場定位的重要分界,例如針對穿戴式運算應用市場的微控制器,在要求功耗、感測器融合、元器件成本方面就可僅整合FPU、DSP硬體加速定位市場區隔,在高階的微控制器應用上,甚至有解決方案直接整合硬體繪圖引擎,直接看準工業用人機介面終端的應用需求,另針對如車用電子、IoT物聯網等不同市場需求,也有五花八門的硬體加速單元配置組合,滿足不同整合需求的應用架構。

另一個微控制器整合DSP、FPU硬體加速單元的目的,其實加入硬體加速單元整合而不採行外部解決方案來組構硬體加速運算需求,其最大的優點在於成本方面的極致優化,因為電子電路板可以更節省載板空間,運用單一晶片就能改善運算的整體效率,而在軟體開發層面,可在整合架構下運用簡單呼叫與資料傳遞的再處理,便能滿足應用服務的數據計算產出效能要求,甚至於開發完成的成品還可運用一致性偵錯分析工具,直接針對系統進行全面分析與勘誤,在開發設計的效率與速度都能獲得改善。