|
本帖最后由 SUPER_CRJ 于 2023-3-15 23:22 编辑
当我觉得我已能正确的设置CAN FD的第二采样点时,其中的一个配置却不能通信。
能通信的配置如下:(其他的所有配置都一样。都开始了延时补偿,采样点都是75%,数据段波特率都2M,仲裁段数据也一样!)
配置1:数据段波特率2M:dSJW=1, tBS1=4,tBS2=1,dBRP=4。 (这个配置不能通信,用逻辑分析仪采样到的TX/RX波形如下)
配置2:数据段波特率也是2M:dSJW=1, tBS1=13,tBS2=4,dBRP=1(这个可以通信,采样的波形如下)。
根据STM32G4的手册:FDCAN_PSR.TDCV:表示每次发送帧的:开始和SSP的距离*mtq(mtq的值是FD_CAN核心频率的时间,两个配置都一样的,都是80Mhz)
问题来了:
1:在调试模式下:FDCAN_PSR.TDCV两者的值都是:0x26,也就是延时补偿的时间是一样的!也就是SSP的点都是一样的,而且它们的波特率是一样的,采样点也是一样的。为什么其中一个通信不上。
2:把两者都关闭:延迟补偿,两者也都能通信,所以问题肯定出现在:延迟补偿上,但是:延时补偿最后的:SSP点完全一样,采样点也是一样的,也就回到第一个问题上!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|