汽車行駛記錄系統(tǒng)中AT89C51ED2 的設計與實現(xiàn)
隨著社會的發(fā)展,汽車越來越普及,隨著汽車擁有量的增加,發(fā)生交通事故的概率也隨之增加,發(fā)生事故后用傳統(tǒng)的方法進行分析、判斷、維修有一定的困難。這樣,就給人們提出了一個問題,怎樣及時、準備地分析故障的存在,客觀地分析事故的責任。汽車行駛記錄儀作為一種降低交通事故的發(fā)生率,規(guī)范和保障駕駛人員的行為和權益, 方便交通管理部門執(zhí)法檢查和事故責任認定, 提高運營單位對司乘人員和車輛的監(jiān)督管理的一種重要手段,越來越得到人們的關注和重視。設計一種能滿足車輛管理,事故認定及疲勞駕駛提醒的車載儀器迫在眉睫。本文介紹一種價格低,功能較齊全且能擴展的采用AT89C51ED2 作為MCU 的汽車行駛記錄系統(tǒng)設計與實現(xiàn)。
1 系統(tǒng)的硬件總體設計
圖1 汽車行駛記錄儀系統(tǒng)框圖
本記錄儀采用Atmel 公司AT89C51ED2 單片機作為主控機,并行接口鐵電存儲器FM1808 作為大容量閃速存儲器,選用DS12C887 時鐘電路,利用高精度A/D 轉換器采集汽車傳感器轉換的模擬量,并直接記錄各種汽車信號的開關量。同時利用USB 口、IC 卡或串口實現(xiàn)與微機的數(shù)據(jù)通信,把汽車行駛記錄數(shù)據(jù)信息存儲到計算機上。汽車行駛記錄儀工作時,由單片機通過前端接口電路拾取汽車行駛狀態(tài)的各種信息, 包括車速、發(fā)動機轉速和車輛各種開關信號等。汽車行駛記錄儀以實時時鐘為基準, 把車輛信息按類別分別存入FRAM 和FLASH。需要從汽車行駛記錄儀中獲取汽車記錄狀態(tài)信息時,用戶插入優(yōu)盤,單片機自動識別優(yōu)盤并加載驅動程序,當完成設備枚舉和Bulk_Only 傳輸協(xié)議后,單片機就可以把汽車行駛記錄儀中記錄的狀態(tài)信息以文件的形式傳輸?shù)絻?yōu)盤,也可以通過協(xié)議將信息以文件的形式傳輸?shù)酱笕萘康?4C64 的IC 卡上。系統(tǒng)框架如圖1 所示。AT89C51ED2 單片機是汽車行駛記錄儀的核心,整個系統(tǒng)由數(shù)據(jù)采集模塊、信息處理、存儲模塊、時鐘模塊、通信模塊、顯示模塊和電源模塊組成。
考慮到汽車的復雜工況以及記錄儀的性價比,單片機至少為工業(yè)級產品,AT89C51ED2 是美國ATMEL 公司生產的低電壓,高性能CMOS 8 位單片機,片內含4k byte 的可反復擦寫的只讀程序存儲器(PEROM) 和128 bytes 的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲技術生產,兼容標準MCS-51 指令系統(tǒng),片內置通用8 位中央處理器(CPU)和16KB 的Flash 存儲單元,2KB 的EEPROM,3 個16 位定時器,有看門狗和ISP 功能,同時具有封裝小、功耗低等優(yōu)點,非常適合作為汽車行駛記錄儀的主控MCU 。
2 主控單元實現(xiàn)信息采集和數(shù)據(jù)處理設計
汽車行駛記錄儀要求實時記錄車輛行駛的各種狀態(tài)信息,MCU 主控單元把從外圍設備傳來的數(shù)據(jù)進行分析、處理并作出相應的指令。而其外圍設備主要包括開關量數(shù)據(jù)采集模塊、時鐘數(shù)據(jù)采集模塊、速度數(shù)據(jù)采集模塊、信息處理及存儲模塊設計、模擬量數(shù)據(jù)采集模塊。
2.1 開關量數(shù)據(jù)采集
如圖2 所示開關量數(shù)據(jù)采集示意圖。汽車行駛記錄儀要求實時記錄車輛行駛的各種狀態(tài)信息,如圖所示各種車輛開關量數(shù)據(jù)狀態(tài)信息,都必須經過光耦的隔離,并行輸入74HC573 中,然后經過74HC573 轉換成CPU 能接收的“0”或“1” 狀態(tài)信號,再由AT89C51ED2 進行接收,按一定的時間間隔傳送到存儲器相應的地址位。
2.2 速度數(shù)據(jù)采集設計
汽車速度的測量是通過計數(shù)速度傳感器產生的脈沖信號,脈沖信號經過抗擾度大于50% 施密特觸發(fā)器電路CD40106 傳送到AT89C51ED2 型單片機的P3.2 口,該單片機可設定一個守量器來計數(shù)速度脈沖信號, 并將其轉換成汽車的實際行程, 同時根據(jù)行程和時間可計算汽車行駛的速度,按一定的時間間隔傳送到存儲器相應的地址位。速度計算運行部分程序如下
2.3 信息處理及存儲設計
由于要求系統(tǒng)具有實時時間、日期及駕駛時間的采集、記錄、存儲功能;車輛行駛速度的測量、記錄、存儲功能;車輛行駛里程的測量、記錄、存儲功能;記錄儀應能以不大于0.2 s 的時間間隔,持續(xù)記錄并存儲停車前20 s 實時時間對應的車輛行駛速度值,及車輛制動狀態(tài)信號,記錄次數(shù)至少為10 次的功能。因此要有既滿足了數(shù)據(jù)存儲擦寫次數(shù)的要求,也有存儲量大和成本比較低的功能。RAMTRON 公司生產的并行接口高性能鐵電存儲器FM1808 是比較理想選擇產品,F(xiàn)M1808 具有100 億次的讀寫壽命,幾乎可以像RAM 那樣無限次寫入;廣泛應用于在系統(tǒng)掉電后需要可靠保存程序及數(shù)據(jù)的應用領域;
數(shù)據(jù)存儲模塊FM1808 的引腳如圖3 所示,AT89C51ED2 通過AD0~AD7 八位數(shù)據(jù)總線和FM1808 相連,AT89C51ED2 通過八位數(shù)據(jù)總線把記錄下來的整度、汽車的實時行駛狀態(tài)定時地傳送到存儲器的相應地址位置上(程序略)。
2.4 時鐘數(shù)據(jù)采集
本系統(tǒng)選用DS12887 時鐘電路。DS12887 是跨越 2000 年的時鐘電路,采用4 位數(shù)表示年度的日歷系統(tǒng)。DS12887 能夠自動存取并更新當前的時間,AT89C51ED2 通過讀DS12887 的內部時標寄存器得到當前的時間和日歷,也可通過選擇二進制碼或BCD 碼初始化電路的10 個時標寄存器。由于 圖3 FM1808 封裝及引腳排列數(shù)據(jù)采集以固定的秒間隔來進行,因此,系統(tǒng)只是在剛開始運行時和每個扇區(qū)的起始位置采集并存儲時鐘信號作為時間標記, 而后面數(shù)據(jù)的采集時間則以這些時間標記為參照。在本系統(tǒng)重新上電運行時, 需要記錄開始采集的時間信息。由于系統(tǒng)電源是由汽車電源提供的, 所以開始采集的時間也就是汽車啟動的時間, 以此作為汽車開始行駛的時間標記。在程序運行中, 由主程序設定一個汽車啟動標志, 在第一次寫數(shù)據(jù)之前汽車啟動標志有效, 然后首先判斷當前存儲地址是否有某個扇區(qū)的首地址, 如果是, 則根據(jù)寫扇區(qū)的要求在第七個字節(jié)開始處存儲當前的時鐘信號, 否則, 在當前存儲地址處開始用10 個字節(jié)存儲當前的時鐘信號,記錄汽車開始運行的起始時間,然后清除汽車啟動標志。扇區(qū)開始地址處記錄的時間信息是否是汽車開始運行的起始時間, 可根據(jù)前一個扇區(qū)記錄的時間信息進行判斷。若前后兩個扇區(qū)記錄的數(shù)據(jù)是連續(xù)的, 則后一個扇區(qū)頭記錄的時間信息不是表示汽車開始運行的起始時間,否則情況相反。
2.5 串口通信和USB 存儲設計
計算機可以通過串口讀取行駛記錄儀存儲的數(shù)據(jù)。行駛記錄儀與計算機之間的串口通信遵循RS232 協(xié)議。串行通信時,CPU 依次將Flash 中存儲的數(shù)據(jù)讀出并經P3.0(OUT) 串口發(fā)出,然后經過MAX232 電平轉換器送給計算機,再由計算機通過串口接收該數(shù)據(jù)。接收數(shù)據(jù)時, 計算機通過串口發(fā)送數(shù)據(jù)給MAX232 電平轉換器, MCU 經P3.1(IN) 串口接收。
用USB 進行數(shù)據(jù)的采集,目前市場上的USB 設備芯片比較多,而HOST 要少一些,選擇USB HOST 接口芯片主要考慮兩點:一是在硬件上比較容易和51 單片機相連接,二是軟件開發(fā)難度不太大,因此選擇SL811HST 比較合適。SL811HST 通過D0~D7 和AT89C51DE2 的P0.0~P0.7 來進行數(shù)據(jù)的交換。存儲器上存儲的數(shù)據(jù)也可以通過AT89C51DE2 的P3.4 和P3.5 口直接寫到24C64 的IC 卡上。
3 管理軟件的設計
由于國家對行駛記錄儀通信協(xié)議有具體的要求,因此行駛記錄儀和管理軟件的通信協(xié)議滿足國家規(guī)定要求。它將從記錄儀上傳來的各種信息進行歸類整理。利用Visual C++ 6.0 作為開發(fā)工具,編寫微機數(shù)據(jù)分析處理程序, 模擬顯示汽車運行時的狀態(tài); 利用圖形顯示各分量的波形, 如前向燈開關情況、左右方向燈開關情況、開門信息、剎車信號、水溫變化情況(范圍為0℃~100℃) 等,并能實現(xiàn)文檔保存,也可以進行打印。4 結束語
本車輛充分發(fā)揮了AT89C51ED2 微控制器強大的功能、簡化了外圍電路設計,同時采用嵌入式USB 數(shù)據(jù)管理機制加上通過串口或IC 卡接收汽車行駛的數(shù)據(jù),并對數(shù)據(jù)進行分析處理;不僅解決了以往車輛行駛記錄儀中數(shù)據(jù)難以管理的問題, 而且大大降低了硬件成本。采用本設計的車輛行駛記錄儀已應用到企事業(yè)單位的車輛管理中,實現(xiàn)了對車輛運營的透明化管理,節(jié)約了運營費用