请教!485通讯如何实现自动分配地址?

[复制链接]
9281|12
 楼主| wendx 发表于 2011-12-20 19:18 | 显示全部楼层 |阅读模式
485通讯主线中,若指定1个主机+N个从机。

     据了解,目前成熟的方法都是增加地址拨码或软件固化地址,
但都存在地址重复的可能。

     请问大侠,有没有一种不采用上面方法而实现N个从机的地址自动分配?
chunyang 发表于 2011-12-20 20:32 | 显示全部楼层
这个没有简单的方法,可以使用唯一系统ID然后根据该ID采用延时算法向主机申请,这个软件的容错算法是很讲究工艺的。
 楼主| wendx 发表于 2011-12-28 13:40 | 显示全部楼层
请问2楼,
1、如何产生唯一系统ID?
2、如何避免总线中两个从机同时占有总线?
rebewn 发表于 2011-12-28 13:43 | 显示全部楼层
等高手
VIP4会员 发表于 2011-12-28 13:54 | 显示全部楼层
买个唯一序列号IC,根据这个IC计算地址
kami03372 发表于 2011-12-28 16:26 | 显示全部楼层
从机如果有主动发送的权利,肯定会存在两个从机同时占用总线的状况出现的。
如果是自己的系统用,可以在加一条线,准备占用总线的时候查询这个状态线,然后在准备。
另一种方法就是,所有的通信必须是由主机发起,从机收到自己对应的命令才操作。
 楼主| wendx 发表于 2012-1-5 09:13 | 显示全部楼层
请问5楼
唯一序列号IC?
这是什么东西.
大道至简 发表于 2012-1-5 13:34 | 显示全部楼层
use ethernet
SmartEnergy 发表于 2012-1-5 14:50 | 显示全部楼层
参考一下Maxim的单总线,做一个类似的,估计可以,它的思路是
1. 设备之间靠什么来区分?
2. 有了区分之后,自动编址怎么来安排?
兰天白云 发表于 2012-1-5 16:10 | 显示全部楼层
这个没有简单的方法,可以使用唯一系统ID然后根据该ID采用延时算法向主机申请,这个软件的容错算法是很讲究工艺的。
chunyang 发表于 2011-12-20 20:32


请问这个延时算法是这么算的?
我们目前已实现自动编制,但采用的方式我自己都怕怕的
mengjicheng 发表于 2012-11-18 21:19 | 显示全部楼层
每个IC出厂时都有序号的,但我不明白主机第一次联机后怎么知道从机的这些ID值,我假设是有二个从机,1号机的ID码为65535,2号机的ID码为8888,是不是主机从0地址开始发送,检测有谁对上当前发的地址号,当有应答的就是1号机(地址为8888,),继续搜索直到找到第二个地址为655535的机,记下当前的地址到主机的EEPROM中,当作第二号机,不知你们是这样做的吗,这样做的话那不是要搜索很长的时间
mengjicheng 发表于 2012-11-18 21:24 | 显示全部楼层
忘了,还可能通过按键来对码,当主按下某个键时,同时发送一个命令给所有从机处于对码功能,当按下从机的对码键时,上传自身的ID码作为自己的的地址码,这时主机收到后,存下止地址,这样就找到了一个从机的地址码,不知你们是怎样做的,多发表一下意见让我学学
dqyubsh 发表于 2012-11-18 21:48 | 显示全部楼层
个人觉得还是现场拨码比较靠谱,假如哪台设备坏了,总不能让维护人员更换设备的时候现场更新软件,也不能让其它设备停下来等着大家对码。剩下来的就是怎样维护设备的地址,使其唯一恒定,这大概要在管理手段上想辙,比如如何维护数据库、做好维修记录、提高责任心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

1

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