TI中文支持网
TI专业的中文技术问题搜集分享网站

关于C2000系列DSP能否接收自定义CAN id格式数据的问题

现需要通过CAN总线(扩展帧)实现如下功能:(主控设备为stm32(移植UAVCAN);8个从设备MCU为28069。)

一个主控设备通过CAN总线发送给8个从设备,8个从设备同时接收主控设备数据的8个字节数据,每个从设备在根据提前定义好的数据格式,从8个字节中选择使用属于自己的有效数据。这样可以保证八个从设备接收数据的实时性(同时性),即可以保证8个从设备同时接收到属于同一帧的数据。

主控设备中使用的是一种自定义的CAN(UAVCAN),他对标准CAN的消息标志寄存器做如下自定义:

当需要实现主控设备发送数据时,多个从设备同时接收时(一点对多点且同时接收,各自数据在八个字节中自己查找),UAVCAN中将该种定义为广播模式,

要求主控设备和8个从设备具有唯一的source node id。例如:当主控设备的ID为 05040701时,8个从设备的1号设备需要将

ECanaMboxes.MBOX15.MSGID.all = 0x85040701;//扩展帧模式

这样单一点对点(主控设备与从设备的1号)是完全可以实现的。

但若要实现UAVCAN广播模式的发送(一点(主控设备)对多点(从设备)且同时接收,各自数据在八个字节中自己查找),

要求8个从设备具有不同的node id(消息标志寄存器的bit0-6位),主控设备有唯一的ID为 05040701。

这样DSP-28069扩展帧下的标识符id(28:0)就是完全与主控设备不同,

这样在28069中该如何实现这样的CAN数据接收?

希望得到TI工程师的回复~

谢谢~

赞(0)
未经允许不得转载:TI中文支持网 » 关于C2000系列DSP能否接收自定义CAN id格式数据的问题
分享到: 更多 (0)