打印
[DSP编程]

同时使用CAN的多个邮箱发送数据问题

[复制链接]
9471|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sxmengjing|  楼主 | 2013-12-26 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家有没有用DSP的CAN模块的多个邮箱的。我用dsp28335的CAN模块与调试软件联调时,如果我用4个邮箱同时发送,波特率设为1M或500K时,调试软件能收到一部分数据,之后就出现总线错误,收不到数据了。但是将波特率降到250K时,收发就没有问题了。
如果只用一个邮箱收发数据,波特率1M和500K都没有问题,请问这是为什么呢?

相关帖子

沙发
zhangmangui| | 2013-12-26 17:53 | 只看该作者
没遇到过  DSP中CAN使用熟悉的朋友帮忙解答一下

使用特权

评论回复
板凳
msblast| | 2013-12-27 12:55 | 只看该作者
我用的CAN位率125Kbps,同时使用很多个邮箱,收发都有。

使用特权

评论回复
地板
raoxianbin| | 2013-12-27 18:34 | 只看该作者
本帖最后由 raoxianbin 于 2013-12-27 18:37 编辑

未遇到这种情况,canmonitor版本太低吗,丢失数据,还有,你程序的波特率设置和软件设定的波特率相同吗

使用特权

评论回复
5
zhangmangui| | 2013-12-28 23:01 | 只看该作者
如果是多个邮箱的话,你程序有在新数据来之前将接收到数据读出来吗?

使用特权

评论回复
6
msblast| | 2013-12-29 10:10 | 只看该作者
zhangmangui 发表于 2013-12-28 23:01
如果是多个邮箱的话,你程序有在新数据来之前将接收到数据读出来吗?

这是个问题哦
首先要中断接收,其次接收到数据之后立即退出中断,不要在中断里处理数据。

使用特权

评论回复
7
kingzlt| | 2014-1-3 10:13 | 只看该作者
DSP的Ecan工作机制中有优先级的配置,并且可以根据总线的忙闲状态自动确认发送时间,程序中只需要使能发送即可,不会存在冲突的问题,目测你这个问题应该是由于CAN收发器的响应速度引起的,其实数据已经发出但是收发器无法响应,以前用过网上淘的百十块的收发器存在这个问题

使用特权

评论回复
8
zhangmangui| | 2014-1-3 11:37 | 只看该作者
kingzlt 发表于 2014-1-3 10:13
DSP的Ecan工作机制中有优先级的配置,并且可以根据总线的忙闲状态自动确认发送时间,程序中只需要使能发送 ...

感谢解答  CAN方面还望你多多指点

使用特权

评论回复
9
kingzlt| | 2014-1-3 13:05 | 只看该作者
共同进步,呵呵

使用特权

评论回复
10
sxmengjing|  楼主 | 2014-1-8 11:55 | 只看该作者
kingzlt 发表于 2014-1-3 10:13
DSP的Ecan工作机制中有优先级的配置,并且可以根据总线的忙闲状态自动确认发送时间,程序中只需要使能发送 ...

请问你所说的CAN收发器是CAN模块的接口芯片还是说与电脑相连的CAN/USB转换器呢

使用特权

评论回复
11
sxmengjing|  楼主 | 2014-1-8 11:58 | 只看该作者
msblast 发表于 2013-12-27 12:55
我用的CAN位率125Kbps,同时使用很多个邮箱,收发都有。

请问如果接收方用4个邮箱同时接收发送方发送的4个邮箱的内容时,我使能最低优先级的中断,进入中断后把4个邮箱的内容全读出来,这样可以实现吗?我试验了一下,只有最高优先级的那个邮箱偶尔能收到数据,不知道是我程序中哪里做的不合适。

使用特权

评论回复
12
msblast| | 2014-1-8 12:04 | 只看该作者
如果同时接收到数据,优先级别高的邮箱产生中断。所以在中断函数里要检查优先级别低的邮箱是否有接收到数。

使用特权

评论回复
13
sxmengjing|  楼主 | 2014-1-8 15:03 | 只看该作者
msblast 发表于 2014-1-8 12:04
如果同时接收到数据,优先级别高的邮箱产生中断。所以在中断函数里要检查优先级别低的邮箱是否有接收到数。 ...

谢谢,这个问题解决了,按照你说的方法可以实现

使用特权

评论回复
14
zhangmangui| | 2014-1-8 22:14 | 只看该作者
熟悉了CAN使用的朋友    希望能够总结发帖出来
方便大家

使用特权

评论回复
15
仙人球W| | 2015-9-19 14:23 | 只看该作者
msblast 发表于 2013-12-27 12:55
我用的CAN位率125Kbps,同时使用很多个邮箱,收发都有。

DSP28035我用的循环接受模式,发送没有问题,但是我用上位机发送数据,DSP接收不到数据。能否参考下你的程序!谢谢!

使用特权

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

本版积分规则

14

主题

47

帖子

0

粉丝