第一ppt网站官网,wordpress 加载时间,wordpress页面链接如何修改,泰州做企业网站一、数据帧的整体结构
┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
│ SOF │ ID[11]│ RTR │ IDE │ DLC │ Data …一、数据帧的整体结构
┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
│ SOF │ ID[11]│ RTR │ IDE │ DLC │ Data │ │ │ │ │ CRC │
│(1bit) │(11bit)│(1bit) │(1bit) │(4bit) │(0-8B) │ │ │ │ │(16bit)│
├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
│ 显性 │ ID值 │ 显性 │ 显性 │ DLC值 │ 数据0 │ 数据1 │ 数据2 │ ... │ 数据N │ CRC值 │
│(0) │(决定优先级)│(数据帧)│(标准帧)│(数据长度)│ │ │ │ │ │(校验)
└───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ └───────┬───────┘ (如果是扩展帧则ID为29位且IDE为隐性) │ 扩展ID[18] (仅扩展帧有) EOF (帧结束通常为一系列隐性位不在此图中表示)
ACK槽 (确认槽用于接收节点发送确认信号也不在此图中表示)
CAN数据帧由多个字段组成每个字段都承载着特定的信息以确保数据在CAN总线上的高效、准确传输。
二、开始帧Start of Frame, SOF
功能开始帧标志着数据帧的起始它是一个特殊的位模式用于同步总线上的所有节点。实现在CAN 2.0B规范中开始帧是一个显性位逻辑0。
三、ID字段Identifier Field
功能ID字段用于标识数据帧的优先级和类型。在CAN总线上多个节点可能同时尝试发送数据。此时ID字段的值决定了哪个数据帧将首先被传输。ID值越小优先级越高。长度在标准帧中ID字段为11位在扩展帧中ID字段为29位但前11位与标准帧相同后18位为扩展部分。
四、RTR位Remote Transmission Request Bit
功能RTR位用于区分数据帧和远程帧。当RTR位为显性逻辑0时表示该帧为数据帧当RTR位为隐性逻辑1时表示该帧为远程帧。远程帧用于请求发送特定ID的数据帧。
五、IDE位Identifier Extension Bit
功能IDE位用于标识帧是标准帧还是扩展帧。在标准帧中IDE位为显性逻辑0在扩展帧中IDE位为隐性逻辑1。IDE位的设置决定了ID字段的长度和帧的格式。
六、DLCData Length Code
功能DLC字段表示数据区的字节数。它告诉接收节点数据区中有多少个字节的数据需要接收。长度DLC字段通常为4位可以表示0到8个字节的数据长度在某些CAN实现中DLC字段可能更长以支持更多的数据长度。
七、数据区Data Field
功能数据区是实际传输数据的部分。它包含了节点想要发送给其他节点的信息。长度数据区的长度由DLC字段决定最多可以包含8个字节的数据在某些CAN实现中可能更多。
八、CRC校验码Cyclic Redundancy Check
功能CRC校验码用于检测数据帧在传输过程中是否发生了错误。它通过对数据帧的特定部分通常是ID字段、RTR位、IDE位、DLC字段和数据区进行多项式运算来生成。实现接收节点在接收到数据帧后会对相同的部分进行相同的多项式运算并将结果与发送节点发送的CRC校验码进行比较。如果两者相同则表示数据帧在传输过程中没有发生错误如果不同则表示发生了错误接收节点将丢弃该数据帧。
九、ACK槽Acknowledgment Slot
虽然ACK槽不是数据帧的一部分但它在数据帧的传输过程中起着重要作用。ACK槽位于数据帧和错误帧之间用于接收节点向发送节点发送确认信号显性位表示确认隐性位表示未确认。如果接收节点正确接收了数据帧它将在ACK槽期间发送一个显性位作为确认信号。
十、帧结束End of Frame, EOF
功能帧结束标志着数据帧的结束。它是一系列隐性位用于告知总线上的其他节点该数据帧已经传输完毕。