[ZLG-ARM] CAN总线主站与子站ID策略

[复制链接]
3303|16
 楼主| 想实习去 发表于 2010-7-20 12:08 | 显示全部楼层 |阅读模式
CAN总线主站与子站ID策略,做过CAN总线的大侠请你们说一下你们是如何定义各子站的ID的,我做的项目中,各子站不需要通信,但是要保证各子站被置换或者出故障之后,换新板子的时候可以被总站识别而不出现混乱。不知道我说清楚了没有!
思行合一 发表于 2010-7-20 12:13 | 显示全部楼层
在刚一上电的时候,主站向子站发远程帧,在收到每一个子站应答的时候,立刻给其分配ID,每次分配的ID必须保证不一致,每次通信前必须检查ID,一旦检测不到ID在规定的时间内,就回收此ID。这种想法可以不?
无语凝咽 发表于 2010-7-20 12:13 | 显示全部楼层
利用板子的MAC地址,现在好多芯片都带有MAC模块
6019赵文 发表于 2010-7-20 12:17 | 显示全部楼层
ls,那万一这芯片就没有MAC地址呢
米其林r 发表于 2010-7-20 12:19 | 显示全部楼层
现在的芯片大多数都有MAC地址吧,不过这样做是不是明显很麻烦?不就是想唯一标识CPU吗?芯片的ID可以读出来吗?如果可以的话,直接读CPU序列号就行!
六楼的窗户 发表于 2010-7-20 12:20 | 显示全部楼层
除了特别注明的CPU。一般这种arm芯片好像都只能读到芯片的制造商,还有芯片的型号吧,序列号寄存器为空啊
3B1105 发表于 2010-7-20 12:21 | 显示全部楼层
对呀,最起码我知道的arm7好像都是ID寄存器为空
bit6019 发表于 2010-7-20 12:25 | 显示全部楼层
可以随机产生一个ID放到固定地址去读吧?这方法怎么样?
huzixian 发表于 2010-7-20 12:26 | 显示全部楼层
还是第一种方法好看起来,就是不知道好实现不?
6019实验室 发表于 2010-7-20 12:27 | 显示全部楼层
MAC地址好长呢!读它的话就挺费时的吧!一个mailbox都放不下~!
linux1 发表于 2010-7-20 12:29 | 显示全部楼层
往flash的固定地址去写一个随机数,上电后,先广播,得到应答后,子站向上传ID,然后主站再根据一定规则分别分配ID
LPC300 发表于 2010-7-20 12:30 | 显示全部楼层
LS正解 ,但是这种方法对一般用途来水是不是比较复杂啊!
yoyowodeai 发表于 2010-7-20 12:33 | 显示全部楼层
建议lz多看看CANopen里面的协议吧!结合你的ID策略!
S3C2440 发表于 2010-7-20 12:35 | 显示全部楼层
CAN网络中各子站中的程序需要和主站的一致吗?如果主站是arm,子站是DSP,那怎么弄?
年轻不在 发表于 2010-7-20 12:36 | 显示全部楼层
LS只是操作寄存器不同,CAN本身的协议还是不变的吧!
 楼主| 想实习去 发表于 2010-7-20 12:37 | 显示全部楼层
谢谢LS,好多方法啊,我得好好想想了,现在在学IAR呢。不会用啊!
北京户口 发表于 2010-7-22 12:36 | 显示全部楼层
主要是对验证屏蔽滤波器的设置吧   比如说哪个范围的ID不属于我接受的范围,之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

500

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部