基于CAN總線的汽車行駛信息處理系統(tǒng)的設(shè)計
摘 要:設(shè)計了一種基于CAN總線的汽車行駛信息處理系統(tǒng)。該系統(tǒng)通過對汽車行駛時間、速度及各個開關(guān)量信息進行記錄、存儲, 不僅能夠?qū)崿F(xiàn)數(shù)據(jù)采集單元和數(shù)據(jù)分析軟件之間的數(shù)據(jù)采集, 還能根據(jù)車輛行駛信息, 繪制出各種行駛曲線。系統(tǒng)采用V isual Basic開發(fā), 數(shù)據(jù)信息查詢簡潔快速、界面美觀、色調(diào)適宜、抗干擾能力強、工作穩(wěn)定可靠。
汽車工業(yè)的發(fā)展、普及, 隨著給交通管理帶來了許多問題。僅2005 年, 全國共發(fā)生道路交通事故450 254起, 造成98 738人死亡, 直接財產(chǎn)損失18 8億元。據(jù)分析, 駕駛員違章駕駛是當前導(dǎo)致交通事故的主要原因, 其中以違章超速和疲勞駕駛為違章重點。在客觀上需要一種能夠?qū)崟r記錄車輛行駛和駕駛員駕駛活動等相關(guān)信息的車輛行駛狀態(tài)信息處理系統(tǒng), 以遏止疲勞駕駛, 約束駕駛?cè)藛T的不良駕駛行為, 預(yù)防道路交通事故, 提高營運管理水平, 降低交通事故發(fā)生率, 為事故分析和事故責任鑒定提供原始數(shù)據(jù)。于是, 汽車行駛信息處理系統(tǒng)應(yīng)運而生。
汽車行駛信息處理系統(tǒng), 是對CAN 總線采集的車輛行駛速度、時間、里程以及其他開關(guān)量信息進行記錄、存儲, 實現(xiàn)查詢、統(tǒng)計、圖表生成、參數(shù)設(shè)置和權(quán)限管理等功能, 以便分析出車輛行駛狀態(tài)和駕駛員在駕駛過程中的各種操作, 從而為有關(guān)部門對事故責任的鑒定提供有力依據(jù)。
1 系統(tǒng)簡介
整個系統(tǒng)分為車載部分和非車載的計算機部分,結(jié)構(gòu)示意圖如圖1所示。車載部分裝在車輛上, 計算機部分的數(shù)據(jù)分析軟件歸相關(guān)部門所有。車載部分主要是CAN節(jié)點和數(shù)據(jù)采集單元, 各個CAN 節(jié)點采集的時間、速度、開關(guān)量等信息, 通過CAN 總線送到車載部分的數(shù)據(jù)采集單元中存儲, 然后再將這些數(shù)據(jù)通過數(shù)據(jù)采集單元的RS232串行接口或USB 接口上傳到計算機中, 供數(shù)據(jù)分析處理系統(tǒng)進行分析, 而且數(shù)據(jù)分析處理系統(tǒng)還具有數(shù)據(jù)下傳功能, 即對車載部分實現(xiàn)初始化和參數(shù)設(shè)置。
圖1 汽車行駛信息處理系統(tǒng)結(jié)構(gòu)示意圖
2 系統(tǒng)總體設(shè)計方案
系統(tǒng)總體設(shè)計如圖2所示, 分為下層和上層兩部分。下層部分主要由掛接在CAN 總線上的CAN 節(jié)點和數(shù)據(jù)采集單元組成, 屬于車載部分。每個CAN 節(jié)點都由傳感器或執(zhí)行器接口、微處理器、CAN 總線控制器以及CAN 總線收發(fā)器組成。傳感器負責將采集到的車輛行駛時的速度、時間、剎車、左右轉(zhuǎn)向燈等信息傳遞給微處理器進行處理, 處理后的信息由CAN 控制器通過控制CAN 收發(fā)器傳送到CAN 總線上。數(shù)據(jù)采集單元負責將CAN 總線上的數(shù)據(jù)信息取回, 然后通過RS232或U SB 接口上傳給上層數(shù)據(jù)分析軟件進行分析。上層數(shù)據(jù)分析軟件部分屬于非車載計算機部分, 主要是對CAN 總線所上傳的車輛行駛時間、速度等數(shù)據(jù)信息實現(xiàn)統(tǒng)計、生成圖表, 并實現(xiàn)對車輛和駕駛員的相關(guān)信息進行管理的功能。
圖2 系統(tǒng)結(jié)構(gòu)示意圖
3 系統(tǒng)軟件設(shè)計
汽車行駛信息處理系統(tǒng)的結(jié)構(gòu)圖如圖3所示, 上層數(shù)據(jù)分析軟件總體流程圖如圖4所示。系統(tǒng)以SQLSever數(shù)據(jù)庫為基礎(chǔ), 采用V isual B asic 6 0開發(fā), 總體結(jié)構(gòu)可以劃分為登陸模塊、用戶管理模塊、車輛管理模塊、數(shù)據(jù)管理模塊和幫助模塊等。
圖3 汽車行駛信息處理系統(tǒng)的結(jié)構(gòu)圖
圖4 上層數(shù)據(jù)分析軟件總體流程圖
系統(tǒng)數(shù)據(jù)分析軟件的整個登陸過程分為4部分:
選擇用戶類型、輸入用戶編號、輸入用戶密碼和登陸, 而用戶類型是指登陸系統(tǒng)的用戶是管理員還是駕駛員。如果選擇了用戶類型, 輸入了正確的用戶編號和用戶密碼, 則可以成功的登陸系統(tǒng), 否則可以通過點擊 清除!按鈕來清除已經(jīng)輸入的用戶編號和密碼,重新輸入或是點擊 關(guān)閉!按鈕退出系統(tǒng)。
用戶管理包括管理員管理和駕駛員管理。管理員具有最高權(quán)限, 可以實現(xiàn)用戶管理、車輛管理中的所有功能, 實現(xiàn)對管理員和駕駛員的編號、姓名、密碼、年齡等基本信息的查看、增加、修改、刪除。而駕駛員只能實現(xiàn)用戶管理、車輛管理中部分功能, 即查看和修改自己的姓名、密碼等基本信息, 查看車輛基本信息。
車輛管理實現(xiàn)對車輛的車牌號碼、品牌、系列等基本信息的查看、增加、修改和刪除。數(shù)據(jù)分析軟件的重點是數(shù)據(jù)管理, 下面將重點介紹。
4 數(shù)據(jù)管理
數(shù)據(jù)管理包括對事故疑點數(shù)據(jù)的管理和對一般行駛數(shù)據(jù)的管理, 主要是根據(jù)車輛行駛的速度、開關(guān)量等信息, 繪制車輛行駛曲線。
事故疑點時, 需要對以0 1 s為時間間隔采集的車輛行駛的時間、速度及開關(guān)量等信息進行繪圖, 即建立速度與時間關(guān)系、加速度與時間關(guān)系以及開關(guān)量與時間關(guān)系曲線圖。一般行駛時, 需要對以1 s為時間間隔采集的車輛行駛的時間、速度及開關(guān)量等信息進行繪圖, 即建立速度與時間關(guān)系、加速度與時間關(guān)系、開關(guān)量與時間關(guān)系曲線圖。曲線的橫坐標為時間, 單位為s, 精確到1 s, 縱坐標為與時間對應(yīng)的車輛行駛速度、加速度及開關(guān)量, 速度的單位是km /h,精確到0.001 km /h, 加速度單位是m / s2, 精確到0.001m / s2。并可以實現(xiàn)對所繪制曲線的放大、縮小、翻頁以及曲線上數(shù)據(jù)的實時查詢。
由于速度、加速度等為連續(xù)的數(shù)據(jù), 而開關(guān)量為離散的數(shù)據(jù), 所以繪圖時要劃分為對速度、加速度與時間的連續(xù)型曲線繪制和對開關(guān)量與時間的離散型曲線繪制。但是, 繪制曲線的基本思想都是兩點確定一條直線, 不斷地取數(shù)據(jù), 不斷地連接兩點, 就可以繪制出時間- 速度關(guān)系曲線和時間- 加速度關(guān)系曲線,而實現(xiàn)方法是通過VB 中的line方法。
曲線上數(shù)據(jù)顯示, 是將當前時刻的各種行駛信息以數(shù)字化的形式表現(xiàn)出來, 并與圖形相符合。當需要某一點的各種信息時, 可以通過鼠標的mouse up 和mouse dow n事件先獲取該點的方位信息, 然后轉(zhuǎn)化為該點對應(yīng)的各種信息。
事故疑點時, 車輛行駛時的時間與速度、時間與加速度關(guān)系曲線如圖5所示, 其中, 實線為時間- 速度關(guān)系曲線, 虛線為時間- 加速度關(guān)系曲線。為便于分析, 圖形中左邊的縱軸為速度, 右邊的縱軸為加速度。
圖5 事故疑點時的時間與速度、加速度關(guān)系曲線
一般行駛時, 車輛的時間與速度、時間與加速度關(guān)系曲線如圖6所示。設(shè)計時, 選取典型的開關(guān)量作為分析對象, 其中( a)、( b)、( c)、( d)曲線分別表示剎車、左轉(zhuǎn)向燈、右轉(zhuǎn)向燈、油門。
圖6 一般行駛時時間與開關(guān)量關(guān)系曲線
5 結(jié)束語
與一般的汽車行駛信息處理系統(tǒng)相比, 本系統(tǒng)優(yōu)化了車輛行駛信息的存儲, 能以有限的存儲空間存儲更多、更詳細的車輛行駛信息, 并實現(xiàn)了基于VB 環(huán)境下的數(shù)據(jù)采集。在繪制車輛行駛曲線時, 無論是事故疑點時還是一般行駛時, 本系統(tǒng)都將時間與速度關(guān)系曲線和時間與加速度關(guān)系曲線放在一起, 并實現(xiàn)了曲線上數(shù)據(jù)的精確定位和顯示, 方便分析人員對車輛行駛時的狀況進行分析。