打印

GD32F105RCT6的can通信跑不通

[复制链接]
20399|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
购置了一款GD32F105RCT6的最小系统版,利用板子的CAN0,CAN1两路CAN,跑通了CAN通信,然后把程序烧录到产品板上,CAN通信就跑不通了,搞了三天了,百思不得其解,有大佬指导一下吗

使用特权

评论回复

相关帖子

沙发
aa183850|  楼主 | 2024-4-9 16:48 | 只看该作者

GD32F105RCT6的can通信跑不通

使用特权

评论回复
板凳
aa183850|  楼主 | 2024-4-9 16:50 | 只看该作者

GD32F105RCT6的can通信跑不通

can芯片用的是NSI1042这款can芯片,不会添加图片 原理图放不上来。。

使用特权

评论回复
评论
minfugan 2024-4-10 09:59 回复TA
请上传跟NSI1042通讯的代码,否则无法定位问题 
地板
WoodData| | 2024-4-9 23:11 | 只看该作者
图片复制粘贴就可以

使用特权

评论回复
5
zps136631| | 2024-4-10 08:44 | 只看该作者
在高级模式下,可以直接复制粘贴图片

使用特权

评论回复
6
aa183850|  楼主 | 2024-4-10 10:13 | 只看该作者
  这个是单片机can出来后的原理图

使用特权

评论回复
评论
aa183850 2024-4-10 14:07 回复TA
@minfugan :是的 
minfugan 2024-4-10 11:48 回复TA
@aa183850 :最小系统板和产品板的单片机都是用的内部晶振吗?跑的是相同的程序吗? 
aa183850 2024-4-10 11:13 回复TA
@minfugan :x6接的can盒子,盒子到电脑。现在是R41改成了120. 最小系统版测试的时候 can收发器是我自己飞的1042芯片(因为原理图的1042封装画错了),原理图上的120电阻 我飞板子的时候换成120了已经 现在的情况是can程序在最小系统上面飞出来CAN的RX跟TX到我飞的can芯片上面 ,连上can盒子 PC上可以接受数据。 然后换到电源板上面,接出来的RX跟TX到can飞板上面就跑不通了 
minfugan 2024-4-10 10:59 回复TA
X6接的是电脑吗?如果是,去掉R41再试试,短距离不需要终端电阻。终端电阻一般是120Ω,CAN网络起点处和终点处分别加一个。 
7
aa183850|  楼主 | 2024-4-10 10:13 | 只看该作者
zps136631 发表于 2024-4-10 08:44
在高级模式下,可以直接复制粘贴图片

好的

使用特权

评论回复
8
aa183850|  楼主 | 2024-4-10 10:18 | 只看该作者
本帖最后由 aa183850 于 2024-4-10 14:31 编辑

使用特权

评论回复
9
储小勇_526| | 2024-4-10 10:23 | 只看该作者
aa183850 发表于 2024-4-10 10:13
这个是单片机can出来后的原理图

最小系统板子上没有CAN收发器吗?R41这个匹配电阻在整个系统里最前和最后都是接120Ω的。

使用特权

评论回复
10
aa183850|  楼主 | 2024-4-10 11:13 | 只看该作者
储小勇_526 发表于 2024-4-10 10:23
最小系统板子上没有CAN收发器吗?R41这个匹配电阻在整个系统里最前和最后都是接120Ω的。 ...

最小系统版测试的时候 can收发器是我自己飞的1042芯片(因为原理图的1042封装画错了),原理图上的120电阻 我飞板子的时候换成120了已经    现在的情况是can程序在最小系统上面飞出来CAN的RX跟TX到我飞的can芯片上面 ,连上can盒子  PC上可以接受数据。  然后换到电源板上面,接出来的RX跟TX到can飞板上面就跑不通了

使用特权

评论回复
11
储小勇_526| | 2024-4-10 13:07 | 只看该作者
解决一个问题要有思路,首先单片机输出的是TTL电平,用示波器看TX输出管脚是否有输出,有则看收发器输出是否有,一步一步走很快就能锁定问题,这个我有经验,我去年也刚接触CAN总线。这个只能给个简单的解决思路,还是要看自己,毕竟软件这个需要debug才能知道哪里不对,你贴出来谁给你一句一句的缕,闲的真没事做了。

使用特权

评论回复
12
luckyzy| | 2024-4-10 13:30 | 只看该作者
第一步,TX,RX有没有信号,示波器去量一下,有没有接反。。。

使用特权

评论回复
13
aa183850|  楼主 | 2024-4-10 14:14 | 只看该作者
电源板can
1.同样的程序,开发板连接就同,电源板不行。
2.电源板引出的RX TX两根线,万用表测试过,与单片机引脚是连通的。电源板连接到我飞的板子上面,联通性ok。
3.尝试过从单片机引脚直接接线,焊接失败失败
4.更换到台式电脑测试can,结果还是开发板通信成功,电源板不行。
5.更换过can盒的USB线,找了外部电源给can上电,不行。
6.给电源板单片机使用5V供电,波形稳定了,但是通信不行。
7.给can芯片1脚5V供电,芯片不工作,H/L波形全部是横线。
8.怀疑单片机坏,找了第二块电源板,飞下来了can芯片,重新接了RX TX,还是通信失败。
9.怀疑120欧姆电阻坏了,万用表测试正常。
10.网上查询的说波特率会影响,让康姐从500改到了1000和250,测试不行。
11.更换RX引线位置,从电容更换到芯片丝印上面,前面的电阻短接,测试,不行。
12.can盒灯状态,SYS灯闪亮,百度说是线,波特率,120电阻的问题,都已经排查。
13.目前怀疑电路走线影响波特率?下面是RX TX 波形

使用特权

评论回复
14
储小勇_526| | 2024-4-10 14:38 | 只看该作者
aa183850 发表于 2024-4-10 10:13
这个是单片机can出来后的原理图

RX的低通滤波器拿掉

使用特权

评论回复
15
804879880| | 2024-4-10 15:20 | 只看该作者
容易受到影响,CAN模块之前我做一个飞控也是一样,放进去就CAN模块联不通了和软件,单板子就一点问题没有。  反正当时调的时候波特率还有一些其他影响把

使用特权

评论回复
16
minfugan| | 2024-4-10 15:37 | 只看该作者
aa183850 发表于 2024-4-10 14:14
电源板can
1.同样的程序,开发板连接就同,电源板不行。
2.电源板引出的RX TX两根线,万用表测试过,与单片 ...

开发板能跑通说明目前的程序可以用,而且开发板的硬件电路没问题。
我的疑问:1.开发板和电源板的供电是否一样;2.两块板到1042的飞线——不论长短还是材料——是否一样;3.电源板上是否有大功率元器件、有除CAN之外的高速通讯电路

使用特权

评论回复
17
储小勇_526| | 2024-4-10 16:01 | 只看该作者
波特率展开来看,500Khz就是2us,然后看差分电平,芯片资料里有,看看是不是电平低了,方法多了去。之前调试的时候用的GCAN能正常读取,自己的板子就是不行,只能说人家牛X,自己设计的有瑕疵,就是电压偏低一些,然后把串的电阻减小即可(方案不同,解决方法也不同)。

使用特权

评论回复
18
imsapp| | 2024-4-11 13:39 | 只看该作者
模块电压不对, vcc2要4.5-5.5v
左边can tx rx 直接串100r就好了, 右边1k拿掉

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

0

粉丝