专利名称:通过以太网建立串行数据透明传输通道的方法
通过以太网建立串行数据透明传输通道的方法
技术领域:
本发明涉及通信领域,尤其涉及一种通过以太网建立串行数据透明传输通道的方法。背景技术:
—1 , UART (Universal Asynchronous Receiver/Transmitter, fflM^ 步接收/发送装置)数据的传输方法,多是在接收端采用专用UART处理芯片根据UART相 关参数(如波特率、起始位、有效位、校验位、停止位),提取出UART传输的具体值,再通过通 信网络发送到UART的发送端。发送端根据用户通信信道的相关参数,按照一定的波特率、 起始位、有效位、校验位、停止位等参数将数据输出给接入设备。
对于曼彻斯特码数据与上述UART的处理方式差不多,也是采用专用芯片的方式 进行传输。
现有技术中,对于逻辑电平信号的传输,采用定时采样查询或状态改变引起中断 的方式进行状态量的采集,再将状态传输给接收设备。
然而,通常使用的UART 的波特率有 115200、57600、38400、19200、9600、4800、 2400,1200,600等,UART传输时的有效的数据位有5_bit、6-bit、7-bit、8_bit等多种模式, 校验位有奇校验、偶校验、无校验等多种模式,停止位有l-bit、1.5-bit、2-bit等多种模 式。当在使用这一技术进行UART的透明传输时,必须清楚的了解接入通信线路的波特率、 有效数据位等的具体性能参数模式,根据实际要求进行一系列相关的设置。在通信系统中, 接入的通信接口根据使用环境不同,对接的设备不同等因素,使得每一路数据的参数均各 不相同,所有的通道加在一起就会形成一个硕大的配置表。
曼彻斯特码的传输与UART的传输中遇到的问题类似。UART、曼彻斯特码、逻辑电 平信号等这几种性质相似的串行数据信号,在现行的传输系统中,均采用不同的接收方式 和处理机制。通信系统中,对其中一种信号接口的接入设备,都不能支持其它几种设备的接 入。由于接入设备的不同,就增加了设备的多样性,增加了设备的成本。
另外一种常用的方式是在同步的数字传输系统中,串行数据的接收端通过采样的 方式采集数据,再通过通信网络发送到串行数据的发送端。
采用这一通信模式,通信网络通常采用同步数字传输网,如SDH (Synchronous Digital Hierarchy,同步数字体系)传输网,这种网络要求网络中所有设备的接收和发送 的处理时钟,源自同一个时钟源。即在串行数据的发送端设备的操作时钟需要根据一系列 机制,恢复到串行数据接收端设备的时钟上,使网络两端设备的工作时钟处于相同的工作 频率。串行数据经过传输网络到达串行数据发送端后,串行数据发送端再按照串行数据接 收端的时钟频率向外输出串行数据。由于这一技术必须在同步数字传输网中才能实现,就 为串行数据的传输载体增加了一定的局限,并且这种传输机制不能应用在如以太网等网络 设备,串行数据的发送端无法恢复串行数据接收端时钟的网络中传输。
发明内容
有鉴于此,本发明提供一种提高有效数据传输效率且不局限于同步网络的通过以 太网建立串行数据透明传输通道的方法。
一种通过以太网建立串行数据透明传输通道的方法,串行数据从串行数据发射端 通过以太网发送到串行数据接收端,包括以下步骤串行数据发射端的串行数据发射单元 在每个工作时钟对输入的串行数据采样一次,如此连续采样形成待发送的数据包;串行数 据接收端的以太网串行数据接收单元通过以太网接收到从串行数据接发射单元发送的数 据包;以太网串行数据接收单元将接收的数据包指示信号传输给串行数据接收端的数据控 制输出单元,并从数据包中解析出帧序信息后将帧序信息和有效数据一起传输给串行数据 接收端的数据缓存单元;数据缓存单元根据接收的数据包的帧序将数据包依次按序将数据 存入缓冲区间;数据缓存单元将缓存区间中缓存的数据包数目传输给串行数据接收端的缓 存区快空快满单元;缓存区快空快满单元接收到缓存区中数据包数目后产生调整指示信 号;数据控制输出单元接收到由以太网串行数据接收单元传递的收包指示信号后,产生数 据发送控制信号给串行数据接收端的数据输出单元;串行数据接收端的速率调整单元接收 到缓存区快空快满判断单元传输的快空快满指示信号,完成缓存区快空和快满的调整;以 及数据输出单元在速率调整单元和数据控制输出单元共同的作用下,将缓冲区中的数据发 送出去O
优选地,所述缓存区快空快满单元接收到缓存区中数据包数目后,根据如下方式 进行产生调整指示信号当缓存区快空时,缓存区快空快满判断单元产生快空指示信号输 出给串行数据接收端的速率调整单元,要求输出端放缓数据的发送速度;当缓存区快满时, 缓存区快空快满判断单元产生快满指示信号输出给速率调整单元,要求输出端加快数据的 发送速度;当缓存区正常时,既不产生快空指示信号也不产生快满指示信号,数据按照正常 的传输速度进行发送。
优选地,当缓存区中数据包的个数为0时,表示缓存区为空;当缓存区中数据包的 个数为8时,表示缓存区为满;当缓存区中数据包的个数小于等于3时,表示缓存区快空; 当缓存区中数据包的个数大于等于5时,表示缓存区快满;当缓存区中数据包个数为4时, 表示缓存区正常。
优选地,当缓存区快空时,数据输出单元在发送1个数据包的第1个比特时,将该 比特连续发送2次从而使从缓存区中读取数据的速度变缓;当缓存区中数据包调整到4个 时,停止调整。
优选地,当缓存区快满时,数据输出单元在发送1个数据包的第1个比特时,删除 该比特从而使从缓存区中读取数据的速度变快;当缓存区中数据调整到4个时,停止调整。
优选地,在所述串行数据发射端的串行数据发射单元在每个工作时钟对输入的串 行数据采样一次步骤中,如此连续8次采样组成1个字节,将连续采样的1020个字节封装 成1个包,在每个包的包头增加4个字节的包头信息。
优选地,所述包头信息中用6个比特标识包的帧序信息,用4个比特标识包的端口 信息,用1个比特标识串行数据标识信息,用1个比特标识校验信息,其它比特预留扩展。
优选地,串行数据传输系统的最小系统工作时间为串行数据发射端和串行数据接 收端支持的最高传输波特率的8倍速。
本发明所提供的串行数据透明传输方法采用以太网作为透明传输的媒介,传输设 备之间以以太网数据包的方式进行数据传输,从而降低了数据传输中配置信息占比,提高 了有效数据的传输效率。
图1为通常所使用的串行数据接收和发送的示意图。
图2为本发明的优选实施例通过以太网建立串行数据透明传输通道的方法的示 意图。
图3A为采用本发明的通过以太网建立串行数据透明传输通道的方法进行调整时 缓存区快空时的调整方式。
图;3B为采用本发明的通过以太网建立串行数据透明传输通道的方法进行调整时 缓存区正常时的调整方式。
图3C为采用本发明的通过以太网建立串行数据透明传输通道的方法进行调整时 缓存区快满时的调整方式。
具体实施方式
为了更好地理解本发明,以下将结合附图对发明的实施例进行详细的说明。
为了克服上述问题,本发明提供了一种通过以太网建立串行数据透明传输通道的 方法,实现串行数据接收设备的系统工作时钟与串行数据发送设备工作时钟存在偏差时, 串行数据可靠传输的原理及实现方式。采用本发明进行串行数据透明传输时,用户不需要 关心串行数据的内部协议的参数信息,对如UART数据、曼彻斯特码数据、逻辑电平信号数 据等串行的数据流进行传输时,对通信设备进行了高度的统一,并且可以在如以太网等接 收设备和发送设备工作时钟完全异步的数字传输网中运行,使串行数据的透明传输不再局 限于同步的网络。串行数据通道主要指UART数据通道,曼彻斯特码通道及逻辑电平信号通 道等。
常见的通过以太网进行串行数据接收和发送系统如图1中所示,某一设备终端内 的串行数据发射端101接收串行数据的输入,并通过以太网102发送到另一设备的串行数 据接收端103。同样,另一设备终端的串行数据发射端105也可通过以太网102将串行数据 发送给某一设备终端的串行数据接收端104,从而形成双向通道。
本发明的优选实施例通过以太网建立串行数据透明传输通道的方法如图2中所 示。串行数据发射单元201位于串行数据发射端101设备内,与外部接口输入的串行数据 和后端以太网202连接,主要完成从串行接口处接收的数据的采样、封包以及根据以太网 的接口关系传输到以太网202上。
以太网串行数据接收单元203位于串行数据发送端103设备内,与以太网202、数 据缓存单元204、数据控制输出单元208连接,主要完成从根据以太网202的接口关系从网 络上接收串行数据、解包、将正确的串行数据内容传输到数据缓存单元204中,同时将接收 的数据包指示信号发送到数据控制输出单元208,以便是否产生数据发送的控制使能作参考。
数据缓存单元204还与缓存区快空快满判断单元206和数据输出单元205相连,主要完成从以太网串行数据接收单元203接收的数据包的缓存,同时将缓存的数据包的数 目传输给缓存区快空快满判断单元206,并将缓冲区中的内容传输给数据输出单元205。
数据输出单元205主要完成数据的输出控制。
数据的快空快满判断单元206主要根据缓存区中数据包的数据完成缓存区快空 快满的判断。
速率调整单元207主要根据输出包的情况完成数据发送速度的控制。
由上可见,这种通过以太网建立串行数据透明传输通道的解决方案可用 FPGA(Field Programmable Gate Array,现场可编程门阵列)器件实现。该处理机制中发 射端完成串行数据的采集、封包、向以太网发送的功能;接收端接收数据包并将其缓存后按 照本地的时钟关系发送数据包。每个终端同时具有串行数据的发射端和接收端模块时,就 可以实现数据的双向传输。
每个设备终端建立10路串行数据透明通道,实现10路双向数据的接收与发送功 能,10路透明通道独立工作。系统中两台设备终端按照如图1方式通过以太网实现对接,每 台设备终端中均含有数据10路透明通道的数据发射模块和数据接收模块。
为了使本发明的技术方案更加清楚明白,以下参照附图以其中一路为例,同时根 据相应的实例,阐明本发明提供的通过以太网建立串行数据透明传输通道的方法的具体细 节。
首先,串行数据传输系统应最小以设备支持的最高传输波特率的8倍速作为系统 操作时钟。例如,如果串行数据流为UART信号且UART通道所承载的数据的最大传输波特 率为115200,则串行数据传输系统最小以115200的8倍速作为系统操作时钟,即系统的最 低工作时钟为921600Hz。
串行数据发射单元201在每个工作时钟对输入的串行数据采样一次,如此连续的 8次采样组成1个字节。在优选实施例中,可将连续采样的1020个字节封装成1个包,在每 个包的包头增加4个字节的包头信息。包头信息中用6个比特标识包的帧序信息、用4个 比特标识包的端口信息、用1个比特标识串行数据标识信息以及用1个比特标识校验信息, 其它比特预留扩展。帧序信息传输给串行数据发送端,用于调节由于以太网传输时引起的 由于接收包顺序与发送包顺序不一致等问题。端口信息传输给串行数据发射单元201后端 的以太网发送模块,用于区分本设备中多个串行数据端口,根据不同的端口号,确定数据不 同的目的端接收。校验信息用于检测线路传输过程中有无误码产生。如此,当串行数据接 收端采集到了一个完整的数据包后,将数据发送给串行数据发射端的以太网发送模块,从 而将数据发送到以太网上。
以太网串行数据接收单元203通过以太网202接收到从串行数据接发射单元201 发送的数据包。
以太网串行数据接收单元203将接收的数据包指示信号传输给数据控制输出单 元 208。
以太网串行数据接收单元203接收到数据包后从数据包中解析出帧序信息,并将 帧序信息和1020字节的有效数据一起传输给数据缓存单元204。数据缓存单元204缓存从 网络上接收的数据包。在优选实施例中,缓存区间分为8个,每个缓存区用于缓存一个完成 的数据包。
根据接收的数据包的帧序,数据缓存单元204将数据包依次按序将数据存入缓冲 区间。
数据缓存单元204将缓存区间中缓存的数据包数目传输给缓存区快空快满单元 206。
缓存区快空快满单元206接收到缓存区中数据包数目后,根据如下方式进行产生 调整指示信号。当缓存区快空时,缓存区快空快满判断单元206产生快空指示信号输出给 速率调整单元207,要求输出端放缓数据的发送速度。当缓存区快满时,缓存区快空快满判 断单元206产生快满指示信号输出给速率调整单元,要求输出端加快数据的发送速度。当 缓存区正常时既不产生快空指示信号,也不产生快满指示信号,数据按照正常的传输速度 进行发送。如图3A至图3C中所示,缓存区中数据包的个数为0时,表示缓存区为空;当缓 存区中数据包的个数为8时,表示缓存区为满。在优选实施例中,当缓存区中数据包的个 数小于等于3时,表示缓存区快空;当缓存区中数据包的个数大于等于5时,表示缓存区快 满;当缓存区中数据包个数为4时,表示缓存区正常。缓存区将3定为快空基准和将5定为 快满基准是为了有效抑制由于以太网网络拥塞产生的数据包流量不稳而定义的。在以太网 上传输时,上一时刻数据包的传输正常,串行数据的模块也处于可以控制的时延范围内,突 然以太网上其它用户使用网络传输大流量的数据,使得传输串行数据的数据包在网络的某 一节点积压,较长时间无法到达数据包接收端。然而串行数据接收端103依然还在向外发 送数据,这时由于之前的调整机制,使得数据接收端103的数据缓存区间中至少还有3个数 据包可以供发送,从而减少出现误码的可能。当以太网从拥塞变为正常时,串行数据接收端 103可能一下从网络上接收到多个数据包,由于之前缓冲区中最多只有5个数据缓存包,所 以最少还可以容忍同时接收到3个数据包。如果网络很差,可以根据实际情况增加缓存区 的数量,并调节快空快满的基准。一般地,采用921600Hz的时钟进行数据的采样,采集1个 数据包1020个字节,需要时间约为8. 9毫秒的时间,三个数据包为26. 7毫秒的时间。在通 信专网中使得2个数据包之间的时间间隔变化达到沈.7毫秒的情况很少,所以通常认为采 用8个缓存区间足够。
数据控制输出单元208接收到由以太网串行数据接收单元203传递的收包指示信 号后,产生数据发送控制信号给数据输出单元205。当以太网串行数据接收单元203没有从 网络上接收到数据包时,关闭数据输出单元205,使数据输出单元205向外部设备发送空闲 的串行数据信号。当以太网串行数据接收单元203从长时间没有接收到数据包变成接收到 数据包时,数据控制输出单元208统计收包数目。当收包数少于4个时,数据控制输出单元 208 一直关闭。当达到和超过4个时,将数据控制输出单元208将发送使能打开,数据输出 单元205向外发送数据。当发送使能关闭时,数据缓存单元204不向数据输出单元传输数 据。
速率调整单元207接收到缓存区快空快满判断单元206传输的快空快满指示信 号,完成缓存区快空和快满的调整。当缓存区正常时,按数据采集时的比特顺序,控制将数 据发送出去;当缓存区快空时,数据输出单元205在发送1个数据包1020字节的第1个比 特时,复制该比特,即将该比特连续发送2次,等效于将要发送的数据放慢,从而使从缓存 区中读取数据的速度变缓。一段时间后,缓存区的数据就会慢慢积累,缓存区的数据就会变 多。当缓存区中数据包调整到4个时,停止调整。当缓存区快满时,数据输出单元205在发送1个数据包1020字节的第1个比特时,删除该比特,等效于将要发送的数据变快,从而使 从缓存区中读取数据的速度变快。一段时间后,缓存区内的数据就会慢慢变少。当缓存区 中数据调整到4个时,停止调整。串行数据的发送端就通过不断的调整,实现与串行数据的 接收端的时钟匹配。
数据输出单元205在速率调整单元207和数据控制输出单元208的共同作用下, 将缓冲区中的数据发送出去。
串行数据接收端103采用1020字节调整1次,每次调整1比特的方式,即8. 9毫秒 调整一次,对于波特率在9600以上的UART数据传输时,有效的数据传输过程中最多只会有 1次调整,对于采用最高速率115200的波特率进行数据传输时,经过串行数据误码议长期 测试,没有发现有误码接收的现象,对于9600以下的波特率,该调整对数据的影响几乎可 以忽略不记。一般地,在生产过程中,成品的晶振的频率偏差在50PPM的范围内,即百万分 之五十。串行数据发送端103采用1020字节调整1次,相当于频偏的调整能力为122. 5PPM, 远大于晶振的频差。所以在通信过程中可以通过调整让设备缓存区恢复正常。
还需要说明的是,本发明中提供的这种通过以太网建立串行数据透明传输通道的 方法及系统解决方案,具体可为利用FPGA芯片来实现。具体实现时,本领域的普通技术人 员可根据实际情况对本发明中所提及的功能模块进行分解或合并,在此不一一详解。
综上所述,本发明所提供的这种通过以太网建立串行数据透明传输通道的方法及 系统解决方案,不再受到用户设备的不同波特率,不同协议的限制,可以实现不高于最高波 特率的所有串行数据的传输,大大简化了传输设备,进而提高了用户的体验性。
本发明提供的这种通过以太网建立串行数据透明传输通道的方法,使能通过以太 网传输串行数据时,不再受到串行数据的协议变化而变化,可以支持低于最高波特率下所 有串行数据的发送和接收。使设备能同时支持对UART数据、曼彻斯特码数据、逻辑电平信 号数据等串行的数据流进行传输,并且传为输系统不再局限于同步的数字传输网络。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并 不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员 来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保 护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种通过以太网建立串行数据透明传输通道的方法,串行数据从串行数据发射端通 过以太网发送到串行数据接收端,包括以下步骤串行数据发射端的串行数据发射单元在每个工作时钟对输入的串行数据采样一次,如 此连续采样形成待发送的数据包;串行数据接收端的以太网串行数据接收单元通过以太网接收到从串行数据接发射单 元发送的数据包;以太网串行数据接收单元将接收的数据包指示信号传输给串行数据接收端的数据控 制输出单元,并从数据包中解析出帧序信息后将帧序信息和有效数据一起传输给串行数据 接收端的数据缓存单元;数据缓存单元根据接收的数据包的帧序将数据包依次按序将数据存入缓冲区间;数据缓存单元将缓存区间中缓存的数据包数目传输给串行数据接收端的缓存区快空 快满单元;缓存区快空快满单元接收到缓存区中数据包数目后产生调整指示信号;数据控制输出单元接收到由以太网串行数据接收单元传递的收包指示信号后,产生数 据发送控制信号给串行数据接收端的数据输出单元;串行数据接收端的速率调整单元接收到缓存区快空快满判断单元传输的快空快满指 示信号,完成缓存区快空和快满的调整;以及数据输出单元在速率调整单元和数据控制输出单元共同的作用下,将缓冲区中的数据 发送出去。
2.根据权利要求1所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于所述缓存区快空快满单元接收到缓存区中数据包数目后,根据如下方式进行产生调整 指示信号当缓存区快空时,缓存区快空快满判断单元产生快空指示信号输出给串行数据 接收端的速率调整单元,要求输出端放缓数据的发送速度;当缓存区快满时,缓存区快空快 满判断单元产生快满指示信号输出给速率调整单元,要求输出端加快数据的发送速度;当 缓存区正常时,既不产生快空指示信号也不产生快满指示信号,数据按照正常的传输速度 进行发送。
3.根据权利要求2所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于当缓存区中数据包的个数为0时,表示缓存区为空;当缓存区中数据包的个数为8时, 表示缓存区为满;当缓存区中数据包的个数小于等于3时,表示缓存区快空;当缓存区中数 据包的个数大于等于5时,表示缓存区快满;当缓存区中数据包个数为4时,表示缓存区正堂巾ο
4.根据权利要求3所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于当缓存区快空时,数据输出单元在发送1个数据包的第1个比特时,将该比特连续发送 2次从而使从缓存区中读取数据的速度变缓;当缓存区中数据包调整到4个时,停止调整。
5.根据权利要求4所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于当缓存区快满时,数据输出单元在发送1个数据包的第1个比特时,删除该比特从而使 从缓存区中读取数据的速度变快;当缓存区中数据调整到4个时,停止调整。
6.根据权利要求1至4中任一项所述的通过以太网建立串行数据透明传输通道的方 法,其特征在于在所述串行数据发射端的串行数据发射单元在每个工作时钟对输入的串行数据采样一次步骤中,如此连续8次采样组成1个字节,将连续采样的1020个字节封装 成1个包,在每个包的包头增加4个字节的包头信息。
7.根据权利要求6所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于所述包头信息中用6个比特标识包的帧序信息,用4个比特标识包的端口信息,用1个 比特标识串行数据标识信息,用1个比特标识校验信息,其它比特预留扩展。
8.根据权利要求6所述的通过以太网建立串行数据透明传输通道的方法,其特征在 于串行数据传输系统的最小系统工作时间为串行数据发射端和串行数据接收端支持的最 高传输波特率的8倍速。
全文摘要
一种通过以太网建立串行数据透明传输通道的方法,包括串行数据发射单元对串行数据采样形成数据包;串行数据接收单元通过以太网接收数据包;串行数据接收单元传输数据包指示信号给数据控制输出单元并解析帧序信息后和有效数据一起传输给数据缓存单元;数据缓存单元将数据包依次存入缓冲区;数据缓存单元将数据包数目传输给快空快满单元;快空快满单元接产生调整指示信号;数据控制输出单元产生数据发送控制信号给数据输出单元;速率调整单元完成缓存区快空快满的调整;及数据输出单元将缓冲区中的数据发送出去。上述方法采用以太网为传输媒介,传输设备间以以太网数据包进行数据传输,从而降低数据传输中配置信息占比,提高有效数据的传输效率。
文档编号H04L12/56GK102035733SQ20101057074
公开日2011年4月27日 申请日期2010年11月29日 优先权日2010年11月29日
发明者朱小兵 申请人:武汉微创光电股份有限公司