搜索
bottom↓
回复: 17

求助:STM32 CAN 能环回,不能对外发送接收

[复制链接]

出0入4汤圆

发表于 2017-7-29 13:29:33 | 显示全部楼层 |阅读模式
1. 硬件俩个对接,另一个接原子的stm32F4 开发板
2. 终端都匹配120欧姆,用的TJA1050。
3.  500Kbit的速度。

症状如下:
  1.  环回测试,收发正常。且原子开发板也能收到我发出的信息
  2.  对外收发: 发送超时,也收不到。
  3. 逻辑分析仪也显示发送的错误帧

出0入0汤圆

发表于 2017-7-29 14:55:11 | 显示全部楼层
这种求助,真是爱莫能助,回帖帮顶,你还是静下心自己研究吧,看你发帖也是求心里安慰。

出90入0汤圆

发表于 2017-7-30 16:30:33 来自手机 | 显示全部楼层
STM32的CAN一直在用,但你这样问,天知道。

出0入4汤圆

 楼主| 发表于 2017-7-30 21:03:52 | 显示全部楼层
hzpyl 发表于 2017-7-30 16:30
STM32的CAN一直在用,但你这样问,天知道。

我环回测试, 线路上其他设备也能收到吗?

出0入0汤圆

发表于 2017-7-30 21:04:03 | 显示全部楼层
没遇到过,F4的CAN一直在用..

出0入4汤圆

 楼主| 发表于 2017-7-30 21:06:30 | 显示全部楼层
596142041 发表于 2017-7-30 21:04
没遇到过,F4的CAN一直在用..

我环回测试, 线路上其他设备也能收到吗?

出0入0汤圆

发表于 2017-7-30 22:16:37 | 显示全部楼层
我之前做CAN通信时,接错了线,这边的CANH接到那边的CANL了,折腾了好几天。楼主先看看别犯我这样的低级错误。

出0入0汤圆

发表于 2017-7-30 22:20:39 来自手机 | 显示全部楼层
环回是在mcu内部把rx tx接到一起了。请确认外面的线连接正确。canh,canl,gnd

出10入0汤圆

发表于 2017-7-30 22:22:43 来自手机 | 显示全部楼层
Loopback OK,外发NG,建议楼主查下波特率设置

出0入4汤圆

 楼主| 发表于 2017-7-31 21:33:52 | 显示全部楼层
sbusr 发表于 2017-7-30 22:20
环回是在mcu内部把rx tx接到一起了。请确认外面的线连接正确。canh,canl,gnd

见了鬼了。  输出端HL 没有接反。 输入端TXRX 也没有接反。  且验证是否接反,也做了HL、RX、TX 呼唤 这种4种组合的 实验。


波特率都是500 kbps

出0入4汤圆

 楼主| 发表于 2017-7-31 21:35:13 | 显示全部楼层
本帖最后由 SCREA 于 2017-8-1 08:56 编辑
blackcafe 发表于 2017-7-30 22:22
Loopback OK,外发NG,建议楼主查下波特率设置

TJA1050是4.8~5.25V的电压。 我3.3V供给。 解决了

出0入4汤圆

发表于 2017-9-20 18:35:37 | 显示全部楼层
SCREA 发表于 2017-7-31 21:35
TJA1050是4.8~5.25V的电压。 我3.3V供给。 解决了

我现在用的TJA1044,回环没有问题,但是一接上CAN芯片也是发送不成功。CANH/CANL一直都是2.5V,RX是5V,TX是4.2V。MCU芯片是STM32F105,MCU的CAN_RX连CAN的RX,TX连TX。

出0入4汤圆

 楼主| 发表于 2017-9-20 18:59:48 | 显示全部楼层
clesun 发表于 2017-9-20 18:35
我现在用的TJA1044,回环没有问题,但是一接上CAN芯片也是发送不成功。CANH/CANL一直都是2.5V,RX是5V,T ...

芯片电压对吗????????

出0入0汤圆

发表于 2017-9-20 20:24:15 | 显示全部楼层
我遇到过这种问题,之前是F1芯片,CAN时钟是36M,后来移植到F4芯片,一开始自己做的回环测试没问题,但实际收发都不行
检查后发现F4芯片的时钟一般配置为是168M,can的时钟是PCLK1,而PCLK1系统默认是4分频,所以CAN的时钟是42M
最后得出的原因是CAN的波特率未能设置正确!

出0入4汤圆

发表于 2017-9-21 10:07:39 | 显示全部楼层
SCREA 发表于 2017-9-20 18:59
芯片电压对吗????????

供电5V,TX有波形,RX一直高电平TV,CANH和CANL都是2.5V。

出0入4汤圆

 楼主| 发表于 2017-9-24 18:10:09 | 显示全部楼层
clesun 发表于 2017-9-21 10:07
供电5V,TX有波形,RX一直高电平TV,CANH和CANL都是2.5V。


解决了????
我对CAN 不熟悉(代码水平只有能通信就成的水平),帮不了什么忙!抱歉啊

出0入4汤圆

发表于 2017-9-25 09:08:17 | 显示全部楼层
SCREA 发表于 2017-9-24 18:10
解决了????
我对CAN 不熟悉(代码水平只有能通信就成的水平),帮不了什么忙!抱歉啊 。 ...

已经解决了。测试的时候是CAN1发,can2收,没放终端电阻,随便找了个电阻就OK了

出0入4汤圆

 楼主| 发表于 2017-9-25 19:45:15 | 显示全部楼层
clesun 发表于 2017-9-25 09:08
已经解决了。测试的时候是CAN1发,can2收,没放终端电阻,随便找了个电阻就OK了 ...






回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 00:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表