打印
[ZLG-ARM]

怎么用 RTL中CAN 驱动 让一个节点监听多个目标地址,即相当

[复制链接]
1920|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pubstar|  楼主 | 2007-7-9 19:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
pubstar|  楼主 | 2007-7-9 19:52 | 只看该作者

实际应用中的苦恼

协议:
1.    CAN技术规范协议:CAN2.0B
2.    CAN贞格式:扩展贞
3.    CAN2.0B 29位标识符的定义:bit28~bit21为目的地址;bit20~bit13为源地址。源地址和目的地址表示CAN帧从哪里来,到哪里去。bit12~bit5为帧序数;bit4位称为更多CAN帧位,它是和帧序数配合使用来传送较长的数据的(CAN每一帧最多传7个字节有效数据)。bit4为零表示当前的CAN帧是一个被分组打包的应用层报文的最后一段;为1则表示应用层报文的分段未传完;当标志位为0,帧序数也为0时,表示报文没有被分段。数据字节的有效长度有长度字段决定,数据字节的最后一个字节为其它数据字节的异或校验。

如上,相当于一个节点具有多个地址源地址,否则,带有附加信息的数据目标地址根本无法与之匹配,所以,一个节点必须具有监听总线上多个目标地址的功能,目前在RTL中,还没有发现有效的解决办法,请高手请点。

使用特权

评论回复
板凳
pubstar|  楼主 | 2007-7-9 23:13 | 只看该作者

问题已经解决,手工修改RTL CAN驱动代码,关掉过滤器即可

使用特权

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

本版积分规则

15

主题

81

帖子

0

粉丝