微處理器、單片機(jī)及其外設(shè):處理還是控制?
考慮選擇微處理器(MPU)或者單片機(jī)(MCU)時(shí),應(yīng)用類型通常是關(guān)鍵因素。另一方面,最終選擇取決于諸如操作系統(tǒng)和內(nèi)存之類的因素。不過(guò),有時(shí)可以將微處理器和單片機(jī)內(nèi)核結(jié)合使用,這稱作異構(gòu)架構(gòu)。
本文引用地址:http://2s4d.com/article/202205/433744.htm對(duì)于一些基于Linux或安卓等操作系統(tǒng)的計(jì)算機(jī)密集型工業(yè)和消費(fèi)類應(yīng)用,需要大量高速連接或功能范圍廣泛的用戶接口,微處理器就是最佳選擇。這是因?yàn)榇蠖鄶?shù)單片機(jī)都沒有操作系統(tǒng),而只有裸機(jī)程序,借助于順序處理循環(huán)和狀態(tài)機(jī),幾乎無(wú)需任何人工干預(yù)即可運(yùn)行程序。然而,許多高性能單片機(jī)可以支持諸如FreeRTOS之類的實(shí)時(shí)操作系統(tǒng)(RTOS),從而以確定性方式實(shí)時(shí)響應(yīng)需要硬實(shí)時(shí)行為的應(yīng)用程序。
作為具有許多免費(fèi)軟件、廣泛硬件支持和不斷發(fā)展的生態(tài)系統(tǒng)的通用操作系統(tǒng),嵌入式Linux取得了巨大的成功。它的另一個(gè)優(yōu)點(diǎn)就是沒有用戶或授權(quán)許可費(fèi)用。不過(guò),與嵌入式Linux一起運(yùn)行的應(yīng)用程序至少需要300~400 DMIPS(ARM-Dhrystone MIPS)性能,因此較適合使用微處理器。單片機(jī)沒有足夠的計(jì)算能力和內(nèi)存來(lái)應(yīng)付此類應(yīng)用。
如果是用于復(fù)雜或?qū)?shí)時(shí)性要求高的控制系統(tǒng),RTOS則很有用,但至少要配合50 DMIPS的高性能單片機(jī)。這比嵌入式Linux所需的性能要求要少得多。傳統(tǒng)的RTOS設(shè)計(jì)精簡(jiǎn),因此可以在單片機(jī)上運(yùn)行。針對(duì)實(shí)時(shí)計(jì)算硬件時(shí),這是合理的,例如用于車輛的防抱死系統(tǒng),若響應(yīng)時(shí)間過(guò)長(zhǎng)會(huì)帶來(lái)致命的后果。即使必須支持大量的功能、中斷源和標(biāo)準(zhǔn)通信接口,也建議使用帶有RTOS的單片機(jī)。
2 內(nèi)存
微處理器與單片機(jī)之間的另一個(gè)主要區(qū)別是,微處理器依賴外部存儲(chǔ)器來(lái)保存和執(zhí)行程序,而單片機(jī)則依賴嵌入式閃存。在微處理器中,程序通常存儲(chǔ)在非易失性存儲(chǔ)器中,例如eMMC或串行閃存。在啟動(dòng)過(guò)程中,將其加載到外部DRAM中并在此執(zhí)行啟動(dòng)程序。DRAM和非易失性存儲(chǔ)器都可以具有幾百兆甚至幾千兆字節(jié)容量,這意味著微處理器幾乎從來(lái)不受存儲(chǔ)容量限制。但有一個(gè)潛在缺點(diǎn):外部存儲(chǔ)器或許會(huì)使得PCB布局的設(shè)計(jì)變得更加復(fù)雜。
即使是當(dāng)前的高性能單片機(jī),例如由意法半導(dǎo)體(STMicroelectronics)生產(chǎn)的STM32H7,最多也僅提供2 MB程序內(nèi)存,對(duì)于許多需要操作系統(tǒng)的應(yīng)用而言可能不足。由于程序位于片上內(nèi)存中,因此其優(yōu)點(diǎn)是執(zhí)行啟動(dòng)和重置過(guò)程的速度明顯更快。
3 計(jì)算能力
計(jì)算能力是典型的選擇因素。不過(guò),在這方面,微處理機(jī)與單片機(jī)之間的界線變得模糊了。例如,如果你將ARM體系結(jié)構(gòu)視為單片機(jī)和微處理器市場(chǎng)中分布最廣泛的體系結(jié)構(gòu)之一,這就變得顯而易見了。ARM提供了不同的處理器體系結(jié)構(gòu),以滿足各種要求,列舉如下。
● Cortex-A提供了最高性能,并且已經(jīng)針對(duì)綜合操作系統(tǒng)進(jìn)行了優(yōu)化。它們主要部署在功能強(qiáng)大的設(shè)備中,比如智能手機(jī)或服務(wù)器。
● Cortex-M較小,具有更多的片上外設(shè),但是能耗較低,并且針對(duì)嵌入式應(yīng)用進(jìn)行了優(yōu)化。
Dhrystone是比較不同處理器性能的測(cè)試基準(zhǔn)。根據(jù)該基準(zhǔn),普通平價(jià)單片機(jī)具有30 DMIPS,而當(dāng)前性能最高的單片機(jī)(包括嵌入式程序閃存)與這些平價(jià)單片機(jī)的差距高達(dá)1 027 DMIPS。相比之下,微處理器的起步點(diǎn)約為1 000 DMIPS。
4 能耗
單片機(jī)在能耗方面表現(xiàn)出色,要比微處理器低很多。盡管微處理器具有節(jié)能模式,但其能耗仍然比典型的單片機(jī)高得多。而且,微處理器使用外部存儲(chǔ)器,因此較難切換到節(jié)能模式。對(duì)于需要較長(zhǎng)的電池運(yùn)行時(shí)間,并且很少使用或沒有用戶接口的超低功耗應(yīng)用,單片機(jī)是更好的選擇,尤其是對(duì)于消費(fèi)類電子產(chǎn)品或智能電表來(lái)說(shuō)。
5 連接性
大多數(shù)單片機(jī)和微處理器都配備了所有常規(guī)外圍設(shè)備接口。但是,如果用戶需要的是超高速外圍設(shè)備,在單片機(jī)里是找不到例如千兆以太網(wǎng)這種相關(guān)接口的。盡管這實(shí)際上已成為微處理器中的標(biāo)準(zhǔn)功能單片機(jī)。這是十分合理的,因?yàn)閱纹瑱C(jī)幾乎無(wú)法處理這些高速接口所產(chǎn)生的數(shù)據(jù)量。1個(gè)關(guān)鍵問(wèn)題是:是否有足夠的帶寬和通道來(lái)處理爆發(fā)的數(shù)據(jù)量?
6 實(shí)時(shí)表現(xiàn)
當(dāng)實(shí)時(shí)性能是最重要的考慮因素時(shí),單片機(jī)絕對(duì)是首選。憑借處理器內(nèi)核、嵌入式閃存和軟件(RTOS或裸機(jī)OS),單片機(jī)可以出色地完成實(shí)時(shí)任務(wù)。因?yàn)镃ortex-A微處理器使用高性能的流水線,用戶可以看到在跳轉(zhuǎn)和中斷期間,隨著流水線的深度不斷增加,延遲時(shí)間也隨之升高。由于OS與微處理器一起執(zhí)行多任務(wù),因此很難實(shí)現(xiàn)硬實(shí)時(shí)操作。
7 系統(tǒng)基礎(chǔ)IC
由于電源已經(jīng)集成在單片機(jī)中,因此它們僅需要1個(gè)單電平電源。另一方面,微處理器需要許多不同電壓的電源來(lái)為內(nèi)核和其它組件供電,所以通常需要1個(gè)特殊配置的電源管理IC(即所謂的系統(tǒng)基礎(chǔ)芯片)來(lái)進(jìn)行供電管理。
8 異構(gòu)架構(gòu)
盡管如此,微處理器和單片機(jī)之間的界線顯然變得越來(lái)越模糊。例如,意法半導(dǎo)體推出的STM32MP1帶有1個(gè)或2個(gè)通常用于微處理器的Cortex-A7內(nèi)核和1個(gè)單片機(jī)類型的Cortex-M4內(nèi)核。意法半導(dǎo)體的這款功能強(qiáng)大的主控芯片,適用于基于開源軟件,并且需要高性能和大量資源的應(yīng)用。這為集兩者之長(zhǎng)提供了可能性。例如,可以在其中的微處理器內(nèi)核上運(yùn)行OpenST Linux,而在M4內(nèi)核上運(yùn)行FreeRTOS,以便滿足過(guò)程監(jiān)視中對(duì)實(shí)時(shí)性和安全性的要求。由于這種分離結(jié)構(gòu),可以使用所有操作系統(tǒng)功能,例如用于觸摸控制和網(wǎng)絡(luò)通信的人機(jī)接口,而不會(huì)因?yàn)閷?shí)時(shí)性影響整個(gè)應(yīng)用的安全要求。當(dāng)涉及系統(tǒng)啟動(dòng)的延遲時(shí)間或能源消耗時(shí),異構(gòu)架構(gòu)也具有優(yōu)勢(shì),因?yàn)榭梢栽谌魏螘r(shí)間使用更合適的處理器。例如,帶有保留RAM的M4可以在幾毫秒內(nèi)喚醒,而A7則需要長(zhǎng)達(dá)1 s的延遲時(shí)間才能喚醒。
評(píng)測(cè)板STM32MP157A-EV1配備了許多個(gè)接口和1個(gè)顯示器(如圖1)。
圖1 評(píng)測(cè)板STM32MP157A-EV1
STM32MP1的參考設(shè)計(jì)
儒卓力提供STM32MP1和評(píng)測(cè)板(STM32MP157CEV1)及探索套件(STM32MP157C-DK2),可一起用作參考設(shè)計(jì)。開發(fā)人員可從系統(tǒng)設(shè)計(jì)支持中受益。
它結(jié)合了STM32MP1主控和1個(gè)南亞的4Gb DDR3L SDRAM、1個(gè)Kioxia(前稱東芝)的4GB e-MMC和1個(gè)作為支持芯片的優(yōu)化電源管理IC STMPIC1。
10 結(jié)論
到底是微處理器,還是單片機(jī)?很難說(shuō)微處理器或單片機(jī)哪個(gè)才是更好的選擇,但經(jīng)驗(yàn)法則是,你應(yīng)該始終權(quán)衡各種利弊條件。以下幾點(diǎn)可以用作大致指導(dǎo)。
● 單片機(jī)非常適合以能耗為主要關(guān)注點(diǎn),且價(jià)格較低的移動(dòng)應(yīng)用以及具有實(shí)時(shí)需求的應(yīng)用。
● 處理器則非常適合與操作系統(tǒng)一起運(yùn)行并需要高速接口的密集計(jì)算應(yīng)用。游戲和其他圖形密集型應(yīng)用使用特殊的微處理器進(jìn)行聯(lián)網(wǎng)處理。
(本文來(lái)源于《電子產(chǎn)品世界》雜志2020年10月期)
評(píng)論