隨著智能座艙的持續演進,HMI(Human Machine Interface,人與機器交互界面)系統已從單一的顯示控制器演變為集多屏聯動、多模態交互、車載服務集成于一體的智能系統,需要一個多系統、多設備協同運行的復雜架構來支撐。
本文將圍繞這一混合架構下的 HMI 軟件架構設計展開,深入探討核心功能模塊,并通過一個 “多屏多核座艙架構”項目案例,解析從架構設計到工程落地的全過程。
一、軟件開發架構
1、架構目標
面向車載的HMI架構設計,我們通常要同時滿足以下幾個目標:
- 多端適配
中控屏、儀表屏、副駕屏、扶手屏、后排娛樂屏等各類異構屏幕。
- 模塊解耦
系統需支持 OTA 動態升級與模塊熱插拔能力。
- 性能保障
對啟動速度、動畫幀率、內存控制等有嚴苛要求。
- 功能隔離與權限控制
不同功能模塊需具備安全邊界與訪問策略;
將硬件資源通過硬件分區的方式進行劃分和管理,硬件資源的所屬分區擁有對該資源的訪問和管理權限,其他分區不能對該資源進行操作。通過硬件分區的方式對資源進行管理,簡化了資源從屬和管理問題。
- 數據統一管理
狀態、配置、業務邏輯需集中治理并支持狀態同步。
2、軟件架構
從軟件架構角度看,座艙系統可分為單系統架構與多系統架構,兩者均可支持一芯多屏、單屏多系統、一芯多功能單元等典型應用模式。不同架構在功能隔離、資源復用和成本控制方面各有優勢,選擇需依據項目需求、安全等級及硬件資源進行權衡設計。
2-1 單系統架構
單系統架構是指僅依賴一個車載操作系統構建的體系結構,通常包括內核、基礎庫、系統服務、運行環境和應用框架。該操作系統通過提供統一的軟硬件接口,實現對底層硬件的抽象與對上層應用的支撐,從而實現軟硬解耦和功能模塊化。
2-2多系統架構
多系統架構根據上層實現方式的不同,可細分為三類:硬件隔離架構、虛擬機管理器架構以及容器架構。三者在資源隔離、安全性、性能開銷等方面各具特點,適用于不同級別的座艙系統需求。
2-2-1硬件隔離架構
通過硬件層面劃分資源,每個系統獨占分區內的硬件,彼此互不干擾。結構清晰、安全性高,便于開發,但靈活性較低。
2-2-2 虛擬機管理器架構(Hypervisor)
在硬件和操作系統之間引入虛擬層,為多個操作系統分配獨立資源,實現不同系統間的高隔離和靈活調度。適用于多系統協同、資源動態分配的場景。
2-2-3容器架構
基于 Linux 內核,多個應用通過容器共享操作系統和計算資源。每個容器彼此隔離,運行獨立,輕量高效,適合多應用并行部署的場景。
2-3混合架構
在實際應用中,為平衡功能需求、安全性要求與整車成本,車載系統通常采用三類基礎架構中的兩種或三種組合,構建混合式架構。例如,常見的虛擬機管理器 + 應用系統混合架構,在宿主操作系統上運行虛擬機管理器,既可運行多個虛擬系統實現隔離,又能直接承載業務功能,提升系統集成度。
目前國內主流座艙方案多采用此類架構:
- QNX 用于支持儀表、HUD 等對實時性與安全性要求較高的模塊;
- Android 通常承載中控、副駕等主交互屏;
- 一些輕量屏幕(如后排空調控制)則采用低成本 MCU 獨立控制,避免資源浪費,顯著降低整體 BOM 成本。
通過 SoC 虛擬化、一芯多屏、輕量硬件搭配等方式,既保障了系統隔離和功能完整,又有效控制了硬件資源開銷。在此基礎上,借助統一狀態管理機制(Multi-Domain State Management),可實現跨平臺的狀態同步與邏輯聯動,構建統一、流暢的用戶體驗。
二、案例分享:多核座艙扶手屏系統開發實踐
1、項目背景
為一款商用車定制開發座艙系統,平臺采用某國產高端8核芯片,實現一芯多屏,包括 Android IVI主屏、QNX 儀表屏、后排HVAC屏和多個 MCU 控制模塊。
2、核心需求
- 支持 Android IVI 主屏(中控屏)、QNX 儀表屏、后排 HVAC 屏等多屏并發運行;
- 各屏可獨立啟動、運行和更新,支持互通與狀態同步;
- QNX 儀表系統需具備高可靠性與實時性,隔離運行,確保關鍵功能穩定;
- HVAC 控制邏輯由專用 MCU 執行,獨立于 Android/QNX。
3、實現要點
3-1顯示與輸入管理
- SoC 支持多路顯示輸出(HDMI/MIPI),每塊屏幕分配獨立 Frame Buffer;
- 使用 Android SurfaceFlinger/DisplayManager + QNX screen 服務分別管理主屏與儀表屏;
- 后排 HVAC 屏在嵌入式 RTOS中運行,并通過 Qt for MCUs 構建輕量化 UI,實現低成本、低功耗且響應靈敏的用戶交互體驗;
- 全部屏幕 UI 狀態與交互統一歸入中控 Android 層進行匯總處理。
3-2系統間通信與狀態同步
3-2-1多系統通信機制
通信對象 | 通信方式 | 描述 |
Android ? QNX | Socket / Shared Memory / Binder-over-IP | Android 發狀態,QNX 顯示重要信息(如空調溫度) |
Android ? HVAC MCU | 串口 / CAN | 控制空調工作、讀取風速/溫度/狀態 |
Android ? 其他 MCU | CAN / UART / SPI | 控制門窗/燈光/座椅等,報文解析封裝至統一服務 |
3-2-2狀態同步策略
- 所有狀態通過統一結構體(如 JSON + ID 映射)維護;
- 主屏、儀表屏、HVAC 屏借助統一狀態管理機制獲取實時狀態;
- 各操作指令先通過 Android IVI 匯總轉發,避免沖突。
3-3安全與資源隔離設計
- Android 層啟用 SELinux、App sandbox 機制,限制三方應用操作權限;
- QNX 系統與 Android 運行在隔離的 CPU 核,關鍵任務獨立運行,防止被打擾;
- Hypervisor 實現 CPU/內存/IO 的虛擬化隔離;
- 所有與駕駛相關的顯示(如車速、報警)必須由 QNX 主導,且不依賴 Android 狀態。
3-4可靠性與異常處理機制
- 所有屏幕與 MCU 的通信支持 watchdog 檢測與超時重連;
- UI 操作與 MCU 狀態需建立 ACK/NAK 確認機制;
- 支持 HVAC 屏異常重啟后重新同步主屏狀態;
- 所有狀態操作應具備“最終一致性”策略,UI 狀態只在 MCU 確認后更新展示。
3-5 OTA與遠程管理
- 構建統一 OTA 平臺,支持分發
- Android APK 升級;
- QNX 鏡像 OTA(支持 A/B 分區切換);
- HVAC/MCU 固件 OTA(通過主控透傳或遠程 Gateway)。
- 日志采集與遠程診斷
- 支持不同系統分模塊上傳運行日志;
- 故障時支持一鍵打包采集(Android/QNX/MCU 日志)并遠程推送;
- 配置支持策略文件形式同步各屏默認設置、用戶習慣等。
三、結語
該座艙系統方案在實際商用車項目中經過完整落地驗證,成功實現了一芯多屏、多系統協同與多MCU控制的架構設計。通過Android、QNX與獨立MCU的高效配合,既保障了核心功能的實時性與安全性,又在成本控制與系統擴展性方面取得良好平衡。各屏幕間的數據同步流暢、操作響應迅速,整體系統運行穩定,充分滿足了商用車場景下對交互體驗、可靠性和維護性的綜合需求。如果您有該方面的需求,歡迎直接聯系我們,或者將需求發送至郵箱market@dotrustech.com,期待與您交流!