我国石油天然气行业的工作区大多地处荒漠野外,其工作参数的实时采集和监控传输一直是困扰油气生产安全的难题。工作现场的传感器收集到的数据经过信号处理放大、模数转换传给单片机系统的数据存储器,单片机再把数据送回到主控室,再通过分析处理软件对数据进行处理和动态管理。通常现场到主控室的距离在几公里至几十公里之间,怎样把单片机所获得的数据安全可靠的传回主控室就显的尤为重要。单片机输出的都是TTL电平,只能传数米;而并行数据传输对于超过10英尺的距离就不适合了。远距离通信都使用串行通信。这种通信方式使用的数据线少,比并行传输的远,在远距离通信中可以节约通信成本。传统的方法不但传输距离受限制,而且误码率较高。本人通过实验,提出了一种远距离传输方案,传输距离远,误码率低,大大提高了传输效率。
1 通信系统设计
RS-232、RS-422与RS-485都是串行数据接口标准。RS-232采取不平衡传输方式,发送电平与接收电平的差仅为2V至3V左右,其共模抑制能力差,传送距离最大约为15米。只能是点对点通讯,且传输速率低,只适合本地设备之间的通信。RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺,并允许在一条平衡总线上连接最多10个接收器。它是一种单机发送、多机接收的单向、平衡传输规范。而RS-485标准在RS-422基础上,增加了多点、双向通信能力,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。

图1 RS-485通信系统结构图
2 CRC校验
CRC校验又称循环冗余码校验。它是利用除法及余数的原理来作错误侦测的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。由于这种方法取得校验码的方式具有很强的信息覆盖能力,所以它是一种效率极高的错误校验法。
2.1 CRC编码的算法
设编码前的原始信息多项式为P(x),P(x)的最高幂次加1等于k;选定的生成多项式为G(x),G(x)的最高幂次等于r;CRC多项式为R(x);编码后的带CRC的信息多项式为T(x)。 发送方编码方法:将P(x)乘以 (即对应的二进制码序列左移r位),再除以G(x),所得余式即为R(x)。用公式表示为T(x)=xrP(x)+R(x)。 接收方解码方法:将T(x)除以G(x),如果余数为0,则说明传输中无错误发生,否则说明传输有误。 但对于单片机中的通信口,都只使用异步通信方式,由硬件只能完成奇偶校验,不能由硬件实现CRC编译码、信息打包和零位插入/删除,即不能实现诸如SDLC的协议。但在许多情况下,需要采用这种异步通信方式,而且要求有高的差错控制能力,这就需要用软件实现类似SDLC的规程,以便使用ARQ方式实现差错控制和利用停止--等待方式实现流量控制。其中,最重要的就是用软件实现CRC检错码的编码和译码。
2 .2 CRC检错码的软件实现 假定在异步通信方式下利用CRC检错码和ARQ方式实现差错控制,利用停止--等待方式实现流控制,采用点对点通信方式.此时,就能以SDLC协议类似的方法实现信息传送.

图2 信息帧格式
图2为组成信息帧格式。其中,信息长度表示信息的字节数,信息就是欲传送的数据字节内容,FCS为帧校验序列,那么发送方发送一帧信息的流程图如图3所示 用软件实现的CRC算法,其主要优点是突出了一个‘快’字,为了提高校验速度,把参数表和应用程序一起写入单片机的EPROM 内,当进行CRC校验时,对需要发送的每一字节,按上述的方法进行计算,就可得到该字节的校验值。从而提高了速度,较好地克服了,异步传辅中校验和发送时间很不匹配的矛盾。
3 HDB3编解码
由于距离远,再加上信道干扰和外部干扰,就连纠错码本身也可能出错,故在本实验中又采取了HDB3编码。HDB3码是串行数据传输的一种重要编码方式。和最常用的NRZ码相比,HDB3具有很多优点,例如:消除了NRZ码的直流成分,具有时钟恢复更好的抗干扰性能,这使它更适合于长距离信道传输。
3.1单极性不归零码到HDB3码的变换规则 ① 先把代码中的l交替地变换为传输码中的+l,-l,+l,-l,⋯.如变换后代码序列连“0”的个数小于4时,此时就是HDB3码。 ②当 连“0”的个数大于或等于4时,将第4个“0”改为与前一非“0”(±1)符号同极性的“V”符号。 ③ 为了使“V”符号相邻交替,相邻“V”之间非“0”(±1)符号的个数为偶数时,再将4个“0”的第一个“0”变为“B”,“B”的符号与前一非“0”(±1)相反(即保证后面“V”与“B”符号相同),并让后面的非“0”(±1)符号从“V”符号开始交替变化。
3.2 DS2153Q应用设计 DS2153Q是Dallas公司生产的T1/E1收发芯片。该芯片能完成NRZ码和HDB3码间的相互转换。而且在片内集成了接受NRZ码的数据时钟恢复电路。因而更利于后级接收电路。片内D/A能够实现G.703标准的输出波形,适用于75Ω和120Ω特性阻抗的双绞线,并且具有完善的数据流状态监测功能,可以实时指示数据流的传输状况。 图4是该码制转换器的结构框图。单片机外围的 µP监控电路IMP813L的作用是提高码制转换器的抗干扰能力和可靠性。其中,DS2153Q的并行数据/地址线与单片机的PO口相连,片选信号选用单片机的P2.0口,单片机的读写信号与DS2153Q的读写信号相连,同时DS2153Q的,两个中断申请线与单片机的INTO和INT1相连,这样DS2153Q可以通过中断方式及时得知单片机自身的工作状态,从而实现单片机对DS2153Q的控制和状态监控。该码制转换器选用IMP813L作为µp监控电路,以实现可靠地上电复位和看门狗控制。

图4 NRZ-HDB3码制转换器结构图

图5所示是该系统中单片机的控制流程图。
4 中继器
该电路通过光电隔离使信号在加强前后隔离开来,不仅使信号能可靠传输,更加强了系统的抗干扰能力。图中RS-485发送接收器的发送控制端(DE)和接收控制端(RE)短接在一起,RS-485输入开路,或已终端匹配但没有驱动的情况下,U1和U2将使其接收器输出(R)为高电平,而该端通过光耦控制另一端发送接收控制器的公共端。使发送接收控制器均处于接收状态。一旦某一接收端有数据输入,就通过光耦控制另一发送接收控制器输出,这样就使得信号传输得以继续。

图6 光电隔离中继器
5 组网布线
RS-485支持128个节点,因此多节点构成网络。网络拓扑采用终端匹配的总线型结构。本系统选用屏蔽双绞线。在构建网络时,应注意如下几点:
1)从总线到每个节点的引出线长度应尽量短; 2)应注意总线特性阻抗的连续性; 3)对高阻型共模干扰,必须要有一条低阻的信号地;当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信。可采取以下措施:a.如果干扰源内阻不是非常小,可以在接地线上加限流电阻以限制干扰电流。b.采用浮地技术,隔断接地环路。c.采用隔离接口。 以上只是对低频干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。高频瞬态干扰可以采用以下方法加以保护:1.隔离保护方法;2.旁路保护方法。
6 结论
本方法经过实验验证,在远距离的情况下,提高了信号传输质量, 能够保证信号稳定可靠的传输,而不出现误码或者通信中断等情况。该研究成果不仅可以用于油气管线现场数据的采集传输,而且同样也能应用于一般的工业控制现场,成本低,现场布线组网也简单。
|