对TTCAN的分析

发布者:CyberJolt最新更新时间:2015-07-30 来源: eefocus关键字:TTCAN  CAN总线  误码率 手机看文章 扫描二维码
随时随地手机看文章
  2002年左右国外推出的TTCAN是一种时间触发的通信协议,在我国电动汽车“863”攻关项目及地方的科研项目中有许多尝试,目的是判断它能否成为新一代汽车的通信骨干网络。在研制中,它们一般规模较小,总线负载较轻,试验环境并不十分恶劣,对误码造成的丢帧不容易发现,且未经长期考验,所以没有发现什么问题;但对于大量生产的汽车,必须全面认识TTCAN的优劣,以及汽车控制用总线的技术走向,才能避免采用新技术带来的技术与经济风险。本文试图从可靠性与经济性角度对TTCAN作些分析,供大家决策时参考。 

1 TTCAN兴起的推动力量 

  TTCAN是在CAN的基础上发展起来的一种高层协议,它的出现是为解决CAN应用中遇到的瓶颈而作的一种试探。 

  现在,TTCAN已被采纳为国际标准ISO118984;但在工业上也只是试验性的应用,没有见到大规模的采用。虽然如此,对它兴起的原因进行分析仍然会对我们有很大的启发,正是这些需求构成了评价一种新技术优劣的依据。CAN是最成功的一种现场总线,在今天依然是应用的主力,经过近20年的实践,对它的局限也有了较多的认识[1]。这里不重复其中总结的内容,仅从应用的角度来说明CAN所面临的问题。 

1.1 为满足时限要求不得不降低总线利用率 

  CAN是事件触发协议,当许多消息同时要求发送时,竞争结果使低优先级消息发送的时间推后很多,甚至不能满足其时限的要求。 

  现以一个SAE benchmark为例[1]。该例有5条5 ms周期的消息,其帧长含1B、2B、1B、2B和4B数据,其余为50、100和1 000 ms的消息。在参考文献[1]中,消息可能的最大长度计算小了,但即便这样,对于5 ms周期的消息在125、250、500 kbps和1 Mbps的总线速率下,最大响应时间为4.456、2.228、1.114、0.557 ms。由于这些消息都置于较高优先级,它们只可能被一个低优先级4B数据消息阻断1次。我们可以只算这几条消息而估计相应总线的通信负载为75 kbps,对应的总线利用率为60%、30%、15%和7.5%。 

  现在看看最大响应时间对于应用意味着什么:一个闭环控制系统以5 ms为采样控制周期,在最坏响应时间为4.456 ms时,执行器产生的反馈控制效果在下一次采样前维持的时间最坏为5-4.456=0.55 ms,最长为5 ms。显然在这种变动巨大的情况下,控制参数只能取得比较保守,例如微分和积分增益不能太强。这就极大地限制了控制品质的提高。有些控制算法对这种纯迟后的变化更为敏感,例如smith预估,因此为了保证品质,只能取较低的总线利用率。对于以品质为第一的整车厂,这是唯一的选择,而取较低的总线利用率意味着成本的提高。 

1.2 汽车厂是对成本非常敏感的企业 

  如果总线利用率只有20%~30%,随着安全、节能与舒适性要求的提高,要增加更多消息而不希望增加成本。1条总线不够,在技术上可再加,或者是连接2个ECU的专用总线,或者是连多个ECU的附加总线。要在2条CAN总线中加网桥,不要说复杂性的增加,成本的增加就很大。以一个网桥200元算,年产20万台车的厂家要增加4 000万元成本。如果把总线利用率提高到60%,这钱就省下来了。 

1.3 CAN的开发与应用成本较高 

  为了使低优先级消息发送时间减少,不得不修改消息的优先级分配,这种变化增加了维修、管理的成本。由于系统中消息量与种类的变化,消息的送达时间会变化,又增加了认证和验证的工作量和成本。在开发新功能方面,也受到消息优先级设置上的相互影响,不易单独推进。 

1.4 CAN达不到线控技术的要求 

  线控技术可能简化汽车的结构、降低成本、提高控制能力,是一个重要发展的方向。但要达到与原来机械—液压系统同样的可靠性,需要通信系统有更高的确定性与冗余度。CAN达不到这一确定性要求,所以要改进。当然,新的协议不能在性能上比CAN还差。 

  通过时间触发协议,使消息在调度好的时间片内发送,可以消除总线的争用,消息传送的确定性得到了保证,总线的利用率也得到了提高。由于一部分消息不具有周期性质,需要提供合理的带宽与时隙分布。TTCAN就在这种背景下出现了。几乎同时出现的还有其他时间触发协议,早一点的有TTP/C,晚一点的有FTTCAN、FlexRay等。它们都是在特定时隙指定周期性消息或事件消息的传送,细节上虽有区别,但没有根本的区别。与其他协议比较,TTCAN的优点是它用现有的CAN芯片就可以实现,因此价格便宜。这些经济上的考虑是TTCAN出现的直接推动力量。 

