對于裝備有多種控制系統(tǒng)和信息系統(tǒng)的車輛,整車必須有統(tǒng)一的時間系統(tǒng)才能保證各個子系統(tǒng)進行協(xié)調(diào)的工作。本文闡述了一種基于CAN總線的整車授時方法,基于該方法設計了一個整車授時系統(tǒng),并且通過對CAN網(wǎng)絡延時的分析,做出時間補償。
本授時系統(tǒng)采用軟硬件結合的方法,克服了純軟件和純硬件授時的不足。在不需要大量資金的條件下,可實現(xiàn)整車內(nèi)部多控制系統(tǒng)的時鐘同步,它的成本遠比純硬件時統(tǒng)系統(tǒng)低,也比純軟件時統(tǒng)系統(tǒng)要可靠得多。
1 引 言
特種車輛,比如消防車、救護車甚至特種作戰(zhàn)車輛,在現(xiàn)代瞬息萬變的社會中,對時間的統(tǒng)一性提出了極高的要求。比如裝有戰(zhàn)場通訊指揮系統(tǒng),火力控制系統(tǒng),地理信息及定位系統(tǒng),駕駛員綜合信息系統(tǒng)的特種作戰(zhàn)車輛,需要眾多的車載系統(tǒng)之間統(tǒng)一協(xié)調(diào)地工作,必須要有嚴格統(tǒng)一的時間系統(tǒng)。
GPS/Glonass/北斗衛(wèi)星授時功能正被越來越廣泛地應用于各種系統(tǒng),比如指揮系統(tǒng)[1-2]、地震觀察系統(tǒng)中[3]。純硬件授時機,精度高,但是成本也高,小型化程度不夠,無法滿足車載多個控制系統(tǒng)和信息系統(tǒng)時間同步的要求。
2 系統(tǒng)設計
基于CAN網(wǎng)絡的整車授時系統(tǒng)能將主時鐘源事件信息,通過車載網(wǎng)絡,發(fā)送給其他的系統(tǒng),以達到整車時間的同步性,如圖2-1所示。
圖2-1 整車多微機控制系統(tǒng)授時方式
2.1主時鐘源
主時鐘源采用硬件時鐘源,接受來自上一級的時鐘源信號。上級的時鐘信號包括衛(wèi)星授時,長波電臺授時等,本系統(tǒng)采用GPS衛(wèi)星授時。
圖2-2 主時鐘源硬件設計及原理圖
Garmin25LVS是Garmin公司的一款廉價且性能較好的導航型接收機。該接收機帶有標準格式的NMEA導航電文輸出(含有當前時間信號)和載波相位輸出。同時還輸出一個與GPS秒時間同步的高電平脈沖。微處理器采用飛思卡爾的8位單片機,該單片機帶有1個串行通訊口,1個CAN總線通訊口,2個通道16位輸入捕捉器,16K閃存。主時鐘源基本框圖如圖2-1所示。Garmin25LVS的串口信號經(jīng)過Max232芯片進行電平轉(zhuǎn)換,輸入單片機,解析導航電文(包括年、月、日、時、分、秒信息)。脈沖信號經(jīng)過調(diào)理變成5V的脈沖信號,經(jīng)過輸入捕捉,在該時刻將時間信息發(fā)送到總線上,達到授時的目的。
Garmin25LVS支持3.6V-6V的寬電壓輸入,其TXD1/RXD1引腳是標準RS-232串口通信接口,因此必須轉(zhuǎn)成TTL或CMOS兼容的電平,見圖。
圖2-3 串口電平轉(zhuǎn)換電路原理
Garmin25LVS的PPS(Pulse Per Second)引腳為700mV的秒脈沖輸出,脈沖上升沿時間300納秒,持續(xù)時間默認為100毫秒,該脈沖的上升沿與GPS秒同步。因此GPS接收機時間精度為。由于Garmin25LVS的秒脈沖信號幅值只有0.7V,其上升沿無法被單片機捕捉到,因此必須將其調(diào)理成TTL/CMOS兼容的上升沿信號。采用LM224運算放大器,對PPS進行跟隨,提高驅(qū)動能力,然后設電壓滯回比較器,選取合適的電阻將正向和反向的域值電壓都設在0.35V附近,電路原理見圖2-4。
圖2-4 脈沖信號處理原理
高速CAN總線的驅(qū)動芯片采用飛利浦的82C250,采用光柵隔離器件,抵抗CAN總線對數(shù)字信號的電磁干擾,總線通訊原理如圖。
圖2-5 CAN通訊接口原理
2.2時間信息的分發(fā)
時間信息通過控制器局域網(wǎng)總線(Local Area Network,CAN)采用廣播式方式以1Hz的頻率定期發(fā)送到總線。
整車授時的傳輸網(wǎng)絡基本結構如圖2-6所示。CAN總線物理硬件為帶屏蔽的雙絞銅線。時間消息以廣播形式發(fā)送到總線上,各控制系統(tǒng)都帶有相應的CAN接收控制器,獲取時間消息。
圖2-6 時間信息通過總線廣播分發(fā)
CAN總線的信號以幀為單位進行發(fā)送[8]。時間信息是打包在數(shù)據(jù)幀里傳送的。數(shù)據(jù)幀包括幀頭,幀起始、仲裁域、控制域、數(shù)據(jù)域、校驗域、應答域和幀尾,如圖2-7。
圖2-7 CAN總線的數(shù)據(jù)幀
為減少時間延時,縮短數(shù)據(jù)幀的長度,包含時間消息的CAN數(shù)據(jù)幀格式采用的摩托羅拉前向編碼格式,共占用4字節(jié),如表2-1。
表 2-1 時間信息編碼
微控制器控制的整車主時鐘源程序控制流程如圖2-8。先初始化串口和CAN通訊口和微機的輸入捕捉模塊,然后循環(huán)等待接收GPS電文并解析出時間信息。秒脈沖的上升沿由輸入比較器捕獲,產(chǎn)生中斷,中斷程序把時間發(fā)送到總線上。
圖2-8 主時鐘源軟件設計
3延時補償以及授時誤差分析
授時延時定義為主時鐘源開始把當前時間消息發(fā)出到目標節(jié)點(各控制/信息系統(tǒng))接收該消息并產(chǎn)生中斷之間的時間差。
3.1時間延遲模型
主時鐘源微控制器捕捉到秒脈沖產(chǎn)生中斷,CPU首先把時間消息放入CAN控制器緩存,緩存取得發(fā)送權力把消息通過驅(qū)動電路發(fā)送到總線,各車載的控制系統(tǒng)的CAN控制器接收完畢。在這個過程中,時間消息的接收發(fā)生延遲,延遲包括3個部份,如圖3-1所示。
圖3-1網(wǎng)絡授時延時模型
Jm是消息m排隊的時間,即消息開始放入發(fā)送隊列到可以發(fā)送的時間差;Im是指由于仲裁和消息堵塞導致的時間延遲;Cm是數(shù)據(jù)在總線上的傳送時間。因此總的時間延遲Cm為:
(3.1)
本系統(tǒng)采用的CAN收發(fā)控制器具有多緩存結構;并且主時鐘源只發(fā)送一種幀信息——時間幀信息,因此消息排隊時間Jm 可以認為是一個由于指令操作產(chǎn)生的延時常數(shù)。
CAN是串行通訊的總線協(xié)議,即消息是按位逐位發(fā)送的,直到最后一位傳送完畢,該消息才完全傳送,產(chǎn)生中斷引起CPU響應。根據(jù)CAN總線的數(shù)據(jù)幀長度,網(wǎng)絡傳輸延時可由下式來計算:
(3.2)
仲裁和消息堵塞延時Im,包括兩個部分:上一個正在發(fā)送的消息占用的時間和優(yōu)先級比他高的消息的發(fā)送時間??捎肨indell,Audsley等人總結的模型迭代公式來求解[5-7]。如式(3.3)。
(3.3)
其中 是上個消息的發(fā)送時間,即堵塞的消息, 指優(yōu)先權比該消息高的信息集合,Tj是消息j的發(fā)送周期。
3.2授時延時估算
微控制器采用16MHz頻率的晶振,那么1個時鐘周期為1/8微秒,Jm延時包括2字節(jié)消息標識設置,若干數(shù)據(jù)緩存設置的操作。設時間消息數(shù)據(jù)長 字節(jié),那么共執(zhí)行 次數(shù)據(jù)傳送操作,每次數(shù)據(jù)傳送操作花費1個時鐘周期[4],那么:
(3.4)
本系統(tǒng)充分考慮傳輸?shù)臅r效性,時間消息幀在總線網(wǎng)絡中擁有最高權限,那么根據(jù)第2.2和3.1小節(jié)所述,式(3.3)中 是空集,時間消息的仲裁時間延時為零(即總能得馬上到發(fā)送權限),因此Im=Bm。在最壞情況下該值為網(wǎng)絡上具有最長數(shù)據(jù)域的消息的發(fā)送時間:
(3.5)
位傳輸時間 取決于波特率,本系統(tǒng)總線波特率500K那么位傳輸時間2×10-6秒。根據(jù)式(3.2),傳送延遲時間Cm取決于時間消息幀自身的長度。由(3.2)(3.4)(3.5)代入(3.1)式,可得系統(tǒng)最大傳輸延時為
(3.6)
是時間消息幀的長度。
3.3延時補償
(3.1)式中排隊延時Jm是確定的,傳輸延時Cm當網(wǎng)絡應用層協(xié)議設定后也是確定的,通過精確計算來補償這兩個確定的延時來改進精度。但是消息堵塞的延時仍然未知,它的最壞值見式(3.6),約為3×10-4秒。
如果該總線為授時系統(tǒng)單獨使用,那么根據(jù)(3.5)式,消息堵塞延時為0。因此經(jīng)過補償后,未知的因素中只包括單片機捕獲脈沖設置中斷到中斷程序執(zhí)行的延時,可以精確到為控制器的指令操作時間級,即可以10-6秒級,精度大大提高。因此是否與其它控制系統(tǒng)共用總線,視整車的時間同步性要求。
4 結語
該系統(tǒng)采用微機控制和車載總線技術,整車主時鐘源能自動跟蹤GPS時間信號,并能給出校時信號,使得車輛內(nèi)部各控制系統(tǒng)模塊之間與主時鐘源同步,實現(xiàn)了整車各控制系統(tǒng)時間的高度統(tǒng)一。
該系統(tǒng)結合了純軟件方法時統(tǒng)系統(tǒng)和純硬件時統(tǒng)系統(tǒng)的特點,價格低廉,性能可靠。移在某特種作戰(zhàn)車輛上得到了運用。
參 考 文 獻
[1]王亭,趙軼群:GPS及其在移動指揮控制系統(tǒng)的開發(fā),《計算機工程與應用》2000.8,147-150
[2]許文輝,王大維等:實時在線式GPS 授時系統(tǒng)原理與設計,《哈爾濱工業(yè)大學學報》1998.5,31-35
[3]王家行,王大為,胡振榮,GPS 授時技術在地震觀測中的應用, 《地震工程與工程振動》1997.9, Vo l7No. 3. 124-130
[4]楊國田,白焰:《摩托羅拉68HC12系列微控制器原理、應用與開發(fā)技術》,中國電力出版社,2003年7月
[5]Tindell, K., Burns, A. and Wellings, A.J. Calculating Controller Area Network (CAN) message response times. Control Engineering Practice, Volume 3, Issue 8, August, 1995, Pages 1163-1169
[6] K. W. Tindell, H. Hansson, A. J. Wellings. Analysing Real-Time Communications : Controller Area Network(CAN). Real-Time Systems Symposium,1994
[7] N. Audsley, A. Burns, M. Richardson, et al. Applying new scheduling theory to static priority pre-emptive scheduling. Software Engineering Journal, Sep. 1993.
[8] Robert Bosch GmbH,CAN Specification V2.0, Postfach 30 02 40, D-70442 Stuttgart,1991
張新豐(1980-),清華大學汽車研究所博士研究生,2003年本科畢業(yè)于清華大學汽車工程系,研究方向是車載自主導航系統(tǒng),車載微機及控制網(wǎng)絡,車載綜合信息系統(tǒng)。電話:010-62771667-84,email:zhangxinfeng99@mails.tsinghua.edu.cn,地址:北京市海淀區(qū)清華大學汽車研究所501室,郵編100084