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