微處理器、單片機及其外設:處理還是控制?

  作者:王灝(儒卓力 數字產品經理) 時間:2022-05-05來源:電子產品世界

編者按:每項新應用設計都需要一個單片機或微處理器。當在兩者之間選擇其一時,需要考慮一些因素。以下是微處理器、單片機以及異構架構的概述。

考慮選擇微處理器(MPU)或者單片機(MCU)時,應用類型通常是關鍵因素。另一方面,最終選擇取決于諸如操作系統和內存之類的因素。不過,有時可以將微處理器和單片機內核結合使用,這稱作異構架構。

1   操作系統

對于一些基于Linux或安卓等操作系統的計算機密集型工業和消費類應用,需要大量高速連接或功能范圍廣泛的用戶接口,微處理器就是最佳選擇。這是因為大多數單片機都沒有操作系統,而只有裸機程序,借助于順序處理循環和狀態機,幾乎無需任何人工干預即可運行程序。然而,許多高性能單片機可以支持諸如FreeRTOS之類的實時操作系統(RTOS),從而以確定性方式實時響應需要硬實時行為的應用程序。

作為具有許多免費軟件、廣泛硬件支持和不斷發展的生態系統的通用操作系統,嵌入式Linux取得了巨大的成功。它的另一個優點就是沒有用戶或授權許可費用。不過,與嵌入式Linux一起運行的應用程序至少需要300~400 DMIPS(ARM-Dhrystone MIPS)性能,因此較適合使用微處理器。單片機沒有足夠的計算能力和內存來應付此類應用。

如果是用于復雜或對實時性要求高的控制系統,RTOS則很有用,但至少要配合50 DMIPS的高性能單片機。這比嵌入式Linux所需的性能要求要少得多。傳統的RTOS設計精簡,因此可以在單片機上運行。針對實時計算硬件時,這是合理的,例如用于車輛的防抱死系統,若響應時間過長會帶來致命的后果。即使必須支持大量的功能、中斷源和標準通信接口,也建議使用帶有RTOS的單片機。

2   內存

微處理器與單片機之間的另一個主要區別是,微處理器依賴外部存儲器來保存和執行程序,而單片機則依賴嵌入式閃存。在微處理器中,程序通常存儲在非易失性存儲器中,例如eMMC或串行閃存。在啟動過程中,將其加載到外部DRAM中并在此執行啟動程序。DRAM和非易失性存儲器都可以具有幾百兆甚至幾千兆字節容量,這意味著微處理器幾乎從來不受存儲容量限制。但有一個潛在缺點:外部存儲器或許會使得PCB布局的設計變得更加復雜。

即使是當前的高性能單片機,例如由意法半導體(STMicroelectronics)生產的STM32H7,最多也僅提供2 MB程序內存,對于許多需要操作系統的應用而言可能不足。由于程序位于片上內存中,因此其優點是執行啟動和重置過程的速度明顯更快。

3   計算能力

計算能力是典型的選擇因素。不過,在這方面,微處理機與單片機之間的界線變得模糊了。例如,如果你將ARM體系結構視為單片機和微處理器市場中分布最廣泛的體系結構之一,這就變得顯而易見了。ARM提供了不同的處理器體系結構,以滿足各種要求,列舉如下。

●   Cortex-A提供了最高性能,并且已經針對綜合操作系統進行了優化。它們主要部署在功能強大的設備中,比如智能手機或服務器。

●   Cortex-M較小,具有更多的片上外設,但是能耗較低,并且針對嵌入式應用進行了優化。

Dhrystone是比較不同處理器性能的測試基準。根據該基準,普通平價單片機具有30 DMIPS,而當前性能最高的單片機(包括嵌入式程序閃存)與這些平價單片機的差距高達1 027 DMIPS。相比之下,微處理器的起步點約為1 000 DMIPS。

4   能耗

