CAN總線在汽車行駛記錄儀中的應(yīng)用
摘要:傳統(tǒng)汽車行駛記錄儀由于采集信號多,信號傳輸復(fù)雜,往往不能保證終端獲取數(shù)據(jù)的準(zhǔn)確性。將CAN總線應(yīng)用到汽車行駛記錄儀設(shè)計中,采 用了CAN總線控制器SJA1000,CAN總線收發(fā)器TJAl050,實(shí)現(xiàn)了汽車行駛記錄儀間的遠(yuǎn)程多點(diǎn)數(shù)據(jù)通信。給出了汽車行駛記錄儀CAN總線接口 電路硬件設(shè)計原理和軟件設(shè)計流程。CAN總線的使用,提高了汽車行駛記錄儀的穩(wěn)定性,使得汽車行駛記錄儀數(shù)據(jù)傳輸更為可靠,使用更為方便。
關(guān)鍵詞:CAN總線;汽車行駛記錄儀;SJAl000;CAN控制器;CAN總線收發(fā)器
汽車行駛記錄儀(vehicle traveling data recorder)是安裝在車輛上,能夠記錄、存儲、顯示、打印車輛運(yùn)行速度、時間、里程以及有關(guān)車輛行駛的其他狀態(tài)信息,并可通過接口實(shí)現(xiàn)數(shù)據(jù)輸出的數(shù) 字式電子記錄裝置,俗稱汽車黑匣子。汽車行駛記錄儀的使用對遏制疲勞駕駛、車輛超速等交通違章、約束駕駛?cè)藛T的不良駕駛行為、保障車輛行駛安全以及道路交 通事故的分析鑒定具有重要的作用。
汽車行駛記錄儀(以下簡稱記錄儀)由汽車行駛記錄儀的主機(jī)部分和計算機(jī)終端的數(shù)據(jù)分析軟件部分構(gòu)成。主機(jī)部分是記錄儀的核心,主要完成車輛行駛數(shù)據(jù)的采 集、記錄和存儲。傳統(tǒng)的汽車行駛記錄儀由于采樣信號很多,信號采集很復(fù)雜,需要很多連接線,為了保證采集信號的準(zhǔn)確性,采集到的信號還要經(jīng)過放大電路和濾 波電路進(jìn)行處理,如果各級電路之間電氣特性匹配不好就會影響記錄儀信號采集的準(zhǔn)確性,甚至有時還會影響到汽車其他系統(tǒng)的正常工作。
計算機(jī)終端的數(shù)據(jù)分析軟件主要實(shí)現(xiàn)對汽車行駛中諸如速度、壓力等數(shù)據(jù)的分析和處理,因此記錄儀采集的信號必須與計算機(jī)終端、外圍報警模塊、人機(jī)接口模塊等 進(jìn)行數(shù)據(jù)傳輸。標(biāo)準(zhǔn)的RS232串行通信是一種成熟穩(wěn)定的通信方式,也是汽車行駛記錄儀國家標(biāo)準(zhǔn)規(guī)定的必須具有的通信方式。但RS232串行通訊信距離 短,只能進(jìn)行點(diǎn)到點(diǎn)通訊,不能直接組建多點(diǎn)通信網(wǎng)絡(luò)。為了延長RS232的通信距離,并將RS232節(jié)
點(diǎn)組成通訊網(wǎng)絡(luò),就需要將RS232串行通信接口轉(zhuǎn)換成CAN總線接口,以CAN總線形式構(gòu)成遠(yuǎn)程多點(diǎn)通信網(wǎng)絡(luò)。
CAN總線的應(yīng)用使汽車行駛記錄儀通過接口直接從CAN總線上讀取相應(yīng)信號,因而不會影響其他系統(tǒng)的正常工作;同時CAN總線具有數(shù)據(jù)傳遞可靠性很高的優(yōu)點(diǎn),也使得其數(shù)據(jù)準(zhǔn)確性得以保障。
1 CAN總線特點(diǎn)
控制器區(qū)域網(wǎng)(Controller Area Metwork,CAN)總線是一種多主機(jī)局部網(wǎng)。CAN總線規(guī)范已被國際標(biāo)準(zhǔn)化組織(ISO)制定為國際標(biāo)準(zhǔn)。C-AN總線屬于總線式串行通信網(wǎng)絡(luò),由 于采用了許多新技術(shù)和獨(dú)特設(shè)計,因而具有以下特點(diǎn):1)總線以多主方式工作,通信方式靈活,且不用占地址等節(jié)點(diǎn)信息;2)CAN總線網(wǎng)絡(luò)上的節(jié)點(diǎn)信息分不 同的優(yōu)先級,可滿足不同的實(shí)時要求;3)采用非破壞性總線仲裁技術(shù),在網(wǎng)絡(luò)負(fù)載很重的情況下也不會出現(xiàn)網(wǎng)絡(luò)癱瘓的情況;4)只需通過報文濾波即可實(shí)現(xiàn)點(diǎn)對 點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù),無需專門的“調(diào)度”;5)直接通信距離最遠(yuǎn)可達(dá)10 km(速率5 Kb/s以下);6)通信速率最高可達(dá)1 Mb/s(此時通信距離最長為40 m);7)每幀信息都有CRC校驗及其他檢錯措施,保證了數(shù)據(jù)出錯率極低;8)CAN總線節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動關(guān)閉輸出的功能,以使總線上的其 他節(jié)點(diǎn)的操作不受影響。
2 CAN總線接口硬件電路設(shè)計原理
CAN總線是一種多主總線,可將汽車行駛記錄儀作為汽車CAN網(wǎng)絡(luò)的一個節(jié)點(diǎn),在系統(tǒng)中與計算機(jī)終端相連的節(jié)點(diǎn)是主節(jié)點(diǎn),其他節(jié)點(diǎn)是從節(jié)點(diǎn)。理論上,主節(jié) 點(diǎn)可以有多個。在簡單的系統(tǒng)中,一般只設(shè)置1個主節(jié)點(diǎn),完成主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送配置數(shù)據(jù)、主節(jié)點(diǎn)向從節(jié)點(diǎn)請求當(dāng)前工作狀態(tài)、當(dāng)前數(shù)據(jù)以及數(shù)據(jù)管理等工作。 從節(jié)點(diǎn)根據(jù)應(yīng)用的需要完成不同的功能,如現(xiàn)場數(shù)據(jù)的采集、設(shè)備控制和驅(qū)動等,并能實(shí)現(xiàn)上傳數(shù)據(jù)和接收數(shù)據(jù)等通信功能。
主節(jié)點(diǎn)由PC機(jī)、CAN接口電路、上位機(jī)接口軟件等組成。CAN接口電路實(shí)現(xiàn)了以CAN總線上從節(jié)點(diǎn)和上位機(jī)之間的通信,CAN接口電路原理框圖如圖1所示。
CAN接口電路以PHILIPS公司的P89C52微控制器作為核心處理器,負(fù)責(zé)對CAN總線控制器初始化,并通過數(shù)據(jù)總線對CAN控制器進(jìn)行讀/寫控 制,實(shí)現(xiàn)CAN網(wǎng)絡(luò)節(jié)點(diǎn)中信息的收發(fā),從而實(shí)現(xiàn)對現(xiàn)場的控制;通過MAX232與PC機(jī)實(shí)現(xiàn)串行通信,由PC機(jī)發(fā)送的數(shù)據(jù)寫到微控制器中,再由微控制器 的。I/O口和控制信號線將數(shù)據(jù)寫入CAN控制器,通過CAN收發(fā)器向CAN總線發(fā)送;CAN總線上,需要上傳給主節(jié)點(diǎn)的數(shù)據(jù),經(jīng)CAN收發(fā)器寫入CAN 控制器,通過中斷信號提醒微控制器讀取,再由RS-232接口上傳給PC機(jī)。在CAN總線的兩端,需要接一個120 Ω的匹配電阻,以提高數(shù)據(jù)通信的抗干擾能力及整體可靠性。
[!--empirenews.page--]
3 主要硬件電路設(shè)計
除主控器件微處理器P89C52之外,CAN總線接口電路主要由CAN總線通信接口電路、CAN收發(fā)器與光電隔離部分、串口收發(fā)器等組成。
3.1 CAN總線通信接口電路
CAN總線通信接口電路是一個很重要的環(huán)節(jié),記錄儀的正確運(yùn)行與其密切相關(guān)。該設(shè)計采用了PHILIPS公司生產(chǎn)的總線控制器SJA1000,該器件是一 種獨(dú)立的CAN總線控制器,主要用于移動目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。SJA1000具有PCA82C200模式(即默認(rèn)的Basic CAN
模式),基本特性如下:1)具有PCA82C200模式(即默認(rèn)的Basic CAN模式);2)支持CAN2.OA和CAN2.OB協(xié)議;3)支持11位和29位標(biāo)識符;4)通信的位速率可達(dá)1 Mb/s;5)采用的是24 MHz時鐘頻率;6)可與不同的微處理器相接;7)可編程的CAN輸出驅(qū)動器配置;8)溫度適應(yīng)范圍大(-40~+125℃)。
此外,還具有PeliCAN模式擴(kuò)展功能:1)可讀/可訪問的錯誤計數(shù)寄存器;2)可編程的錯誤報警限額寄存器;3)最近一次錯誤代碼寄存器;4)對每一 個CAN總線錯誤的中斷;5)有具體位表示的仲裁丟失中斷;6)單次發(fā)送(無重復(fù));7)只聽模式(無確認(rèn)、無激活的錯誤標(biāo)志);8)支持熱插拔(軟件位 速率檢測);9)驗收濾波器的擴(kuò)展(4字節(jié)的驗收代碼,4字節(jié)的屏蔽);10)接收自身報文(自接收請求)。
圖2所示為SJA1000與微處理器通信接口電路。SJA1000的復(fù)位信號RST為低電平有效。
[!--empirenews.page--]
3.2 CAN總線收發(fā)器隔離電路
CAN總線收發(fā)器采用了標(biāo)準(zhǔn)的高速CAN收發(fā)器TJAl050,該收發(fā)器是CAN協(xié)議控制器和物理總線之間的接口。TJAl050可以為總線提供差動發(fā)送 性能,為CAN控制器提供差動接收性能。TJAl050除了增強(qiáng)EMC外,另外一個重要的特性是不上電時,CAN總線呈現(xiàn)無源特性。這使TJAl050在 性能上大大優(yōu)于其他CAN總線收發(fā)器。TJAl050有高速和靜音2種工作模式,都由引腳S控制。引腳S接地可以進(jìn)入高速模式,由于引腳S有內(nèi)部下拉功 能,所以當(dāng)它沒接時,高速模式也是默認(rèn)模式。在高速模式中,總線輸出信號有固定的頻率,并且以盡量快的速度切換,適用于最大的位速率和最大的總線長度。將 引腳S接高電平,就可進(jìn)入靜音模式。在靜音模式中,發(fā)送器是禁止的,不管TXD的輸入信號。因此,TJA1 050在非發(fā)送狀態(tài)中,它此時消耗的電源電流和隱形狀態(tài)時一樣。TJAl050最低的波特率為20 Kb/s。
為了確保在CAN總線遭受嚴(yán)重干擾時控制器能夠正常運(yùn)行,CAN總線控制器沒有與總線收發(fā)模塊直接相連,而是通過光電隔離器6N137后相連,從而實(shí)現(xiàn)總 線上各節(jié)點(diǎn)間的電氣隔離。電路圖如圖3所示。6N137光耦合器的第6引腳Vo輸出電路屬于集電極開路電路,必須上拉一個電阻;另外其第2引腳和3引腳之 間是一個LED,必須串接一個限流電阻,此外,光電耦合部分所采用的兩個電源VCC和CAN的+5 V必須完全隔離。
3.3 RS232總線接口模塊
RS232總線接口主要實(shí)現(xiàn)汽車行駛記錄儀與PC機(jī)的RS232串口通信功能。MAX232芯片是常用的RS-232C與TTL電平轉(zhuǎn)換器,它的內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,只需+5 V電源便可實(shí)現(xiàn)RS-232C與TTL電平轉(zhuǎn)換,使用方便,一個芯片可連接2對收/發(fā)信號線。因此轉(zhuǎn)換器采用MAX23 2。其接口原理圖如圖4所示。
4 軟件設(shè)計
在軟件設(shè)計之前,為了確保SJAl000的片選地址與其他的外部存儲器無沖突,需先確定SJAl000的基地址及復(fù)位引腳,然后正確地初始化SJAl000。CAN接口電路的軟件設(shè)計主流程圖如圖5所示,主要包括CAN控制器的初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收及出錯處理等。
[!--empirenews.page--]
SJAl000的初始化只有在復(fù)位模式下才可以進(jìn)行,初始化主要包括工作方式的設(shè)置,接收濾波方式的設(shè)置,接收屏蔽寄存器和接收代碼寄存器的設(shè)置,波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置等。其初始化流程如圖6所示。
CAN發(fā)送數(shù)據(jù)流程如圖7所示,接收數(shù)據(jù)流程如圖8所示。此程序以采集行駛車輛行駛速度和壓力數(shù)據(jù)為例。
5 結(jié)束語
CAN總線的應(yīng)用,使汽車行駛記錄儀的信號采樣系統(tǒng)簡化,降低了對MCU處理單元的性能要求,提高了汽車行駛記錄儀穩(wěn)定性,可在RS232通信節(jié)點(diǎn)中建立 多點(diǎn)遠(yuǎn)程通信,其硬件和軟件設(shè)計上都有所創(chuàng)新,使記錄儀安裝更為簡便,具有很好的性價比和很強(qiáng)的可移植性和擴(kuò)充性。