陳希球
(長(zhǎng)江工程職業(yè)技術(shù)學(xué)院,武漢 430212)
汽車行駛記錄儀(又稱汽車黑匣子)是一種使用在汽車上的數(shù)字式電子記錄裝置。這種裝置能對(duì)車輛的行駛速度、時(shí)間、里程以及有關(guān)車輛行駛的其他狀態(tài)信息進(jìn)行記錄存儲(chǔ),并可通過接口實(shí)現(xiàn)數(shù)據(jù)輸出。汽車行駛記錄儀的使用,對(duì)抑制疲勞駕駛、車輛超速等交通違章、約束駕駛?cè)藛T的不良駕駛行為、保障車輛行駛安全以及道路交通事故的分析鑒定具有重要的作用。本文根據(jù)汽車行駛記錄儀國(guó)家標(biāo)準(zhǔn)GB/T 19056-2003,開發(fā)設(shè)計(jì)了一種功能強(qiáng)大、性能穩(wěn)定、體積小巧且適合安裝的多功能汽車行駛記錄儀,采用的是三星公司的32位嵌入式ARM處理器S3C2440和Linux操作系統(tǒng),主要闡述了汽車行駛記錄儀的硬件架構(gòu)和軟件系統(tǒng)設(shè)計(jì)。
根據(jù)國(guó)家頒布的汽車行駛記錄儀的標(biāo)準(zhǔn)(GB/T 19056-2003),本系統(tǒng)主要具備以下功能:
自檢功能:記錄儀在通電開始工作時(shí),應(yīng)首先進(jìn)行自檢,自檢正常后應(yīng)以綠閃信號(hào)及顯示屏顯示方式指示工作正常,如有故障則應(yīng)以紅閃信號(hào)及顯示屏顯示方式指示故障信息。
數(shù)據(jù)采集、記錄和存儲(chǔ)功能:能夠?qū)?shí)時(shí)時(shí)間、日期、駕駛時(shí)間、車輛行駛速度、行駛里程等數(shù)據(jù)進(jìn)行測(cè)量、記錄和存儲(chǔ),并保證存儲(chǔ)的數(shù)據(jù)在較長(zhǎng)時(shí)間內(nèi)不丟失。需要被采集的輸入信號(hào)包括三類:模擬信號(hào)輸入、數(shù)字信號(hào)輸入以及開關(guān)量信號(hào)輸入。
數(shù)據(jù)處理功能:能夠按照具體要求,對(duì)所采集到的數(shù)據(jù)實(shí)時(shí)進(jìn)行處理,并在必要的情況下采取相應(yīng)的措施對(duì)車輛進(jìn)行管理。
駕駛員身份記錄功能:可以實(shí)現(xiàn)駕駛?cè)藛T身份記錄功能,同時(shí)可以記錄駕駛員代碼和公安交通管理部門核發(fā)的機(jī)動(dòng)車駕駛證證號(hào)。
數(shù)據(jù)顯示功能:顯示面板能準(zhǔn)確顯示各類信息,包括駕駛員代碼、實(shí)時(shí)時(shí)間、實(shí)時(shí)日期、實(shí)時(shí)車速以及各類報(bào)警提示等。
操作功能:具備按鍵操作功能,應(yīng)用于數(shù)據(jù)打印輸出以及數(shù)據(jù)的上傳和下載以及車輛特征系數(shù)的設(shè)定等操作。
數(shù)據(jù)打印輸出功能:能夠通過針式微型打印機(jī)打印出車輛信息、駕駛員信息、疲勞駕駛及超速駕駛時(shí)段等信息。
數(shù)據(jù)通信功能:能夠通過多種方式(包括RS232串行接口、USB接口以及I2C總線接口)與外部環(huán)境進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的交互。
掉電保護(hù)功能:數(shù)據(jù)對(duì)記錄儀至關(guān)重要,如果由于某些意外情況導(dǎo)致記錄儀掉電,系統(tǒng)應(yīng)能及時(shí)檢測(cè),并做好當(dāng)前數(shù)據(jù)的保存工作。
數(shù)據(jù)分析軟件系統(tǒng):對(duì)記錄儀系統(tǒng)參數(shù)進(jìn)行設(shè)置與管理,包括用戶權(quán)限的管理、駕駛員信息的管理、汽車信息的管理以及車輛特征系數(shù)的設(shè)定等,并能通過RS232串行接口進(jìn)行數(shù)據(jù)傳輸或USB接口讀寫磁盤數(shù)據(jù),即完成數(shù)據(jù)上載(從記錄儀傳輸?shù)絇C機(jī))與數(shù)據(jù)下傳(從PC機(jī)傳輸?shù)接涗泝x)。
本系統(tǒng)由主機(jī)和上位機(jī)管理分析軟件兩部份組成。其中主機(jī)部分包括:信號(hào)輸入、數(shù)據(jù)保存和處理、數(shù)據(jù)顯示、數(shù)據(jù)通信、復(fù)位電路和掉電保護(hù)電路等。系統(tǒng)以一個(gè)32位的RISC微處理器為核心,對(duì)外部模擬輸入、數(shù)字輸入以及開關(guān)量輸入三種信號(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)等可通過顯示面板輸出顯示,系統(tǒng)總體方案如圖1所示。
圖1 系統(tǒng)總體方案
復(fù)位電路不僅能夠復(fù)位系統(tǒng),同時(shí)還借用專用微處理器電源監(jiān)控芯片來提高系統(tǒng)的可靠性,從而保證RISC微處理器對(duì)電源、時(shí)鐘源等諸多方面提出的較高要求。時(shí)鐘電路提供實(shí)時(shí)時(shí)鐘,當(dāng)發(fā)生超速、疲勞駕駛等情況時(shí),處理器從實(shí)時(shí)時(shí)鐘電路讀取實(shí)時(shí)時(shí)間進(jìn)行處理和保存,以供日后打印輸出。掉電保護(hù)電路為實(shí)時(shí)數(shù)據(jù)的保存提供了一種安全機(jī)制。當(dāng)系統(tǒng)供電電壓低于某個(gè)特定值時(shí),掉電保護(hù)電路認(rèn)為掉電發(fā)生,于是觸發(fā)相應(yīng)地中斷。在中斷處理程序中,處理器將對(duì)當(dāng)前尚未保存的實(shí)時(shí)數(shù)據(jù)分別處理和存儲(chǔ),從而避免數(shù)據(jù)的丟失。
系統(tǒng)具備USB接口,當(dāng)插入U(xiǎn)SB磁盤時(shí),可利用主控USB功能,將存儲(chǔ)器中的數(shù)據(jù)導(dǎo)入磁盤中。上位機(jī)軟件可利用此USB磁盤采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析和車輛、人員管理。系統(tǒng)提供的CANBUS接口可以方便記錄儀與車內(nèi)其他帶有CANBUS接口的儀表進(jìn)行通信,這是系統(tǒng)的擴(kuò)展功能。
上位機(jī)管理分析軟件是提供給車輛管理中心人員使用,一方面它可以采集管理中心屬下的所有車輛信息和駕駛員信息,進(jìn)行統(tǒng)一編號(hào)和管理;另一方面它可以采集車輛行駛的實(shí)時(shí)數(shù)據(jù),掌握駕駛員的駕駛情況。此外它還可對(duì)發(fā)生事故的車輛進(jìn)行事故分析鑒定,為交通部門和執(zhí)法部門提供相應(yīng)的交通事故鑒定報(bào)告。
經(jīng)過合理規(guī)劃和多次比較,系統(tǒng)最終采用的設(shè)計(jì)方案如下:
(1)處理器:三星32位RISC處理器 S3C2440。(2)存儲(chǔ)器:NandFlash存儲(chǔ)器K9F1208U0A 64M字節(jié);2片SDRAM 存儲(chǔ)器4Banks×4Mbits×16bit的K4S561632C;鐵電FM24C256存儲(chǔ)器。(3)信號(hào)采集:模擬信號(hào)的采集利用S3C2440內(nèi)置的A/D轉(zhuǎn)換器進(jìn)行采集;數(shù)字信號(hào)的采集利用S3C2440內(nèi)部定時(shí)器的捕捉功能進(jìn)行采集;開關(guān)量輸入信號(hào)采集采用MC33993開關(guān)量檢測(cè)芯片進(jìn)行采集。(4)數(shù)據(jù)顯示:MSC-G12864,LCD液晶顯示器,128x64點(diǎn)陣。(5)外擴(kuò)實(shí)時(shí)時(shí)鐘:PCF8563。(6)USB主控器:CYPRESS公司的USB Host/Slave SL811HS芯片。(7)駕駛員身份識(shí)別:直接通過按鍵,輸入駕駛員的信息資料來確認(rèn)身份。(8)上位機(jī)軟件與主機(jī)模塊通信:RS232串口通信。(9)微型打印機(jī):M192G,控制板為NGL-SP190A4。
汽車黑匣子作為一個(gè)記錄汽車運(yùn)行狀態(tài)的儀器,在無人控制的環(huán)境下,需要隨汽車開始運(yùn)行而自動(dòng)運(yùn)行。運(yùn)行方式為:在系統(tǒng)上電后開始運(yùn)行系統(tǒng)引導(dǎo)程序Bootloader,通過Bootloader調(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)的操作。
在本系統(tǒng)中,Flash在剛開始時(shí)只存儲(chǔ)了Bootloader,還沒有存儲(chǔ)Linux內(nèi)核。Bootloader在系統(tǒng)加電完成初始化工作后,要初始化一條連接主機(jī)和目標(biāo)機(jī)的串口通道,提供串口下載功能。內(nèi)核啟動(dòng)模式允許嵌入式系統(tǒng)加電啟動(dòng)后加載Linux內(nèi)核,將系統(tǒng)交由Linux操作系統(tǒng)管理。當(dāng)系統(tǒng)通過自舉模式將Linux內(nèi)核和文件系統(tǒng)固化在Flash后,就可進(jìn)入內(nèi)核啟動(dòng)模式。主程序流程圖如圖2所示,中斷服務(wù)程序流程圖如圖3所示。
圖2 主程序流程圖
圖3 中斷服務(wù)程序流程圖
本文雖然介紹的是一個(gè)汽車行駛記錄儀系統(tǒng),但其發(fā)展空間遠(yuǎn)不限于此,應(yīng)當(dāng)邁向汽車電子產(chǎn)業(yè)的廣闊領(lǐng)域?;谖覀兯鶚?gòu)建的硬件平臺(tái),加入GPRS,GPS模塊和LCD顯示器,可實(shí)現(xiàn)汽車的電子地圖導(dǎo)航和遠(yuǎn)程跟蹤定位;利用車內(nèi)的各個(gè)傳感器和電子開關(guān),還可實(shí)現(xiàn)汽車被強(qiáng)行開動(dòng)后自動(dòng)熄火的防盜功能。在發(fā)達(dá)國(guó)家,此類系統(tǒng)已經(jīng)廣泛地在中高檔車輛上得到了使用。隨著國(guó)家經(jīng)濟(jì)的發(fā)展,相信本系統(tǒng)一定會(huì)在汽車產(chǎn)業(yè)領(lǐng)域得到越來越多的使用和認(rèn)同。
[1]李奕薇.我國(guó)行車記錄儀市場(chǎng)調(diào)研[J].中國(guó)交通信息產(chǎn)業(yè),2003,(1):22~24.
[2]王征平,王小惠.行車記錄儀市場(chǎng)分析[J].中國(guó)交通信息產(chǎn)業(yè),2003,(1):90~95.
[3]GB/T19056-2003汽車行駛記錄儀起劃工作組.GB/T19056-2003《汽車行駛記錄儀》實(shí)施指南[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2003.
[4]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2004.
[5]周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2005.
[6]周立功.PDIUSBD12 USB固件編程與驅(qū)動(dòng)開發(fā)[M].北京:北京航空航天大學(xué)出版社,2003.
長(zhǎng)江工程職業(yè)技術(shù)學(xué)院學(xué)報(bào)2010年1期