為了在物聯(lián)網(wǎng) (IoT) 市場(chǎng)中發(fā)揮作用,原始設(shè)備制造商 (OEM) 需要能夠接受更快的創(chuàng)新速度。物聯(lián)網(wǎng)應(yīng)用的可能范圍是無窮無盡的,成功的公司使其開發(fā)人員能夠不斷識(shí)別和實(shí)施新的和更有用的方法來利用傳感器的功能,監(jiān)控不同類型的數(shù)據(jù),并控制設(shè)備的生態(tài)系統(tǒng)。
物聯(lián)網(wǎng)應(yīng)用跨越許多領(lǐng)域,包括可穿戴設(shè)備、汽車、家庭、工業(yè)甚至城市。除了允許開發(fā)人員實(shí)施創(chuàng)新外,物聯(lián)網(wǎng)設(shè)備還必須高效、安全且美觀。應(yīng)用程序很重要,必須圍繞旨在推廣易于使用設(shè)備的直觀軟件。
微控制器 (MCU) 是基于物聯(lián)網(wǎng)的產(chǎn)品的核心,選擇合適的 MCU 是滿足客戶當(dāng)前和未來需求的關(guān)鍵。本文將探討當(dāng)今嵌入式MCU在加速設(shè)計(jì)的同時(shí)支持創(chuàng)新應(yīng)用的各種功能。在第 1 部分中,我們將介紹高級(jí)工藝技術(shù)、低功耗設(shè)計(jì)技術(shù)、多核系統(tǒng)的功耗考慮因素、內(nèi)核間通信、串行存儲(chǔ)器接口和系統(tǒng)安全性。
物聯(lián)網(wǎng)市場(chǎng)(增長(zhǎng)最快的引擎)
物聯(lián)網(wǎng)技術(shù)繼續(xù)改變?nèi)粘9ぷ骱蜕罘绞?,使其更加?shí)惠、更方便、更舒適、更智能。物聯(lián)網(wǎng)市場(chǎng)大致可分為兩類:消費(fèi)者物聯(lián)網(wǎng)和商業(yè)物聯(lián)網(wǎng)。
消費(fèi)者物聯(lián)網(wǎng)
消費(fèi)者物聯(lián)網(wǎng)廣泛包括家庭、生活方式、健康和移動(dòng)性。設(shè)備通常是個(gè)人的互聯(lián)產(chǎn)品,以提高他們的生產(chǎn)力、安全性和生活方式。從智能家居到聯(lián)網(wǎng)汽車,從智能醫(yī)療保健到舒適生活方式,消費(fèi)市場(chǎng)正在為下一波大浪潮做準(zhǔn)備。
商業(yè)物聯(lián)網(wǎng)
商業(yè)物聯(lián)網(wǎng)非常廣泛,廣泛包括零售、健康、能源、移動(dòng)、城市、制造和公共服務(wù)。商業(yè)物聯(lián)網(wǎng)部門將改變組織和社區(qū),以實(shí)現(xiàn)經(jīng)濟(jì)增長(zhǎng)的新時(shí)代。物聯(lián)網(wǎng)通過連接數(shù)據(jù)、人員和機(jī)器來提高生產(chǎn)力、效率和日常運(yùn)營。商業(yè)物聯(lián)網(wǎng)還可以作為一種工具,幫助公司在未開發(fā)的領(lǐng)域識(shí)別新的增長(zhǎng)機(jī)會(huì)。
工藝技術(shù)(尺寸 – 大不了)
用于制造MCU的工藝技術(shù)對(duì)于確定其性能、低功耗能力和成本至關(guān)重要。物聯(lián)網(wǎng)應(yīng)用需要高效的有功功耗和低功耗模式消耗,以實(shí)現(xiàn)系統(tǒng)的整體能效。制造技術(shù)的不斷進(jìn)步導(dǎo)致模具尺寸縮小。這降低了芯片的總體成本,因?yàn)樗试S在同一塊硅晶圓上制造更多的MCU。性能和功率也受到芯片收縮的影響??s小芯片可降低打開/關(guān)閉每個(gè)晶體管所需的電流,同時(shí)保持相同的時(shí)鐘頻率。因此,較小的芯片具有更低的功耗,更高的最大時(shí)鐘頻率導(dǎo)致更高的性能。
例如,用于制造賽普拉斯半導(dǎo)體的可編程片上系統(tǒng)(PSoC)6 BLE系列MCU的40納米工藝技術(shù)為各種物聯(lián)網(wǎng)應(yīng)用提供了高性能和高性價(jià)比的實(shí)現(xiàn)。深度睡眠電流只需要幾微安的電流即可完全保持。其他功耗模式(包括活動(dòng)、睡眠、低功耗活動(dòng)和低功耗睡眠)使開發(fā)人員能夠靈活地優(yōu)化系統(tǒng)功耗,同時(shí)在需要時(shí)保持高性能。

