标题: CAN总线仲裁中碰到的奇怪问题
pola
游客




UID 24
精华 0
积分 6365
帖子 6365
威望 0
金钱 0
阅读权限 1
注册 2007-7-28
状态 离线
发表于 2007-7-28 12:35  资料  短消息  加为好友 

CAN总线仲裁中碰到的奇怪问题

我在CAN总线进行三节点通信中碰到一个奇怪问题,向各位高手求助:  用节点A和节点B发送,节点C接收,节点A发送的ID符为0000,节点B发送的ID符为  001B,按CAN协议规定,根据ID符的大小来决定优先权.我在调试中发现节点C两个报文都能接收到,但是先接收到ID符为001B的报文,(三个节点用同一电源供电用一个开关上电,两节点的发送程序除了ID符改动外,别的都一样,发送数据帧;发送节点采用全比较验收方式,禁止接收彼此的报文;接收节点全屏蔽验收方式,允许接收一切报文;单个节点发送接收情况正确)。当时我怀疑与ID编码有关。可是奇怪的是当我把发送程序交换下载到节点A和节点B中时,即节点A发送ID符OO1B,节点B发送ID符0000,节点C却先收到ID符为0000的报文。我尝试发送ID符为其他的报文,发现总是节点B发送的报文先被接收。我调换了几个节点,比如用A做接收,B和C来发送,情况也类似,老是某个节点的报文先被接收,而不管ID符有何变化。由于本人第一次接触总线仲裁问题,所以碰到如此奇怪的问题很伤脑筋,盼有经验的高手指点迷津。  本人EMAIL ADDRE :mcm_zelri@sina.com

顶部
[广告]
 


Google

当前时区 GMT+8, 现在时间是 2008-11-22 04:05
粤ICP备07500170号

By Discuz! 5.5.0 © 2007-2008
Processed in 0.037264 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - Autooo! Inc. - Archiver - 繁体中文