stm32调试can总线使用tja1050和vp230 61mctcvg4遇到的问题

一开始使用vp230 61mctcvg4这个模块 貌似也叫sn65hvp230这个芯片调试can总线,他的供电为3.3v

如下图

QQ截图20161123154449.png

丝印为vp230 61mctcvg4  

买了4个调了2天也没通,估计买到假货了,在淘宝买的,当然也不知道是哪的问题。在次注意以后不要用此片子。

后来买了tja1050收发芯片,使用千目电子的usb-can-A1+软件工具,进行分析调试。一开始使用监听模式能收到数据,正常连接无法接收。技术支持说波特率不对。

我让stm32作发送器,usb-can作接收器。

在调试的时候,要使用仿真对波特率进行比对。在配置波特率的时候有一个公式是

//  fclk=36M   FCLK/((SJW+BS1+BS2)*PRESCALE)         CAN_Normal_Init(1,8,7,5,1);
//baud:36M/((1+8+7)*5)=450Kbps
这个公式不适用所有的波特率,唯一的正确的方式是进行仿真。如下图

QQ截图20161123155340.png

在外设里找到can contrloer 确认波特率。

我的设置成800k .CAN_Mode_Init(CAN_SJW_2tq,CAN_BS1_10tq,CAN_BS2_6tq,5,mode);

can transmit mailbox发送的数据为

QQ截图20161123155358.png

使用千目电子的工具接收的数据为

QQ截图20161123155409.png


两者比较正确。

调试can的正确步骤

1 先使用回环电路测试软件是否存在问题。

2 连接单片机和can收发器然后跟PC端的usb can 分析仪通信。

3 2阶段可以使用示波器测试波形,得到的波形如果让单片机发送,PC接收,那么stm32的PA12脚有波形

总线上的canH CANL都有方波,且方波对称

4 3有问题换收发器

最新评论

  1. 发布于:2021-11-30 22:24 回复
    我两个tja1050两个stm32,我用ttl连接的串口看回环测试可以,但是can分析仪检测不到是为什么?还有就是stm32不需要tja1050也可以回环测试这用tja1050和不用有什么区别吗
    1. 发布于:2021-12-02 09:39 回复
      @余光:回环测试是内部短接了 跟tja1050没关系了
  2. muhaha
    发布于:2019-09-16 16:42 回复
    同样的VP230模块,一个可以,一个不行,可能确实有问题
    1. 发布于:2019-09-17 13:16 回复
      @muhaha:找正规的厂商

sitemap