- 实时通信要求
- 时间/事件触发通信的比较
- 组合能力和临时防火墙
- TTP/C协议
- 重要的机制和运算法则
- X线控系统
实时嵌入系统中使用的大多数串行通信协议都基于事件触发方法上。近来大量研究表明当需要高度可靠的系统操作时,时间触发TDMA解决方案更好一些。本文将就时间触发系统和事件触发系统的差异展开讨论并将解释C类串行通信协议??事件触发协议(TTP/C)的原理和构造。
目前对具备容错能力和通信系统的高可靠系统的需求日益增长。汽车线控刹车系统便是一例。由于故障发生时没有任何机械和液压备用系统,因此这套分布式嵌入系统必须提供一定程度的容错能力。线控(By-Wire)的应用可作为解释串行通信系统概念和原理的一个示例。
实时通信要求
根据定义,实时控制系统中系统从收到一个节点到产生响应信息的物理瞬时是非常重要的。由于某种特定类型系统,如为汽车开发的系统要求高度可靠的实时通信网络,这样“硬”(hard)实时通信的意义就更加重要了。硬实时通信系统能够确保所有信息在规定时间内提交。使用TDMA时间触发解决方案很好地满足了这种要求。
对高度可靠实时系统还有进一步的要求。通常需要一小段协议等待(protocol latency),这是从信息开始传输到接收方收到信息的一段时间间隔。另外还需一最小等待抖动(minimal
latency jitter)。抖动是指信息传输时间的变化(如最大传输时间-最小传输时间)。当几个节点连接到一个系统时,确保信息及时在同一时刻到达所有的接收节点是有益的。
组合能力(composablity)用于衡量系统的结构能力,看其是否能容纳几个不同特性节点并确保几个节点连接在一起时它们各自的特性仍然有效。例如,在结束系统组合前测试几个独立的节点,它们在节点级建立的特性应在系统级中维持不变。
流量控制是实时系统中另一个重要的方面。它能使接收节点可以跟上发送者传输的信息并且保证处理负荷的能力最大。为了确保系统能够处理最大负荷,要求有系统运作的先验知识,了解哪些节点随时准备广播和接收信息。
在实时控制系统中故障探测和容错变得更为重要,因为它往往是导致系统失效的关键所在。正如在一辆汽车中灾难性的事故会给车主带来危险。TTP/C提供成员服务来探测通信故障。每个传输节点将发送这种成员服务信息作为信息包的一部分以便系统里其它所有节点能检测到它并确保其功能正常。成员服务在某一故障节点提供相似的信息,这样就可以忽略掉故障节点的内容。
TTP/C系统运行的基本原理非常简单。TTP节点周期性的交换信息,协议控制数据储存在TTP控制器中。运用一个节点何时发送信息的道理,TTP系统产生一个全球性的时基。媒体访问基于TDMA方案,在接收方根据一个节点何时发送信息的知识可以建立故障探测功能。
容错是通过激励复制(active replication)的方法支持的。对于那些在故障出现时仍要求继续运行的节点需复制相同的节点。冗余节点在不同的时隙内同样能在总线上传输信息。一个节点及其复制出的节点,两者都归入“容错单元”。
激励复制的前提被称作“复制决定”(replica determinism)。当两个(或更多)的节点在具有同一输入和相同的初始化状态的情况下产生绝对相同的输出就存在复制决定。当所有支持替换决定的条件为真时,则可以推测如果输出不同某一节点可能存在故障。复制决定是一个非常复杂的问题。
TTP/C还支持不同的运行方式。许多系统中,不同的运行方式用于操作诸如启动、诊断、正常系统行为和维护等功能。信息包除了包括规定运行方式的位之外还支持一些突发性的信息,如在紧急关机状态下。
时间/事件触发通信的比较
时间触发系统和事件触发系统的工作原理大不相同。对时间触发系统来说,控制信号起源于时间进程。而在事件触发系统中,控制信号起源于事件的发生(如一次中断)。时间触发系统中使用的状态信息来自在规定时间内存在的某个条件,比如传感器的读值。这不同于事件信息中事件的发生,比如传感器在大于或小于预定的阈值时被触发。通常一个状态信息传输给好几个接收方,它们并不在收到信号时就进行处理。事件信息一般存放在一个接收方处,它将信息排序或在事件发生时激活中断服务程序来采取相应的措施。
总的看来,时间触发通信具有较高的可预测性和较为简便的及时测试功能,但它不够灵活。系统一经定义后就不能在往里添加其它节点。事件触发通信系统在添加节点方面就显得灵活多了,但它的预测性能不够强而且需要彻底的测试来确保在许多事件发生和总线带宽受到冲击的情况下不会出现超载。
组合能力和临时防火墙
在任何模式的系统应用中,组合能力是一个主要的要求。例如,一辆汽车包括一套电子控制系统网络(刹车,方向,动力系等)。它们共同组成网络来共享信息。这些各自独立的组件来自不同的制造商,他们的产品要符合整个系统要求,有时将这些组件集成在一个系统并立即开始运行显得有些困难。如果一个组件能够和其它系统集成在一起又不影响每个组件独立的特性就称该组件具有组合能力,也就是说当系统建立时各个部分工作达到预期功能且无故障发生。
时间触发系统比事件触发系统更能直接达到组合性, 因为在后者中多个节点同时访问网络时会有一个临界瞬时(critical instant),这种现象是由于在信息传输中事件触发系统本身缺少决定造成的。时间触发系统解决了这道难题,因为预先就知道信息怎样传输。
图1 CNI是位于TTP/C接口和任一节点上主控制器之间的接口.
TTP/C系统中使用双路端口RAM设立了一道被称做控制器网络接口(CNI)的临时防火墙。CNI是位于TTP/C接口和任一节点上主控制器之间的接口,如图1所示。主机将需要传输到网络上的信息传送给CNI。TTP通信控制硬件(TTP
CC) 通过双路端口上预先设定的数组将信息导入。这样两道防火墙有效地将主机和TTP网络的时序行为(timing behavior)分隔开来。
TTP/C协议
TTP/C最初由维也纳理工大学的教授开发。这项工作后来作为一个被欧洲委员会资助的项目进一步开发为一种汽车自动驾驶应用系统。由于其自身特性,这种应用需要一种容错的通信方法。
这种应用的主要系统要求是一小段协议等待,一最小等待抖动(minimal latency jitter), 互容性,数据高效性和快速故障探测功能。TTP/C自从创立以来得到进一步发展以满足该系统的要求和SAE(汽车工程师学会)
C类的要求。
图2 使用三个节点的事件触发操作。
图2给出了使用三个节点的时间触发操作。这种情况下总是只有一个发送方和两个接收点。所有协议的运行在先验点(apriori point)及时初始化,由于CNI临时防火墙的建立,每个主机不能超越协议进程来实施外部控制。全球时基告知每个节点全球的时间,
这通过使用分布式容错时钟同步运算法则来建立。
TDMA中不会发生信息丢失,因此无需重试。TTP/C使用两条广播总线将来自容错单元的关键信息传输两遍,所以有可能从冗余码广播时隙中读取信息。系统只有在满足所有节点都与信息指令取得一致、系统中节点的成员身份正确、数据完整和正确的全球时间概念的情况下才会工作。因为信息能在TDMA系统中开始传输的那个点上被识别,所以信息中无需信息标识符。信息包括一个4位头部(header)和16
位CRC。
值域(value domain)中的故障探测通过持续的状态协议完成。每个TTP控制器有一个称做C状态(控制器状态)的内部状态,该状态包括时间信息、操作方式和成员状况(假设其处于广播状态或非循环状态)。协议仅当发送方和接收方在发送方C状态下取得一致时才工作。因此当发送方C状态和信息包一部分的CRC校验和(checksum)合并时,才能建立相应的机制(mechanism)来保证持续的C状态。
事件触发系统中有一种被称为混串音(babbling idiot failure)的普遍故障。它发生在一个故障节点不断广播占用总线信息的情况下。TTP协议的规律性提供了阻止混串音现象发生的机制,如图3所示。
图3 混串音发生在一个故障节点不断广播占用总线信息的情况下。
故障节点表现为不断重复传输信息。总线监护器是一种自带时钟系统的硬件单元,它被连接在传输节点和总线之间。在节点预定广播时隙中,总线监护器将打开门以便传输的总线信号在相应的时隙中停留正确的时间。总线监护器可以被看作信息节点包的逻辑与操作。
TTP故障管理根据两种方法。第一种假定每个节点都是故障沉默(fail-silent), 要么只广播正确的信息要么根本不广播信息。这种故障沉默的方法通过调节故障沉默假定的各种机制从而在节点水平建立的。第二种方法可以将投票方案(voting
strategies)应用于包括三个独立节点的容错单元设计中来实现。
重要的机制和运算法则
TTP/C协议包括几个值得讨论的机制。在系统设计阶段决定的驻留在TTP/C控制器的控制数据组成了信息描述清单(MEDL)。MEDL描述了通信的设立和TDMA循环层并将描述结果存储在电可擦除只读存储器中,
当系统工作时可依次下载。
图4 TTP/C控制器及主要功能。
图4给出了TTP/C控制器和其主要功能的框图。主机通常由执行应用代码模块中的微控制器组成。微处理器连接到传感器和/或衰减器上。CNI,MEDL协议处理器和总线监护器在图中也有说明。协议处理器可被用做逻辑基础的状态机器,尽管较早版本使用Motorola
68332微控制器。物理层(线路驱动器和铺设的电缆)不属于TTP规范的一部分。
所有TTP控制器按全球时基的规定在它们的发送时隙中通过通信信道准时开始传输。但由于系统中的时钟不可能完全意义上的同步,每个接收器会发现发送方并没有在准确时间发送,而是相对接收器时钟来说稍早或稍迟,这种现象被系统中所有节点用于促进连续的再同步。每个控制器测量信息应到的时间和实际到达时间的差异。这些测量结果的容错平均数由接收器计算出,这样每台时钟就可以总体上调整为同步。
图5给出了所使用的帧型,有初始帧和常规帧两种。
图5 电路控制刹车系统将代替今天标准的液压刹车系统。
帧头包含4 位,其中一位用来识别是初始帧还是一般帧,其余四个用作模式变化请求。CRC字节宽度为16位提供一个最小5位的Hamming距离(hamming
distance)。Hamming距离规定了在发生传输干扰时有多少位错误能被探测到。当传输一般帧时,控制器C状态数据和帧首应用数据合并以便决定CRC。这就是任意一个控制器C状态如何在控制器中显示故障,在CRC解码时其它节点也将得知,这是因为在设计阶段使用系统行为的先验知识就已经定义了每个节点在任何时候都知道其它节点的C状态。
每个节点的实际C状态由全球时基、当前运行模式、MEDL位置、未决模式变化和系统成员信息(一个节点是“输入”或是“输出”)来构成,C状态长度为6-8个字节。
X线控系统
TTP/C创立了大量汽车X线控系统,如方向控制和刹车控制。图8给出了刹车线控构造的实例。有可能现在使用的液压刹车系统会在将来完全被电子系统代替,因为电路刹车有以下几个优点。
- 无需刹车剂,保护生态,减少维护
- 重量轻
- 性能提高(刹车响应更快速)
- 最小的刹车磨损(向轮胎施力更均匀)
- 更简单/快速和安装测试(模块结构)
- 更稳固的电子接口
- 隔板间无机械联系
- 无需复杂手续便可增加进一步电子控制功能
- 踏板特性一致
- 比液压系统的元件更少
系统说明了控制刹车电机减速的车轮节点并在接口处提供轮速传感器。如果某个独立的车轮组件发生故障,车辆使用剩余的三个车轮组件同样能够刹车。因为有了刹车踏板传感器,运行主要控制软件的中央控制单元已被复制。
TTP/C并非为与目前的系列通信软件竞争而开发的,但将满足今天事件触发器B类所不能实现的性能。B类和C类在现代车辆中同时存在,通信网关将允许它们共享信息,尽管最初的应用可能是在汽车市场,但其它无关领域中同样要求在节点不正常工作时仍要求稳固的网络运行。与其它流行的串行通信协议而言,TTP/C控制器组件打算并入其它功能或是在特定系统中作为独立的实体而设计到节点中。
网站浏览
嵌入设计系统级透析
将产品的设计开发看作系统的一部分将会缩短产品上市所需的时间。尽早着眼于采用开发工具能最大限度地避免开发周期末重复开发情况的发生,从而节省巨额的重复开发费用。
,499495
便携式通讯器件的ESD保护
瞬态电压抑制(TVS)二极管提供快速的响应时间以及较低的钳位电压和工作电压。为了更好的保护,请确认遵循了正确的器件挑选和PCB设计导向。
,499491
让PCI总线适应嵌入系统要求
一种新规范正迅速兴起,它将远程系统总线集成在一个单独规范中。该PCI规范有望使嵌入系统设计者从高速多路处理中受益。
,499495