基于CAN總線的汽車車身控制系統(tǒng)設(shè)計(jì)
隨著汽車電子技術(shù)的不斷發(fā)展,汽車上的各種電子裝置越來(lái)越多,電子控制裝置之間的通訊也越來(lái)越復(fù)雜,而汽車上傳統(tǒng)的電氣系統(tǒng)大多采用點(diǎn)對(duì)點(diǎn)的單一通信方式,相互之間少有聯(lián)系,造成了龐大的布線系統(tǒng),已遠(yuǎn)遠(yuǎn)不能滿足汽車愈加復(fù)雜的控制系統(tǒng)要求。汽車控制局域網(wǎng)CAN 總線應(yīng)運(yùn)而生,它廣泛應(yīng)用于汽車電子控制系統(tǒng)中,為實(shí)現(xiàn)汽車控制部件的智能化和汽車控制系統(tǒng)的網(wǎng)絡(luò)化提供了一個(gè)有效的途徑和方法。
本文引用地址:http://butianyuan.cn/article/201612/329384.htm2 CAN總線技術(shù)簡(jiǎn)介
CAN 總線是德國(guó)BOSCH 公司從20 世紀(jì)80 年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議,它是一種多主總線,通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維。通信速率可達(dá)1Mb/s.CAN 總線通信接口中集成了CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。CAN 協(xié)議的一個(gè)最大特點(diǎn)是廢除了傳統(tǒng)的站地址編碼,而代之以對(duì)通信數(shù)據(jù)塊進(jìn)行編碼,最多可標(biāo)識(shí)2048(2.0A)個(gè)或5 億(2.0B)多個(gè)數(shù)據(jù)塊。采用這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理上受限制。數(shù)據(jù)段長(zhǎng)度最多為8 個(gè)字節(jié),不會(huì)占用總線時(shí)間過(guò)長(zhǎng),從而保證了通信的實(shí)時(shí)性。CAN 協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。
3 系統(tǒng)設(shè)計(jì)思想
汽車車身系統(tǒng)的控制對(duì)象包括:4個(gè)車門鎖、2個(gè)以上車窗玻璃升降器、行李箱鎖、除霜加熱器、電動(dòng)后視鏡、前后大燈、小燈、轉(zhuǎn)向燈、危險(xiǎn)燈、霧燈、牌照燈、車內(nèi)閱讀燈、車廂頂燈等。在具備遙控功能的情況下,還包括對(duì)遙控信號(hào)的接收處理和防盜系統(tǒng)的控制。因此,根據(jù)以上要完成的各功能,將本系統(tǒng)設(shè)計(jì)為5個(gè)子模塊,分別是中央控制模塊(實(shí)現(xiàn)中控門鎖、防盜、雨刮、內(nèi)外燈和后窗及后視鏡加熱等功能),4個(gè)門控模塊(分別為主駕門模塊、右前門模塊、左后門模塊、右后門模塊,來(lái)控制車窗升降器和門鎖)。圖1給出了車身控制模塊CAN總線結(jié)構(gòu)。
4 基于CAN總線車身控制系統(tǒng)的硬件開(kāi)發(fā)
4.1 系統(tǒng)各模塊電路框圖
根據(jù)以上設(shè)計(jì)思想分為5個(gè)子模塊。
主控單元接收開(kāi)關(guān)信號(hào)之后,先進(jìn)行分析處理,然后通過(guò)CAN總線把控制指令發(fā)送給各受控端,各受控端響應(yīng)后作出相應(yīng)的動(dòng)作。
以下是各模塊的電路框圖見(jiàn)圖2、圖3、圖4.
4.2 系統(tǒng)主要使用的元器件
(1)CAN控制器。考慮到系統(tǒng)拓展的需要,我們采用PHILIPS公司生產(chǎn)的SJA1000來(lái)作為此系統(tǒng)的CAN控制器。它既和PCA82C200獨(dú)立CAN控制器引腳兼容,又和PCA82C200獨(dú)立CAN控制器電氣兼容;既支持Basic CAN模式,又支持PeliCAN模式;和CAN2.0B協(xié)議兼容;可同時(shí)支持11位和29位識(shí)別碼;位速率可達(dá)1Mbits/s.
?。?)CAN收發(fā)器。采用PHILIPS公司生產(chǎn)TJA1050,跟PCA82C250一樣,TJA1050符合ISO11898標(biāo)準(zhǔn),但在關(guān)鍵的AM波段上它的輻射比PCA82C250低20dB以上。在不上電時(shí)總線呈現(xiàn)無(wú)源特性。
(3)單片機(jī)。采用P89C51.該單片機(jī)是80C51微控制器的派生器件,是采用先進(jìn)CMOS工藝制造的8位微控制器,指令系統(tǒng)與80C51完全相同。
5 基于CAN總線車身控制系統(tǒng)的軟件開(kāi)發(fā)
在CAN總線構(gòu)成的系統(tǒng)中,用戶要根據(jù)自己的要求來(lái)編寫應(yīng)用層和用戶層軟件。用戶層實(shí)現(xiàn)用戶要求的控制策略和系統(tǒng),而應(yīng)用層則是在用戶層與接口之間,CAN建立了報(bào)文發(fā)送時(shí)的方法、信號(hào)電平及協(xié)議,應(yīng)用層則定義了結(jié)構(gòu)、響應(yīng)及報(bào)文的意義,應(yīng)用層要根據(jù)CAN系統(tǒng)應(yīng)用場(chǎng)合的不同而有所變化。
5.1 CAN控制器的初始化
CAN控制器SJA1000在正式收發(fā)信號(hào)之前必須進(jìn)行初始化設(shè)置。對(duì)SJA1000的初始化是對(duì)工作方式、接收濾波寄存器、接收屏蔽寄存器、接收代碼寄存器、波特率參數(shù)等的設(shè)置,要求對(duì)寫入每個(gè)寄存器的內(nèi)容進(jìn)行仔細(xì)和全面的考慮。其初始化流程見(jiàn)圖5.
5.2 CAN總線上數(shù)據(jù)的發(fā)送和接收
對(duì)SJA1000初始化成功后,就可以用它來(lái)傳輸和接收?qǐng)?bào)文。節(jié)點(diǎn)向總線發(fā)送報(bào)文的過(guò)程是:?jiǎn)纹瑱C(jī)P89C51將待發(fā)送的數(shù)據(jù)按CAN格式組成一幀報(bào)文,寫入SJA1000的發(fā)送緩沖區(qū),然后啟動(dòng)SJA1000,把報(bào)文發(fā)送到總線上去。接收?qǐng)?bào)文的過(guò)程是:SJA1000從總線上自動(dòng)接收?qǐng)?bào)文,并經(jīng)過(guò)過(guò)濾后存入接收緩沖區(qū),并向單片機(jī)發(fā)出中斷請(qǐng)求,單片機(jī)從緩沖區(qū)讀取報(bào)文。發(fā)送和接收流程見(jiàn)圖6、圖7.
6 結(jié)束語(yǔ)
CAN總線以其高性能、高可靠性及其獨(dú)特的設(shè)計(jì)越來(lái)越受到人們的重視,并被公認(rèn)為是汽車電控系統(tǒng)中最有前途的總線之一。它作為一種可靠的汽車計(jì)算機(jī)網(wǎng)絡(luò)總線已在許多先進(jìn)汽車上得到應(yīng)用,使得各汽車計(jì)算機(jī)控制單元能夠通過(guò)CAN總線共享所有信息和資源,達(dá)到簡(jiǎn)化布線、減少傳感器數(shù)量、避免控制功能重復(fù)、提高系統(tǒng)可靠性和維護(hù)性、降低成本、更好地匹配和協(xié)調(diào)各個(gè)控制系統(tǒng)的目的。
評(píng)論