基于RS485总线的单片机对等网络的设计与实现
1 引 言
随着自动控制技术的应用和发展,控制系统越来越复杂。单片机的应用系统已从单机逐渐向多机联网的方向发展,如:数据采集、消防、门禁、消费等控制系统,这就需要单片机之间或单片机与微机之间组成网络以进行相互通信。现有的各种总线产品,如基金总线(FF)、LonWorks总线、ProfiBus总线、 HART总线及CAN总线等,虽然各有特色,但由于其兼容性差、造价高、维护不便等方面的原因,未能得到普遍应用。
RS485总线作为一种简易、廉价的通信技术,其收发器采用平衡驱动和差分接收,具有抑制共模干扰的能力。RS485接收器灵敏度可达±200 mV,因而大大提高了通信距离。在100 kb/s速率下电缆长度可达1 200 m,如果通信距离缩短,最大速率更可达10 Mb/s。RS485总线上允许带多个驱动器和接收器,最新的收发器可带128个节点,用于构建多点通信网络。由于RS485总线具有设备简单、价格低廉、能进行长距离通信的特点,故在工程中得到了广泛应用。
通常在RS485总线产品的应用中,都采用主从控制方式,即由1台微机或1台单片机作为主机,其余的作为从机。主机和从机之间可以直接进行通信,从机之间要进行通信时必须通过主机。通信方式则由主机采取轮询的方式对各从机进行查询。这种方式使软件的设计大为简化,但也带来很多弊端。
(1)由于采取主机轮询方式进行通信,因此,通信的吞吐量较低,不适用于通信量要求较大,或平均通信量较低,但呈突发式的场合,如:消费系统、考勤系统等。
(2)由于采取主机轮询方式进行通信,因此,系统较大时,实时性较差。
(3)由于采取主机轮询方式进行通信,主机在不停地查询各从机,每个从机都必须对主机的查询作出响应,以决定是否对该机进行通信,这样,势必增加各从机的系统开销。
(4)当从机之间需要进行通信时,必须通过主机,增加了从机间通信的难度。
针对主从式网络的这些缺点,本文提出一种采用RS485总线的单片机对等网络的设计方法。在这种网络中,各节点(单片机)之间没有主从之分,是完全吞吐量大而且灵活。最后给出了该网络的C51语言实现方法。
2 网络原理
在主从式网络中,信道由主机进行控制,不存在竞争信道的问题。在对等式网络中则不同,由于每个节点均可根据自己的需要随时发送信息,必然会竞争使用信道,因此,如何合理分配信道的使用权就成为对等式网络的关键问题。与计算机网络[1]类似,解决信道分配问题可采用静态分配方案和动态分配方案。在静态分配方案中,时分多路复用TDMA(TimeDivision Multiple Access)是常用的方法,在TDMA中,时间被均分为N段时隙,每个节点静态的占用一个。如果每个节点都能充分利用自己的时隙发送数据,该方案是十分灵活而高效的。
然而,实际中有些节点数据很多,时隙不够用,而有些节点数据却很少,不能充分利用分配给他的时隙而使这段时间被闲置。因此,信道静态分配方案不能有效地处理通信的突发性。在动态分配方案中,带冲突检测的载波侦听多路访问CSMA/CD(carrier sensemultiple access with collision detection)协议是常用的方法。
该协议中,当一个节点要发送数据时,他首先侦听信道,看是否有其他节点正在发送。若没有其他节点在发送,他就开始发送,否则,等待一个随机的时间后,重复上述过程。当2个节点侦听到信道空闲并同时开始传送时,必然会产生冲突,此时,他们几乎将同时检测到冲突,一旦检测到冲突,不是继续传完他们的帧,而是尽快停止,这样既节省了时间又节省了频带。在等待一个随机的时间后,重新开始上述的发送过程。
CSMA/CD能有效地解决通信的突发性。在负载较低时,欲发送数据的节点能立即发送,负载较重时,也可保证通信的稳定,本文中将采用该协议来实现网络通信。
3 硬件电路设计
实现CSMA/CD协议的关键是载波侦听和冲突检测。这就要求每个节点能够接收所有节点传送过来的数据,包括他自己。
在RS485总线组成的网络中,由于单片机串口为TTL电平,需要通过485专用收发芯片,完成电平转换及数据收发。这里选用较常用的 SN75176。该芯片内将3态差分线驱动器和差分输入线接收器结合在一起。驱动器和接收器分别具有高电平有效和低电平有效使能端,如图1所示。在主从式网络中,一般将驱动器和接收器的使能端连接在一起以便起方向控制的作用,使收发器工作于半双工状态。在这里收发器必须工作于全双工状态,以便节点能接收到自己发出的信息。因此,将接收器的使能端接低电平,而驱动器的使能端则由单片机的IO口控制,平时为低电平,释放总线,要发送数据时则
网络 设计 实现 对等 单片机 RS485 总线 基于 相关文章:
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- Linux操作系统网络驱动程序编写(04-11)
- Linux 的 常 用 网 络 命 令(04-14)
- 支持网络传感器的嵌入式操作系统设计(11-10)
- 朗谷数字音频处理技术在音频及网络通讯领域的应用(05-19)
- 基于开源软件的嵌入式网络打印服务器(11-05)