找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3638|回复: 9
打印 上一主题 下一主题
收起左侧

在总线通信系统中,如何给从机自动分配地址?

[复制链接]
跳转到指定楼层
楼主
ID:245053 发表于 2021-8-26 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前,从机的地址设定是采用的硬件方式:拨码开关。有没有简单的方法,不用硬件分配地址,采用主机扫描方式给从机自动分配地址,采用的原理是怎么样的,请教了。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:827243 发表于 2021-8-26 12:16 | 只看该作者
不用考虑,基本不可能,总线通信从机会有冲突,没地址,冲突解决不了,所以自动分配不可能,除非你从机一个个添加,没地址的可以请求地址,一起加就不可能了。
回复

使用道具 举报

板凳
ID:245053 发表于 2021-8-26 12:40 | 只看该作者
daemondong 发表于 2021-8-26 12:16
不用考虑,基本不可能,总线通信从机会有冲突,没地址,冲突解决不了,所以自动分配不可能,除非你从机一个 ...

我看到同类产品中,有厂家的就没有硬件编址,说是开机自动编址的,不知道是怎么实现的
回复

使用道具 举报

地板
ID:47286 发表于 2021-8-26 13:02 | 只看该作者
方法很多 读单片机ID 或者有个小程序编译前随机生成一个 或者什么什么的 反正方法很多 不就是个不重复的区别么 通常一个区域内也不会有多少设备 假设65536个 也就是2位
回复

使用道具 举报

5#
ID:584195 发表于 2021-8-26 13:58 | 只看该作者
这个可以自由设定的,看你用什么通迅方式,如果是485的话就只能先定义好从机地址,要不一下就接到一个总线,通迅肯定有冲突,还有i2c总线,也得提前做好址。最关键的是,你想用什么实现,比如用什么单片机,什么通讯方式,这样大家可能回答,或者是建议就好一些。
回复

使用道具 举报

6#
ID:161164 发表于 2021-8-26 14:19 | 只看该作者
pcf2000 发表于 2021-8-26 12:40
我看到同类产品中,有厂家的就没有硬件编址,说是开机自动编址的,不知道是怎么实现的

就算有自动编址也不实用吧
如有3个热水缸A,B,C各有各自的总线温度传感器
如何让主机知道收到的温度是从哪个缸来的?
回复

使用道具 举报

7#
ID:62019 发表于 2021-8-26 14:33 | 只看该作者
按你说的应MCU与MCU的通信了,如果你单片机支持,那么可以烧录程序后,通过串口等方式,往FLASH里写ID,不支持掉电保存的话,那基本没办法了,只能通过硬件实现ID编码
回复

使用道具 举报

8#
ID:501609 发表于 2021-8-29 00:30 | 只看该作者
最简单便宜的办法就是烧录时加ID了,很多OTP单片机都可以。
回复

使用道具 举报

9#
ID:420836 发表于 2021-8-29 01:40 | 只看该作者
在 I2C 扩展协议 SMBus 中,主机在一个从机地址读取设备的 UUID 号。 如果有多个设备具有相同的从机地址,那么由于 I2C 总线仲裁过程,一次只有一个从机将成功读取其 UUID 并分配一个唯一的从机地址。 然后主机继续一一读取其余所有具有相同地址的设备,直到完成将地址分配给所有从设备。
回复

使用道具 举报

10#
ID:883242 发表于 2021-8-29 14:05 | 只看该作者
同意6楼意见。就算能自动编址,你如何知道某个从机对应哪个地址?让从机显示出来的成本比拨码开关还要高吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表