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