TTCAN控制通讯模块和车辆的TTCAN控制通讯系统的制作方法

文档序号:13888476阅读:374来源:国知局

本发明属于信息通讯技术领域,具体涉及一种由外部硬件时间触发的ttcan控制通讯模块。



背景技术:

基于事件触发方式的协议主要包括由德国bosch公司制定的can(controllerareanetwork)总线及其协议。网络中所有活动都是由事件的发生所引起的,但是事件的产生是随机的、偶发的,何时会有一个事件触发是不可预知的,这就很可能导致网络中的事件之间发生冲突。can总线就是一个基于事件触发协议的通讯总线。

随着车辆的安全性能要求越来越高,以时间触发方式为核心,提出了新的总线及协议,其中具有代表性的三种总线及协议分别为:time-triggeredcan(ttcan)、ttp和flexray。基于时间触发方式的协议是基于时间触发结构而产生的。所有节点根据时间同步化,每一个在网络上的活动都打上了时间标记。系统中的任务根据工作之前制定的时间表分配好了相应的总线时间,因此,在采用时间触发方式通讯的总线网络中,节点都按照事前制定的静态调度时间表(又称为矩阵周期)完成任务,静态调度表被下载到各节点的控制器中,通讯系统的分支系统只需知道何时传送一条消息以及何时在总线上的一条消息对自己是有用的。时间触发结构的主要优点之一是灵活组合能力,这使得将一个新的部分整合到系统中时能够减少对新的部分的测试,这是设计对安全性要求苛刻的系统时的关键因素。相对传统的can协议,ttcan具有实时性高、可靠性好,数据量大,避免总线拥塞,大大提高网络利用率等特点。

目前,ttcan总线通讯普遍采用的定时方式是在接收到主节点定时消息后,节点cpu设置一个专用定时器时钟产生定时中断对时,按预设的矩阵周期表完成数据通讯任务。但该通讯方式过分依赖主节点容易产生同步失败,且每个系统设备cpu的时钟频率都存在误差,不能够做到全局全部统一,时间漂移造成同步误差过大,同时增加网络各节点cpu处理数据中断的负担。



技术实现要素:

针对上述现有技术中存在的问题,本发明要解决的技术问题是:如何解决ttcan总线过分依赖主节点容易产生同步失败,时间漂移造成同步误差过大。

为了解决ttcan总线过分依赖主节点容易产生同步失败,时间漂移造成同步误差过大,本发明提出了一种时间周期控制元件,其包括:

包括:计数器,和含有可编程的n个状态信息的状态机;其中,状态机随着计数器的每次计数依次改变状态信息编码,并通过输出端(sb0)依次输出所述状态信息编码至cpu。

进一步,所述状态机还包括含有4个相位信息编码的相位机,并通过另一个输出端(sb1)依次输出所述相位信息编码至cpu。

进一步,所述状态信息编码构成具有可编程的n个周期的外部时钟信号。

进一步,所述状态信息编码和相位信息编码构成具有n*4个周期的外部时钟信号

本发明还提出了一种ttcan控制通讯模块,其特征在于,包括:cpu,接口模块,以及根据上述的时间周期控制元件;其中:cpu分别连接时间周期控制元件和接口模块;时间周期控制元件用于周期性地向cpu发送所述外部时钟信号,cpu将该外部时钟信号作为cpu时间周期调度表的时序触发信号触发事件,且通过接口模块与can总线和系统设备进行数据交换。

本发明还提出了一种车辆的ttcan控制通讯系统,包括can网络,数个系统设备以及与所述系统设备一一对应的数个所述的ttcan控制通讯模块;其中,数个所述的ttcan控制通讯模块都采用相同的时间周期控制元件,且提供相同周期的外部时钟信号;所述系统设备通过ttcan控制通讯模块与can网络相连,组成ttcan通讯网络。

本发明还提出了一种车辆的ttcan控制通讯系统的控制网络全局时间周期和局部时间周期的方法,其特征在于,包括如下步骤:

(1)所有控制通讯模块的所述时间周期控制元件向模块内的cpu发送相同周期的外部时钟信号;

(2)在特定的时间段,由数个控制通讯模块的其中一个自动地向can网络发送复位信号,从而初始化所有控制通讯模块的所述时间周期控制元件,以便统一所有发送至cpu的外部时钟信号;

(3)在数个所述系统设备中的其中一个出现初始化,或者添加新系统设备的情况下,与该系统设备相对应的ttcan控制通讯模块向can网络发送复位信号,从而对所有控制通讯模块的所述时间周期控制元件复位,以便统一所有发送至cpu的外部时钟信号;

重复步骤(1)至(3)。

该模块采用外部时间周期控制元件发送周期性节拍信号给ttcan网络控制网络全局时间周期和局部时间周期,基本消除ttcan网络节点产生的时间漂移,由于时间同步完全由外部硬件元件控制,因此,网络时间同步不受主节点的运行状态的影响。

附图说明

图1为本发明的ttcan控制通讯模块的模块连接图;

图2为本发明的ttcan控制通讯模块的时分状态图;

图3为本发明的ttcan控制通讯模块网络拓扑图。

具体实施方式

参见图1,为本发明的ttcan控制通讯模块的模块连接图。其包括:cpu,接口模块,以及时间周期控制元件。cpu分别连接时间周期控制元件和接口模块;cpu通过接口模块与can总线和系统设备进行数据交换。

接口模块的配置如下:

1)模块can端口:由模块cpu内置两路can控制器连接两个外部隔离型can驱动器组成,当两路can单独使用时可以提供更宽的数据带宽,也可以联合使用互为备份。

