基于RS485总线的单片机对等网络的设计与实现
转换为高电平。这样构成的单片机对等网络如图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].
网络 设计 实现 对等 单片机 RS485 总线 基于 相关文章:
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- Linux操作系统网络驱动程序编写(04-11)
- Linux 的 常 用 网 络 命 令(04-14)
- 支持网络传感器的嵌入式操作系统设计(11-10)
- 朗谷数字音频处理技术在音频及网络通讯领域的应用(05-19)
- 基于开源软件的嵌入式网络打印服务器(11-05)