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