工具与软件:
1.远程帧的用途是什么?
2.远程帧和数据帧之间有什么区别?
3.传输对象是否用于远程帧?
4.远程帧的 DLC 是否与相应(被请求的)数据帧的 DLC 相同?
5.如何配置远程帧?
6.如何配置请求的数据帧来自动响应远程帧?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
1.远程帧的用途是什么?
2.远程帧和数据帧之间有什么区别?
3.传输对象是否用于远程帧?
4.远程帧的 DLC 是否与相应(被请求的)数据帧的 DLC 相同?
5.如何配置远程帧?
6.如何配置请求的数据帧来自动响应远程帧?
远程帧的用途是什么?
远程帧的预期用途是请求从另一个节点传输数据。
远程帧与数据帧之间有什么区别?
CAN 总线上可以传输四种不同的 CAN 报文帧或类型: 数据帧、 远程帧、 错误帧和 过载帧。
数据帧是最常见的消息类型、发送器使用数据帧向接收器发送消息。 远程帧与数据帧类似、但有两个重要的区别。 第一、这种类型的消息通过仲裁字段中的隐性 RTR 位显式标记为远程帧;第二、tere 不是数据。 接收器使用远程帧来请求从发送器发送一个 ID 相同的消息。
传输对象是否用于远程帧?
否、远程帧存储在接收对象中。 置位接收对象的 TxRqst 位将会启动发送带接收对象标识符的远程帧。 远程帧触发其它 CAN 节点启动发送匹配数据帧。
远程帧的 DLC 是否与相应(被请求)数据帧的 DLC 相同?
否、远程帧的 DLC 不影响所请求数据帧的数据长度代码(DLC)。 请求的 CAN 节点需要构建正确的 DLC。
如何配置远程帧?
远程帧的报文对象应该配置为"接收"(DIR=0)、但是会被发送。
CAN_setupMessageObject (CANA_BASE、TX_MSG_OBJ_ID、0x123、CAN_MSG_FRAME_STD、CAN_MSG_OBJ_TYPE_ 接收 、0、
CAN_MSG_OBJ_NO_FLAGS、MSG_DATA_LENGTH);
如何配置请求的数据帧来自动响应远程帧?
若要接收远程帧、应将报文对象配置为启用 RmtEN 的发送器。 数据字段应在启用 RmtEN (远程)之前填写。
对于 F28x 器件、 初始化用于响应远程帧 消息对象参数的邮箱:
CAN_setupMessageObject (CANB_BASE、TX_MSG_OBJ_ID、0x123、CAN_MSG_FRAME_STD CAN_MSG_OBJ_TYPE_RxTx_REMOTE 、0、
CAN_MSG_OBJ_NO_FLAGS、MSG_DATA_LENGTH);
在接收远程帧时、必须考虑匹配报文对象的三种不同配置:
1. dir = 1 (方向=发送)、RmtEn = 1、UMask = 1或0。 在接收到匹配的远程帧时、该报文对象的 TxRqst 位将置位。 其余报文对象保持不变。 2. Dir = 1 (方向=发送)、RmtEn = 0、UMask = 0。 远程帧被忽略、该报文对象保持不变。 3. Dir = 1 (方向=发送)、RmtEn = 0、UMask = 1。 远程帧的处理方式与接收的数据帧类似。 在接收到匹配的远程帧时、该报文对象的 TxRqst 位会复位。 移位寄存器的仲裁位和控制位(标识符+ IDE + RTR + DLC)存储在报文 RAM 中的报文对象中、并且该报文对象的 NewDat 位将置位。 报文对象的数据字节保持不变。