[圖3 |用于物聯(lián)網(wǎng)應(yīng)用的低功耗MCU框圖]
權(quán)力(最重要)
設(shè)計(jì)物聯(lián)網(wǎng)設(shè)備時(shí)的最大挑戰(zhàn)之一是它們可能耗電。大多數(shù)物聯(lián)網(wǎng)設(shè)備都是始終在線且小巧的,這意味著它們可以容納的電池尺寸有限。MCU供應(yīng)商在為物聯(lián)網(wǎng)應(yīng)用優(yōu)化MCU時(shí)會(huì)考慮各種因素,例如
改進(jìn)工藝技術(shù)
提供高度靈活的電源模式
啟用功耗優(yōu)化的硬件 IP 塊
將重要功能集成到單個(gè)芯片中
優(yōu)化閃存訪問頻率
啟用緩存
支持更寬的工作電壓范圍
遺憾的是,雖然縮小工藝技術(shù)可以提高性能、功耗和集成度,但它帶來了管理漏電流的挑戰(zhàn),尤其是在低功耗模式下。為了應(yīng)對(duì)漏電流的挑戰(zhàn),MCU供應(yīng)商采用了特殊的晶體管工藝技術(shù),如多柵極器件、高壓晶體管/邏輯/電路、專門設(shè)計(jì)的存儲(chǔ)單元等。
靈活的功耗模式使開發(fā)人員能夠安排單個(gè)系統(tǒng)事件,從而優(yōu)化整體功耗。一項(xiàng)關(guān)鍵技術(shù)是提供多個(gè)外設(shè),這些外設(shè)可以在低功耗模式下運(yùn)行,并且可以在不喚醒CPU的情況下喚醒以執(zhí)行其功能。一些MCU還提供特殊的低功耗有源模式,其中外設(shè)可用于功能有限的操作(例如較低的工作頻率和電壓),以進(jìn)一步優(yōu)化應(yīng)用功耗。甚至可以設(shè)計(jì)特定的外設(shè)以優(yōu)化功耗;即,BLE無線電可以設(shè)計(jì)為支持低功耗無線通信。
另一個(gè)顯著影響功耗的因素是非易失性 (NV) 內(nèi)存訪問。對(duì)于使用閃存(NV存儲(chǔ)器)存儲(chǔ)固件代碼的MCU尤其如此。閃存訪問中的任何優(yōu)化都會(huì)導(dǎo)致功耗大幅降低。目標(biāo)是盡量減少閃存訪問的頻率。這里應(yīng)用了兩種常用技術(shù)。一種方法是提供緩存。這樣,不需要在每個(gè)執(zhí)行周期都不訪問實(shí)際的代碼存儲(chǔ)器(Flash)。另一種方法是增加一個(gè)周期內(nèi)獲取的數(shù)據(jù)量。使用更寬的閃存訪問可降低閃存訪問頻率。
基于物聯(lián)網(wǎng)的MCU還可以提供靈活的電源系統(tǒng)。通過支持寬電源電壓范圍,MCU可以使用多個(gè)電源供電。例如,簡(jiǎn)單的物聯(lián)網(wǎng)應(yīng)用(如健身追蹤器)可以由紐扣電池供電,而復(fù)雜的物聯(lián)網(wǎng)應(yīng)用(如智能手表)可以由電源管理集成電路PMIC供電。一些MCU提供內(nèi)部降壓轉(zhuǎn)換器,以有效調(diào)節(jié)功率。
在考慮MCU的功耗模式時(shí),重要的是要超越基本架構(gòu)。例如,標(biāo)準(zhǔn) ARM CPU 內(nèi)核支持活動(dòng)、睡眠和深度睡眠。其他電源模式通常由特定的MCU供應(yīng)商添加。例如,賽普拉斯PSoC 6 BLE MCU在六種電源模式下運(yùn)行,增加了低功耗活動(dòng)、低功耗睡眠和休眠。

