tms320f28035的eCAN模块 波特率不稳定

2019-07-25 16:35发布

本帖最后由 hankchen86 于 2010-12-15 10:29 编辑

我最开始是用SEED的2812开发板与ZLG的USBCAN卡做通信实验,实验很成功,后来根据公司要求,产品上要用28035替代2812,于是我就将2812的CAN通信程序移植到28035上。从两款芯片的资料上看,它们的eCAN模块基本上是一样的,只需要对一些寄存器的名字和波特率的设置值改一下就行了,但是在测试过程中我发现在28035的TX(GPIO31)脚上的信号不太正常。我设置的波特率为500Kbps,我在示波器(MSO3054)上测得28035eCAN的波特率在跳变,也就是CAN总线上的位宽不一致,导致我的USBCAN卡不能正常接收数据。后来我又使用TI提供的例程和EVM板进行调试,发现同样的问题。
不知道有没有哪位用28035做过CAN通信的大侠遇到过这种问题没有,我跟TI的人联系过,它们就是不相信。我把我抓到的波形发上来,请大家帮我看看。 tek00003.jpg tek00005.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
hankchen86
1楼-- · 2019-07-25 17:11
同志们,帮帮忙啊!!我在这里已经停了三周了。
wudeng9
2楼-- · 2019-07-25 21:13
先用28035自发自收,看正常不。
hankchen86
3楼-- · 2019-07-26 02:47
自发自收是完全正常的,28035发送的数据有时候能一次性发送成功,USBCAN卡也能正常接收。但是有时候28035要重发才能发送成功,这种情况是随机出现的。比如,我用28035的0号邮箱连续发送6帧数据,在发送第二帧数据时,能够用示波器在总线上检测到,这一帧有重发的现象,而且能看到“错误认可”(连续6个隐性位),然后28035重新发送该帧数据。
wudeng9
4楼-- · 2019-07-26 04:01
 精彩回答 2  元偷偷看……
hankchen86
5楼-- · 2019-07-26 07:57
5楼你好,我根据你说的方法在我的程序上做了一点改动,我没有用定时器来触发,而是用的软件延时,应该说这个效果是一样的吧。但是我还是能够检测到错误,跟之前的现象差不多。:(
hankchen86
6楼-- · 2019-07-26 11:43
终于搞定了,原来是28035的内置晶振不稳定引起的,我换了一个外部晶振就OK了。
之前我打电话给TI的人,他们就是不相信。

一周热门 更多>