一种基于半双工通信系统的通信控制协议设计

(整期优先)网络出版时间:2008-11-21
/ 2

一种基于半双工通信系统的通信控制协议设计

孙健

关键词:控制、通信、协议、半双工

Abstract:Needinmanycontrolsystemsaefficiently,simple,dependablecorrespondencecontrolagreement,inordertopromisethattheequipmentswillcontrolaninformationtoaccuratelysendtoatargetequipments.Thecontrolinformationamountofdata'sisingsmalldoesn'tneedtocarryonapairofworkscorrespondence,sothistextputforwardofthecorrespondencecontrolagreementaimatworkcorrespondencetocontrolsystematthehalfdouble.Inadditionthisagreementhasingeneraluse,canconvenientlytransplantanotherhalfdoubleworksystem.

Keyword:Control,communication,negotiate,halfdoublework

当系统中的各个设备通过某种物理链路相互联接起来以后,并不意味着它们之间就能够立刻进行数据交换了。设备之间要进行通行还需要有通信的规则即通信协议。通信协议通常要规定通信的开始与结束,数据的接受者,所传送数据的校验方式以及链路的电气接口参数等。

目前常见的协议有基于以太网的IEEE802.3协议,基于CAN-BUS总线的CANopen协议等等。这些协议通常都比较成熟,它们或通信速度快、或通信可靠性高或抗干扰能力强,因而得到了广泛的应用。但是在一些要求比较特殊的场合这些协议就不一定适用了。本文针对于对通信速度要求不高、对价格控制比较严格系统,特别是控制系统设计了一种协议。这种协议基于半双工通信系统,具有通用性。

硬件系统参考模型如:图1-1:系统是由一个总线控制器与若干个设备之间通过同一通信总线连接。总线控制器与设备,设备与设备之间能进行半双工通信。

图1-1

由于采用的是总线连接方式可以使得系统的成本大大降低,但是由于总线的特点不允许同时有两个或以上的设备发送数据。因此需要总线控制器对总线的控制权进行分配。

具体的通信过程类似于令牌环网,首先总线控制器会登记在总线上的设备地址,然后按照一定的算法发出某一设备的总线控制允许信号。设备在没有得到总线控制允许信号时都时处于听者状态的,一旦收到属于自己的总线控制信号后则将数据发送到总线上。设备发送数据时总线控制器处于听者状态一旦受到设备数据发送完毕信号立即将下一设备的总线允许控制信号发出,从而将总线控制权交给下一个设备。

在通信系统中通常把要传输的信息分成若干个块来传送,每个块加上控制信息成为一帧。同样在本协议的参考模型中数据的传送也是以帧为单位的,并且设备在一次总周期中只能发送一帧。本协议采用组帧技术[1]。规定帧的正常开始与结束用二进制串01n0(n取6表示6个连续的1)称为Flag。当设备接收到6个连续的‘1’时表示一帧的正常开始,再接收到连续的刘个‘1’时表示一帧的正常结束。如设备接收到连续的7个或以上时表示非正常开始或结束。如帧中的数据有连续的6个‘1’时,则在连续的5个‘1’后插入一个‘0’来解决与Flag的冲突。设备在接收到连续的5个‘1’后自动将其后的‘0’删除,如在其后的时‘1’则表示一帧的结束。

考虑到低速系统采用处理器多为8位数据,且本协议传送的数据主要为控制信息。规定一帧的长度位32个二进制位,其中高八位与低八位为帧开始与结束的Flag,中间16位为数据位。

如同信数据为控制信息这可规定数据位中高8位为地址数据如出现又连续6个‘1’的情况,则使用数据位中低8位的最高位扩展。数据位中低8位的次高位固定为‘0’紧接的4位为控制信息称为C_flag,其后一位固定为‘0’再后一位为奇校验位。C_Flag的0H与fH保留用于总线控制器。0H用于总线控制权移交,fH用于登记地址。

典型应用:

系统采用图1-1所示模型,共有三个设备地址分别为00H、0fH、ffH。首先由总线控制器发出地址登记命令,如有该地址设备则该设备发出与总线控制器先前发处信号相同信号,总线控制器登记该地址。如总线控制器发出7e003d7eH登记00H设备,受到信号后00H设备也发出7e003d7eH用以登记地址,登记一个设备地址以后总线控制器将按自然数递增的方法一直登记到最后一个地址。最后一个地址登记的信号为:7efbbd7eH。

登记完地址以后总线控制器只发出登记了地址的设备总线控制允许信号,这样可以减少浪费的时间。如发出的ffH设备总线控制允许信号应为7efb817eH。

以上介绍了本协议适用的范围与产生背景,由于具有一定的普遍意义可以很方便的引用到单片及控制系统中。当然在开发中还有较多的注意事项,例如设备失灵时总线控制器的等待只能在一定的时间内,否则的会引起假死状态。因此本协议的适用可跟据具体的系统做一些适当的补充规定。

参考文献:

[1]李建东,盛敏编著.通信网络基础[M].北京:高等教育出版社,2004.8

注释:

①项目基金:贵阳学院2008院级课题。

②作者简介:孙健(1979-)贵阳学院物理与电子信息科学系讲师;贵州大学2006级在读研究生,主要研究通信与自动控制。