[圖4 |PSoC 6 BLE MCU 中的電源模式轉(zhuǎn)換示例]
多處理器 MCU(并行應(yīng)用程序任務(wù)運(yùn)行速度更快)
物聯(lián)網(wǎng)系統(tǒng)在基于其功能集的同時(shí)在復(fù)雜性上增加,同時(shí)在物理尺寸方面也在縮小。MCU制造商的目標(biāo)是提高系統(tǒng)的性能,同時(shí)保持盡可能低的尺寸和功耗。多核 MCU 和片上系統(tǒng) (SoC) 通過在單個(gè)芯片中集成更多功能并最大限度地減少芯片空間來提供更高的性能。多核處理器是由兩個(gè)或多個(gè)獨(dú)立內(nèi)核(或 CPU)組成的 MCU 或 SoC。內(nèi)核通常集成到單個(gè)芯片上,盡管它們可以在單個(gè)封裝中實(shí)現(xiàn)為多個(gè)芯片。
多核MCU有助于提供高性能,同時(shí)保持較小的占用空間。在可穿戴設(shè)備等典型物聯(lián)網(wǎng)設(shè)計(jì)中,需要多個(gè)MCU:用于無線通信的BLE控制器,用于用戶界面實(shí)現(xiàn)的Touch MCU,以及用于運(yùn)行應(yīng)用的主MCU。這三款MCU的功能可通過單個(gè)高度集成的多核MCU提供。
多核MCU還提供許多其他優(yōu)勢(shì)。例如,多核MCU集成了足夠的資源,使CPU能夠并行處理密集型任務(wù),從而利用多任務(wù)處理效率。這些還允許開發(fā)人員有效地將系統(tǒng)事件分配給特定內(nèi)核,從而滿足功耗和性能目標(biāo)。例如,在雙核可穿戴設(shè)計(jì)中,可以將無線廣播和觸摸感應(yīng)等需要較少CPU干預(yù)的周期性功能分配給一個(gè)內(nèi)核。其他需要大量CPU干預(yù)的“高接觸”功能(如傳感器融合)可以分配給另一個(gè)內(nèi)核。這種分區(qū)減少了在系統(tǒng)中運(yùn)行多個(gè)應(yīng)用程序時(shí)的延遲時(shí)間。集成還通過整合協(xié)議棧和程序存儲(chǔ)器來提高效率。

