想要在物聯網(IoT)市場占據一席之地,原始設備制造商(OEM)必須加快創新的步伐。物聯網的應用讓一切變得無限可能,成功的企業會敦促其開發人員不斷拓展和采取新的、更實用的方法來發揮傳感器的功能,監測不同類型的數據,掌控整個設備的生態系統。
物聯網應用覆蓋廣泛,包括可穿戴設備、汽車、住宅、工業、乃至城市等眾多領域。這些應用需要更加高效節能的、創新的、安全的體系作為支持。應用程序十分重要,旨在實現軟件開發的直觀性和易用性。
微控制器(MCU)作為物聯網產品的核心,選擇合適的 MCU 是滿足客戶當前和未來需求的關鍵。本文將探討當今不斷增強的嵌入式 MCU 的豐富功能,MCU 在加速設計的同時還可實現創新應用。在第一部分,我們會介紹到先進的工藝技術、低功耗設計技術、多核系統的功耗問題、多核間的通訊、串行存儲器接口以及系統安全性。
物聯網市場(增長最快的引擎)
物聯網技術不斷改變我們的日常工作和生活方式,使我們的生活更加經濟、便捷、舒適和智能化。物聯網市場可以大致分為兩大類:消費型物聯網和企業物聯網。
消費型物聯網包括住宅、生活方式、健康和出行。個人用戶可以通過這些物聯網設備產品提高其生產力、安全性和生活質量。從智能住宅到聯網汽車,消費者市場正在為下一波浪潮做好準備。
圖1:消費型物聯網市場細分
企業物聯網的覆蓋范圍巨大,包括零售、醫療、能源、出行、城市、制造業和公共服務。企業物聯網細分市場會改變組織和社區,從而創造一個實現經濟增長的新時代。物聯網通過連接數據、人員和機器來提高生產力、生產效率以及日常運營水平。企業物聯網也可以作為幫助企業識別未開發領域新增長機會的工具。
圖2:企業物聯網市場細分
工藝技術(尺寸十分重要)
制造 MCU 的工藝技術對于其本身的性能、低功耗和成本而言至關重要。物聯網應用需要高效的有源功耗和低功耗模式消耗來提高系統的整體功效。隨著制造技術的不斷進步,促使硅核心面積不斷縮小。同一塊硅片上可以制造出更多的 MCU,從而降低了芯片的整體成本,性能和功耗也因此直接受到影響。尺寸的縮小減少了開啟/關閉每個晶體管所需的電流,同時保證了時鐘頻率不變。因此,更小的芯片意味著具備更高的的最大時鐘頻率,可以在較低的功耗下實現更高的性能。
例如,用于制造賽普拉斯半導體 PSoC 6 BLE 系列MCU 的 40 納米工藝技術,為各種物聯網應用提供了高性能,且高效節能的解決方案。深度睡眠時的電流僅為幾微安,且能夠完全保留 RAM 數據。運行、睡眠、低功耗運行和低功耗睡眠等其他功耗模式,助力開發人員能夠在靈活地優化系統功耗的同時根據需求保持應用的高性能。
圖3:用于物聯網應用的低功耗 MCU 框圖
功率(至關重要)
設計物聯網設備時所面臨的一大挑戰是高能耗。大多數物聯網設備處于實時在線、小體積,這意味著自身電池容量非常有限。MCU 供應商在優化其在物聯網應用時需要考慮諸多因素,比如:
改進工藝技術
提供高度靈活的功耗模式
實現功耗優化過的硬件 IP 模塊
更高的集成度以減少組件數量
優化閃存頻率
啟用高速緩存
支持更大范圍的工作電壓
然而,在工藝技術縮小體積、提高性能、改進功耗和集成度的同時,也出現了電流泄漏的管理問題,尤其是在低功耗模式下。為了應對電流泄漏問題的挑戰,MCU 供應商采用了特殊的晶體管工藝技術,如多柵器件、高壓晶體管/邏輯/電路、專門設計的存儲單元以及其多方面的技術。
靈活的功耗模式能夠促使開發人員安排獨立系統活動,從而優化整體功耗。提供多種可以在低功耗模式下運行且可以在不喚醒 CPU 的情況下被喚醒執行其功能的外設,是這方面的關鍵技術。一些 MCU 還提供外圍設備,只能執行有限功能的特殊低功耗工作模式(例如較低的工作頻率和電壓)以進一步優化應用功耗,甚至可以設計優化功耗的特定外設,即 BLE 無線電可以采用支持低功率無線通訊的設計。
影響功耗的另一個因素是非易失性(NV)內存訪問,尤其是使用閃存(NV存儲器)存儲固件代碼的 MCU。閃存訪問的任何優化都會大大降低功耗,其目標是盡量減少閃存訪問的頻率。這里使用了兩種常用的技術,其中一種是提供一個高速緩沖存儲器。這樣,實際的代碼存儲器(閃存)就無需在每個執行周期都被訪問。另一種方法是增加一個周期內獲取的數據量,通過使用范圍更廣的閃存訪問降低閃存的訪問頻率。
基于物聯網的 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 有助于提供高性能并保持小尺寸??纱┐髟O備等典型的物聯網設計需要多個 MCU,包括:一個用于無線通信的 BLE 控制器、用于執行用戶界面的 Touch MCU 和一個用來實現該應用程序運行的主要的 MCU。這三種 MCU 的功能可以由一個高度集成的多核 MCU 提供。
多核 MCU 可帶來許多其他益處。例如,它可以集成足夠的資源使 CPU 能夠并行處理密集型任務,從而充分發揮多任務處理的效率。這也使開發人員可以有效地將系統事件分配給特定的內核,從而達到功耗和性能目標。再比如,在雙核可穿戴設計中,可以將需要較少 CPU 干預的周期性功能(例如無線廣播和觸摸感應)分配給一個內核。其他“頻繁接觸”的功能,如需要 CPU 頻繁干預的傳感器融合等,可以分配給另一個內核。當在系統中運行多個應用程序時,這種分區縮短了延遲時間。通過整合協議棧和程序存儲器的集成還可以提高效率。
圖5:物聯網多核MCU 示例
圖6表示的是一個多核 MCU——賽普拉斯 MCU PSoC 6 BLE。該雙核 MCU 具有兩個32位 ARM Cortex CPU — Cortex-M4 和Cortex-M0+。這兩個 CPU 都是具備一個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)的各種模式
信號量:信號量是一種防止多個源同時訪問共享資源的機制。在多核處理器中,共享硬件位置作為信號量指示特定內核是否正在使用特定的共享外設等。在訪問外設之前,系統中的其他內核會讀取信號量狀態以查看是否可用。
串行存儲器接口(IoT 內存的選擇)
內存是任何物聯網系統不可缺少的組成部分。其功能主要是代碼和數據存儲。現代物聯網設備不斷增長的智能化需求帶動了對更大代碼和數據存儲器的需求。但是將所有這些內存作為內部存儲器集成到設備中會增加 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(現場執行)模式和記錄數據的 MMIO(內存映射 IO)模式。它使用特殊命令進行控制,比如閃存的編程/擦除、存儲器設備的睡眠模式輸入等。
圖8:串行存儲接口(SMIF)示例
SMIF 允許用戶配置多個相同或不同類型和大小的存儲設備。在內存(XIP)模式下,多個內存設備被映射到不同的地址。它們可以是不同類型和用途的存儲器,也可以是在連續地址空間中配置以模擬連續大存儲器的相同存儲器設備。SMIF 外設和 SPI 閃存的組合使用可以替代外部 NAND 和 NOR 閃存,并且可以節省電路板空間。由于串行閃存直接映射到處理器的內存空間數據存儲中并且支持 XIP 的執行,所以其易用性高于 NAND 內存。
系統的網絡安全、隱私和設備安全
(信任根源)
設備一旦連網就存在被黑客入侵的可能性。因此,無論設備是運動手環還是聯網汽車,物聯網設備的安全性都是一個不容忽視的因素。所有層面都需要數據保護,包括存儲、處理和通訊期間,從而確保系統的可靠性。另外,任何處理數據的軟件或固件都應得到保護??梢栽趦蓚€層面上實現這種安全性。第一個層面是軟件安全,第二個層面是硬件安全,即通過硬件保護軟件。
通常,安全軟件使用存儲在代碼空間內的密鑰。雖然這在技術上可以實現加密和解密,但這個過程仍然容易受到黑客攻擊。這是因為它是一個存儲代碼,當代碼被解碼的那一刻,安全性就蕩然無存了。
安全硬件則使用集成電路來保護系統,比如代碼和數據的加密和解密。安全硬件是獨立的,不需要任何額外的軟件來操作,這杜絕了惡意代碼、感染、污染或其他漏洞破壞系統、客戶數據和服務的可能性。因此,在保護敏感數據或代碼時,安全硬件是首選方法。所以用于物聯網的 MCU 具有復雜的集成硬件安全特性,如密碼塊、代碼保護 IP 和其他基于硬件的機制。
與固件相比,安全硬件還具有提供更快性能和更低功耗的優勢。比如,賽普拉斯 PSoC 6 BLE MCU 中的專用加密模塊可加速加密功能。此外,該模塊提供了真隨機數生成功能、對稱密鑰加密和解密、哈希、消息認證、隨機數生成(偽隨機和真隨機)、循環冗余校驗以及諸如啟用/禁用、中斷設置和標記等實用功能。該 MCU 組件還配備了安全啟動功能。該功能使用 ROM 程序在閃存中驗證用戶數據。安全啟動是一項包含加密技術的過程,它使物聯網設備開始執行已認證的可信軟件。因此,系統可以從一個已知、可信的狀態開啟。
在第一部分中,我們介紹了先進的工藝技術、低功耗設計技術、多核系統的功耗、內核間通訊、串行存儲器接口以及系統安全性。第二部分將介紹高級 BLE 無線鏈路、模擬前端、智能觸摸界面以及其他重要的物聯網設計技術。
圖9:物聯網 MCU 的安全生態系統
-
mcu
+關注
關注
146文章
17171瀏覽量
351466 -
嵌入式
+關注
關注
5085文章
19138瀏覽量
305726 -
物聯網
+關注
關注
2909文章
44704瀏覽量
374021
原文標題:剖析物聯網的需求——第一部分
文章出處:【微信號:CypressChina,微信公眾號:Cypress教程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論