基于CAN网络的整车授时系统设计
整车授时的中心议题:
- 众多车载系统之间需要统一时间系统
- 如何解决整车时间的同步性
- 基于CAN网络的整车授时系统方案设计
特种车辆,比如消防车、救护车甚至特种作战车辆,在现代瞬息万变的社会中,对时间的统一性提出了极高的要求。比如装有战场通讯指挥系统、火力控制系统、地理信息及定位系统、驾驶员综合信息系统的特种作战车辆,需要众多的车载系统之间统一协调地工作,必须要有严格统一的时间系统。
GPS/Glonass/北斗卫星授时功能正被越来越广泛地应用于各种系统,如指挥系统、地震观察系统中。纯硬件授时机精度高,但是成本也高,小型化程度不够,无法满足车载多个控制系统和信息系统时间同步的要求。
系统设计
基于CAN网络的整车授时系统能将主时钟源事件信息,通过车载网络,发送给其他的系统,以达到整车时间的同步性,如图1所示。
主时钟源
主时钟源采用硬件时钟源,接受来自上一级的时钟源信号。上级的时钟信号包括卫星授时、长波电台授时等,本系统采用GPS卫星授时。
Garmin25LVS 是Garmin公司的一款廉价且性能较好的导航型接收机。该接收机带有标准格式的NMEA导航电文输出(含有当前时间信号)和载波相位输出。同时还输出一个与GPS秒时间同步的高电平脉冲。微处理器采用飞思卡尔的8位单片机,该单片机带有1个串行通讯口,1个CAN总线通讯口,2个通道16位输入捕捉器,16K闪存。主时钟源基本框图如图2所示。Garmin25LVS的串口信号经过MAX232芯片进行电平转换,输入单片机,解析导航电文(包括年、月、日、时、分、秒信息)。脉冲信号经过调理变成5V的脉冲信号,经过输入捕捉,在该时刻将时间信息发送到总线上,达到授时的目的。
Garmin25LVS支持3.6V-6V的宽电压输入,其TXD1/RXD1引脚是标准RS-232串口通信接口,因此必须转成TTL或CMOS兼容的电平,见图3。
Garmin25LVS的PPS(Pulse Per Second)引脚为700mV的秒脉冲输出,脉冲上升沿时间300纳秒,持续时间默认为100毫秒,该脉冲的上升沿与GPS秒同步。因此GPS接收机时间精度为10-6秒。由于Garmin25LVS的秒脉冲信号幅值只有0.7V,其上升沿无法被单片机捕捉到,因此必须将其调理成TTL/CMOS兼容的上升沿信号。采用LM224运算放大器,对PPS进行跟随,提高驱动能力,然后设电压滞回比较器,选取合适的电阻将正向和反向的域值电压都设在0.35V 附近,电路示于图4。
高速CAN总线的驱动芯片采用飞利浦的82C250,采用光隔离器件,抵抗CAN总线对数字信号的电磁干扰,总线通讯电路如图5。
时间信息的分发
时间信息的分发时间信息通过控制器局域网总线(CAN)采用广播式方式以1Hz的频率定期发送到总线。整车授时的传输网络基本结构如图6所示。CAN总线物理硬件为带屏蔽的双绞铜线。时间消息以广播形式发送到总线上,各控制系统都带有相应的CAN接收控制器,获取时间消息。
CAN总线的信号以帧为单位进行发送。时间信息是打包在数据帧里传送的。数据帧包括帧头,帧起始、仲裁域、控制域、数据域、校验域、应答域和帧尾,如图7。
为减少时间延时,缩短数据帧的长度,包含时间消息的CAN数据帧格式采用摩托罗拉前向编码格式,共占用4字节,如表1。
微控制器控制的整车主时钟源程序控制流程是:先初始化串口和CAN通讯口和微机的输入捕捉模块,然后循环等待接收GPS电文并解析出时间信息。秒脉冲的上升沿由输入比较器捕获,产生中断,中断程序把时间发送到总线上。<上一页123下一页> 关键字:CAN 整车授时 系统设计 本文链接:http://www.cntronics.com/public/art/artinfo/id/80008300?page=2
延时补偿以及授时误差分析
授时延时定义为主时钟源开始把当前时间消息发出到目标节点(各控制/信息系统)接收该消息并产生中断之间的时间差。
时间延迟模型
主时钟源微控制器捕捉到秒脉冲产生中断,CPU首先把时间消息放入CAN控制器缓存,缓存取得发送权力把消息通过驱动电路发送到总线,各车载的控制系统的 CAN控制器接收完毕。在这个过程中,时间消息的接收发生延迟,延迟包括3个部份,如图8所示。Jm是消息m排队的时间,即消息开始放入发送队列到可以发送的时间差;Im是指由于仲裁和消息堵塞导致的时间延迟;Cm是数据在总线上的传送时间。因此总的时间延迟Rm为:
本系统采用的CAN收发控制器具有多缓存结构;并且主时钟源只发送一种帧信息——时间帧信息,因此消息排队时间Jm可以认为是一个由于指令操作产生的延时常数。
CAN是串行通讯的总线协议,即消息是按位逐位发送的,直到最后一位传送完毕,该消息才完全传送,产生中断引起CPU响应。根据CAN总线的数据帧长度,网络传输延时可由下式计算:
仲裁和消息堵塞延时Im包括两个部分:上一个正在发送的消息占用的时间和优先级比他高的消息的发送时间。可用Tindell,Audsley等人总结的模型迭代公式来求解。
其中Bm是上个消息的发送时间,hp(m)即堵塞的消息,指优先权比该消息高的信息集合,Tj是消息j的发送周期。
授时延时估算
微控制器采用16MHz频率的晶振,那么1个时钟周期为1/8微秒,Jm延时包括2字节消息标识设置,若干数据缓存设置的操作。设时间消息数据长dt字节,那么共执行2dt+4次数据传送操作,每次数据传送操作花费1个时钟周期,那么:
本系统充分考虑传输的时效性,时间消息帧在总线网络中拥有最高权限,那么根据前面所述,式(3)中hp(m)是空集,时间消息的仲裁时间延时为零(即总能得马上到发送权限),因此Im=Bm。在最坏情况下该值为网络上具有最长数据域的消息的发送时间:
位传输时间tbit取决于波特率,本系统总线波特率500K,那么位传输时间2×10-6秒。根据式(2),传送延迟时间Cm取决于时间消息帧自身的长度。由(2)(4)(5)代入(1)式,可得系统最大传输延时为:
其中dt是时间消息帧的长度。
延时补偿
(1)式中排队延时Jm是确定的,传输延时Cm当网络应用层协议设定后也是确定的,通过精确计算来补偿这两个确定的延时来改进精度。但是消息堵塞的延时仍然未知,它的最坏值见式(6),约为3×10-4秒。
如果该总线为授时系统单独使用,那么根据(5)式,消息堵塞延时为0。因此经过补偿后,未知的因素中只包括单片机捕获脉冲设置中断到中断程序执行的延时,可以精确到为控制器的指令操作时间级,即可以10-6秒级,精度大大提高。因此是否与其它控制系统共用总线,视整车的时间同步性要求。
结语
该系统采用微机控制和车载总线技术,整车主时钟源能自动跟踪GPS时间信号,并能给出校时信号,使得车辆内部各控制系统模块之间与主时钟源同步,实现了整车各控制系统时间的高度统一。
该系统结合了纯软件方法时统系统和纯硬件时统系统的特点,价格低廉,性能可靠。该系统已在某特种作战车辆上得到了运用。