[圖5 |面向物聯(lián)網(wǎng)應(yīng)用的多核MCU示例]
圖 6 顯示了一個(gè)多核 MCU,即賽普拉斯 MCU PSoC 6BLE。這款雙核設(shè)備有兩個(gè)32位ARM Cortex CPU,Cortex-M4和Cortex-M0+。這兩個(gè) CPU 都是具有 32 位數(shù)據(jù)路徑、32 位寄存器和 32 位內(nèi)存接口的 32 位處理器。Cortex-M4 是專為短中斷響應(yīng)時(shí)間、高代碼密度和高 32 位吞吐量而設(shè)計(jì)的主 CPU,同時(shí)保持嚴(yán)格的成本和功耗預(yù)算。Cortex-M0+ 用作處理安全、安全和保護(hù)功能的輔助 CPU。Cortex CPU實(shí)現(xiàn)了Thumb指令集的一個(gè)子集,并具有兩種操作模式,稱為線程模式和處理程序模式。這些 CPU 在退出復(fù)位并執(zhí)行應(yīng)用軟件時(shí)進(jìn)入線程模式。為了處理異常,CPU 進(jìn)入處理操作模式。完成所有異常處理后,CPU 將返回到線程模式。

[圖6 |多核嵌入式MCU示例(PSoC 6 BLE)]
處理器間通信(支持外設(shè)共享和信息交換)
在多核MCU中,需要處理器間通信(IPC)來協(xié)調(diào)內(nèi)核之間的操作。IPC 充當(dāng)通信管理器,處理處理器之間的消息分發(fā)。現(xiàn)代 CPU 架構(gòu)(如 ARM Cortex)支持硬件和固件中的多核通信。一個(gè)這樣的例子是發(fā)送事件 (SEV) 指令,它在執(zhí)行時(shí)斷言設(shè)備中的所有內(nèi)核。MCU供應(yīng)商采用了多種方法來實(shí)現(xiàn)IPC:
基于中斷
使用這種方法,一個(gè)內(nèi)核向另一個(gè)內(nèi)核發(fā)送中斷以指示應(yīng)用程序事件。通常,中斷例程非常緊湊,不會(huì)占用太多代碼內(nèi)存。與任何中斷機(jī)制一樣,每個(gè)中斷都有自己的中斷服務(wù)例程 (ISR),通過該例程,相應(yīng)的內(nèi)核可以執(zhí)行特定任務(wù)。對(duì)于數(shù)據(jù)的實(shí)際傳遞,有一個(gè)可由多個(gè)內(nèi)核訪問的共享內(nèi)存。除了共享數(shù)據(jù)之外,它還提供了一種請(qǐng)求和確認(rèn)消息的機(jī)制。
郵箱
郵箱是 RAM 中的專用內(nèi)存空間,供每個(gè) CPU 相互發(fā)送和接收消息。每個(gè)內(nèi)核維護(hù)自己的 RAM 內(nèi)存(郵箱),并將消息發(fā)送到其他內(nèi)核的郵箱。
消息隊(duì)列
消息隊(duì)列使用共享內(nèi)存的兩個(gè)區(qū)域來存儲(chǔ)每個(gè)內(nèi)核發(fā)送給另一個(gè)內(nèi)核的消息。第一個(gè)是稱為命令緩沖區(qū)的專用存儲(chǔ)器,用于存儲(chǔ)從主服務(wù)器發(fā)送到從服務(wù)器的命令。另一個(gè)專用存儲(chǔ)器稱為消息緩沖區(qū),允許從站響應(yīng)主存儲(chǔ)器。

