2014年7月5日 星期六

MCU使用回顅

最近和某個代理商FAE聊了一下,剛好將歷史上幾個重要的改變都提了一下。這些改變,也使得各時代MCU主導的廠商有所不同。
剛好記下來寫成文章。

8051時代,MCU是一門特殊行業,大部分是電子工程師兼程式撰寫。
因為MCU除了UART外,也沒有什麼周邊。寫程式還要一方產生除錯信號。軟體工具亦不全,ICE比車貴。還是自寫寫除錯比較實在。因為MCU效能低組合語言算是此時代的霸主。
其實Bee覺得C語言太貴也是組合語言流行的主因。
這個時代能好好發揮MCU的功能就很好了。
所以工程師比較喜歡使用具有應用說明的MCU。
故在此時代應用說明做的好MCU也會相對好推。MicroChip及Atmel就出了自己的MCU加上豐富文件,順利以非8051/6800進入市場。

後來週邊相對多了,C語言寫MCU開始流行。因為MCU整合週邊進同一個晶片,變成沒有信號可以量。此時寫軟體驅動變得相對重要。
另外內嵌除錯介面的MCU亦開始流行。此為MCU最多種類的時代。
因為每加入一項週邊大概就可以出一個型號,而新的MCU核心也不斷出現,開始強調便利性。
而8051在此也不是省油的燈,也一起增加週邊並改進核心效能。
不過整合進MCU也不是沒有代價,工程師更依賴軟體工具。
此時代有好的週邊範例程式才是推展重點。但大部分人的眼光仍在工具及MCU規格上。
MSP430則是Bee用起來不錯的MCU,TI在範例程式上很下功夫,所以開拓了不少新市場。
同時這個時代的工程師也開始變成專業,因為軟體變大也變複雜些。

而32位元MCU呢?各時代其實沒有缺席,只有一個問題,價格高很多,使用比率低。
ARM以省電及價格低進入市場。其實在省電這一項並沒有比MSP430來得好。不過32位元確實開始有需求。
另一個開始流行的重點是,當單價開始低於10美元時,和原本8/16位元MCU相近時,需求開始大量增加。
32位元MCU的使用,一方面是容量增加,沒有8/16位元MCU有64KB的限制。
另一個是軟體程式庫的使用,因為可以直接使用PC軟體程式庫。
經由軟體桯式庫,MCU可以再開拓以往8/16位元MCU不易做的,而PC原先就發展過的。
也就是部分MCU取代了部分原先工業電腦的領域,且體積小價格低。
這個時代工程師的需求轉而修改最接近的軟體架構,而不是從各週邊範例來合體。
另一個說法是,刪除不要的比較快。再加入特殊需求就好了。
可以提供如此需求就是ST,也造成其MCU開始流行。
當然STM32系列的週邊也是很豐富,也有不錯的工程設計,在升級時方便也是其優勢。

不過到此MCU開始變的更專業化,已不是原先電子工程師或軟體工程師可以容易轉入。出現了純電子/純軟體無法直接進入的專業知識=RTOS。
RTOS只是新MCU工程師的專業一部分,在此做為其電子無法理解的代表。
而在豐富到爆炸的週邊,要有效利用其週邊能力,又必須有電子知識,這是純軟體人員無法跨過的障礙。
除了RTOS,要能有使用32位元電腦軟體去拼裝成MCU使用軟體,也不是純電子人員能做的。
另外,分散式控制也出現了。將PC,MCU共同合作形成系統,也非純軟體可解決。因為系統分割,如何使用最少接線,還是偏向電子為多。
原先從8位元時代來的MCU專業人員,也面臨一樣問題。因為主要是學電子來的,一下子要使用如此豐富的軟體元件,不是一時三刻可以學得會。
32位元MCU工程師和8位元MCU工程師突然有所區隔。也就是同為MCU工程師,使用技術大大不同。連分享知識都可能造成另一方無法理解。

MCU的下一步呢?其實在硬體上已經沒有可以做的,因為差不多等於小型PC。
各MCU製造商也開始發現,其實新時代工程人員是明顯不足的。
所以重心開始調整為整合套件。而MCU的硬體是不相同的,就算是同一家只有出現相同週邊時才能做軟體套件。
硬體抽像層是接下來的重點。若是MCU使用上像軟體,只要元件拉一拉,就可以拼裝出系統,可以大幅降低使用門檻。
而且MCU升級到後繼MCU也比較沒有問題。

各時代有其不同需求,造就了不同的MCU及其製造商。
回顧歷史讓大家知道各時代的興衰。也希望可以啟發大家對未來新MCU的選擇。
或是給即將轉換到新時代MCU工程人員一個參考。