新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > RS-485多从机竞争的解决方案

RS-485多从机竞争的解决方案

作者:时间:2012-08-07来源:网络收藏
中,往往会出现多个从机同时向主机发送数据。比如在温度测量系统中,多个从机的温度测量值只要超过报警点就立即向主机发送报警信息,但是这也可能会出现2个或者2个以上的RS-485从机同时向主机发送报警信息。如果不采取RS-485竞争解决机制,那么就可能会导致2个从机同时发送的信息重叠,这样主机就无法接收到正确的信号,严重的还可能导致整个RS-485系统的崩溃。传统的解决方案是由主机循环轮流对各个RS-485下位机点名通信,这虽然解决了RS-485多从机的竞争,但是同时延误了实时报警信息。本文介绍的新方案之一能够识别从机发送信号的时间顺序,先发送的从机信号可以同时抑制其他从机的RS-485发送信号,只有等先发送信号的从机发送完毕之后其它从机才能够发送RS-485信号。本文介绍的新方案之二可以让下位机能够主动发送自己的地址,这样就无需主机对各从机进行轮流查询。本文介绍的新方案之三是将从机转换为不同的波特率,由于主机每次只能够接收某一种波特率的信号,这样就完全避免了多从机的竞争。本文中的“上位机”即“主机”,“下位机”即“从机”。
1、在RS-485总线中接入RS-485智能共享器

2路RS-485对1路RS-485智能共享器(型号:HUB2485Z)本来是用于两个RS-485上位机共同控制一个RS-485下位机的通信连接,在这里我们将HUB2485Z用于两台下位机的RS-485口共享一台上位机的RS-485口。HUB2485Z使RS-485总线同时接2个从机(下位机)。HUB2485Z已经有2个下位机RS-485(1)和RS-485(2)的插座(DB-9针并且配接线端子)和1个上位机的接线端子,无需修改软件、5V供电。HUB2485Z适用于两台下位机的RS-485口同时驱动一台上位机的RS-485口。HUB2485Z的外型为DB-9(针)/DB-9(针)转接盒大小,其中两个DB-9针的RS-485口均配接线端子。两个DB-9针的下位机RS-485口,如图RS-485(1)和RS-485(2)是完全一样的,可以互换。上位机RS-485为接线端子,位于如图产品的上侧面,与电源接线端子在一起。HUB2485Z需要外接5V电源,配套提供。

波仕HUB2485Z智能RS-485集线器能够识别两个下位机RS-485(1)和RS-485(2)的发送顺序,避免同时发送导致的系统瘫痪。也就是说,即使两个下位机正在同时发送,HUB2485Z会选取发送开始时间领先的下位机正确发送数据,而只有等到这一个下位机的数据发送完毕后,另外一个下位机才可以开始发送数据。HUB2485Z的具有双向通信功能,当上位机发送时,两个下位机同时接收到相同的数据,并不区分地址。

2 RS-485智能共享器使用布线图

在图2中,举例说明了同时接4个RS-485下位机的布线图,实际上还可以一直继续接下去。以接4个下位机为例,下位机4和下位机3分别接入3号HUB2485Z的RS-485(1)和RS-485(2)口,共享的RS-485口再级联接入另外一个2号HUB2485Z的RS-485(2)口,2号HUB2485Z的RS-485(1)接下位机2。以此类推,2号HUB2485Z的RS-485(2)口接下位机2,共享的RS-485接到1号HUB2485Z的RS-485(2),1号HUB2485Z的RS-485(1)接下位机1。在这样的布线结构中,每一个下位机都接入到了HUB2485Z共享器,由于HUB2485Z是可以级联的,所以非常灵活地接入多个下位机。实际上,1号HUB2485Z的RS-485(1)也可以继续级联新的HUB2485Z。
2、在RS-485总线中接入RS-485地址转换器
传统的RS-485方案是每次都由主机循环轮流对各个RS-485下位机点名通信,主机先发送被呼叫的从机的地址,总线中每一个从机都将这个地址信号与自己的地址进行比较,地址一样就继续也主机通信,不一样就不与主机通信。这样可能存在的问题就是从机发送的信号是可以不带本从机地址的,因为主机已经发送了从机地址信息,紧接着收到的从机信号一定就是这个被点名的从机的信号,而且从机信号不带地址可以极大简化主机的信号处理程序。从机发送的信号不带从机地址就会限制RS-485的实时性,比如RS-485多机温度测量系统就不能够实时报警,因为主机不知道发送报警信号的从机的地址。
上一页 1 2 下一页

评论


相关推荐

技术专区

关闭