qiangtech 发表于 2019-12-27 18:45:33

无地址RS485怎么完成握手

要做一个一主多从的RS485,但是都没有设置地址。现在要想办法做一个握手协议,通过软件来完成地址分配。RS485采用的是四线的,TX+ ,TX-,RX+,RX-。请大神支招。

奏奏奏 发表于 2019-12-28 09:59:43

我只能大概说个原理:
(1)每个作为从角色的MCU取一个唯一的ID,上报给这个作为主角色;
(2)这个作为主角色的根据ID不同,按照一个顺序分配每个从角色的485地址;
(3)每个从角色自己保存好这个分配的485地址作为自己区别于其他从角色的标识。

qiangtech 发表于 2019-12-28 11:13:12

奏奏奏 发表于 2019-12-28 09:59
我只能大概说个原理:
(1)每个作为从角色的MCU取一个唯一的ID,上报给这个作为主角色;
(2)这个作为主 ...

唯一的ID是可以,问题就是从机怎么把自已的ID上报给主机。主机不知道线上挂了几个从机,而从机要考虑同时通电的情况,从机也不能同时一拥而上上报ID。要有个时间差就可以,问题这个时间差怎么来?

yklstudent-1794 发表于 2019-12-28 12:22:03

拨码开关设置吧,主机设置从机数,从机设置地址

qiangtech 发表于 2019-12-28 14:08:13

yklstudent-1794 发表于 2019-12-28 12:22
拨码开关设置吧,主机设置从机数,从机设置地址

拔码开关是可以,还是回到了原点。必须要地址码吗?

麦龙电子 发表于 2019-12-28 16:55:32

四线的不就应该是是RS422,全双工通信了吗。我觉得这个从机的设备都在总线上,不管你给那个设备发啥,我觉得做其他的协议还是会绕进去,因为没有地址,主站怎么实现给想发特定指令的丛机单独的数据呢。全部丛机接受的都是一样的,就是自由分配,这个我觉得就算做成也没有什么意义了, 对主从设备的负担增加,而且错误率恐怕不是一般的高,

qiangtech 发表于 2019-12-28 17:51:55

麦龙电子 发表于 2019-12-28 16:55
四线的不就应该是是RS422,全双工通信了吗。我觉得这个从机的设备都在总线上,不管你给那个设备发啥,我觉得 ...

所以第一步还是分配地址,想办法通过软件协商的方式。分配好地址之后不存在这些问题了。

maxtch 发表于 2019-12-28 22:09:51

这个是全双工的 RS422,没法做 CSMA/CD,地址分配的确有困难。如果是两线的 RS485 那可以做 CSMA/CD 保证数据包完整性,然后在上面跑 DHCP。

aiherong 发表于 2019-12-29 01:19:37

仲裁的问题

mylovemcu 发表于 2019-12-29 08:47:09

四线全双工的是RS422设备之间通信必须要有地址这是重中之重

地址分配最简单的方式就是用拨码开关设置也是最常用的方法

第二种方法就是通过RS232或者其他通讯方式进行设置地址

第三种方法就是增加两根线作为地址分配线一根上拉输入一根下拉输出主机和从机预先约定一个地址码作为默认码从主机开始输出低电平开始分配地址下一级读取到低电平信号开始请求地址主机下发地址设置完成后拉高电平配置结束下一级以此循环 配置全部地址
页: [1] 2 3
查看完整版本: 无地址RS485怎么完成握手