最近用STM32G431CBT6调试FDCAN的程序,FDCAN普通模式下回环测试没有问题了,一端是STM32CAN节点,一端是用的USB CAN盒,采用外部回环模式时,TX引脚有波形,而且用CAN盒可以正常监测到数据,波特率,数据都没有问题,但是一切换到正常模式,发送不了数据,,用串口看也是发送三帧数据后,就开始报错,CAN盒也收不到任何数据,不知道这是什么原因的?有没有碰到类似的指导下,程序是参考的官方的stm32cube_fw_g4_v110库里STM32G474E-EVAL下面的Examples程序 |
一端是stm32CAN节点,一端是USB CAN盒节点,是两个节点的;另外单独两个STM32 CAN节点也试了,也是不行的,外部回环模式下,USB CAN盒可以收到发过来的数据
2.CAN采集卡是否支持CAN FD?FD可以向下兼容,但是先前的CAN卡如果不支持FD,那就没法使用了,总线上肯定是一堆错误帧。
现在调试还没有用FD,只是用的传统CAN模式,在外部回环时,CAN盒是可以收到数据的,并且数据正常,切换到正常模式,就不通了,好像是数据发送不到总线上,估计是ACK应答的问题,正常模式,进入发送函数三次会把邮箱变成FULL,然后再发就会报错;而且,我把STM32这边只是作为接收模式,不往总线上发数据,通过CAN盒往总线上发,可以发送成功到总线,但是STM32这边收不到,所以估计是发送时应答位的问题,但是还没找到解决方法,不知是哪边的问题
另CAN收发器我用F103的板和CAN盒之间进行收发通信测试过,是没有问题的
但是外部需要接CAN接点,CAN总线上只有2个以上接点才能正常通信,如果只接一个接点的话,会报发送错误。示波器观察CAN总线的话,会看到很多次发送,因为一直在尝试发送,直到错误太多最后挂掉。
如果STM32的CAN要与USB CAN盒通信,那么CAN盒需要处于正常收发模式,而不能是监听模式,监听模式时相当于CAN接点没有接入CAN总线,只是能监听到CAN总线的数据。
CAN盒是正常模式的,已经解决了刚,是收发器供电问题,因买的STM32的最小系统板子上的5V供电不行,导致收发器工作问题,谢谢
回环模式能正常收发,那回环模式的时候收发器供电是正常的吗?