GB/T 41588.4-2022标准规范下载简介
GB/T 41588.4-2022 道路车辆 控制器局域网(CAN) 第4部分:时间触发通信.pdf顿同步实体framesynchronisationentity;FSE 协调逻辑链路控制层和媒体访问控制层的部分。
质同步实体framesynchronisationentity;FSE
施工组织设计及方案管理实施细则办调逻辑链路控制层和媒体访问控制层的部分。
5时间触发总线的基本概念
5.2.1系统矩阵的矩阵周期
在一个时间触发系统中,网络中所有节点的所有报文组成系统矩阵的一部分。系统矩阵规定了报 文和其发送所属的时间窗口之间的相互关系。在时间触发CAN中,系统矩阵由基本周期(矩阵的行) 和发送列矩阵的列)组成。在系统矩阵中基础周期的数目是2的整数幂,最小值是1。每个基本周期 由一个规定的特征报文开始:参照报文(见图2)
图2时间触发CAN的基本周期
在一个基本周期中,一个报文可能被分配到不止个时间窗口,即一个特定的报文可能属于多个发 送列。在系统矩阵中,所有基本周期的循环就构成了矩阵周期。在一个矩阵周期中,周期计数将计算基 本周期的数量。计数将从零开始,达到周期计数最大值时结束。周期计数的当前值将作为参照报文的 一部分被时间主节点发送。尤其,周期计数值将因时间主节点的每个基本周期的发送而递增。任何顿 同步实体接收一个有效的参照报文后将使用此参照报文中的周期计数。在一个矩阵周期中基本周期的 数目(周期计数最大值十1)是2的整数幂。 一个矩阵周期的列被称为发送列。在一个发送列中,周期性的传递一个特定的报文,周期是2的整
数寿,它不大于系统矩件的行变 系统矩阵的行”。第一个发送特定报文的基本周 期的数量(作为周期计数的值)称作周期偏移。这个周期被称作重复系数。一个特定的报文可能不止属 于一个发送列,也可能用同 个时间窗口来传递。
专用时间窗日被分配给周期性发送的特定报文,与CAN总线没有竞争。网络中仅有的一个顺向 步实体可以在专用时间窗口中开始发送。仲裁时间窗口被分配给共享同个时间窗口的报文。在仲裁 时间窗口内,通过CAN仲裁标识符解决总线冲突。网络中的几个顿同步实体可以在仲裁时间窗口中 开始发送。万一丢失了仲裁,无自动重发功能(例外:合并仲裁窗口)。连续的仲裁时间窗口可能会合并 成一个单一窗口。失去仲裁或者被错误干扰的顿可以在合并仲裁窗口中被重新发送。空闲时间窗口为 将来网络的拓展做准备。 注:关于发送使能窗口的细节表述,见7.2.2。
图4时间同步基本周期
操作。等级2则在此基础上额外增加了同步质量,提供了全局时间和外部时钟同步。在两个等级中,所 有的定时特征都是基于本地时基(等于本地时间)。原则上,网络中的所有顿同步实体使用网络时间单 元计算其本地时间。节点的网络时间单元因本地振荡器(系统时钟)的不同与整个网络的网络时间单元 存在少量的差异。在等级2中,同步程序应确保不同顿同步实体中的本地网络时间单元非常接近(见 6.4)。在等级1中,网络时间单元是CAN标称位时间;在等级2中,网络时间单元是物理时间参数“s” 的小数部分。 如果等级2的网络时间单元等于等级1的网络时间单元(CAN标称位时间),则在一个时间触发 的CAN总线网络中,等级1和等级2的顿同步实体就可以混用。然而,在这样的混合网络中,所有备 用的时间主节点应是等级2的特性
图7等级2中网络时间单元节点视图的产生
对于同步实体,需要明确时间 比率配置)内的初始值是已知的。非时间主 同步实体与时间触发CAN网络同步时,应根据其 本地时间(系统时钟)和主节点的全局时 持续更新其时间单元比率值,
在CAN总线网络中,对于每个数据顿或远程顿,顿同步脉冲在每个顿同步实体中产生,并且位于 顿起始(SOF)的采样点。忽略信号的传播时间,这个脉冲用于整个网络的同步。在顿同步脉冲中,本地 时间的当前值会被保存为同步标志。在每个参照报文成功完成之后,当前的同步标志被保存成为参照 综志。 周期时间是顿同步实体的本地时间和其参照标志之间的差值。周期时间理论上是在每个基本周期 开始时(参照报文的同步标志)从0重新开始。但实际上只有在完成参照报文之后的时间点才被认为是 周期时间的起始点。在等级2中,只有此差值的16个最高有效位才对周期时间有效。换言之,周期时 间没有小数部分,在等级1和等级2中都是16位的值。所有的时间标志都会在周期时间参数中给出。
在等级2同步中,通过调整时间单元比率值,实现改善参照报文之间不同的时间计数器的同步性。 时间单元比率通常不是整数。顿同步实体不是时间主节点,在每次接收到参照报文之后,时间单元比率 适应主节点的全局时间,从而弥补时钟偏移。 在顿同步脉冲中,节点的本地时间和本地偏移之和的当前值将被保存为全局同步标志(节点的全局 时间包括小数部分)。全局同步标志至少19位。时间主节点在参照报文中发送其当前的全局同步标志 作为主节点参照标志。在每个参照报文成功完成之后,当前的主节点参照标志被保存为全局参照标志。 每个参照报文成功完成后,节点本地时间中的参照标志和参照报文中的主节点参照标志之间的差 值被保存为本地偏移(本地偏移全局参照标志一参照标志)。本地偏移可以因振荡器偏移改变。当前 时间主节点的本地偏移应保持不变;网络的每个节点的起始本地偏移值是0。在当前时间主节点故障 时,另一个(备用时间主节点)顿同步实体成为时间主节点,新的时间主节点的本地偏移将被保留。一个 顿同步实体成为当前的时间主节点之后,将会继续更新时间单元比率的值。在此之后,可以选择性地支 持由实际时间单元比率值逐步返回配置时间单元比率值。
6.5等级2中的全局时间(本地时间+本地偏移
一个时间触发的CAN总线网络的全局时间在时间主节点里是16个最高有效位(本地时间十本地 偏移)。在每个顿同步实体中,本地时间十本地偏移的16个最高有效位将得到一个全局时间的近似值。 这个近似值不会产生连续的值(也就是两个连续值最多相差1),它将提供一个16个最高有效位的无变 化值(本地时间十本地偏移),这个连续的无变化值应用于全局时间。全局时间的单位是网络时间单元。 为了保持全局时间的无变化性和连续性,外部时钟同步的频率调节(见6.6)、长时间的间隔、时间的变化 等是十分必要的。如果由于外部时钟同步导致出现中断(在参照报文中设置的中断位),它将发信号(中 断标志)给应用程序。
了报文和其被发送的时间窗口之间的相关性。在时间触发CAN里,系统矩阵由基本周期(矩阵的行) 和发送列(矩阵的列)构成。每个基本周期由一个规定的特殊报文开始,即参照报文(见图2)。在系统 矩阵中所有基本周期的周期将是矩阵周期。在基本周期中的时间窗口的序列,应通过与周期时间相比 的时间标志来控制。当开启一个特殊的时间窗口,周期时间点应用时间窗口的时间标志来表示。当下 个时间窗口打开时,之前的时间窗口关闭。时间触发CAN的定时,应以系统矩阵的特定时间标志有 关的下一个触发器为基础,这个触发器包括:发送触发器、接收触发器、发送参照触发器、监察触发器。
送触发器指定参照报文在矩阵周期的哪一个时间窗口中被发送。 一个发送触发器将由不同部分组成,由以下序列表示: a)报文的参照是有效的; b)时间标志被激活(系统矩阵的列、发送列); c)在发送列中的位置(位置由周期计数给定,系统矩阵的行)被第一个激活; d)在相同发送列的重复系数位置被下一次激活。 重复系数应是2的幂次方,大于周期偏移但是小于周期计数最大值十1。此外,发送触发器将包含 关于是否引用一个仲裁或一个专用窗口的信息。如果引用一个仲裁窗口,是否与后面窗口合并的信息 也应给出(见5.2.2)。多个发送触发器可以指定给相同的报文。 注:即使由于错误条件而禁用了相应报文传输,发送触发器在每次满足其触发条件时应变为激活状态。 如图8所示,一个专用的报文D的发送触发器举例,报文D应在这个系统矩阵的第一个和第三个 基本周期的第五个时间窗口(专用时间窗口)中发送。对于这个例子,周期偏移的配置是0,重复系数 是2。
图8专用报文的发送触发示例
7.2.3发送消息对象
在顿同步实体同步到时间触发CAN网络时,接收触发器控制着报文接收的检验。接收触发器与 发送触发器的组成部分一样,核实一个专用报文的成功接收。接收触发器的时间标志给出了一个时间 点,在此时间点之后以及下一个基本周期开始之前,相应报文接收应完成(本地接受过滤完成)。多个接 收触发器有可能指定给相同的报文。
7.3.2接收消息对象
7.4.1发送参照触发器
在一个给定的时间内,只会有一个发送参照触发器有效。 周期情况的发送参照触发器的时间标志应与网络中所有的潜在时间主节点相同。这些时间标志 给出了基本周期的长度。 此外,发送参照触发器的时间标志可以被参照触发偏移修改
7.4.2发送参照触发器的消息对象
发送参照触发器的消息对象应保存参照报文标示符和数据长度代码。参照报文的数据部分由时间 触发CAN协议机制提供(见5.3)。参照报文标示符的最后3位规定了顿同步实体的时间主节点优 先权。
7.4.3参照触发器偏移
参照触发器偏移通过修改发送参照触发器的时间标志来实现时间主节点的初始化和容错。发送参 照触发器的时间标志与参照触发器偏移的和决定参照报文发送的开始时间。参照触发器偏移的值应由 主节点状态和初始化状态决定。当前主节点正常运转情况下,参照触发器偏移的值为0,对于其他的备 用时间主节点,参照触发器偏移等于初始化参照偏移量。这里初始化参照偏移量是个由配置确定的 正值。例如:在初始化期间或在重新设置之后,一个备用的时间主节点有比当前主节点更高的优先权, 其应重新设置参照触发器偏移的值等于0(如果参照触发器偏移的值是正的),并且参照触发器偏移每 经过一个基本周期都减1,直到发出或接收到的参照报文有更高的优先权,间隙中不会减少。参照触发 器偏移的值在一127~十127之间,见第8章。
8时间主节点的初始化和容错
文之后与网络同步(如果接收到的参照报文 不包含一个中断位)。直到一个顿同步实体与网络同步,它才不发送信息(备用的时间主节点:参照报文 除外,也不更新消息对象的MSC,以及认为它的全局时间是无效的
8.3当前时间主节点故障
任何时候只要发送参照触发器激活(包括利用参照触发器偏移修改的),那么应请求发送参照报文。 该请求会一直保持着,直到参照报文全部完成(发送或接收)。 只要当前的时间主节点,在正确的调度表内发送它的参照报文,对于其他的备用时间主节点来说此 时总线不是空闲的,且不发送其他参照报文。 当前时间主节点未能发送一个参照报文时,总线保持空闲状态,且带有最短时间初始化参照偏移的 备用时间主节点,一且其发送参照触发器到达(包括利用参照触发器偏移修改的),就会发送一个参照报 文,并且成为当前时间主节点。如果有两个备用时间主节点在同一时间发送参照报文,位仲裁机制应确 保具有最高优先级的一个成为时间主节点。如果,除了两个具有竞争性的备用主节点之外,一个具有较 低优先级的备用时间主节点由于未完成同步而较早开始发送参照报文,则不会发生仲裁。在初始化期 间,具有更高优先级的备用时间主节点将减少它的参照触发器偏移值,直到成功发送参照报文为止(或 接收另一个具有更高优先级的参照报文)。 当一个参照报文被错误干扰时会根据更新的主节点参照标志立即重发。当一个预期的参照报文丢 失时间太长时,任何一个顿同步实体都将提供一个激活的监察触发器。在这种情况下,同步看门狗将通 知应用层,并且开启个错误处理程序。当一个故障的时间主节点与有效的时间触发通信系统重新联 机时,它需要等待网络同步直到重新成为当前的时间主节点。 注用一个固定的中段
报文状态计数(范围从0~7)是一个错误计数,它提供在专用时间窗口周期报文检测调度错误的方 法。对于仲裁窗口没有报文状态计数。专用时间窗口的每一个报文对象都有自已的报文状态计数。报 文状态计数的增加或者减小在限制外是不被允许的。当任何报文的报文状态计数到达一个等级是7的 错误水平,那么错误处理程序将被启动。一个显著的区别,在一个矩阵周期中不同报文的报文状态计数 之间的差值大于2将被指示程序错误,例如:在前一个时间窗口中,信息传输时间过长或是开始时间太 晚。报文状态计数在配置过程中复位为零,而且在本地顿同步实体同步之前不更新。 对于报文接收来说,报文状态计数应在报文接收触发器触发时更新。接收触发器应检查报文是否 在当前基本周期开始时或在这个报文的最后的接收触发器时已经接收到。如果检查不成功,那么报文 状态计数将加1,否则减1。 对于报文传输来说,如果尝试传输没有成功,报文状态计数应加1。对于错误等级为SO、S1或S2, 报文状态计数减少的情况是不一样的。当报文传输成功时,报文状态计数将减1。在S2(所有的传输被 禁止)中,当顿同步实体在此报文时间窗口的发送使能窗口中检测到总线闲置,报文状态计数将减1。 如果总线受到于扰,在于扰期间,所有发送或接收报文的报文状态计数都应增加。
状态矢量应有一位来表示。相应的机制检测到一些错误应设置对应的位。一个给定的执行程序,应提 供如下所述的错误检测机制。它也提供附加的错误检测机制。顿同步实体至少为应用程序提供一个中 断线。在中断状态矢量中的每个中断源,都能由中断使能分别激活。中断状态矢量的更新与中断使能 无关。中断使能寄存器应激活中断源到中断线的访问。 注:每一种错误检测机制的等级,已经在9.3.2~9.3.9中列出,
9.3.2调度错误1(S1)
调度错误1(S1)将被置位,如果在 最高报文状态计数值与最 工状态计数之间的差值大于2:或是专用的 值达到7
屋顶高悬吊篮施工方案9.3.3发送下溢(S1)
新的矩阵周期开始时,发送计数小于预期发送触
9.3.4调度错误2(S2)
当传输的报文对象的MSC达到7时北京某国际中心幕墙施工组织设计方案,调度错误应置位。
9.3.5发送上溢(S2)
发送计数等于或大于预期发送触发器的值同时引起发送触发器事