[圖7 |各種處理器間通信 (IPC) 模式]
信號(hào)量是一種防止多個(gè)源同時(shí)訪問共享資源的機(jī)制。在多核處理器中,共享硬件位置充當(dāng)信號(hào)量,以指示特定內(nèi)核是否正在使用特定共享外設(shè)。在訪問外設(shè)之前,系統(tǒng)中的其他內(nèi)核會(huì)讀取信號(hào)燈狀態(tài)以查看其是否可用。
串行存儲(chǔ)器接口(物聯(lián)網(wǎng)存儲(chǔ)器選擇)
內(nèi)存是任何物聯(lián)網(wǎng)系統(tǒng)不可或缺的一部分,用于代碼和數(shù)據(jù)存儲(chǔ)?,F(xiàn)代物聯(lián)網(wǎng)設(shè)備所需的不斷增長(zhǎng)的智能推動(dòng)了對(duì)更大代碼和數(shù)據(jù)存儲(chǔ)器的需求。但是,將所有這些存儲(chǔ)器作為內(nèi)部存儲(chǔ)器集成到器件中會(huì)增加MCU的芯片尺寸和成本。另一種方法是根據(jù)需要提供從外部擴(kuò)展內(nèi)存的選項(xiàng)。這使開發(fā)人員能夠根據(jù)最終應(yīng)用的需要添加內(nèi)存。此外,如果在開發(fā)周期中發(fā)現(xiàn)預(yù)算的內(nèi)部存儲(chǔ)器空間不足,則可以引入額外的外部存儲(chǔ)器,而無需重新設(shè)計(jì)整個(gè)系統(tǒng)。
了解外部存儲(chǔ)器接口的速度和安全性以及它的易用性也很重要。通常,串行存儲(chǔ)器是并行存儲(chǔ)器的更好選擇,以節(jié)省MCU上有限的IO引腳。雖然基于SPI的串行存儲(chǔ)器為數(shù)據(jù)記錄提供了合理的接口速度,但直接執(zhí)行外部代碼需要更高的速度。這些要求促使MCU制造商提供SPI的替代品。以下是不同方案的數(shù)據(jù)吞吐量的快速比較。
SPI:支持 1 位/周期吞吐量
雙 SPI:支持 2 位/周期吞吐量
四通道 SPI:支持 4 位/周期吞吐量
雙通道四通道 SPI:支持 1 字節(jié)/周期吞吐量
通常,MCU將同時(shí)支持多種類型的存儲(chǔ)器,為開發(fā)人員提供最大的靈活性。
由于許多物聯(lián)網(wǎng)系統(tǒng)處理用戶的個(gè)人數(shù)據(jù),因此確保數(shù)據(jù)安全非常重要。同樣,代碼存儲(chǔ)器需要保護(hù),以防止未經(jīng)授權(quán)使用設(shè)備。外部存儲(chǔ)器在安全性方面更容易受到攻擊,因此需要特殊的機(jī)制來保護(hù)外部存儲(chǔ)的數(shù)據(jù)。為了實(shí)現(xiàn)這一點(diǎn),MCU使用各種加密技術(shù)(例如AES,DES,RSA)來保護(hù)數(shù)據(jù)和代碼免受未經(jīng)授權(quán)的訪問。例如,賽普拉斯半導(dǎo)體的PSoC 6 BLE MCU提供了一個(gè)特殊的串行存儲(chǔ)器接口(SMIF)外設(shè),支持直接外部代碼執(zhí)行的就地執(zhí)行(XIP)模式和數(shù)據(jù)記錄的備忘錄映射IO(MMIO)模式。它使用特殊命令進(jìn)行控制,例如閃存的編程/擦除,存儲(chǔ)設(shè)備的睡眠模式進(jìn)入等。

