基于SDLC协议的同步RS 485总线控制器的设计

时间:2022-10-23 11:07:06

基于SDLC协议的同步RS 485总线控制器的设计

摘 要:提出一种基于SDLC协议的RS 485总线的通信控制器的设计思想。首先介绍SDLC协议、RS 485协议。接着介绍RS 485总线的工作方式及RS 485在使用过程中需要注意的问题。因其通信方式大多是半双工通信,解决其总线数据传输的冲突,即通信故障,就成了提高工作可靠性的关键和重点。这里就如何避免RS 485通信故障做了分析。

关键词:SDLC协议;RS 485;通信控制器;工作方式;通信故障

中图分类号:TP274 文献标识码:B 文章编号:1004-373X(2009)04-152-03

Design of Synchronous RS 485 Bus Controller Based on SDLC Protocol

LI Guoping,CHENG Long,CHAI Bo

(Micro-electronics Technology Institute,Xi′an,710075,China)

Abstract:The design thoughts of RS 485 communication controller based on SDLC,SDLC protocol and RS 485 protocol are introduced.The problems of working methods used in the process of RS 485 are needed to pay attention.Most of its means of communication is half-duplex communications,data transmission bus to resolve their conflict,that is communication failures,became key and focus ofimproving their reliability.How to avoid communication fault of RS 485 is analysed.

Keywords:SDLC protocol;RS 485;communication controller;working method;communication fault

在分布式系统中,多机相互通信是比较常见的一种方式,而通信的关键不仅是能够传输数据,更重要的是能够准确传输,并且能自动检错和用一定的方式来纠正,尤其在现在研发的导弹系统中,高可靠性与数据传输的高效性是导弹系统必备的条件。RS 485标准作为一种多点、差分数据传输的电气规范,其接口大多连接成半双工通信方式,他所具有的噪声抑制能力、数据传输速率、电缆长度和可靠性,是其他标准无法比拟的,因而多次被用在现代武器装备系统中。这里介绍的基于SDLC协议的同步RS 485总线通信控制器的实现,即是某武器装备上的一个重要单元。

1 SDLC协议和RS 485总线协议介绍

1.1 SDLC协议简介

同步数据链路控制(SDLC)是19世纪70年代IBM公司开发的传输协议,它取代了二进制同步(BSC)协议。SDLC等价于网络通信中的开放系统互连(OSI)模型的第二层。这一层协议保证数据单元从一个网络端点成功到达下一个,流到正确位置。

SDLC使用通信初级站-次级站模型。在IBM大型机网络中,主机通常是初级站和工作站,其他设备为次级站,各个次级站有自身的地址。多个设备或次级站使用多点排列连接到一条公共线。SDLC也可用于点到点通信,它主要用在宽域网(WAN)的远程通信。

SDLC是国际标准化组织(ISO)的标准数据链协议高层次数据链控制(HDLC)的基础。它成为IBM的系统网络结构(SNA)和系统应用结构(ASS)的一部分,现在仍然广泛应用于大型机数据链控制中。

1.2 RS 485总线协议简介

电子工业协会EIA于1983 年制订并RS 485 标准,并经TIA通信工业协会修订后命名为TIA/EIA-485-A,习惯地称之为RS 485。RS 485是为弥补RS 232通信距离短、速率低等缺点而产生的。其只规定了平衡驱动器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。因而在当时看来是一种相对经济,具有相当高噪声抑制,相对高的传输速率,传输距离远和宽的通信平台。

RS 485接口大多连接成半双工通信方式,其主要特点有:平衡差分传输,多点通信; 双绞线传输。理想情况下最大输入电流为0.18~110 mA(-7~+12 V);最大总线负载为32 个单位负载(UL);最大传输速率为10 Mb/s;最大电缆长度为121 912 m(4 000 ft);差分输入范围为-7~+12 V。

RS 485总线在通信距离为几十米到上千米时,广泛采用RS 485 串行总线标准。RS 485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200 mV的电压,故传输信号能在千米以外得到恢复。 RS 485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路需由使能信号加以控制。RS 485用于多点互连时非常方便,可以省掉许多信号线。应用RS 485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

2 设计思想及原理

众所周知,经常接触的网络拓扑结构有星型、环型和总线型3种结构。但是RS 485有其特殊的性能限制了该设计只能采用总线型结构,如图1所示。

在该设计中,采用多站点通信方式,它与一般的通信方式不同,这里采用的是主从结构式,也就是说在这多点通信过程中,只设一个主站,其他都为从站。在通信过程中,从站只能与主站之间进行数据交换,而从站与从站之间要进行数据交换只能通过主站进行中转。每一个站都有他自身的站地址,通信开始所有从站处于接收状态,等待主站的呼叫。当主站以命令包的形式向链路上某一从站发出命令时,所有从站接收命令帧中的站地址信息,并与自己站地址相比较,如果相符,说明主站在呼叫自己,从而接收并解析和执行命令;之后从站应向主站发回应答信息数据后以结束本次通信,否则不予理睬,继续等待接收。在通信结束后,从站继续处于接收状态,等待命令。

3 多站点实现方式

3.1 工作方式

常见的RS 485站点多为2个站点,这里给出多站点下RS 485的工作方式。RS 485多站通信方式一般分为正常模式、监听模式和广播模式。