單片機在能耗方面表現出色,要比微處理器低很多。盡管微處理器具有節能模式,但其能耗仍然比典型的單片機高得多。而且,微處理器使用外部存儲器,因此較難切換到節能模式。對于需要較長的電池運行時間,并且很少使用或沒有用戶接口的超低功耗應用,單片機是更好的選擇,尤其是對于消費類電子產品或智能電表來說。

5   連接性

大多數單片機和微處理器都配備了所有常規外圍設備接口。但是,如果用戶需要的是超高速外圍設備,在單片機里是找不到例如千兆以太網這種相關接口的。盡管這實際上已成為微處理器中的標準功能單片機。這是十分合理的,因為單片機幾乎無法處理這些高速接口所產生的數據量。1個關鍵問題是:是否有足夠的帶寬和通道來處理爆發的數據量?

6   實時表現

當實時性能是最重要的考慮因素時,單片機絕對是首選。憑借處理器內核、嵌入式閃存和軟件(RTOS或裸機OS),單片機可以出色地完成實時任務。因為Cortex-A微處理器使用高性能的流水線,用戶可以看到在跳轉和中斷期間,隨著流水線的深度不斷增加,延遲時間也隨之升高。由于OS與微處理器一起執行多任務,因此很難實現硬實時操作。

7   系統基礎IC

由于電源已經集成在單片機中,因此它們僅需要1個單電平電源。另一方面,微處理器需要許多不同電壓的電源來為內核和其它組件供電,所以通常需要1個特殊配置的電源管理IC(即所謂的系統基礎芯片)來進行供電管理。

8   異構架構

盡管如此,微處理器和單片機之間的界線顯然變得越來越模糊。例如,意法半導體推出的STM32MP1帶有1個或2個通常用于微處理器的Cortex-A7內核和1個單片機類型的Cortex-M4內核。意法半導體的這款功能強大的主控芯片,適用于基于開源軟件,并且需要高性能和大量資源的應用。這為集兩者之長提供了可能性。例如,可以在其中的微處理器內核上運行OpenST Linux,而在M4內核上運行FreeRTOS,以便滿足過程監視中對實時性和安全性的要求。由于這種分離結構,可以使用所有操作系統功能,例如用于觸摸控制和網絡通信的人機接口,而不會因為實時性影響整個應用的安全要求。當涉及系統啟動的延遲時間或能源消耗時,異構架構也具有優勢,因為可以在任何時間使用更合適的處理器。例如,帶有保留RAM的M4可以在幾毫秒內喚醒,而A7則需要長達1 s的延遲時間才能喚醒。

評測板STM32MP157A-EV1配備了許多個接口和1個顯示器(如圖1)。

1651729682860605.png

圖1 評測板STM32MP157A-EV1

STM32MP1的參考設計

儒卓力提供STM32MP1和評測板(STM32MP157CEV1)及探索套件(STM32MP157C-DK2),可一起用作參考設計。開發人員可從系統設計支持中受益。

它結合了STM32MP1主控和1個南亞的4Gb DDR3L SDRAM、1個Kioxia(前稱東芝)的4GB e-MMC和1個作為支持芯片的優化電源管理IC STMPIC1。

10   結論

到底是微處理器,還是單片機?很難說微處理器或單片機哪個才是更好的選擇,但經驗法則是,你應該始終權衡各種利弊條件。以下幾點可以用作大致指導。

● 單片機非常適合以能耗為主要關注點,且價格較低的移動應用以及具有實時需求的應用。

● 處理器則非常適合與操作系統一起運行并需要高速接口的密集計算應用。游戲和其他圖形密集型應用使用特殊的微處理器進行聯網處理。

(本文來源于《電子產品世界》雜志2020年10月期)

關鍵詞: 微處理器 單片機 操作系統 內存 202010

加入微信
獲取電子行業最新資訊
搜索微信公眾號:電子產品世界

或用微信掃描左側二維碼

相關文章


用戶評論

請文明上網,做現代文明人
驗證碼:
查看電腦版
97超碰中文字幕久久精品_美女国产诱a惑v在线观看_四虎免费在线观看_中文字幕亚洲第一页乱码