服務熱線
0755-88364040
18902464556
備受推崇的 8 位微控制器 (MCU) 今年迎來了 44 歲生日。即使到了中年,這種雜亂無章、受數字挑戰的架構仍能在許多新的嵌入式應用程序中找到自己的方式。當然,過去四年的技術進步催生了更快、更強大的 MCU,它們不斷威脅著為 8 位機器保留的市場空間。
年輕工程師往往會放棄 8 位 MCU 的高效簡單性,以尋求 32 位 MCU 提供的無限處理能力的承諾。但 32 位 MCU 真的是所有應用的終極目標嗎?讓我們來探討一下關于嵌入式市場的資深工程師的一些非常常見的神話和誤解。
1. 8 位正在消失。
信不信由你,這是我們在 8 位嵌入式空間中遇到的最常見的誤解。如果你真的仔細想想,這就好像在說,既然已經發明了 SUV,廉價、節能的汽車最終將走渡渡鳥的路。當然,這不會發生……同樣,嵌入式世界中總會有廉價、節能的 8 位 MCU 的空間。
讓我們嘗試為這個討論添加一些數據。 Gartner 的 2015 年微控制器報告列出了 8 位和 32 位年銷售額在約 6 億美元范圍內的美元價值——大致相等。鑒于平均交易價格的差異,數學告訴我們,2015 年每一個 32 位 MCU 就有 3 個被設計到嵌入式系統中的 8 位 MCU。會消失嗎?不會很快。
2. 8 位沒有什么新東西。沒有創新。
很容易假設 MCU 制造商將他們所有的研發預算都花在更新的 32 位產品線上,同時讓他們老化的 8 位 MCU 產品組合因縮小一兩個芯片而萎靡不振,以降低生產成本。事實是,所有 8 位 MCU 多年來都在不斷發展,以滿足嵌入式市場的需求。一些 MCU 制造商通過使用為他們的 32 位產品組合開發的技術來更新他們的 8 位 MCU 來做到這一點。其他公司,如 Microchip,專注于客戶的需求,為 8 位領域帶來真正的創新。
例如,Microchip 的 8 位 PIC 和 AVR MCU 系列具有核心獨立外設 (CIP)——無需 CPU 干預即可運行且可以相互通信的智能外設(圖 1)——有助于提高系統性能和響應速度,同時降低功耗消耗。結合現代快速啟動開發工具(例如 MPLAB 代碼配置器和 Atmel START),這些 8 位創新使設計人員能夠在幾個月內從原型設計到生產就緒。
Electronicdesign Com 站點 Electronicdesign com 文件上傳 2016 10 11 1116 Cte Microchip 11myths F1
1. Microchip 的 8 位 MCU 具有內核獨立外設 (CIP)——可配置的外設,無需 CPU 干預即可執行系統功能,并可相互通信——有助于提高系統性能和響應速度,同時降低功耗。
3. 8-bitters 真的很難用 C 和其他高級語言編程。
是的,8 位架構確實早于高級編程語言在嵌入式設計中的廣泛使用。事實上,許多老派工程師仍然拒絕在他們的嵌入式環境中安裝一個新奇的 C 編譯器。雖然這完全沒問題——我們不做評判——但我們應該注意到,現在銷售的大多數 8 位 MCU 使得使用現代 C 編譯器開發代碼變得非常容易。
Microchip 的現代 PIC16 “F1” MCU 有幾條指令完全致力于消除處理其分頁 / 分組地址空間的任何問題。如果這還不夠,PIC18 和 AVR 架構都具有為高級語言編譯器量身定制的大量線性地址空間。當然,現代集成開發環境 (IDE) 使所有這些問題都不再是問題。
4. 您只能將 8 位 MCU 用于簡單的應用程序。
這取決于您如何定義術語“簡單應用程序”。絕大多數嵌入式系統不需要大量的計算能力和嵌入式操作系統來保持一切同步。最常見的嵌入式系統涉及某種類型的傳感、電源轉換、閉環控制或低數據速率通信活動。這使它們牢牢地歸于“簡單應用程序”類別。有了合適的片上外設,這些任務就可以由廉價的 MCU 輕松處理。
為此,Microchip 開發了 20 多個 CIP 來自主處理最常見的嵌入式任務,讓 CPU 執行監督角色。使用 CIP 使應用程序的響應更加確定,而且實現起來要簡單得多(沒有討厭的中斷服務例程來編碼和調試)。在這種情況下,簡單是一件好事。
5:8 位對于物聯網設計來說不夠強大。
每個物聯網 (IoT) 應用程序看起來都像智能手表、無線音頻節點或其他一些同樣復雜的嵌入式系統,這很容易讓人陷入這種觀念中。現實情況是,組成 IoT 應用程序的“事物”執行非常簡單的任務。它們是觸敏開關、傳感器、無線燈泡和聯網車庫門開啟器;這是您洗衣房中的按鈕,當您按下它時,它會自動重新訂購洗滌劑。
這些系統進行測量。他們通過您家的路由器將數據發送到互聯網。它們控制一個簡單的開關電源。他們在被網絡“輕推”時醒來。它們在工作時消耗的電量很少。所有這些都是較新的 8 位 MCU 專門設計用來執行的任務。如果您的下一個 IoT 設計沒有 8 位,您可能會錯過優化應用程序的機會。
2. 傳統的嵌入式設計非常以軟件為中心,嵌套的軟件例程需要進行全面的驗證工作以確保正常運行。必須考慮時序突發事件、中斷優先級和系統延遲。
6. 8-bitters 的速度不足以響應關鍵的系統事件。
請記住這一點:對關鍵系統事件的響應時間與延遲和確定性有關。
幾乎每個全速運行的 32 位 MCU 都會勝過以最大時鐘速度運行的 8 位 MCU,這已不是什么秘密。然而,大多數應用程序沒有支持任何 MCU 100% 全速運行的功率預算。因此,一個常見的設計實踐是在不需要時利用 CPU 的睡眠模式來降低功耗,并在再次需要時通過硬件中斷將其喚醒。使用此技術,您剛剛引入了影響準時應用程序性能的兩個最大障礙:可變啟動時間和中斷延遲。在編寫應用程序時,必須仔細考慮和緩解這兩種情況,否則結果可能是災難性的。
帶有 CIP 的 MCU 允許設計人員在固定功能、低功耗和永遠在線的硬件中實現其應用中對時間最敏感的部分。這樣做可以以極低的功耗為關鍵事件提供一致、低延遲的響應。
7. 32 位 MCU 比 8 位 MCU 更節能。
正如大家都知道 32 位 MCU 是嵌入式塊上最快的孩子一樣,他們也明白更快的 32 位速度與更高的 32 位功耗相匹配。這里沒有爭論,但一些工程師認為他們可以利用所有這些速度來“欺騙系統”一點。基本上,通過更快地完成工作,您可以將 CPU 置于睡眠模式更長的時間。因此,32 位 MCU 比 8 位 MCU 更節能,對嗎?錯誤的。
即使您在兩種架構上運行大致相同的軟件例程,8 位 MCU 的低得多的運行模式功耗也將保證微型電源的電池壽命更長。除此之外,大多數現代 8 位 MCU 比同等價位的 32 位設備具有更好的外圍功能平衡。這允許“功能較弱”的 MCU 在硬件中處理更多任務,支持更長的 CPU 睡眠模式時間。一些常見的應用需要來自較新的 PIC 和 AVR MCU 的 CPU 正常運行時間幾乎為零——優勢:8 位。
8. 32-bitters同樣價格,性能翻倍。
如果您一直和我們在一起,那么您很可能會理解嵌入式應用程序的性能不僅僅是通過原始計算能力來衡量的。成本最低的 32 位 MCU 往往具有出色的 CPU 性能和大量廉價的數字外設,但通常缺乏實現許多嵌入式系統所需的片上模擬功能。
Microchip 的 8 位 MCU 具有智能模擬外設,可以自動執行信號分析任務,為數字脈寬調制器 (PWM) 提供補償信息,并提供無需 CPU 干預的自動關機功能。這些 8 位 MCU 可以幫助顯著減少外部組件數量,從而在此過程中節省大量資金。最好的建議是看整個應用的實際需求,選擇能夠以最低系統成本完成任務的 MCU。調整系統大小永遠不會出錯。
9. 8 位不是面向未來的解決方案。
選擇一個著眼于遙遠未來不可預測的市場趨勢的 MCU 永遠不能保證成功,但幾乎肯定會帶來意想不到的后果。無法確定未來會怎樣。如果市場轉向一組完全不同的功能要求,則無論使用的是 8 位、16 位還是 32 位 MCU,都需要重新設計完整的系統。
根據可以在設計開始時確定的需求和要求,為任何項目選擇“最適合”的架構。這樣做將有助于將硬件和軟件開發成本降至最低。通常,8 位 PIC 或 AVR MCU 將有助于降低整體系統硬件成本,并且片上硬件中啟用的功能可以在設計的整個生命周期中大量減少軟件工作量。
10. 32 位 MCU 減少了軟件開發時間。
編寫代碼很容易。編寫有效的代碼完全是另一項努力。認同這個神話的人通常會低估在工作應用程序中測試、調試和驗證他們的代碼所需的時間和精力。或者他們都是編碼天才。一天的編碼可能需要數月的驗證(圖 2)。
使用 32 位 MCU 的應用程序往往以軟件為中心。也就是說,所有必要的功能都在軟件例程中實現——因此沒有有效的方法來逃避驗證周期。 8 位 PIC 和 AVR MCU 都旨在更有效地使用其外設,以減少實現常用功能所需的代碼行數。這縮短了開發過程,因為編碼是輕而易舉的,并且硬件的功能在工廠中已經過驗證(圖 3)。
3. 8 位 PIC 和 AVR MCU 旨在更有效地利用其外設,以減少實現常用功能所需的代碼行數。這使得開發過程更短,因為編碼很簡單,并且硬件的功能已經在工廠進行了驗證。
總而言之,減少軟件開發時間的最好方法是首先編寫更少的代碼行。
11. 8 位沒有向上遷移的路徑。
向上遷移更多地取決于您的開發環境,而不是任何單個 MCU 或硬件。如果遷移路徑是一個關鍵問題,那么最好的辦法是從“全系列”制造商處采購 MCU,該制造商提供由一致開發生態系統支持的 8 位、16 位和 32 位 MCU。如今,決定從一個 MCU 遷移到另一個 MCU 的難易程度的是開發環境,而不是硬件。精心設計的 IDE,例如 Microchip 的 MPLAB X 或 Atmel START,使用戶能夠在其廣泛產品組合中的任何 MCU 上實現他們的想法。
如果您正在設計下一代基于 Linux 的腕戴式超級計算機,那么使用最新最好的 32 位設備開始和結束您的 MCU 搜索是非常有意義的。但是,如果您像我們其他人一樣為常見的日常系統添加智能、更好的控制和確定性,那么如果您不將更新的 8 位 MCU 產品添加到您的列表中,那您就大錯特錯了。您會發現功耗最低、非常有用的外設和超級簡單的開發體驗。有什么不喜歡的?
例如,Microchip 的 8 位 PIC 和 AVR MCU 系列具有核心獨立外設 (CIP)——無需 CPU 干預即可運行且可以相互通信的智能外設(圖 1)——有助于提高系統性能和響應速度,同時降低功耗消耗。結合現代快速啟動開發工具(例如 MPLAB 代碼配置器和 Atmel START),這些 8 位創新使設計人員能夠在幾個月內從原型設計到生產就緒。
Microchip 的 8 位 MCU 具有內核獨立外設 (CIP)——可配置的外設,無需 CPU 干預即可執行系統功能,并可相互通信——有助于提高系統性能和響應速度,同時降低功耗。8 位架構確實早于高級編程語言在嵌入式設計中的廣泛使用。事實上,許多老派工程師仍然拒絕在他們的嵌入式環境中安裝一個新奇的 C 編譯器。雖然這完全沒問題——我們不做評判——但我們應該注意到,現在銷售的大多數 8 位 MCU 使得使用現代 C 編譯器開發代碼變得非常容易。隨著嵌入式網絡設備的成本下降——以 Raspberry Pi 為例——它們變得無處不在。但是,這種增殖的隱藏成本,嵌入式系統的開發,其中軟件和硬件必須很好地協同工作,已經變得極其復雜和具有挑戰性PIC18 和 AVR 架構都具有大量線性地址空間,這些空間是為高級。