微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RS485总线的单片机对等网络的设计与实现

基于RS485总线的单片机对等网络的设计与实现

时间:02-13 来源:互联网 点击:

转换为高电平。这样构成的单片机对等网络如图2所示。

4 软件实现

本文采用Franklin C51来实现CSMA/CD网络协议。用C语言来编写单片机目标系统软件可缩短开发周期,增加软件的可读性,便于改进和扩充,从而研制出规模更大,性能更完备的系统[2]。

系统中设置定时器0作为延时计时器,他有两组延时参数。一组用于侦听网络是否空闲。每次接收中断时,给定时器0重装延时参数,并设置网络忙标志。该参数的值应保证在正常的数据发送时,定时器不会溢出。这样,若有节点正在发送数据,定时器0将被反复重装,并设置网络忙标志。若所有节点停止发送数据,定时器将溢出,此时,停止计时并清除网络忙标志,表示网络空闲。发送程序检测到该标志,即可开始发送数据。发送程序每发送1 B数据时,将该数据存入一个临时变量中。此时,接收程序同时也会接收到一个数据,将接收到的数据与临时变量中的数据进行比较,若相等,表示数据发送成功,否则,表示发生冲突,此时立即停止发送,并给定时器0设置一个随机延时值,延时结束后重复上述过程。实现以上算法的C51程序如下[3]:

5 结 语

本文设计了一个基于RS485总线的单片机对等网络,并用C51语言实现了该网络。与常用的主从式的单片机网络相比,对等网络具有数据吞吐量大、节点与节点间可直接通信的特点,因此,特别适合通信量大、通信呈突发式或节点间通信频繁的场合。该网络已在门禁系统中实际应用。实践表明,该方法是十分有效而灵活的。

参考文献
[1]AndrewS.Tanenbaum计算机网络[M].第3版.北京:清华大学出版社,1998.
[2]马忠梅.单片机的C语言应用程序设计[M].修订版.北京:北京航空航天出版社,1999.
[3]KeilC51使用技巧及实践[DB].

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top