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