- 0
- 0
- 约4.87千字
- 约 54页
- 2019-12-05 发布于广东
- 举报
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ②事件触发帧(Event Triggered Frame) 事件触发帧是主机节点在一个帧时隙中查询各从机节点的信号是否发生变化时使用的帧,当存在多个发布节点时,通过冲突解决进度表来解决冲突。 原先用作轮询的无条件帧,称为与该事件触发帧关联的无条件帧,即事件触发帧的应答部分是与其关联的无条件帧所提供的应答。当发生冲突时,需要立刻中断当前的进度表,启动冲突解决进度表(Collision Resolving Schedule),重新调用这些关联的无条件帧。其中,冲突解决进度表要求包含所有关联的无条件帧。 ②事件触发帧(Event Triggered Frame) ②事件触发帧(Event Triggered Frame) 与事件触发帧关联的多个无条件帧需要满足以下5 个条件: 数据段包含的数据字节数等长; 使用相同的校验和类型; 数据段的第一个字节为该无条件帧的受保护ID, 这样才能够知道应答是哪个关联的无条件帧发送出来的; 由不同的从机节点发布; 不能与事件触发帧处于同一个进度表中。 ③偶发帧(Sporadic Frame) 偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。 当存在多个关联的应答信号变化时,通过事先设定的优先级来仲裁。 ③偶发帧(Sporadic Frame) ④诊断帧(Diagnostic Frame) 诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断用。 主机请求帧(Master Request Frame,MRF),帧ID = 0x3C,应答部分的发布节点为主机节点; 从机应答帧(Slave Response Frame,SRF),帧ID = 0x3D,应答部分的发布节点为从机节点。数据段规定为8 个字节,一律采用标准型校验和。 ⑤保留帧(Reserved Frame) 保留帧的帧ID 为0x3E 和0x3F,为将来扩展用。 ②校验码域(Checksum Field) 校验码域是对帧中所传输的内容进行校验。 校验和分为标准型校验和(Classic Checksum)及增强型校验和(Enhanced Checksum),采用标准型校验和还是增强型校验和由主机节点管理,发布节点和各收听节点根据帧ID来判断采用哪种校验和。 校验方法为将校验对象的各字节作带进位二进制加法(每当结果大于等于256 时就减去255),并将所得最终的和逐位取反,以该结果作为要发送的校验和。接收方根据校验和类型,对接收数据作相同的带进位二进制加法,最终的和不取反,并将该和与接收到的校验和作加法,如果结果为0xFF,则校验和无误。这在一定程度上保证了数据传输的正确性。 例:采用标准型校验和,Data1 = 0x4A,Data2 = 0x55,Data3 = 0x93,Data4 = 0xE5 4、报文帧的长度和总线睡眠检测 TFrame_Maximum:帧在总线上传输的最大时间;THeader_Maximum:帧头在总线上传输的最大时间;TResponse_Maximum:应答在总线上传输的最大时间; THeader_Nominal:帧头额定传输时间:同步间隔段(包含同步间隔和同步间隔段间隔符)的最小传输时间 +同步段传输时间 + 受保护ID段传输时间; THeader_Rest:帧头的余量:包含字节间间隔,规定为帧头额定传输时间的0.4 倍; TResponse_Nominal:应答额定传输时间:数据段传输时间 + 校验和段传输时间; TResponse_Rest:应答的余量:包含应答间隔以及字节间间隔,规定为应答额定传输时间的0.4 倍;Ndata表示数据段包含N个字节。 THeader_Rest:帧头的余量:包含字节间间隔,规定为帧头额定传输时间的0.4 倍; TResponse_Nominal:应答额定传输时间:数据段传输时间 + 校验和段传输时间; TResponse_Rest:应答的余量:包含应答间隔以及字节间间隔,规定为应答额定传输时间的0.4 倍;Ndata表示数据段包含N个字节。 帧在总线上 的传输波形 5、进度表 进度表是帧的调度表,规定总线上帧的传输次序以及各帧在总线上的传输时间。进度表位于主机节点,主机任务根据应用层需要进行调度。这样保证了总线信号的周期性,也能保证总线永远不会发生过载。 6、状态机(State Machine)实现 ①主机任务的状态机 当进度表启动后,主机任务依次发送同步间隔段、同步段和受保护ID 段。 ②从机任务的状态机 从机任务负责发布或者接听帧的应答。包括两个状态机: 1. 同步间隔段和同步段检查器 2.
原创力文档

文档评论(0)