siemens x
數(shù)字化制造

基于CAN總線的汽車組合儀表盤的設(shè)計(jì)

2025China.cn   2009年01月22日

摘要:本文探討了利用CAN總線技術(shù)進(jìn)行汽車組合儀表盤的設(shè)計(jì),采用NEC UPD780822汽車儀表專用單片機(jī),根據(jù)某車型CAN總線的協(xié)議,實(shí)現(xiàn)了組合儀表盤的車速,轉(zhuǎn)速,報(bào)警燈,以及其他數(shù)據(jù)的接受,發(fā)送以及錯(cuò)誤處理機(jī)制。

關(guān)鍵字:CAN總線  汽車儀表  UPD780822 步進(jìn)電機(jī) LCD

 

1. 概述

 

控制器局域網(wǎng)(Controller Area Network, 簡稱CAN) 是一種支持分布式和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò),其主要特點(diǎn)是采用多主方式工作, 基于報(bào)文ID 并采用非破壞總線仲裁技術(shù)進(jìn)行優(yōu)先權(quán)仲裁,串行通信,事件觸發(fā)型,大大減少線束的數(shù)量。CAN總線協(xié)議最初是由德國BOSCH公司于20世紀(jì)80年代提出并用于汽車的,1993年形成國際標(biāo)準(zhǔn)ISO 11898-1。由于其高性能、高可靠性及獨(dú)特的設(shè)計(jì),CAN越來越受到人們的重視,已經(jīng)廣泛應(yīng)用于汽車電子控制,目前已經(jīng)成為整車網(wǎng)絡(luò)中的主要通信方式。

 

在為某公司開發(fā)的汽車儀表盤控制系統(tǒng)中,由于整車網(wǎng)絡(luò)信息化的需要,希望采用總線方式,將儀表盤掛接在通信網(wǎng)絡(luò)上,通過需求分析,本系統(tǒng)采用NEC的專用汽車儀表控制器UPD780822芯片,UPD780822NEC公司的專門為汽車儀表開發(fā)的一款8位微控制器。它具有以下一些主要特點(diǎn):4通道大電流輸出的步進(jìn)電機(jī)控制器,并可用于驅(qū)動(dòng)十字交叉線圈;支持34×4 LCD驅(qū)動(dòng),可以顯示總里程、小計(jì)里程,還可顯示檔位及時(shí)鐘等信號;同UPD780822有一個(gè)CAN通道,支持CAN2.0ACAN2.0B;還可以在出錯(cuò)時(shí)自動(dòng)重發(fā),響應(yīng)遠(yuǎn)程幀自動(dòng)傳送;支持多報(bào)文,16個(gè)報(bào)文緩沖,可以彈性配置接收濾波;擁有8通道10 A/D3個(gè)串行口以及低電壓保護(hù)等功能。以上這些特點(diǎn)在汽車儀表中都有實(shí)際的運(yùn)用。系統(tǒng)框圖如圖1所示:

 

CAN 總線收發(fā)器選用英飛凌公司的TLE7259G,是英飛凌公司專門為車載網(wǎng)絡(luò)設(shè)計(jì)的CAN總線收發(fā)器,該器件具有極低電磁輻射,高抵抗共模干擾的差動(dòng)接受電路,斷電時(shí)不影響總線狀態(tài), 針對汽車環(huán)境的總線插件保護(hù), 過熱保護(hù),對地及電源短路保護(hù)功能。

 

2.車載CAN總線儀表系統(tǒng)需求分析和設(shè)計(jì)

 

基于CAN總線的車用儀表系統(tǒng)主要要求完成以下兩項(xiàng)功能:(1)通過CAN總線接受各類汽車實(shí)時(shí)數(shù)據(jù),如車速數(shù)據(jù)、發(fā)動(dòng)機(jī)轉(zhuǎn)速數(shù)據(jù)、冷卻水水溫、燃油液位、各類報(bào)警燈狀態(tài)等;

 

2)CAN總線接收的數(shù)據(jù),進(jìn)行處理,及時(shí)驅(qū)動(dòng)步進(jìn)電機(jī),點(diǎn)亮或關(guān)閉相關(guān)LED,驅(qū)動(dòng)LCD顯示里程數(shù)據(jù)等。UPD780822集成的CAN控制器支持4種幀,①數(shù)據(jù)幀;②遠(yuǎn)程幀;③錯(cuò)誤幀;④超載幀。本文只用到了①和②幀格式,其中①用于接收來自節(jié)點(diǎn)的信息,②用于請求某個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)

 

基于CAN總線的車用儀表系統(tǒng)的拓?fù)浣Y(jié)構(gòu)如圖3所示,儀表盤所需要的數(shù)據(jù)來自多個(gè)節(jié)點(diǎn),在車載CAN網(wǎng)絡(luò)中分為高速CAN和低速CAN,由于汽車儀表顯示系統(tǒng)的實(shí)時(shí)性不是很高,因而將儀表盤的節(jié)點(diǎn)放在低速CAN網(wǎng)絡(luò)中,它同高速CAN網(wǎng)絡(luò)的通信通過高低速CAN網(wǎng)關(guān)來實(shí)現(xiàn)。

 

對于節(jié)點(diǎn)消息設(shè)計(jì)在本應(yīng)用中,通信協(xié)議是由OEM廠商提供,所以本CAN通信主要是根據(jù)協(xié)議進(jìn)行消息報(bào)文的分配,UPD780822支持16路接收緩沖和2路發(fā)送緩沖,每路的數(shù)據(jù)最多可達(dá)8位,報(bào)文的分配如圖所示:

 

