新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于RS485单片机多机串行通信的电子开关设计

基于RS485单片机多机串行通信的电子开关设计

作者:时间:2012-06-04来源:网络收藏

2.1.5 主从机之间地址确认

主从机在进行数据通信之前,首先进行地址确认,其目的就是让主机知道哪号从机向主机发送数据。主机首先发送n号从机地址编号#0FFH,所有从机接收到主机发送的地址后与各自的地址进行核对,地址不是#OFFH的从机将继续等待主机的呼叫,核对正确的从机向主机发送本机的应答地址,主机收到从机的应答地址后进一步做出判断,确认是否是n号从机的地址。地址确认正确之后,主机与n号从机进行数据通信,直到数据通信完毕,主机将呼叫下一号从机。

2.1.6 避免多从机与主机通信产生数据冲突

一个主机与多个从机进行串行通信的时候,如果当某一从机有数据时向主机发送,这时可能出现两个,三个或者更多从机同时产生数据,需要同时向主机发送,这样就会导致数据通信的冲突问题。该的设计采用主机轮询从机的方式,从而有效避免了主从机数据通信冲突的问题,主机先呼叫n号从机,地址确认之后,是n号的从机应答并与主机进行通信,其余从机处于等待状态,主机接收n号从机数据,并判断该从机是否继续有数据发送,此时其他从机若有数据只能处于排队等待中,不会对主机产生干扰,主机接收完毕后将n号从机地址减1,呼叫n-1号从机,如此反复轮询各个从机。主机轮询的过程是很快的,从机检测到被测信号的时候也能得到及时的处理。如图2所示。

基于RS485单片机多机串行通信的电子开关设计

2.2 多RS 485串行通信模块

RS 485采用平衡发送和差分接收方式来实现通信:在发送端TXD将串行口的TTL电平信号转换成差分信号A,B两路输出,经传输后在接收端将差分信号还原成TTL电平信号。两条传输线通常使用双绞线,又是差分传输,因此有极强的抗共模干扰的能力,接收灵敏度也相当高。如果以10 Kb/s速率传输数据时传输距离可达12 m,而用100 Kb/s速率传输数据时传输距离可达1.2 km。如果降低波特率,传输距离还可进一步提高。

实现RS 485串行通信只需给主机和每个从机接各接一片MAX485芯片,其接收器的输出端RO和驱动器的输入端DI,只需分别与单片机的RXD和TXD相连即可;和DE端分别为接收和发送的使能端,当为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;在主机中使用单片机的P3.4引脚控制MAX485的和DE两端,如图3所示。

基于RS485单片机多机串行通信的电子开关设计

A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。

可靠性措施如下:

复位时,主从机都应该处于接收状态。

控制端,DE的信号的有效脉宽应该大于发送或接收一帧信号的宽度。

同时将A和B端之间加匹配电阻,一般可选120 Ω的电阻,吸收总线上的反射信号,保证正常传输信号干净、无毛刺。匹配电阻的取值应与总线的特性阻抗相当。

接收和发送的使能端和DE的引脚控制在程序中的实现,主机部分程序如下:
  

基于RS485单片机多机串行通信的电子开关设计

2.3 液晶显示模块

液晶显示模块选用1602液晶,1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。上使用1602液晶显示,是用来显示发送信号数据的从机编号,某一从机检测到信号时将会显示:

行程开关相关文章:行程开关原理


评论


相关推荐

技术专区

关闭