為了在物聯網 (IoT) 市場中發揮作用,原始設備制造商 (OEM) 需要能夠接受更快的創新速度。物聯網應用的可能范圍是無窮無盡的,成功的公司使其開發人員能夠不斷識別和實施新的和更有用的方法來利用傳感器的功能,監控不同類型的數據,并控制設備的生態系統。
物聯網應用跨越許多領域,包括可穿戴設備、汽車、家庭、工業甚至城市。除了允許開發人員實施創新外,物聯網設備還必須高效、安全且美觀。應用程序很重要,必須圍繞旨在推廣易于使用設備的直觀軟件。
微控制器 (MCU) 是基于物聯網的產品的核心,選擇合適的 MCU 是滿足客戶當前和未來需求的關鍵。本文將探討當今嵌入式MCU在加速設計的同時支持創新應用的各種功能。在第 1 部分中,我們將介紹高級工藝技術、低功耗設計技術、多核系統的功耗考慮因素、內核間通信、串行存儲器接口和系統安全性。
物聯網市場(增長最快的引擎)
物聯網技術繼續改變日常工作和生活方式,使其更加實惠、更方便、更舒適、更智能。物聯網市場大致可分為兩類:消費者物聯網和商業物聯網。
消費者物聯網
消費者物聯網廣泛包括家庭、生活方式、健康和移動性。設備通常是個人的互聯產品,以提高他們的生產力、安全性和生活方式。從智能家居到聯網汽車,從智能醫療保健到舒適生活方式,消費市場正在為下一波大浪潮做準備。
商業物聯網
商業物聯網非常廣泛,廣泛包括零售、健康、能源、移動、城市、制造和公共服務。商業物聯網部門將改變組織和社區,以實現經濟增長的新時代。物聯網通過連接數據、人員和機器來提高生產力、效率和日常運營。商業物聯網還可以作為一種工具,幫助公司在未開發的領域識別新的增長機會。
工藝技術(尺寸 – 大不了)
用于制造MCU的工藝技術對于確定其性能、低功耗能力和成本至關重要。物聯網應用需要高效的有功功耗和低功耗模式消耗,以實現系統的整體能效。制造技術的不斷進步導致模具尺寸縮小。這降低了芯片的總體成本,因為它允許在同一塊硅晶圓上制造更多的MCU。性能和功率也受到芯片收縮的影響。縮小芯片可降低打開/關閉每個晶體管所需的電流,同時保持相同的時鐘頻率。因此,較小的芯片具有更低的功耗,更高的最大時鐘頻率導致更高的性能。
例如,用于制造賽普拉斯半導體的可編程片上系統(PSoC)6 BLE系列MCU的40納米工藝技術為各種物聯網應用提供了高性能和高性價比的實現。深度睡眠電流只需要幾微安的電流即可完全保持。其他功耗模式(包括活動、睡眠、低功耗活動和低功耗睡眠)使開發人員能夠靈活地優化系統功耗,同時在需要時保持高性能。
[圖3 |用于物聯網應用的低功耗MCU框圖]
權力(最重要)
設計物聯網設備時的最大挑戰之一是它們可能耗電。大多數物聯網設備都是始終在線且小巧的,這意味著它們可以容納的電池尺寸有限。MCU供應商在為物聯網應用優化MCU時會考慮各種因素,例如
改進工藝技術
提供高度靈活的電源模式
啟用功耗優化的硬件 IP 塊
將重要功能集成到單個芯片中
優化閃存訪問頻率
啟用緩存
支持更寬的工作電壓范圍
遺憾的是,雖然縮小工藝技術可以提高性能、功耗和集成度,但它帶來了管理漏電流的挑戰,尤其是在低功耗模式下。為了應對漏電流的挑戰,MCU供應商采用了特殊的晶體管工藝技術,如多柵極器件、高壓晶體管/邏輯/電路、專門設計的存儲單元等。
靈活的功耗模式使開發人員能夠安排單個系統事件,從而優化整體功耗。一項關鍵技術是提供多個外設,這些外設可以在低功耗模式下運行,并且可以在不喚醒CPU的情況下喚醒以執行其功能。一些MCU還提供特殊的低功耗有源模式,其中外設可用于功能有限的操作(例如較低的工作頻率和電壓),以進一步優化應用功耗。甚至可以設計特定的外設以優化功耗;即,BLE無線電可以設計為支持低功耗無線通信。
另一個顯著影響功耗的因素是非易失性 (NV) 內存訪問。對于使用閃存(NV存儲器)存儲固件代碼的MCU尤其如此。閃存訪問中的任何優化都會導致功耗大幅降低。目標是盡量減少閃存訪問的頻率。這里應用了兩種常用技術。一種方法是提供緩存。這樣,不需要在每個執行周期都不訪問實際的代碼存儲器(Flash)。另一種方法是增加一個周期內獲取的數據量。使用更寬的閃存訪問可降低閃存訪問頻率。
基于物聯網的MCU還可以提供靈活的電源系統。通過支持寬電源電壓范圍,MCU可以使用多個電源供電。例如,簡單的物聯網應用(如健身追蹤器)可以由紐扣電池供電,而復雜的物聯網應用(如智能手表)可以由電源管理集成電路PMIC供電。一些MCU提供內部降壓轉換器,以有效調節功率。
在考慮MCU的功耗模式時,重要的是要超越基本架構。例如,標準 ARM CPU 內核支持活動、睡眠和深度睡眠。其他電源模式通常由特定的MCU供應商添加。例如,賽普拉斯PSoC 6 BLE MCU在六種電源模式下運行,增加了低功耗活動、低功耗睡眠和休眠。
[圖4 |PSoC 6 BLE MCU 中的電源模式轉換示例]
多處理器 MCU(并行應用程序任務運行速度更快)
物聯網系統在基于其功能集的同時在復雜性上增加,同時在物理尺寸方面也在縮小。MCU制造商的目標是提高系統的性能,同時保持盡可能低的尺寸和功耗。多核 MCU 和片上系統 (SoC) 通過在單個芯片中集成更多功能并最大限度地減少芯片空間來提供更高的性能。多核處理器是由兩個或多個獨立內核(或 CPU)組成的 MCU 或 SoC。內核通常集成到單個芯片上,盡管它們可以在單個封裝中實現為多個芯片。
多核MCU有助于提供高性能,同時保持較小的占用空間。在可穿戴設備等典型物聯網設計中,需要多個MCU:用于無線通信的BLE控制器,用于用戶界面實現的Touch MCU,以及用于運行應用的主MCU。這三款MCU的功能可通過單個高度集成的多核MCU提供。
多核MCU還提供許多其他優勢。例如,多核MCU集成了足夠的資源,使CPU能夠并行處理密集型任務,從而利用多任務處理效率。這些還允許開發人員有效地將系統事件分配給特定內核,從而滿足功耗和性能目標。例如,在雙核可穿戴設計中,可以將無線廣播和觸摸感應等需要較少CPU干預的周期性功能分配給一個內核。其他需要大量CPU干預的“高接觸”功能(如傳感器融合)可以分配給另一個內核。這種分區減少了在系統中運行多個應用程序時的延遲時間。集成還通過整合協議棧和程序存儲器來提高效率。
[圖5 |面向物聯網應用的多核MCU示例]
圖 6 顯示了一個多核 MCU,即賽普拉斯 MCU PSoC 6BLE。這款雙核設備有兩個32位ARM Cortex CPU,Cortex-M4和Cortex-M0+。這兩個 CPU 都是具有 32 位數據路徑、32 位寄存器和 32 位內存接口的 32 位處理器。Cortex-M4 是專為短中斷響應時間、高代碼密度和高 32 位吞吐量而設計的主 CPU,同時保持嚴格的成本和功耗預算。Cortex-M0+ 用作處理安全、安全和保護功能的輔助 CPU。Cortex CPU實現了Thumb指令集的一個子集,并具有兩種操作模式,稱為線程模式和處理程序模式。這些 CPU 在退出復位并執行應用軟件時進入線程模式。為了處理異常,CPU 進入處理操作模式。完成所有異常處理后,CPU 將返回到線程模式。
[圖6 |多核嵌入式MCU示例(PSoC 6 BLE)]
處理器間通信(支持外設共享和信息交換)
在多核MCU中,需要處理器間通信(IPC)來協調內核之間的操作。IPC 充當通信管理器,處理處理器之間的消息分發。現代 CPU 架構(如 ARM Cortex)支持硬件和固件中的多核通信。一個這樣的例子是發送事件 (SEV) 指令,它在執行時斷言設備中的所有內核。MCU供應商采用了多種方法來實現IPC:
基于中斷
使用這種方法,一個內核向另一個內核發送中斷以指示應用程序事件。通常,中斷例程非常緊湊,不會占用太多代碼內存。與任何中斷機制一樣,每個中斷都有自己的中斷服務例程 (ISR),通過該例程,相應的內核可以執行特定任務。對于數據的實際傳遞,有一個可由多個內核訪問的共享內存。除了共享數據之外,它還提供了一種請求和確認消息的機制。
郵箱
郵箱是 RAM 中的專用內存空間,供每個 CPU 相互發送和接收消息。每個內核維護自己的 RAM 內存(郵箱),并將消息發送到其他內核的郵箱。
消息隊列
消息隊列使用共享內存的兩個區域來存儲每個內核發送給另一個內核的消息。第一個是稱為命令緩沖區的專用存儲器,用于存儲從主服務器發送到從服務器的命令。另一個專用存儲器稱為消息緩沖區,允許從站響應主存儲器。
[圖7 |各種處理器間通信 (IPC) 模式]
信號燈
信號量是一種防止多個源同時訪問共享資源的機制。在多核處理器中,共享硬件位置充當信號量,以指示特定內核是否正在使用特定共享外設。在訪問外設之前,系統中的其他內核會讀取信號燈狀態以查看其是否可用。
串行存儲器接口(物聯網存儲器選擇)
內存是任何物聯網系統不可或缺的一部分,用于代碼和數據存儲。現代物聯網設備所需的不斷增長的智能推動了對更大代碼和數據存儲器的需求。但是,將所有這些存儲器作為內部存儲器集成到器件中會增加MCU的芯片尺寸和成本。另一種方法是根據需要提供從外部擴展內存的選項。這使開發人員能夠根據最終應用的需要添加內存。此外,如果在開發周期中發現預算的內部存儲器空間不足,則可以引入額外的外部存儲器,而無需重新設計整個系統。
了解外部存儲器接口的速度和安全性以及它的易用性也很重要。通常,串行存儲器是并行存儲器的更好選擇,以節省MCU上有限的IO引腳。雖然基于SPI的串行存儲器為數據記錄提供了合理的接口速度,但直接執行外部代碼需要更高的速度。這些要求促使MCU制造商提供SPI的替代品。以下是不同方案的數據吞吐量的快速比較。
SPI:支持 1 位/周期吞吐量
雙 SPI:支持 2 位/周期吞吐量
四通道 SPI:支持 4 位/周期吞吐量
雙通道四通道 SPI:支持 1 字節/周期吞吐量
通常,MCU將同時支持多種類型的存儲器,為開發人員提供最大的靈活性。
由于許多物聯網系統處理用戶的個人數據,因此確保數據安全非常重要。同樣,代碼存儲器需要保護,以防止未經授權使用設備。外部存儲器在安全性方面更容易受到攻擊,因此需要特殊的機制來保護外部存儲的數據。為了實現這一點,MCU使用各種加密技術(例如AES,DES,RSA)來保護數據和代碼免受未經授權的訪問。例如,賽普拉斯半導體的PSoC 6 BLE MCU提供了一個特殊的串行存儲器接口(SMIF)外設,支持直接外部代碼執行的就地執行(XIP)模式和數據記錄的備忘錄映射IO(MMIO)模式。它使用特殊命令進行控制,例如閃存的編程/擦除,存儲設備的睡眠模式進入等。
[圖8 |串行存儲器接口 (SMIF) 示例]
SMIF 允許用戶配置相同或不同類型和大小的多個存儲設備。多個內存設備在內存 (XIP) 模式下映射到不同的地址。它們可以是不同的內存類型,使它們與系統中的不同用途保持一致。它們也可以是在連續地址空間中配置的相同內存設備,以模擬連續的大內存。將 SMIF 外設與 SPI 閃存結合使用是外部 NAND 和 NOR 閃存的可行替代品,還可以節省電路板空間。串行閃存直接映射到處理器的內存空間數據存儲并支持執行 XIP,因此與 NAND 存儲器相比,易用性得到改進。
系統安全、隱私和安全(信任根)
連接設備后,就會引入被黑客入侵的可能性。因此,物聯網設備的安全性是一個不容商量的要素,無論設備是個人可穿戴手環還是聯網汽車。所有級別都需要數據保護,包括存儲、處理和通信期間,以確保系統可靠性。此外,處理數據的任何軟件或固件也應受到保護。可以在兩個級別上啟用此類安全性。第一個層次是軟件安全。第二個層次是硬件安全,即通過硬件保護軟件。
通常,基于軟件的安全性使用存儲在代碼空間中的密鑰。盡管這在技術上可以執行加密和解密,但由于它是存儲的代碼,因此該過程仍然容易受到黑客攻擊。代碼被解碼的那一刻,安全性就被打敗了。
基于硬件的安全使用集成電路來保護系統;例如,代碼和數據的加密和解密。基于硬件的安全性是獨立的,不需要任何其他軟件即可運行,從而消除了惡意代碼、感染、污染或其他漏洞危害系統、客戶數據和服務的可能性。因此,在保護敏感數據或代碼時,基于硬件的安全性是首選方法。這就是為什么用于物聯網應用的MCU具有復雜的集成硬件安全功能,如加密塊、代碼保護IP和其他基于硬件的機制。
與固件實現相比,基于硬件的安全性還具有以更低的功耗提供更快的性能的額外好處。例如,賽普拉斯PSoC 6 BLE MCU中的專用加密模塊可加速加密功能。此外,該模塊還提供真隨機數生成功能、對稱密鑰加密和解密、散列、消息身份驗證、隨機數生成(偽和真)、循環冗余檢查和實用程序功能,如啟用/禁用、中斷設置和標志。該MCU設備還配備了安全啟動功能。安全啟動使用 ROM 例程來保證在閃存中對用戶數據進行身份驗證。安全啟動是一個涉及加密的過程,它允許物聯網設備開始執行經過身份驗證并因此受信任的軟件來運行。因此,系統可以從已知的受信任狀態通電。
在第 1 部分中,我們將介紹高級工藝技術、低功耗設計技術、多核系統的功耗考慮因素、內核間通信、串行存儲器接口和系統安全性。在第 2 部分中, 我們將介紹先進的 BLE 無線鏈路, 模擬前端, 智能觸摸界面, 和其他對物聯網設計很重要的技術。
審核編輯:郭婷
-
mcu
+關注
關注
146文章
17402瀏覽量
353329 -
嵌入式
+關注
關注
5097文章
19230瀏覽量
308861 -
物聯網
+關注
關注
2914文章
45075瀏覽量
378636
發布評論請先 登錄
相關推薦
嵌入式超火的方向有哪些?
嵌入式和人工智能究竟是什么關系?
什么是嵌入式?一文讀懂嵌入式主板
AMD 面向嵌入式系統推出高能效 EPYC 嵌入式 8004 系列
嵌入式主板是什么意思?嵌入式主板全面解析
嵌入式系統的未來趨勢有哪些?
七大嵌入式GUI盤點
飛凌嵌入式技術創新日(深圳站)精彩回顧
恩智浦加速嵌入式AI創新應用開發
極海半導體亮相2024全球MCU暨嵌入式生態發展大會
嵌入式熱門領域有哪些?
飛凌嵌入式技術創新日(北京站)圓滿落幕,共創嵌入式技術的美好未來

評論