RS 485多站通信过程中,主站与从站之间进行数据交换,根据通信协议规定,每一个站都有自己的站地址。主站在发送数据时帧头是从站的站地址,在正常模式下,从站只能接受到跟自己地址相匹配的一对一数据,如果跟自己地址不匹配则只能等待,直到等到跟自己地址匹配再开始接收数据。而监听模式则是从站地址为0XFF,不管主站的地址是什么,从站都能收到数据,这也就是所谓的监听。相对于监听来说广播模式则相反,广播模式是主站设置为0XFF,不管从站的地址是什么,从站都能收到主站发过来的数据。

通过以上3种方式,RS 485多站点通信方式的测试具有有效性与合理性。

3.2 工作流程

为了使通信协议简单,通信可靠,在通信系统中常采用“主-从”及“命令-应答”方式。即每次通信工作均由“主站”发出命令帧,由“从站”返回响应帧。在定义通信协议时,还应明确:明确帧的最大长度和最小长度;明确帧是周期或非周期传输;若为周期性,明确发送方周期时间及帧间最大时间间隔。

另外,协议中还需定义通信失败的处理方法,如:本帧通信出错要求重试和重试的次数;重试仍然出错,则采用重新初始化通信接口或切换通信通道;如果上述两点措施后仍然出错,则报告通信故障,停止。为此该系统的工作流程如图2所示。

在测试过程中,通过更改波特率(abaud,bbaud)来测试对主从站的影响。软件实现如下:

void initial485(){ …

*abaud=0x04;//波特率

*aaddr=0x43;//站地址

delay2(5);

*amodel=0x06;//FIFO 方式或者RAM方式

*bbaud=0x04;

…}

因为在该设计中,RS 485有2路通信,所以A,B通道都要初始化。

4 使用RS 485需注意的问题

在使用RS 485总线过程中,难免有些因素(如可靠性及通信速度)会因为外界条件的不同而受到不同的影响,设计中应该尽量避免这些因素产生不良影响。

4.1 在通信电缆中的信号反射

在通信过程中,有2种信号会导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理与光从一种媒质进入另一种媒质要引起反射是相似的。要消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通信电缆的另一端可跨接一个同样大小的终端电阻。如图3所示。

从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。但是,在实际应用中,由于传输电缆的特性阻抗与通信波特率等应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少地还会存在信号反射。引起信号反射的另一个原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通信线路处在空闲方式时,整个网络数据混乱。信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。

4.2 在通信电缆中的信号衰减

第二个影响信号传输的因素是信号在电缆的传输过程中会衰减。一条传输电缆可以看作由分布电容、分布电感和电阻联合组成的等效电路。电缆的分布电容C主要是由双绞线的两条平行导线产生。导线的电阻在这里对信号的影响很小,可以忽略不计。信号的损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器。

4.3 分布电容对RS 485总线传输性能的影响

电缆的分布电容主要由双绞线中两条平行导线产生。另外,导线与地之间也存在分布电容,虽然很小,但在分析时也不能忽视。分布电容对总线传输性能影响的,主要原因是总线上传输的信号是基波信号,信号的表达方式只有“1”和“0”。在特殊字节中,如0x01,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷来不及放电,(Vin+)-(Vin-)还大于200 mV,结果使接收误认为是“0”,而最终导致CRC校验错误,整个数据帧传输错误。

由于总线上的分布影响,导致数据传输错误,从而使整个网络性能降低。解决这个问题有2

种方法:降低数据传输的波特率;使用分布电容小的电缆,提高传输线的质量。

5 结 语

这里主要介绍了基于SDLC协议的同步RS 485总线数据通信控制器的设计思想及使用RS 485需要注意的一些问题。RS 485总线具有实时性好,造价低,可靠性高等特点,因而现在已被普遍应用在工业及军事方面。

参 考 文 献

[1]B&B Electronics.RS 422 and RS 485 Application Note\.1997.

[2]曹志锦,王永梁.基于RS 485的多级串行通信实验系统设计及应用[J].实验技术与管理,2002,19(5):65-67.

[3]柳义筠.基于RS 485的多机通信的应用[J].电脑学习,2006(4):29-30.

[4]李朝青.PC机及单片机数据通信技术\.北京:北京航空航天大学出版社,2002.

[5]莫登耀,廖胖昕,张阿卜.微机USB和RS 485通信接口的软硬件设计[J].厦门大学学报:自然科学版,2005(6):273-276.

[6]陈铁军,谢春萍.PC机与RS 485总线多机串行通信的软硬件设计[J].现代电子技术,2007,30(5):103-105.

[7]吴军辉,林开颜.RS 485总线通信避障及其多主发送的研究[J].测控技术,2002(8):41-43.

[8]田立志,王美忠.RS 485总线使用中的问题与编程[J].设备管理与维修,2007(7):32-33.

[9]美国通信工业协会标准.TIA-485-A-1998 R2003\.1998.

[10]沈红星.一种基于RS 485总线的网络协议及其实现方法\.单片机与嵌入式系统应用,2003(6):71-73.

[11]李新超,李继凯.基于RS 485 总线的数据采集处理系统\.现代电子技术,2007,30(12):124-126.

作者简介

李果萍 女,硕士研究生。研究方向为计算机控制技术。

成 龙 男,硕士研究生。

柴 波 男,副总工程师,研究生导师。研究方向为计算机控制技术。

上一篇:一种基于模板元编程的量纲检测方法 下一篇:基于ITS车辆行驶安全驾驶辅助系统的研究