2)spi通讯口:模块cpu内置两路spi通讯口,通过spi通讯口可以和上位系统cpu通讯交换消息,再送到can口。两路spi即可以单独使用,也可以采用联合使用互为备份方式。

3)rs232通讯口:模块cpu内置两路rs232通讯口(lvttl电平),通过rs232通讯口也可以和上位系统cpu通讯交换消息,再送到can口。同样两路rs232即可以单独使用,也可以联合spi口使用。

4)i/o输入输出线:可以用来和上位系统cpu作握手用。

该ttcan控制通讯模块采用特定的外部时间周期控制元件发送周期性节拍信号给cpu,从而控制网络全局时间周期和局部时间周期。

作为一个优选的实施例,该外部时间周期控制元件的周期性时序触发信号由16条状态周期输出线和2条周期内相位输出线组成,最大可以组成16*4=64个局部时间周期。

该外部时间周期控制元件主要由计数器和状态机构成。

作为示意性的实施例,本发明采用了模块减计数器:减计数器由24位d触发器组成,当模块复位时,减计数器被预置分频常数n。工作时,每输入一个脉冲,减计数器减一,当计算器被减到0时输出状态触发信号,每触发一次,模块状态机进入下个状态。

状态机采用16位有限状态机,16条状态输出线:

状态表:

上述16位状态由sb0引脚输出。

作为优选实施例,该外部时间周期控制元件还包括两条相位输出线,构成4个相位信息。

上面16个状态,每个状态周期被等分为4个相位等部分:

上述4位状态由引脚sb1输出。由此,构成16*4=64个局部时间周期输出至cpu(参见图2)。

输出线tint:每个状态转换时发送一个宽度为几微秒宽正脉冲,该信号可以作为测试全局同步的时标,也可以作为送给cpu的中断请求信号或锁存信号。

该ttcan控制通讯模块采用外部时间周期控制元件发送周期性节拍信号给cpu控制网络全局时间周期和局部时间周期。周期性时序触发信号有16条状态周期输出线和2条周期内相位输出线组成,最大可以组成16*4=64个局部时间周期,当一条网络上全部采用该ttcan控制通讯模块时,因为每个模块有统一参数的时钟,各模块统一设计的完全由硬件控制的相同全局时间周期和局部时间周期,因此模块间产生的时间漂移可以忽略不计。另外,总线网络的全局时间和子周期时间完全由外部硬件元件控制,因此,网络时间同步不受主节点的运行状态的影响。

现在介绍外部时间周期控制元件的工作过程:

系统上电后模块内部复位,时间周期控制元件的输入线rst#、同步输入线st#,这两条线分别连接到模块上电检测复位,同步输入端。当这两条引脚其中有一条为低电平时状态机进入状态0并初始化时钟分频器。当复位或同步后,状态机输出线输出0000000000000001同时相位输出线输出为00,输出线tint输出为0。当rst#、st#线同时为高,模块开始工作。状态输出线,相位线,模块内部tint线周期性的输出脉冲信号。

cpu接收到上述局部时间周期信号后,对信号进行识别,并将循环调度表中的时序次序安排数据帧到局部时间周期,按次序传送,即实现ttcan网络调度。

当多模块联网工作的情况下,复位电路一般由电路中看门狗触发,每个芯片的tint线输出脉冲相对时间差表示了每个rst#输入端时间延迟的情况,st#线输入一个负脉冲后,每个模块内部的tint线输出脉冲相对时间差基本就消失了,达到多模块联网同步的目的。

参见图3,为车辆的ttcan控制通讯系统,包括can网络,数个系统设备以及与所述系统设备一一对应的数个ttcan控制通讯模块;其中,所有的ttcan控制通讯模块都采用相同的时间周期控制元件,且提供相同周期的外部时钟信号;所述系统设备通过ttcan控制通讯模块与can网络相连,组成ttcan通讯网络。

在正常工作状态下,ttcan控制通讯模块会在特定的时间段,由数个控制通讯模块的其中一个自动地向can网络发送复位信号,从而初始化所有控制通讯模块的所述时间周期控制元件,以便统一所有发送至cpu的外部时钟信号。可以通过循环周期调度表自动地分配某个模块在特定的时间段发送上述复位信号。

同时,cpu会根据特定时序触发信号监控识别网络上传送的特定id消息帧,当发现该消息帧时间节拍异常、当设备上电复位时、网络运行时再随时投入一台设备,则网络需要再同步,这时只需要给时间周期控制元件的st#线一个负脉冲就可以使网络达到全局同步。该负脉冲可以通过不同的分布式模块(通过软件)根据模块的工作状态(有效与否),自动地由某个模块施加,或从总线上(硬件)直接施加。

当某台设备运行时看门狗复位,cpu重启,这时由于cpu重启并不会引起外部的总线时间触发同步元件复位,因此cpu重新工作后可以不需要重新识别外部时序触发周期。

本系统为模块化结构,在构成网络时容易实现从顶端开始设计,模块只负责管理通讯,与设备部件的使用功能无关。

当ttcan控制通讯系统的网络上全部采用该ttcan控制通讯模块时,因为每个模块有统一参数的时钟,各模块统一设计且完全由硬件控制的相同全局时间周期和局部时间周期,因此模块间产生的时间漂移可以忽略不计。模块的时标输出线作为状态锁存信号或中断触发信号送给通讯cpu,表示一个局部时间周期的开始,也可以在模块作为一个测试时标信号,测试模块之间时间延迟,该时间延迟反映了模块在网络通讯中全局同步的性能。用硬件方法时间延迟小于2个时钟脉冲,而用通讯cpu(软件)从总线送信令方法产生的模块时间延迟应该小于一个can位时间。

构建的ttcan网络解决了总线过分依赖主节点容易产生同步失败,时间漂移造成同步误差过大等问题。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1