打印
[ZLG-ARM]

CAN总线主站与子站ID策略

[复制链接]
2007|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
想实习去|  楼主 | 2010-7-20 12:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
思行合一| | 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地址呢

使用特权

评论回复
5
米其林r| | 2010-7-20 12:19 | 只看该作者
现在的芯片大多数都有MAC地址吧,不过这样做是不是明显很麻烦?不就是想唯一标识CPU吗?芯片的ID可以读出来吗?如果可以的话,直接读CPU序列号就行!

使用特权

评论回复
6
六楼的窗户| | 2010-7-20 12:20 | 只看该作者
除了特别注明的CPU。一般这种arm芯片好像都只能读到芯片的制造商,还有芯片的型号吧,序列号寄存器为空啊

使用特权

评论回复
7
3B1105| | 2010-7-20 12:21 | 只看该作者
对呀,最起码我知道的arm7好像都是ID寄存器为空

使用特权

评论回复
8
bit6019| | 2010-7-20 12:25 | 只看该作者
可以随机产生一个ID放到固定地址去读吧?这方法怎么样?

使用特权

评论回复
9
huzixian| | 2010-7-20 12:26 | 只看该作者
还是第一种方法好看起来,就是不知道好实现不?

使用特权

评论回复
10
6019实验室| | 2010-7-20 12:27 | 只看该作者
MAC地址好长呢!读它的话就挺费时的吧!一个mailbox都放不下~!

使用特权

评论回复
11
linux1| | 2010-7-20 12:29 | 只看该作者
往flash的固定地址去写一个随机数,上电后,先广播,得到应答后,子站向上传ID,然后主站再根据一定规则分别分配ID

使用特权

评论回复
12
LPC300| | 2010-7-20 12:30 | 只看该作者
LS正解 ,但是这种方法对一般用途来水是不是比较复杂啊!

使用特权

评论回复
13
yoyowodeai| | 2010-7-20 12:33 | 只看该作者
建议lz多看看CANopen里面的协议吧!结合你的ID策略!

使用特权

评论回复
14
S3C2440| | 2010-7-20 12:35 | 只看该作者
CAN网络中各子站中的程序需要和主站的一致吗?如果主站是arm,子站是DSP,那怎么弄?

使用特权

评论回复
15
年轻不在| | 2010-7-20 12:36 | 只看该作者
LS只是操作寄存器不同,CAN本身的协议还是不变的吧!

使用特权

评论回复
16
想实习去|  楼主 | 2010-7-20 12:37 | 只看该作者
谢谢LS,好多方法啊,我得好好想想了,现在在学IAR呢。不会用啊!

使用特权

评论回复
17
北京户口| | 2010-7-22 12:36 | 只看该作者
主要是对验证屏蔽滤波器的设置吧   比如说哪个范围的ID不属于我接受的范围,之类的

使用特权

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

本版积分规则

111

主题

500

帖子

1

粉丝