2 TTCAN的简要内容 

  参考文献[2]有TTCAN的详细介绍。它的作者是TTCAN技术专利发明人、标准起草人。这里仅将它的几个要点摘出: 

  ① TTCAN用System Matrix组织时间片。它相当于一个大周期,一个System Matrix里又分为2n个Cycle。在每个Cycle开始处,由时间上的Master节点发Reference消息,时间上的从节点对Reference进行同步,这样就建立了全局时钟。 
  ② Cycle里可以划分为若干长度不同的Slot(时隙),但每个Cycle的Slot划分是一样的。 
  ③ Slot的用途有3种:Exclusive Window(独占窗)、Arbitration Window(仲裁窗)和 Free Window(空窗)。Exclusive Window用于周期性消息发送,Arbitration Window用于事件消息的争用,Free Window用来备用。 
  ④ 禁止消息跨窗口的发送,只有相连续的Arbitration Window除外。为此,禁止CAN的出错自动重发功能。在Arbitration Window内争用的消息要先判断能否发完,如能发完,才可参加争用。 
  ⑤ Slot用途的指定是由调度器来实现的,它不是标准的内容,然而事件消息在Arbitration Window的争用并不是严格意义上的随到随争用。按参考文献[2]的想法,事件消息是偶发消息,应用程序可以预先安排几个偶发消息到一个Arbitration Window,再任它们争用。 
  ⑥ 在一个Cycle里,Slot的用途不受约束。 

3 TTCAN的缺点与问题 

(1) TTCAN与CAN是不兼容的 

  TTCAN要求独占窗,因此它不能和CAN混合使用在一个系统中。带CAN通信口的ECU不受TTCAN的约束,可在任意时刻发送,就有可能在总线空闲时争得发送权,使TTCAN的调度发送完全失效。汽车厂在采用TTCAN时必须将所有要用到的ECU都改为用TTCAN的方式,这就要重新认证和验证所有的ECU,涉及大的工作量和投资。如果用网关将CAN的ECU过渡到TTCAN网,其成本的增加更大,只具有实验意义。 [page]

(2) TTCAN在恶劣环境下误帧太多 

  参考文献[3]中, 用实验方法得到CAN在恶劣环境下的误码率为2.6× 10-7。据文章作者认为,这是较为保守的估计,实际情况要好些。为了考察这个数据的有效性,我与该文作者进行了沟通,得到更为详细的资料,见参考文献[4]。根据这些资料,可以认为这个数据是一个与汽车现场接近的数据,不能算作保守。其主要理由有: 

  ① 实验的原始想法是只测来源于CAN电缆干扰的误码,所以把CAN发送和接收节点放在屏蔽箱内,用二条电缆传送信号,一条在箱内,一条在箱外,通过比较从二条电缆收到的数据流,计算出误码率。但是将手机放在不带屏蔽、不作双绞的通信线上进行另外的实验时,却没有任何出错,说明来自空间的干扰影响很小。而实际恶劣环境下现场被测试设备的电源与干扰源的电源并不独立。与此对比,认为出错是通过电源传导的,这与原始设想不同。 
  ② 实验的恶劣环境是指电焊机工作时的干扰,并无具体的数量指标,无法与汽车的电源传导干扰相比较(ISO7637)。实际上可能不如汽车电源干扰大。 
  ③ 在电源传导干扰下,造成误码计数的情形较复杂。它与可能的故障位置、CAN收发节点状态有关。误码有多算也有少算的情形。 
  ④ 电焊机是人工操作,通信实验中干扰源只在部分时间存在,计算误码率的通信总量多算了。 

  在此推定下,如假设TTCAN的总线利用率为60%,通信速率为500 kbps,按照2.6×10-7的误码率,那么在1小时内会有280.8个误码(500k×3 600×60%×2.6×10-7=280.8),约12.8秒1次。由于TTCAN禁止出错自动重发,因此会大量丢帧。而对CAN来说,只要在12.8 s内重发成功,就不会丢帧。TTCAN要回避这个问题,就要求更完善的抗干扰措施,这意味着成本的提高。 

(3) 由预留Error Frame帧引起的开销大 

  TTCAN没有禁止Error Frame,由于错误可能出现在任何时间,就可能发生在帧的最后处,每一个Slot都要预留Error Frame的时间,否则它会阻碍下一个Slot内消息的发送,这是很大的开销,使TTCAN远达不到设想的100%的总线利用率。假定最小的数据帧为1B数据,长为65位,而Error Frame为20位,那么这项开销达到23.5%。 

