打印
[其他]

【MM32 eMiniBoard测评报告】CAN总线接口和疑问+解决方法

[复制链接]
1636|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 coslight 于 2020-4-29 08:27 编辑

CAN接口及疑问
1.  CAN接口的硬件连接
根据硬件原理图,eMiniBoard MB-023所示,CAN总线接口硬件连接关系如下图所示,采用TJF1051作为CAN总线接口物理层。
CAN_TX接到了PB8引脚,CAN_RX接到PB9引脚。

如下为数据手册中的相关显示,PB8和PB9具有CAN总线的复选功能,分别采用AF4复选功能。但是这里面有个疑惑,手册中明确指出了PB9为CAN_TX,PB8为CAN_RX。

    依据如上的比对,CAN总线的接线关系进行了交叉。此处是否存在问题。
2.  PeliCAN和BasicCAN
BasicCAN 和PeliCAN是Philips 公司生产的独立CAN 控制器的2 个不同操作模式。BasicCAN 模式是上电后默认的操作模式, 它能够传输标准帧格式的报文。PeliCAN 模式是新的操作模式, 它能够处理所有CAN2.0B 规范的帧类型( 标准帧/扩展帧) , 而且还具有一些支持错误分析的增强功能。BasicCAN所处理的数据都是标准数据,只支持CAN2.0A协议,而PeliCAN不仅处理标准帧数据,同时也处理扩展帧数据,它支持CAN2.0B协议。BasicCAN 模式与PeliCAN 模式,若是在发送与接收数据的过程来说,其实功能是差不多的。PeliCAN模式的主要强大之处表现在它的调试上,它所具有的可读的错误计数器、可编程的出错警告界限、错误代码捕捉寄存器、出错中断、仲裁丢失捕捉中断可以帮助用户进行错误分析,及时找出线路的故障所在。
3.  CAN调试情况总结
根据仔细的研究,发现此板在设计上除了CAN的收发两线接反外,对于SW2拨动开关的使用也存在问题。当将开关拨到socket侧时,并没有将TJF1051的RX脚和CPU的CAN_RX脚连接到一起,开关的中间引脚才是公共引脚。我用短截线将两个引脚连接到一起,在将R30和R31翘起,用短线交叉连接对调收发两线,实际测试后,正确的完成了CAN总线的通讯功能。

使用特权

评论回复
沙发
coslight|  楼主 | 2020-4-20 09:03 | 只看该作者
现在CAN总线测试始终无法成功,希望可以给一点建议

使用特权

评论回复
板凳
full_stack| | 2020-4-20 09:54 | 只看该作者
从你提供的文档来看,是错的

使用特权

评论回复
地板
coslight|  楼主 | 2020-4-20 10:11 | 只看该作者
full_stack 发表于 2020-4-20 09:54
从你提供的文档来看,是错的

谢谢回复,不知道是否有调整策略

使用特权

评论回复
5
full_stack| | 2020-4-20 10:27 | 只看该作者
coslight 发表于 2020-4-20 10:11
谢谢回复,不知道是否有调整策略

那只能把两个电路交叉焊一下

使用特权

评论回复
6
coslight|  楼主 | 2020-4-20 10:43 | 只看该作者
full_stack 发表于 2020-4-20 10:27
那只能把两个电路交叉焊一下

CN9端子上有can的tx和rx引脚,如果从端子上引出来,外接物理层,内部的物理层对这个有没有影响

使用特权

评论回复
评论
full_stack 2020-4-20 11:18 回复TA
试试吧,如果有影响,就把板子上的CAN驱动器去掉 
7
coslight|  楼主 | 2020-4-23 08:14 | 只看该作者
大神,能不能给个例程参考一下,还是通不上啊

使用特权

评论回复
8
caizhiwei| | 2020-4-27 09:18 | 只看该作者
国产的开发板就是垃圾,华大的也一样,F072demo板上,UART口都标错了,非常明显!

使用特权

评论回复
9
coslight|  楼主 | 2020-4-28 11:53 | 只看该作者
按照大神的指示,我跳开TJF1050的CAN收发两根线,外接了一个can的物理层,一直没有调通,这两天都放弃了,今天一个偶然的机会,我发现CN9的双排插针根本就没有和线路板焊接上,引脚都飘在空中呢,于是我把所有引脚加了一遍锡,CAN接口一遍调通,真牛,真是太牛了

使用特权

评论回复
10
coslight|  楼主 | 2020-4-29 08:16 | 只看该作者
通过板载tjf1051的can通讯也已经完成了,除了CAN的收发两线接反外,用于切换CAN_RX和SS的开关SW2的使用也存在错误,开关的波动并没有将CPU的CAN_RX引脚和TJF1051的RX引脚连接到了一起,必须将SW2的两个连接引脚用连接线短道一起。试验测试,正确的完成了CAN总线数据收发。测试完成。

使用特权

评论回复
评论
coslight 2020-4-29 14:09 回复TA
@caizhiwei :会不会我们的东西有差别 
caizhiwei 2020-4-29 11:25 回复TA
我刚刚测试了,sw2开关是OK的!是通的呀 
11
caizhiwei| | 2020-4-29 17:44 | 只看该作者
sw2 开关要拨到靠近can芯片的那端,丝印也没个说明,板子真烂,哎,谁知道哪边是哪边呀,我是用万用表测出来的。

使用特权

评论回复
12
coslight|  楼主 | 2020-4-30 08:15 | 只看该作者
caizhiwei 发表于 2020-4-29 17:44
sw2 开关要拨到靠近can芯片的那端,丝印也没个说明,板子真烂,哎,谁知道哪边是哪边呀,我是用万用表测出 ...

我这个两边都拨了,咋也不好使,没办法,我直接飞线,确实解决了,板子设计的问题确实不少,不过MM32的芯片功能没啥问题

使用特权

评论回复
评论
caizhiwei 2020-4-30 09:03 回复TA
是的,板子个体差异问题。不良率比较高 
13
huangzushuimd| | 2020-4-30 12:07 | 只看该作者
本帖最后由 huangzushuimd 于 2020-4-30 12:38 编辑
coslight 发表于 2020-4-30 08:15
我这个两边都拨了,咋也不好使,没办法,我直接飞线,确实解决了,板子设计的问题确实不少,不过MM32的芯 ...

上拨是连到板上的SPI FLASH和CAN,请参考如图修改CAN连线,去除R30,R31,R30,R31的pad 交叉飞线连接一下;或者把U3的PIN4 连接到CN9的PIN21, 把U3的PIN1连接到CN9的PIN22.

mb23_modify.jpg (459.92 KB )

修改方式

修改方式

samples.JPG (259.92 KB )

网友修改实例

网友修改实例

使用特权

评论回复
14
imdx| | 2020-5-2 14:59 | 只看该作者
犯这种错误,妥妥的负广告效果,向用户展示自己有多么不靠谱的?

使用特权

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

本版积分规则

61

主题

928

帖子

5

粉丝