3.軟件設(shè)計(jì)

 

本系統(tǒng)的軟件全部采用C語言來實(shí)現(xiàn),UPD780822擁有2K內(nèi)部RAM,90KBFlash,開發(fā)環(huán)境是NEC集成的IDE,它包括PM Plus 編譯器,QB780822仿真環(huán)境,QB780822支持軟件和硬件仿真,我們采用硬件在線仿真,仿真器是NECIEQUB78082.。

 

3.2 CAN接收程序

 

為了便于程序的移植和修改,本接收程序定義了一個(gè)結(jié)構(gòu),部分代碼如下:

unsigned char InputCAN( unsigned char msg_num )

{unsigned char p;p=0;RUN = 0x01;                    /*開始接收*/

if(Receive_message[1]==1){p |= 1;

Buf_Speed=((int)Receive_message[1].DATA[0]<<8)|Receive_message[1].DATA[1];//接收車速數(shù)據(jù)Buf_Speed

Receive_message[1]=0;Receive_message[1]=0;}

RUN     = 0x01;                 /*開始接收*/

if(Receive_message[2]==1){p|=2;

Buf_Rpm=((int)Receive_message[2].DATA[0]<<8)|Receive_message[2].DATA[1];//接收轉(zhuǎn)速數(shù)據(jù)Buf_Rpm

Receive_message[2]=0;Receive_message[2]=0;}

RUN     = 0x01;                 /*開始接收*/

if(Receive_message[3]==1){p |= 4;

Buf_Fuel=((int)Receive_message[3].DATA[0]<<8)|Receive_message[3].DATA[1];//燃油數(shù)據(jù)Buf_Fuel

Receive_message[3]=0;Receive_message[3]=0;}

RUN     = 0x01;                 /*開始接收*/

if(Receive_message[4]==1){p |= 8;

Buf_Winker=((int)Receive_message[4].DATA[0]<<8)|Receive_message[4].DATA[1];//水溫?cái)?shù)據(jù)Buf_Water

Receive_message[4]=0;Receive_message[4]=0;}

RUN = 0x01;                 /*開始接收*/

if(Receive_message[5]==1){p |= 16;

Buf_Winker=((int)Receive_message[5].DATA[0]<<8)|Receive_message[5].DATA[1];//接收報(bào)警燈和指示信號Buf_Winker

Receive_message[5]=0;Receive_message[5]=0;}

RUN     = 0x01;                 /*開始接收*/

if(Receive_message[6]==1){p |= 32;

Buf_CanData=((int)Receive_message[6].DATA[0]<<|Receive_message[6].DATA[1];//接收其他數(shù)據(jù)Buf_CanData

Receive_message[6]=0;Receive_message[6]=0;}

RUN     = 0x01;/*開始接收*/

return p;//1:車速信號,2:轉(zhuǎn)速數(shù)據(jù);4:燃油數(shù)據(jù) 8:水溫?cái)?shù)據(jù) 16:報(bào)警燈指示數(shù)據(jù) 32:其他數(shù)據(jù) 其他:接收數(shù)據(jù)無效

}

 

4.結(jié)束語

 

由于本儀表系統(tǒng)中采用了CAN 總線, 大大減少了儀表板與車載其它電子設(shè)備間通信用電纜的數(shù)量和接插件的數(shù)量和種類,提高了系統(tǒng)的魯棒性,同時(shí)系統(tǒng)通過充分利用車載網(wǎng)絡(luò)的優(yōu)勢,實(shí)現(xiàn)數(shù)據(jù)共享,降低了系統(tǒng)成本,提供汽車儀表的控制精度,本CAN通信軟件已經(jīng)通過驗(yàn)證,可以滿足汽車儀表的通信要求,鑒于CAN 的應(yīng)用優(yōu)勢和發(fā)展前景,并考慮到它在國外尚未定型,在國內(nèi)也有很多應(yīng)用空白,我國汽車業(yè)可以在引進(jìn)、消化、吸收的基礎(chǔ)上,配合CAN的推廣工作抓緊制定符合國情的CAN技術(shù)標(biāo)準(zhǔn),形成自主產(chǎn)權(quán)的汽車控制網(wǎng)絡(luò)系統(tǒng)。

 

(轉(zhuǎn)載)

標(biāo)簽: CAN總線 汽車組合儀表 盤的設(shè)計(jì) 我要反饋 
2024世界人工智能大會專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會
專題報(bào)道
2024 工博會 | 直播探館 · 全景解讀
2024 工博會 | 直播探館 · 全景解讀

第二十四屆中國工博會于9月24日至28日在國家會展中心(上海)舉行,展會以“工業(yè)聚能 新質(zhì)領(lǐng)航”為全新主題。 [更多]

2024世界人工智能大會
2024世界人工智能大會

WAIC 2024將于7月在上海舉行,論壇時(shí)間7月4日-6日,展覽時(shí)間7月4日-7日。WAIC 2024將圍繞“以共商促... [更多]

2024漢諾威工業(yè)博覽會專題
2024漢諾威工業(yè)博覽會專題

2024 漢諾威工業(yè)博覽會將于4月22 - 26日在德國漢諾威展覽中心舉行。作為全球首屈一指的工業(yè)貿(mào)易展覽會,本屆展覽會... [更多]