[圖8 |串行存儲(chǔ)器接口 (SMIF) 示例]
SMIF 允許用戶配置相同或不同類型和大小的多個(gè)存儲(chǔ)設(shè)備。多個(gè)內(nèi)存設(shè)備在內(nèi)存 (XIP) 模式下映射到不同的地址。它們可以是不同的內(nèi)存類型,使它們與系統(tǒng)中的不同用途保持一致。它們也可以是在連續(xù)地址空間中配置的相同內(nèi)存設(shè)備,以模擬連續(xù)的大內(nèi)存。將 SMIF 外設(shè)與 SPI 閃存結(jié)合使用是外部 NAND 和 NOR 閃存的可行替代品,還可以節(jié)省電路板空間。串行閃存直接映射到處理器的內(nèi)存空間數(shù)據(jù)存儲(chǔ)并支持執(zhí)行 XIP,因此與 NAND 存儲(chǔ)器相比,易用性得到改進(jìn)。
系統(tǒng)安全、隱私和安全(信任根)
連接設(shè)備后,就會(huì)引入被黑客入侵的可能性。因此,物聯(lián)網(wǎng)設(shè)備的安全性是一個(gè)不容商量的要素,無論設(shè)備是個(gè)人可穿戴手環(huán)還是聯(lián)網(wǎng)汽車。所有級(jí)別都需要數(shù)據(jù)保護(hù),包括存儲(chǔ)、處理和通信期間,以確保系統(tǒng)可靠性。此外,處理數(shù)據(jù)的任何軟件或固件也應(yīng)受到保護(hù)??梢栽趦蓚€(gè)級(jí)別上啟用此類安全性。第一個(gè)層次是軟件安全。第二個(gè)層次是硬件安全,即通過硬件保護(hù)軟件。
通常,基于軟件的安全性使用存儲(chǔ)在代碼空間中的密鑰。盡管這在技術(shù)上可以執(zhí)行加密和解密,但由于它是存儲(chǔ)的代碼,因此該過程仍然容易受到黑客攻擊。代碼被解碼的那一刻,安全性就被打敗了。
基于硬件的安全使用集成電路來保護(hù)系統(tǒng);例如,代碼和數(shù)據(jù)的加密和解密?;谟布陌踩允仟?dú)立的,不需要任何其他軟件即可運(yùn)行,從而消除了惡意代碼、感染、污染或其他漏洞危害系統(tǒng)、客戶數(shù)據(jù)和服務(wù)的可能性。因此,在保護(hù)敏感數(shù)據(jù)或代碼時(shí),基于硬件的安全性是首選方法。這就是為什么用于物聯(lián)網(wǎng)應(yīng)用的MCU具有復(fù)雜的集成硬件安全功能,如加密塊、代碼保護(hù)IP和其他基于硬件的機(jī)制。
與固件實(shí)現(xiàn)相比,基于硬件的安全性還具有以更低的功耗提供更快的性能的額外好處。例如,賽普拉斯PSoC 6 BLE MCU中的專用加密模塊可加速加密功能。此外,該模塊還提供真隨機(jī)數(shù)生成功能、對(duì)稱密鑰加密和解密、散列、消息身份驗(yàn)證、隨機(jī)數(shù)生成(偽和真)、循環(huán)冗余檢查和實(shí)用程序功能,如啟用/禁用、中斷設(shè)置和標(biāo)志。該MCU設(shè)備還配備了安全啟動(dòng)功能。安全啟動(dòng)使用 ROM 例程來保證在閃存中對(duì)用戶數(shù)據(jù)進(jìn)行身份驗(yàn)證。安全啟動(dòng)是一個(gè)涉及加密的過程,它允許物聯(lián)網(wǎng)設(shè)備開始執(zhí)行經(jīng)過身份驗(yàn)證并因此受信任的軟件來運(yùn)行。因此,系統(tǒng)可以從已知的受信任狀態(tài)通電。
在第 1 部分中,我們將介紹高級(jí)工藝技術(shù)、低功耗設(shè)計(jì)技術(shù)、多核系統(tǒng)的功耗考慮因素、內(nèi)核間通信、串行存儲(chǔ)器接口和系統(tǒng)安全性。在第 2 部分中, 我們將介紹先進(jìn)的 BLE 無線鏈路, 模擬前端, 智能觸摸界面, 和其他對(duì)物聯(lián)網(wǎng)設(shè)計(jì)很重要的技術(shù)。
審核編輯:郭婷
-
mcu
+關(guān)注
關(guān)注
147文章
18954瀏覽量
399012 -
嵌入式
+關(guān)注
關(guān)注
5200文章
20481瀏覽量
334546 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2946文章
47864瀏覽量
415595
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式MCU在加速設(shè)計(jì)的同時(shí)支持創(chuàng)新應(yīng)用的各種功能
評(píng)論