為了在物聯網 (IoT) 市場中發揮作用,原始設備制造商 (OEM) 需要能夠接受更快的創新速度。物聯網應用的可能范圍是無窮無盡的,成功的公司使他們的開發人員能夠不斷地識別和實施新的、更有用的方法來利用傳感器的功能、監控不同類型的數據和控制設備的生態系統。
物聯網應用跨越許多領域,包括可穿戴設備、汽車、家庭、工業,甚至城市。除了允許開發人員實施創新之外,物聯網設備還必須高效、安全且美觀。應用程序很重要,必須圍繞旨在推廣易于使用的設備的直觀軟件進行包裝。
微控制器 (MCU) 是基于物聯網的產品的核心,選擇合適的 MCU 是滿足客戶當前和未來需求的關鍵。本文將探討當今嵌入式 MCU 可提供的多種功能,以加速設計,同時支持創新應用。在第 1 部分中,我們將介紹先進的工藝技術、低功耗設計技術、多核系統的功耗注意事項、內核間通信、串行存儲器接口和系統安全性。
物聯網市場(增長最快的引擎)
物聯網技術繼續改變日常工作和生活方式,使其變得更實惠、更方便、更舒適和更智能。物聯網市場可以大致分為兩類:消費者物聯網和商業物聯網。
消費物聯網
消費物聯網廣泛包括家庭、生活方式、健康和移動性。設備通常是個人的連接產品,以提高他們的生產力、安全性和生活方式。從智能家居到聯網汽車,從智能醫療到舒適生活方式,消費市場正蓄勢待發,迎接下一波浪潮。
商業物聯網
商業物聯網規模龐大,廣泛包括零售、健康、能源、交通、城市、制造和公共服務。商業物聯網部門將改變組織和社區,以實現經濟增長的新時代。物聯網通過連接數據、人員和機器來提高生產力、效率和日常運營來做到這一點。商業物聯網還可以作為一種工具,幫助公司在未開發的領域發現新的增長機會。
工藝技術(規模——很重要)
用于制造 MCU 的工藝技術對于確定其性能、低功耗能力和成本至關重要。物聯網應用需要高效的有功功耗和低功耗模式消耗,以實現系統的整體電源效率。制造技術的持續進步導致芯片尺寸縮小。這降低了芯片的總體成本,因為它允許在同一塊硅晶片上制造更多的 MCU。性能和功率也直接受到芯片收縮的影響??s小芯片可減少在保持相同時鐘頻率的同時打開/關閉每個晶體管所需的電流。因此,較小的芯片具有較低的功耗和較高的最大時鐘頻率,從而導致更高的性能。
例如,用于制造 Cypress Semiconductors 的可編程片上系統 (PSoC) 6 BLE 系列 MCU 的40 nm 工藝技術為各種物聯網應用提供了高性能和經濟高效的實施方案。深度睡眠電流只需要幾微安即可完全保持。其他功耗模式,包括活動、睡眠、低功耗活動和低功耗睡眠,使開發人員能夠靈活地優化系統功耗,同時在需要時保持高性能。
【圖3 | 用于物聯網應用的低功耗 MCU 框圖]
權力(最重要)
設計物聯網設備時的一大挑戰是它們可能很耗電。大多數物聯網設備都是永遠在線和微型的,這意味著它們可以容納的電池容量有限。MCU 供應商在針對物聯網應用優化 MCU 時會考慮多種因素,例如
改進工藝技術
提供高度靈活的電源模式
啟用功耗優化的硬件 IP 塊
將重要功能集成到單個芯片中
優化 Flash 訪問頻率
啟用高速緩存
支持更寬的工作電壓范圍
不幸的是,雖然縮小工藝技術可以提高性能、功耗和集成度,但它帶來了管理漏電流的挑戰,尤其是在低功耗模式下。為了應對漏電流的挑戰,MCU 供應商采用了特殊的晶體管工藝技術,例如多柵極器件、高壓晶體管/邏輯/電路、專門設計的存儲單元等。
靈活的電源模式的可用性使開發人員能夠安排單獨的系統事件,從而優化整體功耗。一項關鍵技術是提供多個外圍設備,這些外圍設備可以在低功耗模式下運行,并且可以在無需喚醒 CPU 的情況下被喚醒以執行其功能。一些 MCU 還提供特殊的低功耗活動模式,其中外圍設備可用于功能有限的操作(例如較低的工作頻率和電壓),以進一步優化應用功耗。甚至可以設計特定的外圍設備以優化功耗;即,BLE 無線電可以設計為支持低功率無線通信。
另一個顯著影響功耗的因素是非易失性 (NV) 存儲器訪問。對于使用閃存(NV 存儲器)存儲固件代碼的 MCU 尤其如此。閃存訪問中的任何優化都會導致顯著降低功耗。目標是最小化 Flash 訪問的頻率。這里應用了兩種常見的技術。一種方法是提供高速緩沖存儲器。這樣,不需要在每個執行周期都訪問實際的代碼存儲器(Flash)。另一種方法是增加一個周期中獲取的數據量。使用更寬的 Flash 訪問會降低 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 控制器、用于實現用戶界面的觸控 MCU,以及用于運行應用程序的主 MCU。這三個 MCU 的功能可以通過一個高度集成的多核 MCU 來提供。
多核 MCU 提供了許多其他好處。例如,多核 MCU 集成了足夠的資源以允許 CPU 并行處理密集型任務,從而充分利用多任務處理效率。這些還允許開發人員有效地將系統事件分配給特定的內核,從而滿足功率和性能目標。例如,在雙核可穿戴設計中,可以將需要較少 CPU 干預的周期性功能(如無線廣播和觸摸感應)分配給一個內核。其他需要大量 CPU 干預的“高接觸”功能(例如傳感器融合)可以分配給另一個內核。當在系統中運行多個應用程序時,這種分區減少了延遲時間。集成還通過整合協議棧和程序內存來提高效率。
【圖5 | 用于物聯網應用的多核 MCU 示例]
圖 6 顯示了一個多核 MCU,即Cypress MCU PSoC 6低功耗藍牙。該雙核設備具有兩個 32 位 ARM Cortex CPU,即 Cortex-M4 和 Cortex-M0+。這兩個 CPU 都是 32 位處理器,具有 32 位數據路徑、32 位寄存器和 32 位存儲器接口。Cortex-M4 是主 CPU,專為短中斷響應時間、高代碼密度和高 32 位吞吐量而設計,同時保持嚴格的成本和功耗預算。Cortex-M0+ 用作處理安全、安全和保護功能的輔助 CPU。Cortex CPU 實現了 Thumb 指令集的一個子集,并有兩種操作模式,稱為線程模式和處理程序模式。這些 CPU 在解除復位并執行應用軟件時進入線程模式。為了處理異常,CPU 進入 Handle 操作模式。在所有異常處理完成后,CPU 返回線程模式。
【圖6 | 多核嵌入式 MCU 示例(PSoC 6 BLE)]
處理器間通信(實現外設共享和信息交換)
在多核 MCU 中,需要處理器間通信 (IPC) 來協調內核之間的操作。IPC 充當通信管理器,處理處理器之間的消息分發?,F代 CPU 架構(如 ARM Cortex)支持硬件和固件中的多核通信。一個這樣的示例是發送事件 (SEV) 指令,該指令在執行時斷言設備中的所有內核。MCU廠商已經采用了多種方法來實現IPC:
基于中斷
使用這種方法,一個內核向另一個內核發送中斷以指示應用程序事件。通常,中斷例程非常緊湊,不會占用太多代碼內存。與任何中斷機制一樣,每個中斷都有自己的中斷服務程序 (ISR),通過它可以由各自的內核執行特定任務。對于數據的實際傳遞,有一個可以被多個內核訪問的共享內存。除了共享數據之外,它還提供了一種請求和確認消息的機制。
郵箱
郵箱是 RAM 中的專用內存空間,供每個 CPU 相互發送和接收消息。每個核心維護自己的 RAM 內存(郵箱)并將消息發送到其他核心的郵箱。
隊列消息
消息隊列使用兩個共享內存區域來存儲每個核心發送給另一個核心的消息。第一個是稱為命令緩沖區的專用存儲器,用于存儲從主機發送到從機的命令。另一個專用存儲器稱為消息緩沖區,允許從設備響應主設備。
【圖7 | 處理器間通信(IPC)的各種模式]
信號量
信號量是一種防止多個源同時訪問共享資源的機制。在多核處理器中,共享硬件位置充當信號量來指示,例如,特定共享外圍設備是否正在被特定內核使用。在訪問外設之前,系統中的其他核讀取信號量狀態以查看其是否可用。
串行存儲器接口(物聯網存儲器的選擇)
內存是任何物聯網系統不可或缺的一部分,用于代碼和數據存儲。現代物聯網設備所需的不斷增長的智能推動了對更大代碼和數據內存的需求。然而,將所有這些存儲器作為內部存儲器集成到設備中會增加 MCU 的芯片尺寸和成本。另一種方法是提供根據需要在外部擴展內存的選項。這使開發人員能夠根據最終應用程序的需要添加內存。此外,如果在開發周期過程中發現預算的內部存儲器空間不足,則可以引入額外的外部存儲器,而無需重新設計整個系統。
了解外部存儲器接口的速度和安全性以及它的易用性也很重要。一般來說,串行存儲器是比并行存儲器更好的選擇,以節省 MCU 上有限的 IO 引腳。雖然基于 SPI 的串行存儲器為數據記錄提供了合理的接口速度,但直接執行外部代碼需要更高的速度。這些要求促使 MCU 制造商提供 SPI 的替代方案。這是不同方案的數據吞吐量的快速比較。
SPI:支持 1 位/周期吞吐量
Dual-SPI:支持 2 位/周期吞吐量
Quad-SPI:支持 4 位/周期吞吐量
Dual Quad-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 例程來保證 Flash 中用戶數據的身份驗證。安全啟動是一個涉及密碼學的過程,它允許物聯網設備開始執行經過身份驗證且因此受信任的軟件來運行。
在第 1 部分中,我們介紹了先進的工藝技術、低功耗設計技術、多核系統的功耗注意事項、內核間通信、串行存儲器接口和系統安全性。在第 2 部分中,我們將介紹高級 BLE 無線鏈路、模擬前端、智能觸摸界面以及其他對物聯網設計很重要的技術。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19399瀏覽量
230727 -
mcu
+關注
關注
146文章
17310瀏覽量
352193 -
BLE
+關注
關注
12文章
670瀏覽量
59494
發布評論請先 登錄
相關推薦
評論