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