基于SDLC协议的同步RS 485总线控制器的设计
扫描二维码
随时随地手机看文章
1 SDLC协议和RS 485总线协议介绍
1.1 SDLC协议简介
同步数据链路控制(SDLC)是19世纪70年代IBM公司开发的传输协议,它取代了二进制同步(BSC)协议。SDLC等价于网络通信中的开放系统互连(0SI)模型的第二层。这一层协议保证数据单元从一个网络端点成功到达下一个,流到正确位置。
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所示。
在该设计中,采用多站点通信方式,它与一般的通信方式不同,这里采用的是主从结构式,也就是说在这多点通信过程中,只设一个主站,其他都为从站。在通信过程中,从站只能与主站之间进行数据交换,而从站与从站之间要进行数据交z只能通过主站进行中转。每一个站都有他自身的站地址.通信开始所有从站处于接收状态,等待主站的呼叫。当主站以命令包的形式向
链路上某一从站发出命令时,所有从站接收命令帧中的站地址信息,并与自己站地址相比较,如果相符,说明主站在呼叫自己,从而接收并解析和执行命令;之后从站应向主站发回应答信息数据后以结束本次通信,否则不予理睬,继续等待接收。在通信结束后,从站继续处于接收状态,等待命令。
3 多站点实现方式
3.1 工作方式
常见的RS 485站点多为2个站点,这里给出多站点下RS 485的工作方式。RS 485多站通信方式一般分为正常模式、监听模式和广播模式。
RS 485多站通信过程中,主站与从站之间进行数据交换,根据通信协议规定,每一个站都有自己的站地址。主站在发送数据时帧头是从站的站地址,在正常模式下,从站只能接受到跟自己地址相匹配的一对一数据,如果跟自己地址不匹配则只能等待,直到等到跟自己地址匹配再开始接收数据。而监听模式则是从站地址为0XFF,不管主站的地址是什么,从站都能收到数据,这也就是所谓的监听。相对于监听来说广播模式则相反,广播模式是主站设置为0XFF,不管从站的地址是什么,从站都能收到主站发过来的数据。通过以上3种方式,Rs 485多站点通信方式的测试具有有效性与合理性。
3.2 工作流程
为了使通信协议简单,通信可靠,在通信系统中常采用“主一从”及“命令一应答”方式。即每次通信工作均由“主站”发出命令帧,由“从站”返回响应帧。在定义通信协议时,还应明确:明确帧的最大长度和最小长度;明确帧是周期或非周期传输;若为周期性,明确发送方周期时间及帧间最大时间间隔。另外,协议中还需定义通信失败的处理方法,如:本帧通信出错要求重试和重试的次数;重试仍然出错,则采用重新初始化通信接口或切换通信通道;如果上述两点措施后仍然出错,则报告通信故障,停止。为此该系统的工作流程如图2所示。
在测试过程中,通过更改波特率(abaud,bbaud)来测试对主从站的影响。软件实现如下:
因为在该设计中,RS 485有2路通信,所以A,B通道都要初始化。
4 使用RS 485需注意的问题
在使用Rs 485总线过程中,难免有些因素(如可靠性及通信速度)会因为外界条件的不同而受到不同的影响,设计中应该尽量避免这些因素产生不良影响。
4.1 在通信电缆中的信号反射
在通信过程中,有2种信号会导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理与光从一种媒质进入另一种媒质要引起反射是相似的。要消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通信电缆的另一端可跨接一个同样大小的终端电阻。如图3所示。
从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。但是,在实际应用中,由于传输电缆的特性阻抗与通信波特率等应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少地还会存在信号反射。引起信号反射的另一个原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通信线路处在空闲方式时,整个网络数据混乱。信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CR(:校验错误或整个数据帧错误。
4.2 在通信电缆中的信号衰减
第二个影响信号传输的因素是信号在电缆的传输过程中会衰减。一条传输电缆可以看作由分布电容、分布电感和电阻联合组成的等效电路。电缆的分布电容C主要是由双绞线的两条平行导线产生。导线的电阻在这里对信号的影响很小,可以忽略不计。信号的损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器。
4.3 分布电容对RS 485总线传输性能的影响
电缆的分布电容主要由双绞线中两条平行导线产生。另外,导线与地之间也存在分布电容,虽然很小,但在分析时也不能忽视。分布电容对总线传输性能影响的,主要原因是总线上传输的信号是基波信号,信号的表达方式只有“1”和“O”。在特殊字节中,如0x01,信号“O”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷来不及放电,(Vin+)一(Vin一)还大于200 mV,结果使接收误认为是“O”,而最终导致CRC校验错误,整个数据帧传输错误。由于总线上的分布影响,导致数据传输错误,从而使整个网络性能降低。解决这个问题有2种方法:降低数据传输的波特率;使用分布电容小的电缆,提高传输线的质量。
5 结 语
这里主要介绍了基于SDLC协议的同步RS 485总线数据通信控制器的设计思想及使用RS 485需要注意的一些问题。RS 485总线具有实时性好,造价低,可靠性高等特点,因而现在已被普遍应用在工业及军事方面。