從低功耗實時監(jiān)視到具有用于人機界面 (HMI) 的多屏圖形顯示的高級多媒體應(yīng)用,汽車、工業(yè)、機器人、樓宇控制和其他關(guān)鍵嵌入式系統(tǒng)應(yīng)用預(yù)期需要承擔(dān)更加多樣化的工作負(fù)載。在滿足這些廣泛的功能要求的同時,它們還必須能夠支持嚴(yán)格的安全標(biāo)準(zhǔn),降低成本,減少占用空間以及優(yōu)化功耗/性能平衡。
迄今為止,為滿足這些有時往往相互沖突的要求,開發(fā)人員不得不犧牲功能,或增加必要的設(shè)備來支持特定的圖形、安全性和安全等要求,導(dǎo)致設(shè)計和制造的復(fù)雜性增加。開發(fā)人員真正需要的是一種單一的解決方案,能夠跨眾多關(guān)鍵的嵌入式系統(tǒng)應(yīng)用支持各式各樣滿足上述要求的產(chǎn)品。
本文將簡單介紹關(guān)鍵嵌入式系統(tǒng)設(shè)計的演變過程。然后展示如何使用 NXP Semiconductors 專門設(shè)計的多核應(yīng)用處理器來應(yīng)對開發(fā)人員面臨的挑戰(zhàn),這些處理器可以支持快速擴(kuò)展的需求列表,包括眾多功能性和安全認(rèn)證能力。
嵌入式系統(tǒng)設(shè)計的演變過程注意事項
嵌入式設(shè)備在支持一組有限的系統(tǒng)功能方面的傳統(tǒng)角色,在很大程度上已經(jīng)被可提供廣泛功能的設(shè)備的需求所取代。例如,在工業(yè)應(yīng)用中,智能工具和設(shè)備對于增強型 HMI 功能的需求要求處理器能夠在滿足更多傳統(tǒng)工業(yè)實時要求的同時,提供優(yōu)化的圖形。同樣,汽車應(yīng)用向包含功能域集群和網(wǎng)關(guān)的分層架構(gòu)發(fā)展的趨勢,推動了能夠完全滿足這些要求的處理器的需求(圖 1)。
隨著應(yīng)用的持續(xù)發(fā)展,為滿足日益多樣化的要求,同時最大限度減少設(shè)計的占用空間并降低成本和復(fù)雜性,對于高度集成的可擴(kuò)展解決方案的需求也變得更加迫切。利用 NXP 的 i.MX 8 系列應(yīng)用處理器,開發(fā)人員可以將兼容的處理器平臺與一系列必要的功能和性能相結(jié)合,來支持各種各樣的應(yīng)用需求。在 NXP 的 i.MX 8 家族中,i.MX 8X 系列滿足了中端汽車和工業(yè)應(yīng)用所需的安全認(rèn)證處理器的新興需求。
多核架構(gòu)管理多樣化的工作負(fù)載
開發(fā)人員在實現(xiàn)用于汽車和工業(yè)應(yīng)用的設(shè)備時所面臨的一大難題是過寬的需求廣度。在開發(fā)人員預(yù)期處理實時或高級應(yīng)用處理工作負(fù)載的情況下,對智能子系統(tǒng)的需求卻將這些截然不同的計算類型合并到一起。開發(fā)人員越來越需要能夠在支持功能安全要求的同時提供可靠的實時響應(yīng)和高性能應(yīng)用執(zhí)行的解決方案。
NXP i.MX 8X 系列處理器可提供實時功能、高性能處理,而且功耗很低,可充分利用復(fù)雜的多核中央處理器 (CPU) 架構(gòu)來管理多樣化的計算工作負(fù)載(圖 2)。
對于通用型實時處理任務(wù),i.MX 8X 器件包括一個帶浮點單元 (FPU)、內(nèi)存保護(hù)單元 (MPU)、內(nèi)存映射加密加速單元 (MMCAU) 和混合控制模塊 (MCM) 的 Arm Cortex-M4 (CM4) 處理器。為了支持傳感器和致動器等外部外設(shè),此用戶 CM4 復(fù)合體將嵌套向量中斷控制器 (NVIC) 與一套全面的接口和模塊相結(jié)合,包括低功耗周期性中斷定時器 (LPIT)、脈沖寬度調(diào)制 (PWM) 以及在汽車和工業(yè)應(yīng)用中通常需要的其他功能。一對高速緩存存儲器和具有糾錯碼 (ECC) 功能的緊耦合存儲器 (TCM),有助于最大限度減少對外部存儲器的訪問,加快執(zhí)行速度和處理存儲器錯誤。
為了快速執(zhí)行應(yīng)用工作負(fù)載,該 CPU 平臺由多個高能效的 Arm Cortex-A35 應(yīng)用處理器 (AP) 構(gòu)成,其中兩個 AP 在 8DualXPlus 處理器(例如 MIMX8UX6AVLFZAC)中,四個 AP 在 8QuadXPlus 處理器(例如 MIMX8QX6AVLFZAC)中。除了專用指令 (I$) 和數(shù)據(jù) (D$) 高速緩存外,該 CPU 平臺還包括帶有 ECC 的 512 KB 2 級 (L2) 共享高速緩存。
該架構(gòu)的 Arm Cortex-A35 內(nèi)核可提供軟件兼容性和性能可擴(kuò)展性,從而支持 32 位向后兼容性和 64 位性能。為了進(jìn)一步加快計算密集型算法(如信號處理和機器學(xué)習(xí))的執(zhí)行速度,Arm Cortex-A35 處理器提供了矢量浮點 (VFP) 處理和 Arm 的 Neon 單指令多數(shù)據(jù) (SIMD) 架構(gòu)擴(kuò)展。為了加快用于圖像處理、計算機視覺和機器學(xué)習(xí)的軟件的執(zhí)行速度,Arm 計算庫提供了經(jīng)優(yōu)化適用于 Arm 處理器和圖形處理單元 (GPU) 架構(gòu)的函數(shù),而開源代碼 Ne10 C 庫則提供了經(jīng) Arm 優(yōu)化適用于計算密集型操作的函數(shù)。
專用引擎分擔(dān)主 CPU 的負(fù)荷
除了用戶 CM4 復(fù)合體和 Arm Cortex-A35 多核 CPU 平臺之外,該架構(gòu)還提供了專門用于多媒體應(yīng)用的額外引擎。除了用于音頻和語音編解碼器處理的數(shù)字信號處理器 (DSP) 之外,該架構(gòu)還集成了 GPU 和視頻處理單元 (VPU)。該器件的 GPU 支持標(biāo)準(zhǔn)圖形庫,使用具有 16 個執(zhí)行單元的四個獨立的四分量浮點矢量 (VPU) 和高性能二維位傳輸引擎來加速操作。VPU 用于處理常見的視頻格式,加速解碼高達(dá) 4Kp30(逐行、30 Hz)的視頻和編碼高達(dá) 1080p30 的視頻。反過來,該芯片的專用顯示控制器模塊可以將圖形輸出驅(qū)動至多達(dá)三個獨立的顯示器。
為進(jìn)一步實現(xiàn)最大化性能,i.MX 8X 架構(gòu)還集成了更多處理器內(nèi)核,這些內(nèi)核旨在將主 CPU 平臺從通常在執(zhí)行系統(tǒng)管理和安全性服務(wù)時發(fā)生的其他處理負(fù)載中解放出來。針對系統(tǒng)管理,該架構(gòu)的系統(tǒng)控制單元 (SCU) 集成了一個與用戶 CM4 復(fù)合體匹配的 CM4 復(fù)合體,但將其保留完全專用于 SCU 操作,而且不供開發(fā)人員使用(圖 3)。
除了管理電源、時鐘和其他內(nèi)部功能外,該 SCU 還控制正常操作中的引腳多路復(fù)用和輸入/輸出 (I/O) 通道驅(qū)動強度。實際上,用戶 CM4 復(fù)合體和 Arm Cortex-A35 AP 都不能直接訪問這些不同的底層硬件功能。相反,該 SCU 起到了抽象這些功能的作用,因此在用戶 CM4 或 AP 上運行的軟件只需調(diào)用 SCU 固件應(yīng)用編程接口 (API) 函數(shù),便可執(zhí)行諸如關(guān)閉不需要的功率域這類功能。例如,如果該功率域正在與另一個處理器共享,則該 SCU 僅確認(rèn)斷電請求,但仍將該域保持通電,直到前述另一個處理器也發(fā)出了斷電請求。
為了管理 i.MX 8X 器件廣泛的安全性支持,另一個專用處理器將在器件的安全性控制器 (SECO) 子系統(tǒng)中發(fā)揮作用。在 SECO 子系統(tǒng)內(nèi),一個集成的低功耗 Arm Cortex-M0+ 處理器用于執(zhí)行固件,以支持基于硬件的安全性功能,包括用于安全密鑰的專用總線訪問、用于安全密鑰存儲的一次性可編程 (OTP) 存儲器,以及用于其他私有數(shù)據(jù)或臨時密鑰的安全非易失性存儲 (SNVS)(圖 4)。
除了這些核心安全性機制之外,SECO 子系統(tǒng)還協(xié)調(diào)安全性操作,實現(xiàn)通過其經(jīng)過身份驗證的調(diào)試模塊 (ADM) 進(jìn)行仲裁的篡改檢測和安全調(diào)試。為保證安全執(zhí)行,集成的加密加速和保證模塊 (CAAM) 硬件安全性模塊支持一整套安全性算法,包括對稱和非對稱密碼、哈希函數(shù)和一個隨機數(shù)生成器 (RNG)。
在正常操作中,包括 SCU、AP 和數(shù)字傳輸內(nèi)容保護(hù) (DTCP) 加速器在內(nèi)的器件處理單元使用 SECO 安全性互連,通過系統(tǒng)總線訪問 CAAM 功能。除了通過 CAAM 直接存儲器訪問 (DMA) 功能訪問外,SECO 的專用 Cortex-M0+ 處理器無法訪問系統(tǒng)總線。相反,它使用受保護(hù)的內(nèi)部連接來訪問外設(shè)、安全隨機存取存儲器 (RAM) 和只讀存儲器 (ROM) 及其專用私鑰總線。
除了使用 DTCP 加速器外,此私鑰總線還在 i.MX 8X 處理器的實時加密和解密支持方面發(fā)揮核心作用。在這里,安全性處理器使用其資源提供設(shè)備的直插式加密/解密引擎 (IEE) 模塊所需的私鑰,因為它能安全地從加密存儲中讀取或?qū)懭霐?shù)據(jù),而無需請求處理器、DMA 控制器或 I/O 設(shè)備的參與。
SECO 子系統(tǒng)基于器件的 Cortex-A35 處理器中集成的 Arm TrustZone 技術(shù)構(gòu)建,也可以在安全啟動過程中與 SCU 一起使用。在此過程中,SCU 解釋啟動設(shè)置、配置啟動源,并將引導(dǎo)映像加載到內(nèi)部或外部存儲器。反過來,SECO 子系統(tǒng)使用其加密功能在已簽名的固件映像加載之后、執(zhí)行之前對其進(jìn)行身份驗證。
保護(hù)關(guān)鍵的顯示和控制功能
盡管高效且安全地處理多樣化工作負(fù)載的能力非常重要,但對于諸如汽車和工業(yè)領(lǐng)域的任務(wù)關(guān)鍵型應(yīng)用而言,保護(hù)關(guān)鍵功能的能力同樣至關(guān)重要。NXP 的 i.MX 8X 系列將其處理能力與滿足這些關(guān)鍵要求所需的安全認(rèn)證能力相結(jié)合。
該處理器系列的安全支持內(nèi)置于多個層次,始于采用可增強系統(tǒng)可靠性的全耗盡絕緣體上硅片 (FD-SOI) 工藝技術(shù)進(jìn)行制造。由于系統(tǒng)安全依賴于強大的安全性基礎(chǔ),因此啟用了 TrustZone 的 AP、SECO 子系統(tǒng)和安全啟動功能的組合,可以提供必要的受信任環(huán)境,以阻止安全和安全性威脅。
與此同時,利用用戶 CM4 復(fù)合體獨立處理時間關(guān)鍵型任務(wù)以及將關(guān)鍵系統(tǒng)任務(wù)分擔(dān)到 SCU 和 SECO 子系統(tǒng)的功能,都有助于確保不論處理負(fù)載如何變化,任務(wù)關(guān)鍵型應(yīng)用功能都能保持可用狀態(tài)。實際上,NXP 通過該公司的 SafeAssure 技術(shù)擴(kuò)展了這一概念,以支持任務(wù)關(guān)鍵型顯示,該技術(shù)在 i.MX 8X 器件中集成了一條支持 B 級汽車安全完整性 (ASIL B) 的硬件顯示故障切換路徑。利用 SafeAssure,如果器件檢測到數(shù)據(jù)完整性或 GPU 錯誤,便會自動為用戶提供故障切換映像。該故障切換映像在后臺運行,可確保即使在主顯示器出現(xiàn)故障期間,關(guān)鍵信息仍舊可用。
在基于 i.MX 8X 的系統(tǒng)中,對安全應(yīng)用的支持?jǐn)U展到了內(nèi)存訪問。在受其支持的存儲器接口中,i.MX 8X 器件為雙倍數(shù)據(jù)速率 3 低壓 (DDR3L) 內(nèi)存提供了 8 位 ECC。除了 L2 高速緩存中的 ECC(請再次參見圖 2)之外,此 DDR3L ECC 功能還支持工業(yè)安全完整性級別 3 (SIL 3)。i.MX 8X 架構(gòu)還將 ECC 支持?jǐn)U展到了外部閃存存儲設(shè)備。在這里,集成的 Bose、Ray-Chaudhuri、Hocquenghem (BCH) 編碼器和解碼器模塊提供了 62 位 ECC,能夠校正從這些存儲設(shè)備讀取的數(shù)據(jù)塊內(nèi)的 2 到 20 個單比特錯誤。
啟動基于 i.MX 8X 的應(yīng)用
與此類別的任何處理器一樣,實現(xiàn)基于 i.MX 8X 的設(shè)計需要仔細(xì)注意嚴(yán)格的電源要求,包括關(guān)鍵的上電序列。為 i.MX 8X 器件通電時需要依次或同時為四個不同的電源組通電,從 SVNS 子系統(tǒng)開始,再到 SCU、I/O 和存儲器接口,最后是器件的其余部分。開發(fā)人員只需使用 NXP 的 Pf8x00 電源管理集成電路 (PMIC) 器件便可滿足此要求,該器件可提供支持 i.MX 8X 處理器以及外部存儲器和典型系統(tǒng)外設(shè)所需的整套電壓軌和控制信號(圖 5)。
在實施他們自己的基于 i.MX 8X 的設(shè)計時,開發(fā)人員可以使用 NXP MC33PF8100CCES PMIC,該 PMIC 經(jīng)過預(yù)編程,可與 8QuadXPlus 處理器(如 MIMX8QX6AVLFZAC)一起使用。其他 PF8x00變體,如 MC33PF8100A0ES 和 MC33PF8200A0ES,均支持 i.MX 8X 處理器,但未預(yù)編程。
對于安全應(yīng)用,諸如 MC33PF8200A0ES 這類 PF8200 系列器件集成了旨在支持 ASIL B 系統(tǒng)的功能。除了多個內(nèi)部監(jiān)視器(包括一個帶有專用帶隙基準(zhǔn)的輸出電壓監(jiān)視器),PF8200 PMIC 還包括一個故障安全輸出 (FSOB) 引腳,用于在上電期間或發(fā)生電源故障事件時使系統(tǒng)保持安全狀態(tài)。此外,模擬內(nèi)置自檢 (ABIST) 例程將測試所有電壓監(jiān)視器,而自檢例程將驗證其他器件功能。
盡管 PF8x00 PMIC 可以簡化基于 i.MX 8X 的系統(tǒng)的硬件設(shè)計,但某些開發(fā)人員可能需要立即開始評估 i.MX 8X 器件并快速制作基于 i.MX 8X 的應(yīng)用原型。NXP 的 MCIMX8QXP-CPU i.MX 8X 多傳感器支持套件 (MEK) 提供了一個就緒的開發(fā)平臺,其結(jié)合了 NXP i.MX 8QuadXPlus 處理器、NXP F8100 PMIC、3 GB RAM、32 GB 嵌入式多媒體控制器 (eMMC) 內(nèi)存和 64 MB 閃存。除了顯示器、攝像頭和音頻接口外,該 MEK 板還包括一組通常用于汽車或工業(yè)應(yīng)用的傳感器。為了獲得更多的連接、音頻和擴(kuò)展選項,開發(fā)人員還可以添加可選的 NXP MCIMX8-8X-BB 基板。
總結(jié)
對于汽車、工業(yè)、樓宇控制和 HMI 等越來越多的應(yīng)用而言,處理工作負(fù)載已擴(kuò)展到既包括傳統(tǒng)的實時 I/O 處理,也包括新興的具有多媒體圖形的應(yīng)用級處理。盡管每種工作負(fù)載類型都有相應(yīng)的設(shè)計選項,但很少有可用的解決方案能夠滿足以下日益增長的需求:能夠滿足汽車和工業(yè)應(yīng)用中的安全認(rèn)證設(shè)計要求的高性能、高能效解決方案。
如上所示,使用 NXP Semiconductors 的多核處理器系列,開發(fā)人員可以更有效地實現(xiàn)能夠滿足上述多樣化要求且易于擴(kuò)展的設(shè)計,從而滿足新興的高性能需求。
編輯:hfy
評論
查看更多