RS485总线通信协议的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
————————————
作者简介作者简介::冯子陵(1987-),男,硕士研究生、CCF 会员,主研方向:嵌入式系统设计,物联网;俞建新,副教授 收稿日期收稿日期::2011-11-24 修回日期修回日期::2012-02-16 E-mail :fzl_7@
RS485总线通信协议的设计与实现
冯子陵冯子陵,,俞建俞建新新
(南京大学计算机科学与技术系,南京 210046)
摘 要:针对目前接口标准的RS485总线通信协议不统一问题,设计一个高效稳定的通信协议。介绍RS485总线网络的组网方式,给出RS485总线通信协议的设计方法。借鉴CSMA/CD 协议,提出一种简单高效的冲突处理方法。在ARM7、ARM9、DE2-70 3种嵌入式开发平台,以及µC/OS 、Linux 、VxWorks 3种操作系统上进行实验和测试,结果表明,该通信协议在通用性、稳定性、实时性和可扩展性等方面均符合接口标准技术要求。
关键词关键词::RS485总线;通信协议;嵌入式系统;冲突处理;帧结构
Design and Implementation of RS485 Bus Communication Protocol
FENG Zi-ling, YU Jian-xin
(Department of Computer Science and Technology, Nanjing University, Nanjing 210046, China)
【Abstract 】Because there is not normal communication protocol for RS485 bus network, a fast and steady communication protocol is designed. This paper introduces the method of creating the RS485 bus network and a detailed design of communication protocol for RS485 bus network. A simple and efficient conflict processing method is proposed with special reference to CSMA/CD protocol. The communication protocol is implemented and tested on ARM7, ARM9 and DE2-70 embedded development platforms with uC/OS, Linux or VxWorks operating systems. Experimental results show that this communication protocol meets the technical requirements in terms of versatility, stability, real-time and scalability aspects.
【Key words 】RS485 bus; communication protocol; embedded system; conflict processing; frame structure DOI: 10.3969/j.issn.1000-3428.2012.20.056
计 算 机 工 程 Computer Engineering 第38卷 第20期
V ol.38 No.20 2012年10月
October 2012
·工程应用技术与实现工程应用技术与实现·· 文章编号文章编号::1000—3428(2012)20—0215—04 文献标识码文献标识码::A
中图分类号中图分类号::TP273
1 概述
RS485是由RS232发展而来的接口标准,能用于组 建点到多点或者多点到多点的网络,解决了RS232接口标准的联网问题。RS485总线网络凭借组建成本低、可靠性高、分布范围较大等特点,在智能家居、远程监控、远程控制、远程抄表等领域得到广泛应用。
RS485网络的通信方式分主从式和总线式2种。如今在工业控制中一般采用主从式的通信方式,而总线通信方式有更好的扩展性、通用性,在总线通信协议上也容易搭建主从式RS485通信网络。RS485总线网络组网方式很简单,组建成本低廉,但至今没有统一的总线通信协议。目前国内在开发基于RS485总线网络的应用系统时,往往临时设计RS485总线通信协议,导致系统在可移植性和高效稳定性方面存在一定的问题。综上所述,很有必要设计一个高效稳定的RS485总线通信协议作为统一的协议标准。
本文在研究RS485接口标准的基础上,设计一个高 效稳定的通信协议,并对测试结果进行比较和分析。
2 RS485介绍
一般的PC 和嵌入式开发板串口都是RS232接口标
准。该接口标准有如下特点:RS232采用负逻辑,即用 “−5 V~−15 V ”电压表示逻辑“1”,“+5 V~+15 V ”电压表示逻辑“0”;RS232驱动器最大允许2 500 pf 的电容负载,因此RS232的最大通信距离仅为15 m 左右;RS232采用共地的单端信号传输方式,所以抗噪声干扰性弱;传输速率较低,在异步传输时波特率为20 Kb/s 。
RS485是由美国电子工业协会在RS422的基础上制订并发布的串口标准。RS485接口标准解决了联网问题,并且各方面性能比RS232接口有较大的提高。因此, RS485接口替代RS232接口广泛用于中小型集散系统中。RS485接口标准的具体参数如表1所示。
表1 RS485接口标准的具体参数
性能指标 RS485总线 工作模式
差分传输(平衡传输)
允许的收发器数目 32
最大电缆长度 4 000英尺(1 219 m)
最大数据速率 10 Mb/s 最小驱动输出电压范围 ±1.5 V 最大驱动输出电压范围 ±5 V 驱动器输出阻抗 54 Ω 接收器输入灵敏度 ±200 mV
接收器输入电压范围
−7V ~+12V