找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

M467的CANFD通道,如何使传送效率最高?

[复制链接]
跳转到指定楼层
楼主
匿名  发表于 2023-11-23 15:26:09 |只看大图 回帖奖励 |倒序浏览 |阅读模式
现在我在用M467-64PIN 进行解算与数据收发;

M467的CANFD通道,如何使传送效率最高?
例如使用1M+5M传输模式,如何使传送效率最高?

例如循环发送64 Byte的计算数据,需要10个不同的CANFD ID;而这10个帧数据之间,如果不用delay 阻塞延时,该如何操作,使效率最高?

谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具

沙发
蒋海东 发表于 2023-11-23 21:44:40 | 只看该作者
内部有发送FIFO,可以将需要发送的消息存到队列里,发送完成后进入中断,置位下一个发送标志位就能发送一下一个消息了。
回复 支持 反对

使用道具 举报

板凳
Angus 发表于 2023-11-24 15:00:26 | 只看该作者
本帖最后由 Angus 于 2023-11-24 15:02 编辑

CANFD 发送结构看下图,可以同时写好32个报文,对TXBRP写 0xFFFFFFFF,  低位对应的报文先发送,按位对应,依次到高位对应的报文,发送出去。无需CPU 干预。



接收时,用FIFO0或FIFO1, 每个FIFO可缓存64条报文。CPU按先入先出读出报文。
回复 支持 反对

使用道具 举报

地板
匿名  发表于 2023-11-24 15:37:39
Angus 发表于 2023-11-24 15:00
CANFD 发送结构看下图,可以同时写好32个报文,对TXBRP写 0xFFFFFFFF,  低位对应的报文先发送,按位对应, ...

此刻 无需关心 CANFD总线的连续发送延时了对吧?

可惜没有在BSP包看到相关的应用案例。

BSP里面的CANFD还加了一个很可怕的for(),连续发送死等延时。
回复 支持 反对

使用道具

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU