
引 言:
通過以下鏈接可直接購買:
正 文:
本文將詳細講解中央域控制器(CDCM)的系統設計、軟件設計以及開發環境搭建,為后續開發工作奠定基礎。
#01
系統設計
本節將講解中央域控制器的系統設計工作,包括硬件模塊的組成,以及與整車線束連接的電源、I/O、通信等引腳的定義,旨在為讀者呈現中央域控制器的整體架構與硬件接口特性。
1.1 硬件模塊
中央域控制器的硬件模塊組成如圖 5-1 所示。
1. 電源模塊
中央域控制器通過 B+ 引腳接到整車蓄電池,將蓄電池輸入的寬范圍電壓(如 9 ~ 16V)轉換為 ECU 內部芯片所需的穩定電壓(如 5V 、3.3V 等),為整個 ECU 供電。它通過濾波、穩壓等措施處理輸入電源,抑制電源噪聲和紋波,且具備過電壓、欠電壓、過電流、過熱等多重保護機制,防止異常工況損壞 ECU。

圖 5-1 中央域控制器的硬件模塊組成
中央域控制器通過 KL15 引腳接入整車 ON 擋電源,作為 ECU 的休眠和喚醒信號。當KL15 為高電平時,中央域控制器正常工作;當 KL15 為低電平時,同時 CAN 總線也滿足休眠條件時,中央域控制器會進入休眠模式。
2. 通信模塊
(1) CAN 通信
中央域控制器配備 6 個 CAN 接口:CAN1 ~ CAN6。各接口分別連接整車不同的功能域,實現與各域內其他 ECU 的通信。其中, CAN1 連接車身域 ECU ,CAN2 連接動力域 ECU, CAN3 連接底盤域 ECU ,CAN4 連接座艙域 ECU ,CAN5 連接智能駕駛域 ECU ,CAN6 連接診斷儀。總線默認傳輸速率為 500kbit/s,且每路 CAN 均支持中央域控制器的喚醒功能。
(2) LIN 通信
中央域控制器設有 LIN1 和 LIN2 兩個接口,其中 LIN1 連接多功能方向盤,LIN2 連接組合開關,兩者傳輸速率均為 19.2kbit/s,且每路 LIN 同樣具備喚醒功能。
(3) 以太網交換機
以太網交換機包含 100Base-T1 和 100Base-Tx 等多種以太網接口。中央域控制器配置 3路 100Base-T1 接口,分別連接智能座艙域控制器、智能駕駛域控制器及動力底盤域控制器;一路 100Base-Tx 接口連接診斷儀,作為以太網診斷的通信通道。
3. 處理器模塊
中央域控制器集成了兩個 MCU 和一個 MPU:MCU 負責運行高實時性的控制任務,MPU 則承擔需高算力支持的復雜任務。各處理器模塊通過核間交互協同工作,既確保了實時控制的精準性,又滿足了復雜任務的運算需求,最終實現中央域控制器的整體功能,并促進各功能間的高效協作。
4. ADC 模塊和 I/O 接口
中央域控制器配備 ADC1 ~ ADC4 共 4 個 ADC 接口,用于將模擬信號轉換為數字信號,并分別采集制動踏板、加速踏板、電池溫度傳感器及電機溫度傳感器的信號。同時,中央域控制器包含多個 I/O 接口,用于驅動燈光、門鎖、雨刮等執行器,以控制汽車上各類執行器的動作。
5. 存儲模塊
中央域控制器包含 QFlash 存儲器和 eMMC 存儲器:QFlash 存儲器用于存儲 MCU 的程序與數據,eMMC 存儲器則用于存儲 MPU 的系統鏡像及文件系統數據。其中, QFlash 為NOR 型 Flash ,eMMC 為 NAND 型 Flash,它們具備存儲容量大的特點,在汽車域控制器中應用廣泛。
此外,中央域控制器還配備 EEPROM 存儲器。這類存儲器雖容量較小,但具有擦除次數可達百萬次的特性,因此適用于 MCU 中存儲容量需求小但讀寫頻率高的數據,如診斷數據等。
1.2 功能概述
中央域控制器整合了車身控制、動力底盤控制及網聯終端等整車核心功能,通過將這些原本分散于多個 ECU 的功能集成于單一域控制器中,能夠有效減少 ECU 的數量。這一整合不僅直接降低了整車的硬件采購成本與線束布置成本,還因功能模塊的集中化管理,顯著加快了車輛功能的迭代更新速度。
1. 車身控制
車身控制用于對汽車車身域的各類執行器進行控制。當用戶操作車身域的開關、按鍵、旋鈕等部件時,可驅動車身域的燈光、車窗、門鎖、雨刮、座椅等執行器完成相應動作。車身控制具體包含以下功能。
1)燈光控制功能:實現對近光燈、遠光燈及位置燈的控制。
2)車窗控制功能:實現遙控鑰匙升降車窗、中控升降車窗。
3)門鎖控制功能:實現機械鑰匙解 / 閉鎖、遙控鑰匙解 / 閉鎖、中控解 / 閉鎖功能。
4)雨刮控制功能:實現雨刮擋位控制、自動雨刮及雨刮洗滌控制。
5)座椅控制功能:包括座椅按摩、座椅通風及座椅加熱功能。
2. 動力底盤控制
動力底盤控制負責對動力域和底盤域的各類傳感器信號、總線輸入信號進行處理,這些信號將用于控制電機、電池及變速器,進而實現對車輛速度、電源及擋位的調控。動力底盤控制具體包括以下功能。
1)擋位控制:接收換擋器的硬線信號,執行換擋邏輯,并向變速器發出換擋控制指令。
2)能量回收:車輛行駛時,當擋位處于 D 擋(R 擋無回收)且車速較高的工況下,若駕駛員松開加速踏板,系統會控制電機適度回收部分動能,將其轉化為電能存儲回電池。
3)蠕行控制:當車輛擋位切換至 D/R 擋,且加速踏板、制動踏板及巡航功能均未激活時,車速最終會穩定在較低水平并勻速行駛。
4)防溜坡控制:該功能輔助駕駛員進行坡道起步,當駕駛員將擋位切換至 D/R 擋、松開制動踏板準備起步時,系統會協助阻止車輛下溜,使駕駛員能夠從容完成加速起步操作。
5)高壓上下電:包括鑰匙控制高壓上下電、充電控制高壓上下電,以及緊急情況下的高壓下電;若充電前電池管理系統有熱管理請求,則還需控制電池進行預熱。
6)驅動行駛控制:車輛上高壓后,當擋位切換為 D 擋或 R 擋,駕駛員踩下加速踏板時,車輛便會啟動并開始行駛。
3. 網聯終端
網聯終端是實現車輛網聯功能的核心載體,遠程控制、遠程 OTA 刷寫、數據上傳、預約充電等功能均需依托網聯終端實現。網聯終端與車企云平臺建立連接時,需先通過握手鑒權等流程確定雙方通信的加密算法,后續與云平臺的所有通信均基于加密報文進行,以保障信息安全。連接建立后,云平臺可實時監控車輛位置并接收車輛數據,從而支撐各項遠程功能的實現。網聯終端具體包括以下功能。
1)遠程控制:用戶通過手機 App 遠程操作車輛,可實現車門解 / 閉鎖、燈光開關、空調啟停及溫度調節等功能。
2)遠程 OTA 刷寫:主機廠通過 OTA 功能向用戶推送軟件更新包,用戶可借此完成車輛升級,優化車輛各項功能與性能。
3)數據上傳:將整車運行過程中產生的行駛數據打包后,同步上傳至主機廠云平臺及國家監管平臺,不僅可實時監控車輛運行數據,還能通過對行駛數據的分析,助力主機廠優化車輛能耗、開展預測性故障診斷等,從而持續提升車輛性能。
#02
軟件設計
本節講解中央域控制器的軟件設計,我們按照模塊化的設計方法,將 5.1.2 小節的功能拆解為車身控制軟件、動力底盤控制軟件和網聯終端軟件。其中車身控制軟件和動力底盤控制軟件分別部署在處理器模塊的兩個 MCU 上,網聯終端軟件模塊部署在處理器模塊的 MPU 上。
2.1 車身控制軟件設計
車身控制軟件采用分層架構,分為應用層、RTE(運行時環境)層、基礎軟件層及MCAL。其中,應用層軟件采用組件化設計方法,通過多個獨立組件實現車身控制邏輯,各組件借助 RTE 接口獲取整車擋位、車速等輸入信號;基礎軟件層提供通信、診斷、路由、存儲等基礎服務;MCAL 則負責提供 CAN 、LIN 等通信模塊的驅動程序,以及控制門鎖、雨刮電機等執行器的 I/O 驅動程序。車身控制軟件的分層設計如圖 5-2 所示。

