朱琳
【摘? 要】CAN網(wǎng)絡(luò)通信能夠大大提升汽車上各控制器之間的交互通信速率,在保證通信可靠性的前提下大大精簡整車布線。而實(shí)現(xiàn)CAN網(wǎng)絡(luò)通信前,需要先建立好整車CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫。本文將以某輕卡CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫的建立過程為例,介紹如何使用當(dāng)下主流通信數(shù)據(jù)庫建立工具CANdb++ Editor,來進(jìn)行CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫的建立。
【關(guān)鍵詞】CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫;建立過程;數(shù)據(jù)庫建立工具
中圖分類號(hào):U463.6? ? 文獻(xiàn)標(biāo)志碼:A? ? 文章編號(hào):1003-8639( 2023 )06-0068-03
Establishing Method of CAN Network Communication Database on a Certain Light Truck
ZHU Lin
(Anhui Jianghuai Automobile Group Co.,Ltd.,Hefei 230601,China)
【Abstract】CAN network communication can greatly improve the interactive communication rate between controllers on the vehicle and greatly simplify the vehicle wiring on the premise of ensuring the reliability of communication. Before the realization of CAN network communication,it is necessary to establish the vehicle CAN network communication database. This paper will take a light truck CAN network communication database establishment process as an example,introduce how to use the current mainstream communication database establishment tool CANdb++ Editor,to establish CAN network communication database.
【Key words】CAN network communication database;establishing process;database establishment tool
1? 技術(shù)背景
隨著社會(huì)的進(jìn)步和技術(shù)的發(fā)展,中國汽車行業(yè)正在快速蓬勃發(fā)展,汽車用戶對(duì)于汽車產(chǎn)品的關(guān)注點(diǎn)已經(jīng)不再局限于動(dòng)力性、經(jīng)濟(jì)性、可靠性和安全性,而是越來越側(cè)重于汽車的駕乘舒適性和智能化的人際交互。為滿足市場需求,各大車企也在不斷進(jìn)行技術(shù)升級(jí),越來越多的控制器被配置到汽車上。過多控制器的交互,會(huì)增加整車線束的復(fù)雜性,降低汽車維修方便性和可靠性,由此,CAN網(wǎng)絡(luò)通信正在逐步取代原有的硬線通信。
CAN網(wǎng)絡(luò)通信設(shè)計(jì)的首要步驟,是建立數(shù)據(jù)庫。CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫描述了整車CAN網(wǎng)絡(luò)的構(gòu)成,包含了CAN網(wǎng)絡(luò)節(jié)點(diǎn)、信息幀、信號(hào)內(nèi)容、收發(fā)情況和屬性等。當(dāng)前主流的CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫建立工具有很多,其中被各大主機(jī)廠應(yīng)用較為普遍的工具是CANdb++ Editor,它由Vector公司開發(fā),可對(duì)數(shù)據(jù)庫中Node、Massage、Signal進(jìn)行定義和修改。
2? 技術(shù)方案詳細(xì)闡述
以表1中的CAN信號(hào)矩陣為例,逐步介紹使用CANdb++ Editor建立CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫的方法。
2.1? 新建一個(gè)數(shù)據(jù)庫文件
首先啟動(dòng)CANoe軟件,在Tools中選擇CANdb++ Editor,見圖1。
彈出Vector CANdb++ Editor窗口,在File中選擇Create Database…后,彈出Template窗口,見圖2。以本輕卡項(xiàng)目為例,因?yàn)镃AN信號(hào)ID是以SAE J1939協(xié)議為模板的擴(kuò)展幀,所以選擇J1939Template.dbc作為模版,創(chuàng)建一個(gè)新的擴(kuò)展幀數(shù)據(jù)庫,根據(jù)需求輸入數(shù)據(jù)庫文件的名稱,選擇保存位置,見圖3。
2.2? 根據(jù)CAN信號(hào)矩陣,創(chuàng)建信號(hào)
在Overall View窗口,右鍵Signals,選擇New,在彈出對(duì)話框的Definition頁設(shè)置信號(hào)BCM_APMCmd_2U的名稱、長度、系數(shù)、偏移量、最大最小值等信息,見圖4。
2.3? 根據(jù)CAN信號(hào)矩陣,創(chuàng)建信息幀
在Overall View窗口,右鍵Messages,選擇New,在彈出的對(duì)話框的Definition頁設(shè)置信息幀BCMWindowControl的名稱、類型、ID、DLC,見圖5;在Attributes頁GenMsgCycleTime中,設(shè)置該信息幀循環(huán)周期,見圖6。
2.4? 根據(jù)CAN信號(hào)矩陣,創(chuàng)建節(jié)點(diǎn)
在Overall View窗口,右鍵Network Nodes,選擇New,在彈出的對(duì)話框的Definition頁,設(shè)置BCM節(jié)點(diǎn)的名稱、源地址,見圖7。
2.5? 根據(jù)CAN信號(hào)矩陣,創(chuàng)建數(shù)值表
在View中選擇Value Talbes,在彈出的Value Talbe對(duì)話框中,右鍵空白處,選擇New…見圖8。
在彈出的Value Talbe對(duì)話框Definition頁中設(shè)置數(shù)值表名稱,在Value Descriptions頁中,按照CAN信號(hào)矩陣輸入BCM_APMCmd_2U信號(hào)中每個(gè)數(shù)值的定義,見圖9。
2.6? 建立數(shù)值表與信號(hào)的關(guān)聯(lián)
在Overall View窗口中雙擊信號(hào)BCM_APMCmd_2U,在彈出對(duì)話框的Definition頁的Value Talbe中選擇對(duì)應(yīng)的數(shù)值表,信號(hào)APM_WinsSts與數(shù)值表的關(guān)聯(lián)同理,見圖10。
2.7? 建立信號(hào)與信息幀,信息幀與節(jié)點(diǎn)的關(guān)聯(lián)
在Overall View窗口中雙擊信息幀BCMWindow Control,在彈出對(duì)話框的Signals頁,添加信號(hào)BCM_ APMCmd_2U,見圖11;在Layout頁,調(diào)整該信號(hào)起始位為0,見圖12。
在Transmitters頁,選擇信號(hào)BCM_APMCmd_2U的發(fā)送節(jié)點(diǎn)為BCM,見圖13;在Receivers頁,選擇信號(hào)BCM_APMCmd_2U的接收節(jié)點(diǎn)為APM,見圖14;信號(hào)APM_WinsSts與信息幀APM_Alarmstatus、節(jié)點(diǎn)APM的關(guān)聯(lián)同理。完成后在Overall View窗口中檢查數(shù)值表、信號(hào)、信息幀、節(jié)點(diǎn)的關(guān)聯(lián)是否準(zhǔn)確,見圖15。
2.8? 建立信號(hào)矩陣
在View中選擇Communication Matrix…,選擇剛剛建立的數(shù)據(jù)庫文件,可看到完成后的信號(hào)矩陣,見圖16,對(duì)照信號(hào)列表逐條校核無誤后保存。
3? 結(jié)束語
CAN網(wǎng)絡(luò)通信數(shù)據(jù)庫的建立是整車CAN網(wǎng)絡(luò)通信設(shè)計(jì)的基礎(chǔ),由于信號(hào)、節(jié)點(diǎn)較多,需要研發(fā)人員在產(chǎn)品開發(fā)過程中,合理分配各節(jié)點(diǎn)信號(hào)的收發(fā)情況,盡可能減少不必要的信號(hào)負(fù)載,在建立數(shù)據(jù)庫的過程中,充分討論數(shù)據(jù)分配的合理性,使整車CAN網(wǎng)絡(luò)通信更加簡潔高效。
參考文獻(xiàn):
[1] 楊金升,張可晨,唐新宇. CANoe開發(fā)從入門到精通[M]. 北京:清華大學(xué)出版社,2019.
[2] 牛躍聽. CAN總線嵌入式開發(fā)——從入門到實(shí)踐(第3版)[M]. 北京:北京航空航天大學(xué)出版社,2020.
[3] 羅峰,孫澤昌. 汽車CAN總線系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M]. 北京:電子工業(yè)出版社,2010.
(編輯? 楊凱麟)