(4) Slot用途不同造成时间利用率低由 

  于TTCAN规定调度好的Cycle中的Slot划分是一样的,但可能的用途不同。不同的Cycle同一Slot里可能安排了长短不一的消息,此时对短帧来说,留下的时间就浪费了。 

(5) 事件消息被阻塞的延迟可能性增大 

  在TTCAN中,由于调度结果造成几个连续的Slot都是独占窗,此时事件消息要等待的时间很长,必须有特别的设计加以处理。 

(6) 网络内的时间同步要求较高 

  用软件来实现时就得留出时间以容许主从节点间的同步误差,这就又减少了带宽。如用Level 2的硬件实现,就不可能马上使成本低到与CAN一样。实际上,置TTCAN于一种新的与CAN无关的总线的地位,要与其他总线作全面的比较,TTCAN就没有其他总线好了。 

(7) 丢帧处理两难 

  TTCAN在传送出错的情况下,不对本帧进行自动重发。在应用上要有所考虑。或者用比实际需要更多的发送,丢掉就算了的策略,这也会浪费带宽;或者由应用层在仲裁窗组织重发,但这相当复杂。如用冗余的第2条总线,意味着成本的加倍。 

(8) 仲裁窗的要求较难实现 

  在仲裁窗判断事件消息能否发完,然后控制事件消息的发送是不容易实现的。用软件来实时处理来不及,又没有现成的硬件。 

  另外,在对付CAN系统中Babbling idiot出错方面,TTCAN没有改进。 

4 小结 

  工业应用中可靠性是第一位的要求,出错自动重发是CAN最有价值的部分;而TTCAN禁止出错重发,使它的抗干扰能力大打折扣,在应用上造成困难。在许多时间触发协议中纠错的方法都复杂得多,如TTP/C和FlexRay用2个通道传送同样的消息,只要不是2个通道同时出错,消息就能送达,但是其代价是成本比单通道增加1倍。TTCAN也能构造2个通道,也会面临同样的代价问题;而且2个通道同时出错仍是有概率的,要重发又有时限等新的问题。因此在抗干扰方面,TTCAN没有给出性价比合适的解决方案。现在CAN每年都有数亿的节点产量,这说明用户对它的可靠性的认同,而这种可靠性完全来源于CAN在数据链路层实现的出错自动重发功能——干扰是客观存在的,自动纠错使用户根本感觉不到有错。比较所有的现场总线,纠错的方法要比CAN复杂得多,应用就不方便,性价比下降。尽管FlexRay的拓扑结构很多,有星型、总线型等,但设想用于替代CAN的只用1个通道的用法,可能会面临TTCAN同样的干扰丢帧问题;解决出错重发的高层软件并不成熟,也没有标准化,因此目前不会构成对CAN的威胁。 

  TTCAN与CAN的不兼容,使它在经济上不能充分利用CAN的资源,所以它也不是CAN的好的升级方案。 

作者: 重庆工业自动化仪表研究所 杨福宇 


参考文献 

[1] Tindell K W, Burns A. Guaranteeing message latencies on Controller Area Network (CAN)[C]. In Proceedings of 1st International CAN Conference, pp. 111, September 1994. 
[2] Fuhler T,et al. Time Triggered Communication on CAN[C]. Robert Bosch GmbH, Proceedings 7th International CAN Conference, Amsterdam, Holland, 2000. 
[3] Ferreira J,Oliveira A,Fonseca P,et al. An experiment to assess bit error rate in CAN[C]. RTN 2004 3rd Int. Workshop on RealTime Networks sattelite held in conjunction with the 16th Euromicro Intl Conference on RealTime Systems, June 2004. 
[4] Ferreira J. PhDjjcf_Charpter_4.pdf 
[5] 杨福宇. CAN总线的局限[J]. 电子设计应用,2006(11):32, 34. 
关键字:TTCAN  CAN总线  误码率 引用地址:对TTCAN的分析

上一篇:浅谈CAN总线的位定时参数
下一篇:基于CAN的电源控制系统设计

推荐阅读最新更新时间:2024-05-02 23:50

