简述1帧CAn报文如何发送到CAN总线的
时间: 2024-09-21 22:00:27 浏览: 47
在Controller Area Network (CAN) 总线上,每一帧数据传输都有特定的结构和步骤。1帧CAN报文通常包含以下几个部分:
1. **标识符(ID Field)**:包含了报文的目的地址,由仲裁段、远程帧标志、错误检查码(RTR,IDE)以及11位或29位的循环冗余校验(CRC)组成。
2. **控制段(Data Field)**:如果是一条数据帧,则包含实际的数据,长度可变;如果是远程帧(RTR),则只包含标识符部分。
3. **填充(Padding)**:为了保持帧对齐,可能会添加填充位,全为0。
4. **帧结束(CRC Checksum)**:用于检测传输过程中的错误,最后两位是计算出的CRC校验值。
发送流程如下:
- **起始**:发送设备先拉低两条CAN-High和CAN-Low线,形成一个称为"预同步段"的信号。
- **同步段**:发送设备释放CAN-High,仅保留CAN-Low,形成一个短暂停留,作为同步信号。
- **传播时间**:等待其他节点确认同步完成,如果没有冲突,接收节点将同步进入接收模式。
- **相位段1**:发送设备继续发送数据,同时拉低CAN-Low,这是主传播阶段。
- **相位段2**:发送设备释放CAN-Low,同时CAN-High短暂上跳,然后回到低电平。
- **样本点A**:发送方再次拉低CAN-High,标志着数据段的开始。
- **数据段**:连续发送标识符、控制段及数据,每个数据位占一个CAN周期。
- **填充**:如有需要,发送填充位。
- **样本点B**:发送方拉高CAN-High,表示帧结束,准备接收回应对CRC的确认。
- **停止位**:发送填充0,持续一定时间,最后拉低两线表示帧终止。
阅读全文