歡迎透過合法的方式分享此文內容,若要轉載/轉貼,請明確貼出此原始連結並標示作者基本資訊,請勿抄襲及非法轉貼(例如擷取內文但並未註明出處)
之前有寫過之前兩篇關於MCU觀念的介紹文章:
(1) 8051 MCU好教材分享 & 錯誤觀念闢除
(2) Arduino到底是什麼? MCU又是什麼?
這邊延續相關的方向,按照目前個人長年觀察現代常見的計算機平台做一些分類,並進行簡單描述介紹:
1. 微控制器MCU(又稱單晶片微電腦),例如8051、Arduino uno/nano/fio上面的Atmage328 或STM32等等,通常用在控制和裝置應用類的產品,通常負責硬體控制和少量資料運算的處理任務,但現在也有處理較多資料的MCU出現(例如適合做有GUI的裝置產品的MCU)
2. 小SoC,類似MCU但是外加了針對應用而需要俱備的硬體單元,例如TI公司的低功耗藍芽晶片CC2540或Zigbee WSN晶片CC2530
3.大SoC,又稱應用處理器,大型系統晶片,通常用在網路多媒體應用類產品,現代許多SoC會有多核心的主CPU、GPU、多媒體編解碼器和基本周邊硬體單元,軟體方面通常會跑一個大OS的嵌入式版本做為主要系統軟體。像是開發板類的樹莓派、Pandaboard、Beaglebone black,或已經是完整產品類的智慧型手機、數位電視或機上盒上面的主晶片即為此類
(1) 8051 MCU好教材分享 & 錯誤觀念闢除
(2) Arduino到底是什麼? MCU又是什麼?
這邊延續相關的方向,按照目前個人長年觀察現代常見的計算機平台做一些分類,並進行簡單描述介紹:
1. 微控制器MCU(又稱單晶片微電腦),例如8051、Arduino uno/nano/fio上面的Atmage328 或STM32等等,通常用在控制和裝置應用類的產品,通常負責硬體控制和少量資料運算的處理任務,但現在也有處理較多資料的MCU出現(例如適合做有GUI的裝置產品的MCU)
2. 小SoC,類似MCU但是外加了針對應用而需要俱備的硬體單元,例如TI公司的低功耗藍芽晶片CC2540或Zigbee WSN晶片CC2530
3.大SoC,又稱應用處理器,大型系統晶片,通常用在網路多媒體應用類產品,現代許多SoC會有多核心的主CPU、GPU、多媒體編解碼器和基本周邊硬體單元,軟體方面通常會跑一個大OS的嵌入式版本做為主要系統軟體。像是開發板類的樹莓派、Pandaboard、Beaglebone black,或已經是完整產品類的智慧型手機、數位電視或機上盒上面的主晶片即為此類
這邊舉些實例(包含上面說的一些常見板子上面的主晶片)來看,全志科技Allwinner H6就算一顆這裡所指的大SoC,或者像是Beaglebone black上面的TI AMS335X或Pandaboard上面的OMAP4460或者Raspberry Pi上面的BCM283X這些SoC都屬於這類
4. PC常用的MPU(當然也不一定只有用在PC),早期的晶片例如x86指令集架構的8086/286/386等。近代的i5、i7 這種晶片(也不一定是只有純CPU, 或許有加入一些額外的硬體單元,但主要大多的內容就是CPU單元的內容,周邊裝置的數量基本上不會像是MCU或SoC那樣有一堆周邊)
5.其他交叉於上述介紹類別的性質或者上述沒很完整描述到的種類,例如一些含有CPU的可程式化的控制器(如觸控控制器、馬達控制器,其實類似上述小SoC或者可說是特定應用所設計的MCU擴增版)
而這些平台中的CPU的種類部分(類別4本身性質就是CPU所以就不說了)
也要注意一下: MCU與SoC這類的平台有時也被稱之為「嵌入式微處理器」(Embedded Microprocessor),例如Atmel/Microchip公司的SAM9G20或者ST公司的STM32MP1(ST的MPU系列是屬於這裡所說的Embedded Microprocessor),但這些並不是傳統的「微處理器」或「微處理機」。因為時代的演進促進平台的多元化,容易使人混淆,導致這些名詞之間不論是在許多書籍或網路資料中都常被混淆解釋,當然這些名詞的定義也有過少數爭議)。
2和3和5類的平台通常是based on 8051的CPU core(8 bits)或ARM Cortex-Mx(32bits)系列的CPU做為其主要CPU(當然也有其他額外的,例如AVR),這類CPU很多都不具有MMU(記憶體管理單元),當然也有極少數是具備MMU的。以頻率來說這類平台通常在數MHz到數十MHz等級(也有上百的)
而4的平台, 近年來多數通常是based on ARM Cortex-Ax系列的CPU做為其主要CPU,當然也有其他類別的CPU(例如MIPS),這類CPU很多都具有MMU。頻率通常在數百MHz到GHz等級
那以運行於這些平台上的軟韌體來說
例如1、2及5的範例類的平台很常只有Non-OS SW/FW或者只有RTOS或者跑小SoC常是跑網路協定堆疊軟體(也會有類似小OS的框架,例如TI出的for ZigBee WSN的Z-Stack)
第4類如果用在PC上就不用說了。而種類3的平台在產品用途上通常會跑Embedded Linux/Android,也可能跑RTOS
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】
4. PC常用的MPU(當然也不一定只有用在PC),早期的晶片例如x86指令集架構的8086/286/386等。近代的i5、i7 這種晶片(也不一定是只有純CPU, 或許有加入一些額外的硬體單元,但主要大多的內容就是CPU單元的內容,周邊裝置的數量基本上不會像是MCU或SoC那樣有一堆周邊)
5.其他交叉於上述介紹類別的性質或者上述沒很完整描述到的種類,例如一些含有CPU的可程式化的控制器(如觸控控制器、馬達控制器,其實類似上述小SoC或者可說是特定應用所設計的MCU擴增版)
而這些平台中的CPU的種類部分(類別4本身性質就是CPU所以就不說了)
也要注意一下: MCU與SoC這類的平台有時也被稱之為「嵌入式微處理器」(Embedded Microprocessor),例如Atmel/Microchip公司的SAM9G20或者ST公司的STM32MP1(ST的MPU系列是屬於這裡所說的Embedded Microprocessor),但這些並不是傳統的「微處理器」或「微處理機」。因為時代的演進促進平台的多元化,容易使人混淆,導致這些名詞之間不論是在許多書籍或網路資料中都常被混淆解釋,當然這些名詞的定義也有過少數爭議)。
2和3和5類的平台通常是based on 8051的CPU core(8 bits)或ARM Cortex-Mx(32bits)系列的CPU做為其主要CPU(當然也有其他額外的,例如AVR),這類CPU很多都不具有MMU(記憶體管理單元),當然也有極少數是具備MMU的。以頻率來說這類平台通常在數MHz到數十MHz等級(也有上百的)
而4的平台, 近年來多數通常是based on ARM Cortex-Ax系列的CPU做為其主要CPU,當然也有其他類別的CPU(例如MIPS),這類CPU很多都具有MMU。頻率通常在數百MHz到GHz等級
那以運行於這些平台上的軟韌體來說
例如1、2及5的範例類的平台很常只有Non-OS SW/FW或者只有RTOS或者跑小SoC常是跑網路協定堆疊軟體(也會有類似小OS的框架,例如TI出的for ZigBee WSN的Z-Stack)
第4類如果用在PC上就不用說了。而種類3的平台在產品用途上通常會跑Embedded Linux/Android,也可能跑RTOS
【若需要嵌入式系統技術輔導課程 可來信洽談合作方式: iws6645@gmail.com,亦可先點擊參考這篇介紹文章】