圖 5-2 車身控制軟件分層設計
(1)應用層
車身控制軟件的應用層負責實現車身控制的功能邏輯。軟件架構師會將功能需求進行拆解,并設計為獨立的組件(見圖 5-2),并在每個組件內部完成相應的控制邏輯設計。
(2) RTE 層
車身控制軟件的 RTE 層為應用層軟件提供兩類接口:一是用于獲取車速、擋位等信號的輸入接口;二是用于對燈光、門鎖、雨刮等執行器進行控制的輸出接口。
(3) 基礎軟件層
車身控制軟件通過基礎軟件層實現系統的核心基礎服務,具體分為 3 類:
管理類:基礎軟件管理(BswM)、通信管理(ComM)、非易失性存儲管理(NvM)。
通信類:通信服務(Com)、CAN 接口(CanIf)、PDU 路由(PduR)。
診斷類:診斷事件管理(Dem)、診斷通信管理(Dcm)。
(4) MCAL
MCAL 提供 3 類驅動。
通信驅動:CAN 驅動、LIN 驅動。
I/O 驅動:ADC(模數轉換)驅動、Port 驅動、DIO 驅動、PWM(脈寬調制)驅動。
系統驅動:MCU 驅動、看門狗(WDG)驅動。
2.2 動力底盤控制軟件設計
與車身控制軟件相比,動力底盤控制軟件更為復雜。該域的諸多功能除了需要實現核心控制邏輯外,還需結合車輛實際運行工況進行大量實車標定,以達成最佳控制效果。動力底盤控制功能的軟件分層設計如圖 5-3 所示。

