汽車(chē)CAN總線(xiàn)數據記錄儀開(kāi)發(fā)
1、引言
本文引用地址:http://dyxdggzs.com/article/196680.htm20世紀80年代以來(lái),隨著(zhù)汽車(chē)電子技術(shù)的不斷發(fā)展,汽車(chē)上的電子控制單元越來(lái)越多,例如電子燃油噴射裝置、防抱死制動(dòng)裝置(ABS)、安全氣囊裝置、電控門(mén)窗裝置和主動(dòng)懸架等等。在這種情況下,如果仍采用傳統點(diǎn)到點(diǎn)的并行布線(xiàn)方式,將導致車(chē)上電線(xiàn)數目急劇增加,布線(xiàn)越來(lái)越困難,電線(xiàn)質(zhì)量占整車(chē)質(zhì)量越來(lái)越多,復雜電路同時(shí)也降低了汽車(chē)的可靠性,增加了維修的難度。為適應汽車(chē)電子設備迅速增加的應用需要,控制器局域網(wǎng)絡(luò )CAN應運而生。目前,在汽車(chē)設計領(lǐng)域中,CAN幾乎成了一種必須采用的技術(shù)手段,尤其是在歐洲,如奔馳(BENZ)、寶馬(BMW )等都采用CAN總線(xiàn)實(shí)現汽車(chē)內部控制系統與各檢測和執行機構間的數據通信[1]。汽車(chē)CAN總線(xiàn)數據記錄儀能實(shí)時(shí)采集汽車(chē)CAN總線(xiàn)數據信息,它的研制對于熟悉和掌握汽車(chē)CAN總線(xiàn)的通信協(xié)議和信息內容,對于汽車(chē)故障維修以及進(jìn)行汽車(chē)網(wǎng)絡(luò )技術(shù)方面的應用研究具有重要意義。
2、CAN總線(xiàn)介紹
CAN是控制器局域網(wǎng)絡(luò )(Controller Area Network)的簡(jiǎn)稱(chēng),它是由德國B(niǎo)osch公司及幾個(gè)半導體生產(chǎn)商開(kāi)發(fā)出來(lái)的,CAN總線(xiàn)是一種串行多主站控制器局域網(wǎng)總線(xiàn)。它具有很高的網(wǎng)絡(luò )安全性、通訊可靠性和實(shí)時(shí)性,而且簡(jiǎn)單實(shí)用,網(wǎng)絡(luò )成本低。特別適用于汽車(chē)計算機控制系統和環(huán)境溫度惡劣、電磁輻射強和振動(dòng)大的工業(yè)環(huán)境。CAN總線(xiàn)可有效支持分布式控制或實(shí)時(shí)控制。該總線(xiàn)的通信介質(zhì)可以是雙絞線(xiàn)、同軸電纜或光纖[2-3]。其主要特點(diǎn)如下:
•CAN總線(xiàn)為多主站總線(xiàn),各節點(diǎn)可在任意時(shí)刻向網(wǎng)絡(luò )上的其他節點(diǎn)發(fā)送信息,且不分主從;
•CAN總線(xiàn)采用獨特的非破壞性總線(xiàn)仲裁技術(shù),高優(yōu)先級節點(diǎn)優(yōu)先傳送數據,故實(shí)時(shí)性好;
•CAN總線(xiàn)具有點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播傳送數據的功能;
•CAN總線(xiàn)采用短幀結構,每幀有效字節數最多為8個(gè),數據傳輸時(shí)間短,并有CRC及其它校驗措施,數據出錯率極低;
•CAN總線(xiàn)上某一節點(diǎn)出現嚴重錯誤時(shí),可自動(dòng)脫離總線(xiàn),而總線(xiàn)上的其他操作不受影響;
•CAN總線(xiàn)系統擴充時(shí),可直接將新節點(diǎn)掛在總線(xiàn)上,因而走線(xiàn)少,系統擴充容易,改型靈活;
•CAN總線(xiàn)的最大傳輸速率可達1Mb/s,直接通信距離最遠可達到10km(速率在5kbps以下);
•CAN總線(xiàn)上的節點(diǎn)數取決于總線(xiàn)驅動(dòng)電路。在標準幀(11位報文標識符)時(shí)可達到110個(gè),而在擴展幀(29位報文標識符)時(shí),個(gè)數不受限。
3、CAN總線(xiàn)數據記錄儀硬件設計
CAN總線(xiàn)數據記錄儀工作時(shí)應掛接到汽車(chē)CAN總線(xiàn)上成為一個(gè)CAN節點(diǎn),以便采集CAN數據信息。其系統硬件結構采用圖1所示電路結構。各核心模塊介紹如下。
圖1 CAN總線(xiàn)數據記錄儀結構框圖
(1)主控模塊(MCU)
本系統主控模塊采用ATMEL公司的單片機AT89C52。它是一種低功耗、高性能、內含8KB閃速存儲器的8位CMOS微控制器,與工業(yè)標準MCS-51指令系統和引腳完全兼容。AT89系列的優(yōu)越性在于其片內閃速存儲器可進(jìn)行1000次的編程與擦除,且數據不易丟失,數據可保存10年。
(2)數據存儲電路
CAN總線(xiàn)數據傳輸速率較高,而單片機運算速度慢且任務(wù)繁重。為確保數據采集過(guò)程中數據不丟失,單片機外部擴展數據存儲器。當CAN模塊接收到汽車(chē)CAN總線(xiàn)上一幀數據引起單片機中斷時(shí),中斷服務(wù)程序將接收到的數據存儲到外部數據存儲器后馬上中斷返回,對于數據的處理及顯示等繁瑣的工作在主程序中完成。這樣,確保了CAN總線(xiàn)數據接收的完整性和實(shí)時(shí)性。
(3)人機接口模塊
CAN總線(xiàn)數據記錄儀采用OCMJ5×10B中文液晶顯示模塊顯示信息和接收到的數據。該模塊內含點(diǎn)陣國標一級簡(jiǎn)體漢字和ASCⅡ碼,可實(shí)現文本顯示。其用戶(hù)硬件接口采用REQ/BUSY握手協(xié)議,簡(jiǎn)單可靠。BUSY高電平有效,表示OCMJ忙,不能接受命令;BUSY=0時(shí),表示OCMJ空閑[4]。同時(shí)REQ=1時(shí)通知OCMJ處理當前數據線(xiàn)上的數據。本系統利用單片機P1.6和P1.7作為與液晶顯示模塊的REQ和BUSY聯(lián)絡(luò )口。
本系統主要有設置、增、減按鍵。利用單片機P1.0-P1.2實(shí)現按鍵輸入。
(4)通信模塊
CAN總線(xiàn)數據記錄儀接收到的汽車(chē)CAN總線(xiàn)數據可在液晶顯示器上實(shí)時(shí)顯示,也可以利用串行通信接口傳輸到上位機進(jìn)行顯示或數據處理和數據分析。本系統利用電平轉換芯片MAX232實(shí)現單片機與PC機的串行數據通信。
(5)CAN模塊
本系統采用的CAN控制器是SJA1000。SJA1000是PHILIPS公司生產(chǎn)的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器。與SJA1000配套使用的CAN收發(fā)器是PCA82C250,它是PHILIPS推出的CAN控制器和物理總線(xiàn)接口芯片,可提供對總線(xiàn)的差分發(fā)送和接收。它與ISO 11898標準完全兼容,并有高速、斜率控制和待機3種不同的工作方式,可根據實(shí)際情況選擇。CAN模塊總線(xiàn)控制器、總線(xiàn)驅動(dòng)器連接基本方法如圖2所示。為增強CAN總線(xiàn)節點(diǎn)的抗干擾能力,SJA1000通過(guò)高速光耦6N137后與82C250相連,這樣就很好的實(shí)現了本系統與汽車(chē)CAN總線(xiàn)的電氣隔離[5]。電源的隔離采用小功率電源隔離模塊。這些部分雖然增加了接口電路的復雜性,但是卻提高了系統的穩定性和安全性。
82C250與CAN總線(xiàn)的接口部分也采用了一定的安全和抗干擾措施。82C250的CANH和CANL引腳各自通過(guò)一個(gè)5Ω的電阻與CAN總線(xiàn)相連,電阻可起到一定的限流作用,保護82C250免受過(guò)流的沖擊。CANH和CANL與地之間并連的30pF電容,可以濾除總線(xiàn)上的高頻干擾和提高防電磁輻射的能力;而防雷擊管可消除輸入端與地之間的瞬變干擾。82C250的RS腳上接有一個(gè)斜率電阻,電阻大小可根據總線(xiàn)速度適當調整,一般在16~140kΩ之間。
圖2 CAN總線(xiàn)控制器、總線(xiàn)驅動(dòng)器電路連接圖
4、CAN總線(xiàn)數據記錄儀軟件設計
CAN總線(xiàn)數據記錄儀軟件設計要求簡(jiǎn)單、實(shí)用、高效、便于擴充。本系統程序主要由主模塊、CAN總線(xiàn)控制器初始化模塊、中斷處理模塊等組成。主模塊主要完成單片機初始化、鍵值處理、數據顯示等任務(wù)。其中,鍵值處理主要是根據鍵值修改CAN數據接收波特率;數據顯示是將存儲在外部數據存儲器的CAN總線(xiàn)數據逐幀顯示。
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理
評論