汽車行駛記錄儀(俗稱汽車黑匣子),是對(duì)車輛行駛速度、時(shí)間、里程以及有關(guān)車輛行駛的其他狀態(tài)信息進(jìn)行記錄、存儲(chǔ)并可通過接口實(shí)現(xiàn)數(shù)據(jù)輸出的數(shù)字式電子記錄裝置。對(duì)遏止疲勞駕駛、車輛超速等交通違章、約束駕駛?cè)藛T的不良駕駛行為、保障車輛行駛安全以及道路交通事故的分析鑒定具有重要的作用。
近幾年來(lái),國(guó)內(nèi)部分省份已經(jīng)規(guī)定,長(zhǎng)途客運(yùn)車必須安裝汽車行駛記錄儀。本文根據(jù)汽車行駛記錄儀國(guó)家標(biāo)準(zhǔn)GB/T 19056-2003,設(shè)計(jì)了一種符合國(guó)家標(biāo)準(zhǔn)且在現(xiàn)有的汽車行駛記錄儀產(chǎn)品中增加了防碰撞無(wú)線數(shù)據(jù)上載的功能。下面主要闡述汽車行駛記錄儀的基本功能以及硬件架構(gòu)和軟件系統(tǒng)的設(shè)計(jì)。
1 汽車行駛記錄儀基本功能
國(guó)家標(biāo)準(zhǔn)GB/T 19056-2003中主要要求記錄儀應(yīng)有如下功能:
(1)自檢功能
記錄儀在通電開始工作時(shí),應(yīng)首先進(jìn)行自檢,自檢正常后應(yīng)以綠閃信號(hào)及顯示屏顯示方式指示工作正常。
(2)駕駛員身份記錄功能
每臺(tái)記錄儀均配置惟一序號(hào),并安裝了非接觸式射頻IC卡驗(yàn)卡機(jī),或鍵人密碼方式,用戶可以根據(jù)需要采用IC卡方式或鍵入密碼方式驗(yàn)證駕駛員的身份。如駕駛前未進(jìn)行身份驗(yàn)證,或身份驗(yàn)證無(wú)效,即默認(rèn)為是上一次駕駛員身份。通過記錄儀管理軟件可以方便地查看駕駛員身份驗(yàn)證資料,如駕駛員身份驗(yàn)證無(wú)效,并不影響駕駛,但可通過管理軟件查看到非法駕駛的相關(guān)數(shù)據(jù)。
(3)數(shù)據(jù)顯示
轉(zhuǎn)速檢測(cè)與車輛轉(zhuǎn)速儀表同步,數(shù)字顯示,檢測(cè)精度為±50 r/min,顯示范圍為0~9 999 r/m。發(fā)動(dòng)機(jī)轉(zhuǎn)速特征系數(shù)可通過記錄儀管理軟件進(jìn)行設(shè)定。
日期和時(shí)間的記錄格式:北京時(shí)間*年*月*日*時(shí)*分*秒,相對(duì)誤差:±5 s。
(4)數(shù)據(jù)的采集、記錄、存儲(chǔ)功能
能夠?qū)r(shí)間、日期、駕駛時(shí)間、車輛行駛速度、行駛里程等數(shù)據(jù)進(jìn)行實(shí)時(shí)測(cè)量、記錄和存儲(chǔ),并保證存儲(chǔ)的數(shù)據(jù)在較長(zhǎng)時(shí)間內(nèi)不丟失。需要被采集的輸入信號(hào)包括三類:模擬信號(hào)輸入、數(shù)字信號(hào)輸入以及開關(guān)量信號(hào)輸入。
(5)數(shù)據(jù)通信功能
記錄儀能夠通過多種方式(包括RS 232串行接口、USB接口以及I2C總線接口)與外部環(huán)境進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的交互。
現(xiàn)有的汽車行駛記錄儀數(shù)據(jù)上載大部分均為有線傳輸,例如USB、串口線傳輸?shù)取T跓o(wú)法使用有線傳輸?shù)膱?chǎng)合,采用無(wú)線數(shù)據(jù)傳輸模塊和單片機(jī)相結(jié)合進(jìn)行數(shù)據(jù)傳輸是較合理的方案。本文就是用LPC2214與SR-WF-1021數(shù)傳模塊結(jié)合,加上防碰撞的簡(jiǎn)單算法進(jìn)行數(shù)據(jù)通信。
(6)超速、駕駛員疲勞駕駛的報(bào)警、記錄
當(dāng)車速超過設(shè)限(可根據(jù)用戶需要設(shè)定),記錄儀將發(fā)出聲光報(bào)警,提醒駕駛員減速。報(bào)警聲間隔為4s。
當(dāng)同一駕駛員連續(xù)駕車行駛累計(jì)4 h以上,記錄儀將記錄下該駕駛員疲勞駕駛的相關(guān)數(shù)據(jù),并發(fā)出蜂鳴報(bào)警,同時(shí)紅燈閃爍,與超速報(bào)警相似。連續(xù)駕駛中途停車超過20 min,記錄儀自動(dòng)解除當(dāng)前疲勞時(shí)間的累計(jì)。若停車時(shí)間小于20 min,記錄儀仍視為連續(xù)駕駛,累計(jì)疲勞駕駛時(shí)間。
2 系統(tǒng)硬件設(shè)計(jì)
本文設(shè)計(jì)了一個(gè)基于LPC2214單片機(jī)的簡(jiǎn)化嵌入式無(wú)線數(shù)據(jù)采集系統(tǒng),系統(tǒng)框圖如圖1所示。該系統(tǒng)體積小、重量輕、運(yùn)行成本低,且依托現(xiàn)有的無(wú)線模塊自組網(wǎng)絡(luò),自定義通信協(xié)議。特別適用于采集點(diǎn)分布范圍廣、數(shù)量多、自動(dòng)化值守的場(chǎng)合。
本系統(tǒng)的主機(jī)部分包括:信號(hào)輸入、數(shù)據(jù)保存和處理、數(shù)據(jù)顯示、數(shù)據(jù)通信、復(fù)位電路和掉電保護(hù)電路等部分。
![系統(tǒng)框圖](/uploads/allimg/121024/1523502234-0.jpg)
?
實(shí)時(shí)時(shí)鐘電路,在發(fā)生超速、疲勞駕駛等違章情況時(shí),LPC2214可直接從實(shí)時(shí)時(shí)鐘電路中讀取實(shí)時(shí)時(shí)間進(jìn)行處理和保存。
系統(tǒng)具備USB接口,當(dāng)用戶插入U(xiǎn)SB磁盤時(shí),可利用主控USB功能,將存儲(chǔ)器中的數(shù)據(jù)導(dǎo)入磁盤中。上位機(jī)軟件可利用此USB磁盤采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析和車輛、人員管理。
復(fù)位電路不僅能夠復(fù)位系統(tǒng),同時(shí)可以處理無(wú)線通信中一些干擾信號(hào)使無(wú)線模塊通信阻塞造成的死機(jī),同時(shí)LPC2214中的電源監(jiān)控芯片可提高系統(tǒng)的可靠性,從而保證LPC2214對(duì)電源、時(shí)鐘源等諸多方面提出的較高要求。
2.1 CPU模塊
系統(tǒng)中的CPU模塊是采用Philips公司推出的基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的32位ARM7TDMISTM CPU的高速處理器LPC2214。
LPC2214帶有256 KB嵌入的高速FLASH存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行。對(duì)代碼規(guī)模有嚴(yán)格控制的應(yīng)用可使用16位Thumb模式將代碼規(guī)模降低超過30%,而性能的損失卻很小。
LPC2214采用144腳封裝,可使用的GPIO高達(dá)76(使用了外部存儲(chǔ)器)~112個(gè)(單片應(yīng)用)。由于內(nèi)置了寬范圍的串行通信接口,使它們非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器、嵌入式軟Modern以及其他各種類型的應(yīng)用。
2.2 數(shù)據(jù)量采集
本文的模擬量采集是直接利用LPC2214內(nèi)現(xiàn)有的逐次逼近式的10 b A/D轉(zhuǎn)換器,實(shí)現(xiàn)8路快速模擬信號(hào)的采集。該轉(zhuǎn)換器的測(cè)量范圍為0~3 V,最快轉(zhuǎn)換速度可達(dá)2.44μs/次,編程簡(jiǎn)單,還可選擇需要的功能來(lái)提高轉(zhuǎn)換器的轉(zhuǎn)換精度。
本文的開關(guān)量采集時(shí)采用8路開關(guān)量的采集,外部開關(guān)信號(hào)經(jīng)過光電隔離TLP421后,從LPC2214的8根I/O口引入系統(tǒng),編程實(shí)現(xiàn)采用中斷方式或查詢方式對(duì)這8路開關(guān)信號(hào)進(jìn)行采集。
2.3 數(shù)據(jù)存儲(chǔ)模塊
本文系統(tǒng)以LPC2214為核心,對(duì)外部模擬量輸入、數(shù)字量輸入以及開關(guān)量輸入3種信號(hào)分別進(jìn)行采集。需要保存的數(shù)據(jù)經(jīng)過處理后存儲(chǔ)于內(nèi)部大容量存儲(chǔ)器中,實(shí)時(shí)數(shù)據(jù)(如實(shí)時(shí)車速、駕駛員信息、實(shí)時(shí)時(shí)間)及報(bào)警信號(hào)等可通過顯示面板輸出顯示。
![數(shù)據(jù)存儲(chǔ)模塊示意圖](/uploads/allimg/121024/15235063Y-1.jpg)
?
本文系統(tǒng)中含有兩種存儲(chǔ)器:FLASH存儲(chǔ)器SST39VF160和E2PROM存儲(chǔ)器FM24CL64。示意圖如圖2所示。
FM24CL64是一個(gè)基于I2C總線、具有8 KB存儲(chǔ)空間的串行CMOS的E2PROM存儲(chǔ)器,有一個(gè)專門的寫保護(hù)功能。該芯片占據(jù)LPC2214的I/O資源少、編程簡(jiǎn)單、數(shù)據(jù)存儲(chǔ)時(shí)間亦可達(dá)100年,故常用于存儲(chǔ)一些系統(tǒng)、配置參數(shù),在儀器儀表中的應(yīng)用十分廣泛。
SST39VF160是一個(gè)1M×16的CMOS并行多功能FLASH存儲(chǔ)器,具有快速擦除扇區(qū)和軟、硬件寫保護(hù)等功能。因?yàn)樵撔酒綦姅?shù)據(jù)保存時(shí)間超過100年,所以非常適用于大容量數(shù)據(jù)存儲(chǔ)的場(chǎng)合,尤其是需要程序或數(shù)據(jù)存儲(chǔ)器可方便且低成本地更新?lián)Q代。
在本系統(tǒng)中,擴(kuò)展了一個(gè)高速的靜態(tài)RAMIS61LV25616,該器件由ISSI的高性能CMOS技術(shù)制造而成,具有功耗低、訪問速度快等特點(diǎn)。超大容量的SDRAM資源,為嵌入式操作系統(tǒng)的移植、復(fù)雜邏輯處理提供了堅(jiān)實(shí)的基礎(chǔ)。
2.5 通信模塊
LPC2214內(nèi)部集成2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART串行接口,使用UART1外擴(kuò)SP3232芯片,構(gòu)成標(biāo)準(zhǔn)的RS 232通信接口。采集數(shù)據(jù)可以通過RS 232總線,傳輸?shù)絇C機(jī),便于數(shù)據(jù)的存儲(chǔ)與處理。
使用UART0外擴(kuò)SRWF-1021無(wú)線數(shù)傳模塊,為記錄儀和PC機(jī)之間的數(shù)據(jù)通信提供了一種便利的透明的無(wú)線傳輸方式。該模塊主要用于工業(yè)控制。其突出特點(diǎn)是:實(shí)現(xiàn)串口透明的無(wú)線傳輸、實(shí)時(shí)穩(wěn)定可靠高速、配置簡(jiǎn)單。將采集到的數(shù)據(jù)通過無(wú)線的方式進(jìn)行傳送,應(yīng)用靈活,可以在不容易布線的環(huán)境中很好地工作。
SRWF-1021無(wú)線數(shù)傳模塊為通用透明傳輸模塊,能適應(yīng)任何標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的用戶協(xié)議,其特點(diǎn)如下:
(1)微功率發(fā)射,最大發(fā)射功率為17 dBm,使用載波頻率為433 MHz。
(2)標(biāo)準(zhǔn)配置提供8個(gè)信道,可擴(kuò)展到16/32信道。滿足用戶多種通信組合方式。
(3)提供2個(gè)串口三種接口方式,COM1為TTL電平。
(4)接口波特率為多種可選,格式也為用戶自定義,可傳輸無(wú)限長(zhǎng)的數(shù)據(jù)幀,用戶編程靈活。
(5)+5 V供電情況下,接收電流為(28±2)mA,發(fā)射電流為(90±5)mA,休眠電流為(5±2)μA。
(6)采用單片射頻集成電路及單片MCU,體積小,外圍電路少,可靠性高,故障率低。
(7)高抗干擾能力和低誤碼率,是基于GFSK/FSK的調(diào)制方式,采用高效前向糾錯(cuò)信道編碼技術(shù),提高了數(shù)據(jù)抗突發(fā)干擾和隨機(jī)干擾的能力。
(8)傳輸距離遠(yuǎn),在公路情況下,天線放置高度為2 m,可傳輸距離可達(dá)800 m(433 MHz@9 600 b/s)。
(9)提供透明數(shù)據(jù)接口,能適應(yīng)任何標(biāo)準(zhǔn)或非標(biāo)準(zhǔn)的用戶協(xié)議,自動(dòng)過濾掉空中產(chǎn)生的假數(shù)據(jù),用戶無(wú)需編制多余的程序,實(shí)現(xiàn)所收即所發(fā)。
(10)UART接口,COM2由用戶自定義為軟件模擬的RS 232/RS 485接口,用戶只需要拔插1位短路器后再上電即可定義。
3 系統(tǒng)軟件部分
無(wú)線通信系統(tǒng)的軟件設(shè)計(jì)包括單片機(jī)端、PC機(jī)端以及上位機(jī)管理分析軟件三部分。三部分軟件相互配合,實(shí)現(xiàn)半雙工通信。
單片機(jī)端軟件要求汽車黑匣子作為一個(gè)記錄汽車運(yùn)行狀態(tài)的儀器,在無(wú)人控制的環(huán)境下,隨汽車開始運(yùn)行而自動(dòng)運(yùn)行。
本文汽車黑匣子的運(yùn)行方式為:在系統(tǒng)上電后開始運(yùn)行系統(tǒng)引導(dǎo)程序,通過引導(dǎo)程序調(diào)用嵌入式Linux內(nèi)核,在操作系統(tǒng)運(yùn)行后,操作系統(tǒng)自動(dòng)啟動(dòng)本系統(tǒng)的主程序。
系統(tǒng)軟件采用中斷服務(wù)程序配合CPU集中控制的結(jié)構(gòu)。主控程序負(fù)責(zé)系統(tǒng)初始化、操縱每個(gè)模塊的硬件設(shè)備并與之交互數(shù)據(jù);而各個(gè)模塊用中斷的方式向主控程序發(fā)出請(qǐng)求,要求主控程序完成相應(yīng)的操作。
上位機(jī)管理分析軟件是提供給車輛管理中心人員使用,一方面它可以采集管理中心屬下的所有車輛信息和駕駛員信息,進(jìn)行統(tǒng)一編號(hào)和管理;另一方面它可以采集車輛行駛的實(shí)時(shí)數(shù)據(jù),掌握駕駛員的駕駛情況。此外它還可對(duì)發(fā)生事故的車輛進(jìn)行事故分析鑒定,為交通部門和執(zhí)法部門提供相應(yīng)的交通事故鑒定報(bào)告。
![無(wú)線通信協(xié)議實(shí)現(xiàn)過程](/uploads/allimg/121024/15235014a-2.jpg)
?
記錄儀和PC機(jī)之間通信可以是單點(diǎn)對(duì)單點(diǎn),單點(diǎn)對(duì)多點(diǎn),多點(diǎn)對(duì)多點(diǎn)通信。發(fā)送廣播信息是單點(diǎn)對(duì)多點(diǎn)通信,或者是多點(diǎn)對(duì)多點(diǎn)通信。但是疲勞、超時(shí)、超速等詳細(xì)信息都是單點(diǎn)對(duì)單點(diǎn)通信。無(wú)線通信協(xié)議實(shí)現(xiàn)過程如圖3所示。
3.1 無(wú)線通信協(xié)議設(shè)計(jì)
無(wú)線通信中,由于外部環(huán)境的干擾,通常誤碼率較高,因此通信協(xié)議的設(shè)計(jì)對(duì)保證通信的可靠性十分重要。協(xié)議的設(shè)計(jì)主要是幀結(jié)構(gòu)的設(shè)計(jì)。在該無(wú)線通信系統(tǒng)中,存在指令幀和數(shù)據(jù)幀。數(shù)據(jù)幀的內(nèi)容包括起始字節(jié)、數(shù)據(jù)長(zhǎng)度字節(jié)、數(shù)據(jù)字節(jié)、結(jié)束字節(jié)和校驗(yàn)和 在汽車行駛記錄儀國(guó)家標(biāo)準(zhǔn)中有規(guī)定好的通信傳輸約定,如下所示:
(1)通訊機(jī)(計(jì)算機(jī)或數(shù)據(jù)采集儀)與記錄儀間的數(shù)據(jù)交換按幀傳輸,其通信方式為異步串行方式,含有一個(gè)起始位,8個(gè)數(shù)據(jù)位,一個(gè)停止位,奇校驗(yàn)。本協(xié)議中的數(shù)據(jù)分別采用十六進(jìn)制編碼、8421BCD碼及ASCII字符碼。
(2)采用RS 232接口,數(shù)據(jù)傳輸速率為9 600 b/s。
(3)校驗(yàn)的作用范圍應(yīng)包括校驗(yàn)字節(jié)之前的所有字節(jié),其值為這些字節(jié)間的異或結(jié)果。
(4)數(shù)據(jù)塊是本數(shù)據(jù)幀所附帶的與命令字相關(guān)的參數(shù)或數(shù)據(jù),當(dāng)為0時(shí)即本幀無(wú)數(shù)據(jù)塊或參數(shù),這種情況出現(xiàn)在數(shù)據(jù)上載“命令幀”及數(shù)據(jù)下傳“應(yīng)答幀”中。
(5)數(shù)據(jù)塊長(zhǎng)度是指本數(shù)據(jù)幀所附帶的與命令字相關(guān)的參數(shù)或數(shù)據(jù)的長(zhǎng)度,以字節(jié)數(shù)表示,其有效長(zhǎng)度為0~64 KB,當(dāng)為0時(shí)即本幀無(wú)數(shù)據(jù)塊或參數(shù),這種情況出現(xiàn)在數(shù)據(jù)上載“命令幀”及數(shù)據(jù)下傳“應(yīng)答幀”中。
根據(jù)國(guó)家標(biāo)準(zhǔn)中的數(shù)據(jù)格式要求,本文系統(tǒng)設(shè)計(jì)的數(shù)據(jù)幀格式如表1所示。
![本文系統(tǒng)設(shè)計(jì)的數(shù)據(jù)幀格式](/uploads/allimg/121024/1523504547-3.jpg)
?
3.2 簡(jiǎn)易防碰撞算法設(shè)計(jì)
因?yàn)闊o(wú)線數(shù)據(jù)傳輸?shù)拈_放性,且在PC機(jī)發(fā)送廣播信息后,所有收到廣播的記錄儀之間的響應(yīng)數(shù)據(jù)回應(yīng)基本是同時(shí)的,這就必然會(huì)產(chǎn)生無(wú)線數(shù)據(jù)碰撞的問題。
為防止不同記錄儀無(wú)線上傳數(shù)據(jù)時(shí)的碰撞現(xiàn)象。本文系統(tǒng)在設(shè)計(jì)時(shí),嘗試過各種已有的防碰撞算法,但鑒于本文系統(tǒng)的應(yīng)用范圍,已有的算法都過于復(fù)雜。
根據(jù)應(yīng)用范圍,本文系統(tǒng)主要會(huì)應(yīng)用于收費(fèi)站路口之類汽車短暫停留之地,具有時(shí)間短、范圍小的特征。那么在記錄儀代碼的發(fā)送響應(yīng)的地方,加上一段有效延時(shí)發(fā)送:如根據(jù)車牌號(hào)尾數(shù)乘以1~10以內(nèi)的隨機(jī)數(shù)得到的結(jié)果,以毫秒為單位。這樣就可以有效地將各輛車的響應(yīng)報(bào)文有序回應(yīng)給PC機(jī)。
加上這段延時(shí)改進(jìn)代碼后的實(shí)驗(yàn)測(cè)試結(jié)果表明,正確率高達(dá)99%,而不加此簡(jiǎn)易防碰撞算法的正確率僅為90%。
4 結(jié)語(yǔ)
本文只是在原有的簡(jiǎn)易汽車記錄儀的基礎(chǔ)上增加了PC機(jī)實(shí)時(shí)獲取記錄儀行駛數(shù)據(jù)的無(wú)線傳輸?shù)墓δ埽⑻砑雍?jiǎn)易的防碰撞算法來(lái)降低無(wú)線數(shù)據(jù)傳輸?shù)呐鲎矄栴}。可以避免一些需要用GPRS等流量費(fèi)用的問題,降低使用費(fèi)用,相信隨著國(guó)家科技的發(fā)展,本系統(tǒng)可以得到更多的認(rèn)識(shí)和應(yīng)用。
評(píng)論