圖 5-3 動力底盤控制軟件的分層設計
(1) 應用層
動力底盤控制軟件的應用層負責實現動力底盤控制邏輯。軟件架構師同樣需要將功能需求進行拆解,并設計為多個獨立的組件,并在每個組件內部完成對應功能的邏輯設計。在中央域控制器中,動力底盤控制應用層的組件具體包括:擋位控制組件、能量回收組件、蠕行控制組件、防溜坡控制組件、高壓上下電組件、驅動行駛控制組件等。
(2) RTE 層
動力底盤控制軟件的 RTE 層為應用層提供獲取車速、整車擋位、電機轉速、電機溫度及電池溫度等信號的接口。動力底盤控制軟件所采用的基礎軟件及 MCAL 驅動,與車身控制軟件的相關配置類似,此處不再展開敘述。
2.3 網聯終端軟件設計
網聯終端軟件采用分層架構,劃分為應用層、中間件層、操作系統層及驅動層。其中,應用層的軟件負責實現網聯終端所需的功能,中間件層采用 AUTOSAR AP 定義的標準軟件模塊,操作系統層一般使用 Linux 系統,驅動層則負責實現以太網、實時時鐘、存儲器、以太網交換機等底層硬件的驅動。網聯終端的軟件架構如圖 5-4 所示。

圖 5-4 網聯終端的軟件架構
1. 應用層
網聯終端軟件的應用層包含以下功能。
1)車云連接:負責實現與云平臺的握手認證及加密通信,保障車端數據的信息安全。
2)OTA 升級:接收車云平臺下發的 OTA 升級指令后,從平臺下載升級包;升級包經安全校驗通過后,將分發并安裝至車輛各 ECU。
3)遠程控制:接收車云平臺的遠程控制指令,執行對車輛的遠程操控,并將控制結果反饋至車云平臺。
4)預約充電:支持車主自主設定充電起始時間,當到達設定時間時,網聯終端可喚醒車輛并控制其啟動充電流程。
5)數據上傳:采集車輛運行數據后,按法規及主機廠要求的格式打包,并傳輸至車云平臺。
2. 中間件層
網聯終端軟件的中間件層采用 AUTOSAR AP 的軟件標準,為應用層提供一系列標準化服務,所涉及的組件如下。
1)執行管理組件:控制應用軟件的啟動順序及其啟動依賴性問題。
2)健康管理組件:監控應用軟件的運行狀態,若發生運行崩潰,將重新啟動崩潰的應用軟件,確保網聯終端軟件功能的完整性。
3)日志和跟蹤組件:記錄應用軟件的運行日志,以對應用軟件進行故障排查和運行行為追溯。
其他組件的功能見名知意,不再贅述。
3. 操作系統層
操作系統作為網聯終端軟件的運行載體,為應用軟件及 AUTOSAR AP 軟件組件提供運行支撐,并通過系統調用接口實現應用軟件之間、應用軟件與 AUTOSAR AP 軟件組件之間的通信交互。
4. 驅動層
驅動層提供以太網、實時時鐘、存儲器等硬件設備的驅動程序。應用軟件及 AUTOSAR AP 軟件組件通過調用這些驅動程序,實現對中央域控制器硬件設備的訪問與控制。
#03
開發環境搭建
本節講解中央域控制器的開發環境搭建,由于中央域控制器的處理器包含 MCU 和MPU 兩種類型,因此需要分別搭建 MCU 與 MPU 的開發環境。
3.1 MCU 開發環境搭建
中央域控制器的車身控制軟件模塊與動力底盤控制軟件模塊均部署在 MCU 上。開發這兩個軟件模塊需用到 Simulink 和 S32 Design Studio 集成開發環境。其中, Simulink 用于開發車身控制及動力底盤控制的應用軟件模型并生成應用代碼(參見 3.1.2 小節);S32 Design Studio 集成開發環境則負責集成和編譯應用層代碼、基礎軟件及 MCAL 驅動,最終構建出可執行程序。
1. Simulink 工程創建
車身控制軟件模塊與動力底盤控制軟件模塊的 Simulink 工程由兩部分工作構成:一是頂層架構設計,二是功能邏輯設計。頂層架構設計由軟件架構工程師負責,過程中需將待開發功能拆解為獨立的應用組件,同時設計每個組件的端口(用于組件間及組件與基礎軟件模塊間的通信交互),并為每個組件關聯對應需求。這些經劃分的組件是開發團隊協作開發的基礎。
下面演示如何在 Simulink 中創建 AUTOSAR 軟件架構工程:首先在 Matlab 中打開 Simulink,選擇“新建”選項卡,找到 AUTOSAR Blockset 選項后,單擊 Software Architecture 選項即可創建 AUTOSAR 軟件架構工程,如圖 5-5 所示。

