為了在物聯(lián)網(wǎng) (IoT) 市場中發(fā)揮作用,原始設(shè)備制造商 (OEM) 需要能夠接受更快的創(chuàng)新速度。物聯(lián)網(wǎng)應(yīng)用的可能范圍是無窮無盡的,成功的公司使其開發(fā)人員能夠不斷識別和實施新的和更有用的方法來利用傳感器的功能,監(jiān)控不同類型的數(shù)據(jù),并控制設(shè)備的生態(tài)系統(tǒng)。
物聯(lián)網(wǎng)應(yīng)用跨越許多領(lǐng)域,包括可穿戴設(shè)備、汽車、家庭、工業(yè)甚至城市。除了允許開發(fā)人員實施創(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è)計的同時支持創(chuàng)新應(yīng)用的各種功能。在第 1 部分中,我們將介紹高級工藝技術(shù)、低功耗設(shè)計技術(shù)、多核系統(tǒng)的功耗考慮因素、內(nèi)核間通信、串行存儲器接口和系統(tǒng)安全性。
物聯(lián)網(wǎng)市場(增長最快的引擎)
物聯(lián)網(wǎng)技術(shù)繼續(xù)改變?nèi)粘9ぷ骱蜕罘绞剑蛊涓訉嵒?、更方便、更舒適、更智能。物聯(lián)網(wǎng)市場大致可分為兩類:消費者物聯(lián)網(wǎng)和商業(yè)物聯(lián)網(wǎng)。
消費者物聯(lián)網(wǎng)
消費者物聯(lián)網(wǎng)廣泛包括家庭、生活方式、健康和移動性。設(shè)備通常是個人的互聯(lián)產(chǎn)品,以提高他們的生產(chǎn)力、安全性和生活方式。從智能家居到聯(lián)網(wǎng)汽車,從智能醫(yī)療保健到舒適生活方式,消費市場正在為下一波大浪潮做準(zhǔn)備。
商業(yè)物聯(lián)網(wǎng)
商業(yè)物聯(lián)網(wǎng)非常廣泛,廣泛包括零售、健康、能源、移動、城市、制造和公共服務(wù)。商業(yè)物聯(lián)網(wǎng)部門將改變組織和社區(qū),以實現(xiàn)經(jīng)濟(jì)增長的新時代。物聯(lián)網(wǎng)通過連接數(shù)據(jù)、人員和機(jī)器來提高生產(chǎn)力、效率和日常運(yùn)營。商業(yè)物聯(lián)網(wǎng)還可以作為一種工具,幫助公司在未開發(fā)的領(lǐng)域識別新的增長機(jī)會。
工藝技術(shù)(尺寸 – 大不了)
用于制造MCU的工藝技術(shù)對于確定其性能、低功耗能力和成本至關(guān)重要。物聯(lián)網(wǎng)應(yīng)用需要高效的有功功耗和低功耗模式消耗,以實現(xiàn)系統(tǒng)的整體能效。制造技術(shù)的不斷進(jìn)步導(dǎo)致模具尺寸縮小。這降低了芯片的總體成本,因為它允許在同一塊硅晶圓上制造更多的MCU。性能和功率也受到芯片收縮的影響??s小芯片可降低打開/關(guān)閉每個晶體管所需的電流,同時保持相同的時鐘頻率。因此,較小的芯片具有更低的功耗,更高的最大時鐘頻率導(dǎo)致更高的性能。
例如,用于制造賽普拉斯半導(dǎo)體的可編程片上系統(tǒng)(PSoC)6 BLE系列MCU的40納米工藝技術(shù)為各種物聯(lián)網(wǎng)應(yīng)用提供了高性能和高性價比的實現(xiàn)。深度睡眠電流只需要幾微安的電流即可完全保持。其他功耗模式(包括活動、睡眠、低功耗活動和低功耗睡眠)使開發(fā)人員能夠靈活地優(yōu)化系統(tǒng)功耗,同時在需要時保持高性能。
[圖3 |用于物聯(lián)網(wǎng)應(yīng)用的低功耗MCU框圖]
權(quán)力(最重要)
設(shè)計物聯(lián)網(wǎng)設(shè)備時的最大挑戰(zhàn)之一是它們可能耗電。大多數(shù)物聯(lián)網(wǎng)設(shè)備都是始終在線且小巧的,這意味著它們可以容納的電池尺寸有限。MCU供應(yīng)商在為物聯(lián)網(wǎng)應(yīng)用優(yōu)化MCU時會考慮各種因素,例如
改進(jìn)工藝技術(shù)
提供高度靈活的電源模式
啟用功耗優(yōu)化的硬件 IP 塊
將重要功能集成到單個芯片中
優(yōu)化閃存訪問頻率
啟用緩存
支持更寬的工作電壓范圍
遺憾的是,雖然縮小工藝技術(shù)可以提高性能、功耗和集成度,但它帶來了管理漏電流的挑戰(zhàn),尤其是在低功耗模式下。為了應(yīng)對漏電流的挑戰(zhàn),MCU供應(yīng)商采用了特殊的晶體管工藝技術(shù),如多柵極器件、高壓晶體管/邏輯/電路、專門設(shè)計的存儲單元等。
靈活的功耗模式使開發(fā)人員能夠安排單個系統(tǒng)事件,從而優(yōu)化整體功耗。一項關(guān)鍵技術(shù)是提供多個外設(shè),這些外設(shè)可以在低功耗模式下運(yùn)行,并且可以在不喚醒CPU的情況下喚醒以執(zhí)行其功能。一些MCU還提供特殊的低功耗有源模式,其中外設(shè)可用于功能有限的操作(例如較低的工作頻率和電壓),以進(jìn)一步優(yōu)化應(yīng)用功耗。甚至可以設(shè)計特定的外設(shè)以優(yōu)化功耗;即,BLE無線電可以設(shè)計為支持低功耗無線通信。
另一個顯著影響功耗的因素是非易失性 (NV) 內(nèi)存訪問。對于使用閃存(NV存儲器)存儲固件代碼的MCU尤其如此。閃存訪問中的任何優(yōu)化都會導(dǎo)致功耗大幅降低。目標(biāo)是盡量減少閃存訪問的頻率。這里應(yīng)用了兩種常用技術(shù)。一種方法是提供緩存。這樣,不需要在每個執(zhí)行周期都不訪問實際的代碼存儲器(Flash)。另一種方法是增加一個周期內(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在六種電源模式下運(yùn)行,增加了低功耗活動、低功耗睡眠和休眠。
[圖4 |PSoC 6 BLE MCU 中的電源模式轉(zhuǎn)換示例]
多處理器 MCU(并行應(yīng)用程序任務(wù)運(yùn)行速度更快)
物聯(lián)網(wǎng)系統(tǒng)在基于其功能集的同時在復(fù)雜性上增加,同時在物理尺寸方面也在縮小。MCU制造商的目標(biāo)是提高系統(tǒng)的性能,同時保持盡可能低的尺寸和功耗。多核 MCU 和片上系統(tǒng) (SoC) 通過在單個芯片中集成更多功能并最大限度地減少芯片空間來提供更高的性能。多核處理器是由兩個或多個獨立內(nèi)核(或 CPU)組成的 MCU 或 SoC。內(nèi)核通常集成到單個芯片上,盡管它們可以在單個封裝中實現(xiàn)為多個芯片。
多核MCU有助于提供高性能,同時保持較小的占用空間。在可穿戴設(shè)備等典型物聯(lián)網(wǎng)設(shè)計中,需要多個MCU:用于無線通信的BLE控制器,用于用戶界面實現(xiàn)的Touch MCU,以及用于運(yùn)行應(yīng)用的主MCU。這三款MCU的功能可通過單個高度集成的多核MCU提供。
多核MCU還提供許多其他優(yōu)勢。例如,多核MCU集成了足夠的資源,使CPU能夠并行處理密集型任務(wù),從而利用多任務(wù)處理效率。這些還允許開發(fā)人員有效地將系統(tǒng)事件分配給特定內(nèi)核,從而滿足功耗和性能目標(biāo)。例如,在雙核可穿戴設(shè)計中,可以將無線廣播和觸摸感應(yīng)等需要較少CPU干預(yù)的周期性功能分配給一個內(nèi)核。其他需要大量CPU干預(yù)的“高接觸”功能(如傳感器融合)可以分配給另一個內(nèi)核。這種分區(qū)減少了在系統(tǒng)中運(yùn)行多個應(yīng)用程序時的延遲時間。集成還通過整合協(xié)議棧和程序存儲器來提高效率。
[圖5 |面向物聯(lián)網(wǎng)應(yīng)用的多核MCU示例]
圖 6 顯示了一個多核 MCU,即賽普拉斯 MCU PSoC 6BLE。這款雙核設(shè)備有兩個32位ARM Cortex CPU,Cortex-M4和Cortex-M0+。這兩個 CPU 都是具有 32 位數(shù)據(jù)路徑、32 位寄存器和 32 位內(nèi)存接口的 32 位處理器。Cortex-M4 是專為短中斷響應(yīng)時間、高代碼密度和高 32 位吞吐量而設(shè)計的主 CPU,同時保持嚴(yán)格的成本和功耗預(yù)算。Cortex-M0+ 用作處理安全、安全和保護(hù)功能的輔助 CPU。Cortex CPU實現(xiàn)了Thumb指令集的一個子集,并具有兩種操作模式,稱為線程模式和處理程序模式。這些 CPU 在退出復(fù)位并執(zhí)行應(yīng)用軟件時進(jìn)入線程模式。為了處理異常,CPU 進(jìn)入處理操作模式。完成所有異常處理后,CPU 將返回到線程模式。
[圖6 |多核嵌入式MCU示例(PSoC 6 BLE)]
處理器間通信(支持外設(shè)共享和信息交換)
在多核MCU中,需要處理器間通信(IPC)來協(xié)調(diào)內(nèi)核之間的操作。IPC 充當(dāng)通信管理器,處理處理器之間的消息分發(fā)?,F(xiàn)代 CPU 架構(gòu)(如 ARM Cortex)支持硬件和固件中的多核通信。一個這樣的例子是發(fā)送事件 (SEV) 指令,它在執(zhí)行時斷言設(shè)備中的所有內(nèi)核。MCU供應(yīng)商采用了多種方法來實現(xiàn)IPC:
基于中斷
使用這種方法,一個內(nèi)核向另一個內(nèi)核發(fā)送中斷以指示應(yīng)用程序事件。通常,中斷例程非常緊湊,不會占用太多代碼內(nèi)存。與任何中斷機(jī)制一樣,每個中斷都有自己的中斷服務(wù)例程 (ISR),通過該例程,相應(yīng)的內(nèi)核可以執(zhí)行特定任務(wù)。對于數(shù)據(jù)的實際傳遞,有一個可由多個內(nèi)核訪問的共享內(nèi)存。除了共享數(shù)據(jù)之外,它還提供了一種請求和確認(rèn)消息的機(jī)制。
郵箱
郵箱是 RAM 中的專用內(nèi)存空間,供每個 CPU 相互發(fā)送和接收消息。每個內(nèi)核維護(hù)自己的 RAM 內(nèi)存(郵箱),并將消息發(fā)送到其他內(nèi)核的郵箱。
消息隊列
消息隊列使用共享內(nèi)存的兩個區(qū)域來存儲每個內(nèi)核發(fā)送給另一個內(nèi)核的消息。第一個是稱為命令緩沖區(qū)的專用存儲器,用于存儲從主服務(wù)器發(fā)送到從服務(wù)器的命令。另一個專用存儲器稱為消息緩沖區(qū),允許從站響應(yīng)主存儲器。
[圖7 |各種處理器間通信 (IPC) 模式]
信號燈
信號量是一種防止多個源同時訪問共享資源的機(jī)制。在多核處理器中,共享硬件位置充當(dāng)信號量,以指示特定內(nèi)核是否正在使用特定共享外設(shè)。在訪問外設(shè)之前,系統(tǒng)中的其他內(nèi)核會讀取信號燈狀態(tài)以查看其是否可用。
串行存儲器接口(物聯(lián)網(wǎng)存儲器選擇)
內(nèi)存是任何物聯(lián)網(wǎng)系統(tǒng)不可或缺的一部分,用于代碼和數(shù)據(jù)存儲?,F(xiàn)代物聯(lián)網(wǎng)設(shè)備所需的不斷增長的智能推動了對更大代碼和數(shù)據(jù)存儲器的需求。但是,將所有這些存儲器作為內(nèi)部存儲器集成到器件中會增加MCU的芯片尺寸和成本。另一種方法是根據(jù)需要提供從外部擴(kuò)展內(nèi)存的選項。這使開發(fā)人員能夠根據(jù)最終應(yīng)用的需要添加內(nèi)存。此外,如果在開發(fā)周期中發(fā)現(xiàn)預(yù)算的內(nèi)部存儲器空間不足,則可以引入額外的外部存儲器,而無需重新設(shè)計整個系統(tǒng)。
了解外部存儲器接口的速度和安全性以及它的易用性也很重要。通常,串行存儲器是并行存儲器的更好選擇,以節(jié)省MCU上有限的IO引腳。雖然基于SPI的串行存儲器為數(shù)據(jù)記錄提供了合理的接口速度,但直接執(zhí)行外部代碼需要更高的速度。這些要求促使MCU制造商提供SPI的替代品。以下是不同方案的數(shù)據(jù)吞吐量的快速比較。
SPI:支持 1 位/周期吞吐量
雙 SPI:支持 2 位/周期吞吐量
四通道 SPI:支持 4 位/周期吞吐量
雙通道四通道 SPI:支持 1 字節(jié)/周期吞吐量
通常,MCU將同時支持多種類型的存儲器,為開發(fā)人員提供最大的靈活性。
由于許多物聯(lián)網(wǎng)系統(tǒng)處理用戶的個人數(shù)據(jù),因此確保數(shù)據(jù)安全非常重要。同樣,代碼存儲器需要保護(hù),以防止未經(jīng)授權(quán)使用設(shè)備。外部存儲器在安全性方面更容易受到攻擊,因此需要特殊的機(jī)制來保護(hù)外部存儲的數(shù)據(jù)。為了實現(xiàn)這一點,MCU使用各種加密技術(shù)(例如AES,DES,RSA)來保護(hù)數(shù)據(jù)和代碼免受未經(jīng)授權(quán)的訪問。例如,賽普拉斯半導(dǎo)體的PSoC 6 BLE MCU提供了一個特殊的串行存儲器接口(SMIF)外設(shè),支持直接外部代碼執(zhí)行的就地執(zhí)行(XIP)模式和數(shù)據(jù)記錄的備忘錄映射IO(MMIO)模式。它使用特殊命令進(jìn)行控制,例如閃存的編程/擦除,存儲設(shè)備的睡眠模式進(jìn)入等。
[圖8 |串行存儲器接口 (SMIF) 示例]
SMIF 允許用戶配置相同或不同類型和大小的多個存儲設(shè)備。多個內(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ù)存儲并支持執(zhí)行 XIP,因此與 NAND 存儲器相比,易用性得到改進(jìn)。
系統(tǒng)安全、隱私和安全(信任根)
連接設(shè)備后,就會引入被黑客入侵的可能性。因此,物聯(lián)網(wǎng)設(shè)備的安全性是一個不容商量的要素,無論設(shè)備是個人可穿戴手環(huán)還是聯(lián)網(wǎng)汽車。所有級別都需要數(shù)據(jù)保護(hù),包括存儲、處理和通信期間,以確保系統(tǒng)可靠性。此外,處理數(shù)據(jù)的任何軟件或固件也應(yīng)受到保護(hù)。可以在兩個級別上啟用此類安全性。第一個層次是軟件安全。第二個層次是硬件安全,即通過硬件保護(hù)軟件。
通常,基于軟件的安全性使用存儲在代碼空間中的密鑰。盡管這在技術(shù)上可以執(zhí)行加密和解密,但由于它是存儲的代碼,因此該過程仍然容易受到黑客攻擊。代碼被解碼的那一刻,安全性就被打敗了。
基于硬件的安全使用集成電路來保護(hù)系統(tǒng);例如,代碼和數(shù)據(jù)的加密和解密。基于硬件的安全性是獨立的,不需要任何其他軟件即可運(yùn)行,從而消除了惡意代碼、感染、污染或其他漏洞危害系統(tǒng)、客戶數(shù)據(jù)和服務(wù)的可能性。因此,在保護(hù)敏感數(shù)據(jù)或代碼時,基于硬件的安全性是首選方法。這就是為什么用于物聯(lián)網(wǎng)應(yīng)用的MCU具有復(fù)雜的集成硬件安全功能,如加密塊、代碼保護(hù)IP和其他基于硬件的機(jī)制。
與固件實現(xiàn)相比,基于硬件的安全性還具有以更低的功耗提供更快的性能的額外好處。例如,賽普拉斯PSoC 6 BLE MCU中的專用加密模塊可加速加密功能。此外,該模塊還提供真隨機(jī)數(shù)生成功能、對稱密鑰加密和解密、散列、消息身份驗證、隨機(jī)數(shù)生成(偽和真)、循環(huán)冗余檢查和實用程序功能,如啟用/禁用、中斷設(shè)置和標(biāo)志。該MCU設(shè)備還配備了安全啟動功能。安全啟動使用 ROM 例程來保證在閃存中對用戶數(shù)據(jù)進(jìn)行身份驗證。安全啟動是一個涉及加密的過程,它允許物聯(lián)網(wǎng)設(shè)備開始執(zhí)行經(jīng)過身份驗證并因此受信任的軟件來運(yùn)行。因此,系統(tǒng)可以從已知的受信任狀態(tài)通電。
在第 1 部分中,我們將介紹高級工藝技術(shù)、低功耗設(shè)計技術(shù)、多核系統(tǒng)的功耗考慮因素、內(nèi)核間通信、串行存儲器接口和系統(tǒng)安全性。在第 2 部分中, 我們將介紹先進(jìn)的 BLE 無線鏈路, 模擬前端, 智能觸摸界面, 和其他對物聯(lián)網(wǎng)設(shè)計很重要的技術(shù)。
審核編輯:郭婷
-
mcu
+關(guān)注
關(guān)注
146文章
17984瀏覽量
367009 -
嵌入式
+關(guān)注
關(guān)注
5152文章
19675瀏覽量
317620 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46251瀏覽量
392638
發(fā)布評論請先 登錄
Linux嵌入式和單片機(jī)嵌入式的區(qū)別?
嵌入式去哪個城市好?
康佳特推出aReady.IoT,加速嵌入式與邊緣計算創(chuàng)新
新手怎么學(xué)嵌入式?
意法半導(dǎo)體STM32支持RT-Thread開源4+服務(wù),助力企業(yè)用戶加速嵌入式開發(fā)

評論