汽車診斷技術是汽車安全技術中不可缺少的一部分,它能在汽車發生故障時及時地進行語音報警,避免事故的發生。CAN即控制器局域網,是國際上應用最廣泛的現場總線之一。由于CAN總線技術的優良特性,在汽車電氣系統以及其他一些實時控制單元中得到廣泛應用。一種基于CAN總線的通信網絡具有速度高、抗噪性強及通用性好等優點。
我們設計的基于CAN總線技術的卡車語音報警系統能給汽車乘員提供一個安全的駕乘環境。該語音報警系統采用了摩托羅拉公司的M68HC908GZ16微控制器,該微控制器尺寸小,資源齊全,具有很高的性價比。
CAN總線位定時
CAN總線采用同步串行通信方式,數據流中的字符與字符之間、字符內部的位與位之間都同步,這就要求收/發雙方必須以同步時鐘來控制數據的發送和接收。要在相當長的數據流中保持位同步,接收端必須能識別每個二進制位是從什么時刻開始的,這就是位定時。通常為保證接收器時鐘和發送器時鐘嚴格一致,采用接收器通過解調器從數據流中提取同步信號,或者接收器和發送器使用統一的時鐘的方法。但是即便這樣,仍然很難解決總線傳輸延時問題。針對以上問題,CAN總線的位定時改進了位編碼/解碼。
CAN總線位定時由4部分組成:同步段(SYNC_SEG)、傳播段(PROP_SEG)、相位段1(PHASE_SEG1)和相位段 2(PHASE_SEG2)。同步段用于同步總線上的各節點,在此段等待一個跳邊沿;傳播段用于補償網絡內的物理延遲時間;相位段1及相位段2用做補償相位誤差。在采樣點讀總線電平。
M68HC908GZ16微控制器(見圖1)中內置CAN控制器,提供了波特率控制寄存器;SJW(重同步跳轉寬度)決定了一次重同步期間一個位時間被延長或縮短的時間量子;BRP為波特率預分頻系數;Spl(采樣模式位)決定對有效位采樣的次數。
圖1 MC68HC908GZ16的內部結構
位定時主要用于定義CAN總線通信的速率,對同一總線上的各個節點應定義同一種通信速率,否則無法進行通信聯系。CAN控制器的總線工作頻率計算公式如下:
式中:BRP為系統預分頻因子,它在TSEG1域中的取值范圍為0~63;TSEG1、TSEG2的值由位定時寄存器編程決定,并滿足 1≤TSEG1≤7,2≤TSEG2≤15。報警器中位定時的設置,定義通信頻率為250KB/s。設定 DSC="BRP"=1,TSEG1+TSEG2=5,系統晶振頻率為8MHz,即XTAL=8MHz,CAN通信頻率由上式計算得到250KB/s。
最后位定時設置結果為:BRP=1,TSEG2=2,TSEG1=3。
圖2 語音報警系統結構
設計概述
該卡車語音報警系統的設計目標是:成本低;功能強大;適用于日常應用;能夠應用于各類車輛。該系統可實現如下功能:利用CAN網絡實現對卡車故障碼的接收;二,通過識別CAN系統傳過來的信號,并對信號進行處理得到相應的語音提示,通過與語音芯片的連接實現相應故障的語音播放報警。
該語音報警系統以摩托羅拉公司的MC68HC908GZ16處理器為核心,并利用其豐富的接口擴展使用了語音播放、CAN通信接口等外圍模塊,使產品設計更加人性化。MC68HC908GZ16處理器具有如下優點:
1.豐富的硬件資源
MC68HC908GZ16為閃存型MCU,內部擁有16K的FLASH存儲空間和1K的RAM存儲空間。內部擁有鎖相環電路,能夠在使用低速晶振的情況下使總線頻率最高達到8MHz。同時擁有多達37個通用I/O口,可以方便地與其他外圍設備相連接。
圖3 卡車報警器電路原理圖
2.極強的抗擾能力
內部集成了CAN控制器,利用CAN通信具有很強的抗干擾這一特點,保證了產品能夠在惡劣環境條件下高效而穩定地運行。
本設計采用CAN通信的方式完成卡車語音報警系統的設計,系統結構如圖2所示。
通過MC68HC908GZ16上集成的MSCAN08模塊實現數據通信。利用C68HC908GZ16的I/O口,我們在設計中使用了市場上常見的ISD公司的ISD4002-120數碼語音芯片。該芯片采用3V直流供電,可以錄制并保存2min的語音信息。其采樣頻率為8kHz,信息分辨率可達200ms,能夠非常真實地再現語音、音樂、聲調和效果音。