8、16或32位元MCU的方案選擇關鍵 智慧應用 影音
EVmember
member

8、16或32位元MCU的方案選擇關鍵

  • DIGITIMES企畫

16位元MCU具較佳執行效能,且封裝尺寸、功耗表現、元件成本亦與8位元方案不相上下,已逐漸搶占主流市場。microchip
16位元MCU具較佳執行效能,且封裝尺寸、功耗表現、元件成本亦與8位元方案不相上下,已逐漸搶占主流市場。microchip

微控制器對於開發人員來說,可以說是再熟悉不過的關鍵元件,微控制器可解決設備的控制需求,甚至可開發更多元的整合應用,具體實踐令設備具智慧化的應用設計,而在不斷更新的積體電路集成技術加持下,微控制器也從最普遍的8位元進展至16甚至32位元,單核心的設計也出現了多核心的版本,甚至還有GHz等級的運行時脈...

微控制器零組件,可以說是嵌入式產品設計必備的開發重點,若仔細思考與觀察,會發現近年來的微控制器正面臨跳躍性的世代發展,尤其是強調智慧應用的行動裝置的大量採用與整合下,在市場的趨力持續推進微控制器的發展進程,使MCU的技術進展足以發展出達到與常規電腦運算用處理器相匹敵的技術架構。

32位元MCU方案,可針對性能要求較高的設計方案,開發高效能應用。MIPS

32位元MCU方案,可針對性能要求較高的設計方案,開發高效能應用。MIPS

TI MSP430 MCU Value Line元件單價自0.25美元起,以貼近8位元方案的料件價格支援真正16 MIPS運算效能。TI

TI MSP430 MCU Value Line元件單價自0.25美元起,以貼近8位元方案的料件價格支援真正16 MIPS運算效能。TI

各種MCU應用場合,從生活家電到數位電錶,都能發現MCU元件的應用。microchip

各種MCU應用場合,從生活家電到數位電錶,都能發現MCU元件的應用。microchip

多種封裝尺寸與接腳設計的16位元MCU產品,外觀尺寸與8位元方案相差無幾。Infineon

多種封裝尺寸與接腳設計的16位元MCU產品,外觀尺寸與8位元方案相差無幾。Infineon

產品持續微縮 MCU功能複雜度越來越高

尤其是在近來電子產品持續要求體積尺寸縮小化,同時也造成PCB的使用層數、設計密度越來越高,對於以往採大量離散元件構築的產品設計,現在新的設計都必須多採行現成的整合方案,來因應機殼內可用的設計空間持續壓縮的限制,尤其是以前大量使用離散元件方案來架構產品功能,在載板空間相對受限的產品上,就必須採行高度整合、大量集成的應用方案。

尤其是新一代的平板電腦、智慧型電話,產品尺寸大幅縮小、極致薄化,這已威脅非集成元件的市場競爭力,反之,若設計方案已同時有大量離散元件設計方案、與運用矽集成技術大量離散元件整合在同一封裝中,不僅一次解決了載板面積有限的問題,在大量整合的設計也讓設計的應用方案更加多元。

MCU的設計資源越來越豐沛 加速開發週期

MCU在元件方面,大多低階的控制用途,多數仍會採行8位元產品來進行設計方案,但實際上新型態的應用設計已經開始朝向採16位元甚至32位元的MCU,來進行嵌入式應用的關鍵整合核心元件,例如以ARM的MCU產品來說,ARM Cottex的處理器,在近幾年的用途越來越多樣化,不再僅限單純的自動化控制設計用途。

甚至是早期ARM的整合方案,都必須考驗開發團隊自行研發應用軟體的能力;但現今基於ARM的軟體工具、參考設計等開發資源越來越豐沛,尤其是開發的SDK完整度極高,不僅加速了產品整合方案的可實行性,也讓開發週期大幅縮短,加速產品從構思到研發、上市的耗費時間,也讓研發者與開發方案,更能面對產品未來的升級與擴充設計。

8位元MCU常見的設計限制與效能瓶頸

檢視8位元的MCU,其指令長度為8位元指令,而32位元MCU,指令長度採32位元,事實上,即便是8位元的MCU,實際上多項指令早已是16位元甚至24位元長度。部分產品研發人員或許會認為,MCU應該維持精簡,使用8位元設計已足以因應多種設計需求,但實際上若是深入了解C的編譯環境,若開發產品會以C來進行產品架構,實際設計時所使用到的函式庫,所處理的大量資訊都會以16位元為多,若只使用8位元MCU來處理這些資料,將會造成MCU必須耗上2~3倍的時鐘週期來處理這些運算元,造成運算效能低落。

當然,這種運算反應低落的狀態,若是因應簡單的自動控制,可能會因為產品設計架構本身就相當簡單,讓這種不效率的狀況不容易體現在產品設計的最終成果,在面對小型專案的設計需求上使用8位元或16甚至32位元的MCU並不會出現顯著差距,反而是元件選擇的成本問題,是更須重視的項目。

但若是發展控制項目更複雜的設計方案,時間週期運算的不效率問題,就很容易被放大,甚至造成設計方案出現運行反應遲緩的關鍵限制。同樣的問題也會發生在當設計方案的記憶體控制需求方面,例如,當設計方案需使用更大容量的內置儲存元件時,8位元的記憶體定址能力,勢必會比16位元定址能力更有限。尤其是8位元的MCU在處理整數運算時,因原指令的限制問題,會讓單純的運算產生大量的內存記憶體提取與暫存動作處理,影響了微處理器的運行效能。

評估MCU效能 從執行效率、功耗、元件特性整體考量

此外,也不是說更高位元的MCU就是最佳方案,一般考量使用MCU的等級,並不是光以效能與處理能力為唯一考量,而必須同時分析設計方案的功耗要求、嵌入式設計方案的性能要求,去做最佳化的應用方案選擇。

例如,當面對運算複雜度不高、對電池壽命要求較高的設計方案時,我們會尋求具高省電能力的精簡MCU方案來進行設計,在效能要求較電池壽命更高的應用型態時,設計方案就應當選擇較高性能(如16位元、32位元MCU),甚至元件的外部時脈更快的方案,來架構產品。對於MCU的性能指標來說,一般我們會以Dhrystone基準來進行評估,以DMIPS/MHz 的Dhrystone性能表現,來進行MCU的性能差異比較。

在功耗優化設計方面,基本上MCU本身視架構不同,大多有其降低功耗的設計方案,讓其在元件端就能達到一定程度的低功耗要求,以目前最常見的ARM MCU解決方案為例,在ARM MCU的內部結構,已內建降低功耗設計方案,例如在Cortex-Mx系列MCU產品,大多已在核心架構中支援睡眠模式,同時也能在應用工作處理完成後,處理器隨即返回睡眠模式等待下一次工作觸發的極低功耗設計型態,來架構終端應用產品。

甚至是如前述討論的8位元MCU可能存在的問題,在於開發的專案程式碼,因為MCU本身的指令限制,讓單純的運算需要2至3個運算週期才能完成,若同樣的運算可能在16或32位元MCU方案中,只需要1個運算週期就能完成,兩者的差異是前者需面對大量的資料提取與暫存才能完成運算,後者是只要1次就完成直接產生結果,而資料的提取或暫存,若涉及外部I/O與快閃記憶體的讀/寫,完成整個運算需要消耗的功耗,可能會出現比16或32位元MCU方案更多的狀況。