如何解决CAN总线超强干扰?
摘要:CAN总线系统由一系列的网络节点通过总线相互连接组成,在实际应用中网络节点既是干扰源又是被干扰对象,尤其在超强干扰的情况下,如何使系统可靠运行成为一大难题。 前段时间有个用户反馈说自己的设备启动后多个节点处于失控状态,用CANScope测试全是错误帧如图1所示。 图1 强干扰下的报文 随后让客户把测试的波形发来一看,是环境干扰惹的祸,如图2所示。 图2 强干扰下的波形 这种强干扰导致了帧错误增加,重发频繁,正确数据无法及时到达。所以如何解决CAN总线超强干扰呢,下面给您介绍一种方案。 将CAN转为光纤传输 怎么能彻底解决强干扰带来的隐患呢?只要数据的传输不依赖电信号就能完全隔离掉干扰。
[汽车电子]
如何解决<font color='red'>CAN总线</font>超强干扰?
can总线上120欧姆电阻的作用
本质意思是加在CANH和CANL之间.有的RES+和RES-是可能内置了一个终端电阻,要加上只需要短接;也可能能是没有内置,只是等效于CANH和CANL两个端点,方便外接终端电阻而已具体必须参考相关产品的说明. 终端电阻其他规则:在一个网络(由一组电缆直接连接)内有且只有2个终端电阻. 加在直线拓扑结构的距离最远的两个端点.
[嵌入式]
基于CAN总线的电梯主控系统软硬件设计
  1 引言   随着城市化建设事业飞速发展,高层建筑和智能建筑大量涌现对电梯控制提出了许多新的要求,与此同时 MCU 与现场总线技术的发展为电梯控制系统不断完善提供条件。由于现代电梯控制系统在安全性、稳定性、人性化的要求不断提高,对原有系统在通信方式和电机控制方式等方面进行升级也显得尤为必要。   在通信方式上,CAN 总线技术的引入改变了RS485 总线在电梯控制上只能构造主从结构的通信网络、缺少总线仲裁与实时响应效果不理想等方面的缺点,这也使得在现代电梯控制系统的设计时,可以把一些井道开关量信号轿厢控制器来采集,然后通过CAN 通信把有效信号直接传输给主控系统,这样就减少主控系统的负担,增加系统的安全性;在电机控制上,电
[单片机]
基于<font color='red'>CAN总线</font>的电梯主控系统软硬件设计
CAN总线在程控交换机中的应用设计
在电话程控交换机中,控制系统由前端处理、主控制和维护管理三级处理系统构成。 主控制机与前端处理机之间有通信处理机,它主要完成通信功能,将从各从节点传来的信息整理打包传往主控单元,并将从主控单元发送来的命令分配发往各从节点。其中,前端处理机与主控机连接的电路结构如图1所示。 主控制机与6个通信处理机之间通过双口RAM,以中断方式传送数据,每个通信处理机与前端处理机都采用具有HDLC协议的8044芯片,各前端机不能主动发起与通信控制机的通信,必须等待通信控制机询问该节点时才能向它发送数据。 对于图1的应用,本文采用CAN总线技术来实现,大大减化了软硬件设计,降低了成本。 CAN总线设计关键点 物理层设计 CAN总线为了
[应用]
基于CAN总线的多通道实时模拟器设计
CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的设计方案。 步骤/方法 1 CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的
[单片机]
基于<font color='red'>CAN总线</font>的多通道实时模拟器设计
基于GPS/GPRS技术的CAN总线工程车辆远程监测系统
随着工业现代化的飞速发展,工程车辆的种类越来越多,功能越来越强大。工程车辆在工程施工中起着举足轻重的作用,其作业条件、作业状况复杂多变,工作环境恶劣,使故障率大大增加。如何通过各种先进技术对工程车辆运行参数实施远程监控及对其进行科学地指挥、调度,是工程车辆行业的一个重要的研究课题,具有十分重大的现实意义。 1 系统整体结构 本文提出的CAN总线工程车辆远程监测系统,通过车载电子控制装置ECU的CAN总线获取车辆运行信息,并利用GPRS无线网络通信手段对车辆进行远程监控及调度管理。 工程车辆远程监测系统的体系结构主要由控制中心和车载移动终端组成。车载终端设备通过CAN总线接口模块获取车辆实时运行参数信息,合并GPS定位信息后将这
[嵌入式]
LPC2000系列的CAN总线验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的"开放系统互联(OSI)"参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但
[单片机]
LPC2000系列的<font color='red'>CAN总线</font>验收滤波器应用
基于CAN总线的电梯外呼系统设计
随着现代社会的发展,科学技术的进步,出现了众多高层建筑和智能建筑。电梯,作为高层建筑内部一种重要的交通工具,其应用规模日益扩大。而作为电梯系统中必不可少的一部分,电梯召唤显示板(简称电梯外呼板)的应用也随之剧增。   电梯外呼板应用于每层楼的电梯门外,供乘客及电梯维保人员使用。电梯外呼板将乘客及维保人员的需求信息通过 CAN总线 传达给电梯主板,电梯主板接收信息并执行相应的操作。同时,电梯主板将电梯的实时运行信息通过CAN总线传递给电梯外呼板,通过外呼板LED显示出来,供乘客参阅。   AVR单片机具有高可靠性、功能强、高速度、低功耗和低价位的特点,本系统选用了高档ATmega列AVR单片机ATmegal6。它具有先进的RI-
[模拟电子]
基于<font color='red'>CAN总线</font>的电梯外呼系统设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved