工具与软件:
嗨、团队:
调试 canfd 发送时出现问题
- 调试:
演示板:LAUNCHXL-F280039c
使用例程 mCAN Ex9 transmit.c.不要 在例程中更改 mCAN 的配置。 使用500kbps 的标称比特率和1Mbps 的数据比特率。
修改发送程序、以以以1s 的间隔发送一帧数据。
发送数十个数据后、canfd 进入总线关闭状态、因为 MCAN_ECR.TEC > 255。
![]()


当 I SET brs = 0时、 将使用1Mbps 标称比特率和1Mbps 数据比特率。 即使以1ms 的间隔发送一帧数据、CANFD 也可以正常运行

起初、我怀疑 canfd_rx 自检由于接收延迟而出现异常。
但我计算得出、canfd_rx 自检不应该是问题

理论采样点可以根据采样点设置进行计算
标称 SP =(bitTimes.nomTimeSeg1 + 1)/(bitTimes.nomTimeSeg2 + 1 + bitTimes.nomTimeSeg1 + 1)=(9 + 1)/(9 + 1 + 8 + 1)= 10/19≈52.6%
数据 SP ≈52.6%
示波器捕获大约100ns 的总线延迟时间、黄色-> canfd_tx、绿色-> canfd_rx

当设置 brs = 1时、
500kbps 的标称比特率、1位时间= 2000ns、因此标称 SP 应为2000ns * 0.526 - 100ns =952ns
1Mbps 的数据比特率、1位时间= 1000ns、因此 数据 SP 应处于1000ns * 0.526 - 100ns = 426ns
根据数据、不应有发送数据错误计数
我不太明白、为什么在启用 brs 后出现总线关闭状态
2.问题
我不确定我的计算是否正确、如果不正确、您能解释一下吗。
为什么启用 brs 后出现总线关闭状态? 有什么方法可以解决这个问题、您能帮助对其进行调试吗?
谢谢!