圖 5-5 創建 AUTOSAR 軟件架構工程
創建好 AUTOSAR 軟件架構工程后,即可開始設計組件。在 COMPONENT 選項卡中,選擇一個 Component 組件,將鼠標移至該組件的邊緣位置,為其創建輸入或輸出端口。所有端口創建完成后,將鼠標放在組件的上邊緣位置,為該組件鏈接 Simulink 模型。此模型用于實現該組件的功能邏輯,如圖 5-6 所示。
2. 軟件集成環境搭建
接下來搭建車身控制軟件模塊和動力底盤控制軟件模塊的集成開發環境。 S32 Design Studio 是恩智浦 S32 系列芯片的集成開發環境,集成了代碼編輯器、編譯器及鏈接器,可用于完成車身控制軟件模塊和動力底盤控制軟件模塊的開發與運行調試。

圖 5-6 創建 Component 組件以及鏈接 Simulink 模型
打開 S32 Design Studio 后, 單擊左上角的 File 菜單, 通過 New 命令創建新的應用工程(這里同時要通過子菜單選擇目標芯片的集成開發環境),即可完成集成工程的創建,如圖 5-7 所示。
下面還需為 S32 Design Studio 安裝擴展組件。針對車身控制軟件模塊和動力底盤控制軟件模塊的開發,我們需安裝 GCC 、S32 Design Studio Platform Package 、S32 Design Studio Platform Tools Package 等擴展工具包。圖 5-8 所示為 S32 Design Studio 中用于安裝擴展工具包的菜單項,單擊該菜單項即可進入擴展工具安裝界面。
3.2 MPU 開發環境搭建
網聯終端軟件模塊運行于嵌入式 Linux 系統。以Ubuntu 操作系統作為編譯主機,需在其上安裝代碼編輯工具 VS Code 及交叉編譯工具 ARM-GNU-GCC 。Ubuntu 操作系統可安裝在虛擬機中,此處選用 VMware 虛擬機,讀者可自行下載安裝。虛擬機鏡像建議選擇Ubuntu 22 版本,可從 Ubuntu 官網獲取,下載完成后在 VMware 中安裝即可。

圖 5-7 創建 S32 Design Studio 集成工程

圖 5-8 S32 Design Studio 的安裝擴展工具包
交叉編譯工具采用最新版本的 ARM-GNU-GCC,在虛擬機的 Ubuntu 操作系統上,可通過 wget 命令從官網下載工具鏈安裝包,指令如下:
Wget https://releases.linaro.org/components/toolchain/binaries/latest-7/gcc-linaro -7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
下載完成后,執行解壓命令將 ARM-GNU-GCC 解壓至系統目錄,最后將其添加到環境變量中。在 Ubuntu 終端輸入指令 $CC --version,若能正確輸出如下版本信息,則表明ARM-GNU-GCC 已成功安裝到系統中。
aarch64-fsl-linux-gcc (GCC) 9.2.0Copyright (C) 2019 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#04
小 結
本文主要講解中央域控制器的系統設計與軟件設計,同時詳細介紹了 MCU 與 MPU 的開發環境搭建。完成上述準備工作后,讀者即可開始后續的實戰開發。