我正在通过CAN总线在2个DSP板之间发送数据。
它正在运行,甚至我也在CAN分析仪上接收正确的数据。
发送之间的最小延迟是多少。
我正在以1000 kbps的速度发送数据,从33微秒循环发送,并且丢失数据,如果我增加延迟,我就会得到一些数据。
我观察到,通过CAN总线发送数据至少需要120-140微秒的延迟。
我 是在下面计算的
CAN总线,MCU时钟速度为200 MHz。
最大比特率为100万 // 1000Kbps。
每个帧共有131个(大约 )位,包括64位数据。
因此,100万 /131 = 7633帧可 在1秒内通过CAN发送
因此,发送1帧需要1秒/7633 = 131微秒。
----------------------------------
如果我每30微秒发送10次,那么我几乎没有在另一个主板上收到2或3个数据包。
我有没有办法每隔30微秒通过CAN总线发送一次数据?
示例代码:
(;;)
{
CAN_SEND (,,);
延迟(30); //我每隔30微秒发送一次数据。
}