基于GPS 和GPRS 的多功能汽車(chē)記錄儀的設計
2.6 語(yǔ)音模塊
系統在超速行駛、疲勞駕駛時(shí),相應的高亮度LED 閃爍,同時(shí)啟動(dòng)語(yǔ)音報警功能,發(fā)出“超速,請減速”的警告語(yǔ)音,而且記錄儀能播放監控平臺發(fā)送的短信的內容即TTS(從文本到語(yǔ)音)。該記錄儀采用語(yǔ)音天下的第二代語(yǔ)音合成器OSYNO 6288。它兼容GB2312、GBK、BIG5 和Unicode 等4 種內碼格式文本的合成,可以在9 600,19 200、38 400 b/s 等波特率下正常工作,增加多種控制命令。比如合成、停止合成、暫停合成、繼續合成、改變波特率等,可以自動(dòng)識別詞組,多音字。語(yǔ)音通過(guò)PWM(脈寬調制)輸出至喇叭。為與監控軟件、數據庫和GPRS 模塊兼容, 采用通用性更好的Unicode碼,通信參數:波特率為4 800 b/s,數據位為8 bit,停止位為1 bit,無(wú)奇偶校驗,OSYNO 6288 內置有功放,軟件調節音量至11 級,外接8 Ω/0.5 W 喇叭,播放聲音洪亮、清晰,即使在較為嘈雜的環(huán)境下也可以清楚聽(tīng)到播放內容。
2.7 數據存儲器
汽車(chē)行駛記錄儀是在汽車(chē)行駛過(guò)程中對汽車(chē)各種狀態(tài)進(jìn)行記錄的電子裝置,各種狀態(tài)數據存儲是汽車(chē)行駛記錄儀的重要部分。此前大多設計均采用Flash 和鐵電存儲器并用的方式。但是對于實(shí)時(shí)操作系統Linux 只要采用一片Flash就可以滿(mǎn)足需要。目前Linux 操作系統可以很好支持NandFlash,AT91sam9260 支持Nand Flash 啟動(dòng), 并且與之相應的yaffs2 文件系統已經(jīng)成熟,保證了數據的準確性。由于本系統需要保存大量數據:GPS 定位信息、疑點(diǎn)記錄、行駛記錄、斷電記錄、疲勞駕駛記錄、油位等,所以采用K9F1G08U0B 型128 M×2 K 頁(yè)NandFlash 存儲器。
2.8 油位傳感器
本系統加裝精確的油位傳感器,對油位實(shí)時(shí)記錄,并通過(guò)GPRS 傳輸至監控平臺,車(chē)輛運營(yíng)企業(yè)可以實(shí)時(shí)掌握車(chē)輛的油位情況,徹底杜絕司機偷油賣(mài)油,拉私活的情況發(fā)生。
車(chē)輛電環(huán)境復雜干擾多,因此采用電流型傳感器。本系統采用CR-606 型電容式油位傳感器, 當油進(jìn)入容器引起傳感器殼體和感應電極之間的變化, 適用于任何不導電的液體, 油位精度高, 油位液在采集小于1 mm, 測量誤差小于0.1%,標準輸出4~20 mA 的線(xiàn)性電流信號,經(jīng)過(guò)150 Ω 精密電阻轉換至0.6~3 V 電壓信號,通過(guò)AT91sam9260 的A/D 轉換模塊轉換為數字量并保存。
2.9 實(shí)時(shí)時(shí)鐘
主處理器AT91sam9260 雖內置時(shí)鐘,但是當處理器斷電后,該實(shí)時(shí)時(shí)鐘所有寄存器的內容將全部丟失。為此,系統需要外部實(shí)時(shí)時(shí)鐘。PCF8563 符合這一要求,PCF8563 具有掉電檢測器,當供電電壓低于某個(gè)值時(shí),秒寄存器中的某標志位將置1,指明此時(shí)實(shí)時(shí)時(shí)鐘可能會(huì )產(chǎn)生不準確的時(shí)鐘/日歷信息,從而避免了記錄儀對錯誤時(shí)間的記錄。此外,PCF8563可以工作在1~5.5 V 的寬電壓范圍內,具有體積小、外圍電路簡(jiǎn)單、運行穩定性、精度高、功耗低等優(yōu)點(diǎn),Linux 內核對其支持穩定可靠,滿(mǎn)足本系統的要求。
2.10 通信接口
根據GB/T19056-2003,標準記錄儀應至少配置2 種標準接口:USB 標準接口、標準RS-232 型9 針接口。通過(guò)RS-232串行口直接進(jìn)行數據傳輸比較容易實(shí)現, 可靠性高。
AT91sam9260 的串行口經(jīng)電平轉換器MAX232 轉換為EIA/TIA-232-E 電平,從而提供標準的RS-232 接口。AT91sam9260 支持USB 主從模式,也可直接外接USB 接口。
3 汽車(chē)記錄儀軟件設計
汽車(chē)記錄儀是無(wú)人控制的, 在汽車(chē)開(kāi)始運行時(shí)自動(dòng)啟動(dòng),本系統采用Linux 操作系統,運行過(guò)程為:汽車(chē)上電記錄儀啟動(dòng),開(kāi)始引導Bootstrap、Uboot,通過(guò)Bootloader 調用Linux內核,加載yaffs2 文件系統,自動(dòng)啟動(dòng)應用程序。
3.1 主程序
應用程序采用C 語(yǔ)言編寫(xiě),主程序負責整個(gè)系統的初始化,硬件設備通過(guò)信號(軟中斷)與主程序交互數據,完成相應的操作,主程序流程如圖4 所示。
3.2 GPRS 數據發(fā)送
本系統設計記錄的數據包括行駛記錄, 上電至掉電之間,每3 s 保存一次時(shí)間、速度、狀態(tài)、GPS 定位信息和角度;疑點(diǎn)記錄,保存每次停車(chē)前20 s 內,每0.2 s 的速度和狀態(tài)信息;斷電記錄,保存系統斷電時(shí)的時(shí)間;疲勞駕駛記錄,保存司機連續駕車(chē)超過(guò)4 h 的起始時(shí)間。所有的記錄數據要求保存2 個(gè)月,因此保存數據量大,相應需要傳輸的數據量也大。
在GPRS 傳輸數據之前對數據進(jìn)行壓縮并且在系統出現新記錄時(shí)進(jìn)行傳輸。在編譯busybox 時(shí)選擇gzip 功能,通過(guò)gzip 對數據壓縮, 一般壓縮比可達9 ∶ 1。由于GPRS 透明傳輸要求每次傳輸數據最大不超過(guò)1 KB, 因此將需傳輸的數據分割為每包1 000 字節的數據, 并為每包數據標識ID 號。服務(wù)器接收端根據接收到的數據包ID 重新組合數據, 通過(guò)解壓縮軟件解壓得到記錄儀的記錄數據。
3.3 斷電記錄的實(shí)現
在大型車(chē)隊及運輸公司, 司機為免受記錄儀的約束,往往在運營(yíng)過(guò)程中對記錄儀非法斷電, 使記錄儀不能正常工作,以此躲避監控。因此本系統專(zhuān)門(mén)設計斷電記錄,對司機非法斷電的行為進(jìn)行監督。系統啟動(dòng)時(shí)將當前時(shí)鐘與上次停機時(shí)時(shí)鐘進(jìn)行對比,Linux 從死機至重啟的時(shí)間應在5 min 以?xún)?,若對比時(shí)間超過(guò)5 min,說(shuō)明記錄儀長(cháng)時(shí)間斷電,將上次停機時(shí)間作為斷電記錄保存,并發(fā)送至服務(wù)器。
3.4 時(shí)間和速度校準
ARM 接收GPS 的RMC 信息。若GPS 時(shí)間與當前系統時(shí)間相差達到30 s, 則以GPS 時(shí)間為準并校準系統時(shí)間和硬件時(shí)鐘。當前速度與GPS 速度比較,若GPS 速度連續30 s 大于0,而速度采集電路接收始終為0,則判斷速度傳感器故障,并使用GPS 速度作為系統當前速度, 并向監控中心報警。
評論