CN101820324A - 一种异步数据的同步传输方法和系统 - Google Patents
一种异步数据的同步传输方法和系统 Download PDFInfo
- Publication number
- CN101820324A CN101820324A CN201010165369A CN201010165369A CN101820324A CN 101820324 A CN101820324 A CN 101820324A CN 201010165369 A CN201010165369 A CN 201010165369A CN 201010165369 A CN201010165369 A CN 201010165369A CN 101820324 A CN101820324 A CN 101820324A
- Authority
- CN
- China
- Prior art keywords
- data
- clock
- module
- asynchronous
- buffering area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
- H04L7/0087—Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Abstract
本发明公开了一种异步数据的同步传输方法和系统,包括发送端将异步数据封装到同步数据帧传输到接收端;该接收端接收同步数据进行解封装,将得到的该异步数据写入该接收端的缓冲区,利用一异步数据的读时钟读取该异步数据并输出到外部接收装置;该接收端还利用缓冲区的数据深度信息调整该读时钟的频率,当该缓冲区中的数据深度增大时,增大该读时钟的频率,当该缓冲区为空时,输出表示空闲的数据。本发明解决了连续同步传输异步数据的滑码问题,并且本方法更简单。
Description
技术领域
本发明涉及通信传输网领域,尤其是将异步数据转换为同步数据传输的方法。
背景技术
异步数据在同步信道中传输,是将异步数据转换成同步数据在准同步信道中传输,准同步信道数据被无损伤接收,再还原成异步数据。一般来讲异步数据在同步信道中传输对时钟要求不高,因为异步数据包之间有空闲数据(IDLE),可以弥补发送端和接收端波特率产生器时钟频率的偏差,即发送端和接收端均可以用本振分频获得和异步数据一致的波特率去采样该异步数据。但是如长时间连续传输异步数据,即数据之间无IDLE,例如PC机利用串口连续发送大量的图片或文档等,则随着时间的累积,信道上将产生时钟滑动,导致传输中出现码元错误。虽然增加接收端的缓存可以提高抗滑动性,但是随着时间的积累,还是很容易导致缓存写满或读空。中国专利CN200720102430.X提出了一种插入或删除空块的方法实现异步数据的同步传输,但是该方法比较复杂,而且要求发送和接收的波特率产生器的时钟是完全同步的。
发明内容
本发明所要解决的技术问题提供一种异步数据的同步传输方法,解决连续同步传输异步数据的滑码问题,并且本方法更简单。
为了解决上述问题,本发明提供了一种同步传输异步数据的传输方法,其特征在于:
发送端将异步数据封装到同步数据帧中,同步传输到接收端;
所述接收端接收同步数据进行解封装,将得到的所述异步数据写入所述接收端的缓冲区,利用一异步数据的读时钟,读取所述异步数据并输出到所述异步数据的接收装置;所述接收端还利用缓冲区的数据深度信息调整所述读时钟的频率,当所述缓冲区中的数据深度增大时,增大所述读时钟的频率,当所述缓冲区为空时,输出表示空闲的数据。
进一步地,所述接收端缓冲区由空变为非空时,所述接收端对本地高速时钟进行分频,产生的读时钟的频率与所述异步数据波特率相同或等于所述异步时钟模块波特率除以一个所述异步数据包所占比特位数的值。
进一步地,所述接收端缓冲区的数据深度设定为k个阈值,对每一数据深度阈值f(i),设定所述读时钟频率对应的调整值,及该调整值的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k];
所述接收端实时检测所述缓冲区的数据深度,当所述数据深度增大并超过阈值f(i)时,利用所述阈值f(i)对应的调整值增大当前读时钟的频率;
所述接收端缓冲区中的数据被读空时,还停止所述读时钟。
进一步地,所述接收端利用所述缓冲区的数据深度信息调整所述读时钟的频率,是根据有理数分频方法进行调整的,当所述缓冲区中的数据深度增大时,通过缩小有理数分频比,增大所述读时钟的频率。
进一步地,将所述接收端的数据深度为Y的缓冲区划分为k段,Y>k,且Y和k均为正整数;
当所述接收端缓冲区由空变为非空时,所述接收端利用本地高速时钟产生读时钟的有理数分频比为m/n,标称值m和n均为正整数;
所述接收端缓冲区为非空时,所述接收端实时检测所述缓冲区的数据深度,当所述数据深度增大并超过j×Y/k时,则将m调整为(m-(2j×T))向下取整,,j表示当前数据深度的段值,j为正整数且j<=k,T为调整的步进率,T>0且其中t为根据该有理数分频方法确定的原标称值m的调整的最大幅度,0<t<1,T值可调;
如按照原设定的T值缓冲区溢出,则增大T的值。
为了解决上述问题,本发明还提供了一种同步传输异步数据的传输系统,包括发送端和接收端,其中:
所述发送端,用于将异步数据封装到同步数据帧中,同步传输到接收端;
所述接收端,用于接收同步数据进行解封装,将得到的所述异步数据写入所述接收端的缓冲区,利用一异步数据的读时钟,读取所述异步数据并输出到所述异步数据的接收装置;
其特征在于,所述接收端进一步包括起始位检测模块、缓存维护模块、可调异步时钟模块,其中:
所述起始位检测模块,用于接收同步数据进行解封装,将得到的所述异步数据发送到缓存维护模块;
所述缓存维护模块,用于将所述异步数据写入缓冲区,检测所述缓冲区的数据深度提供给所述可调异步时钟产生模块,利用所述可调异步时钟产生模块提供的读时钟,读取所述缓冲区中的异步数据,输出到所述异步数据的接收装置,如检测到所述缓冲区为空,则输出表示空闲的数据;
所述可调异步时钟模块,用于提供异步数据的读时钟,并利用缓冲区的数据深度信息调整所述读时钟的频率,当所述缓冲区中的数据深度增大时,增大所述读时钟的频率。
进一步地,所述可调异步时钟模块进一步包括分频比调整模块和异步时钟产生模块,其中:
所述分频比调整模块,用于检测到所述缓冲区由空变为非空时,确定所述异步数据读时钟的分频比,所述分频比为本地高速时钟除以所述异步数据波特率得到的值,或本地高速时钟乘以一个该异步数据包所占比特位数,再除以所述异步数据波特率得到的值,还用于将所述分频比发送到所述异步时钟产生模块,利用缓冲区的数据深度信息确定所述读时钟的分频比并发送到所述异步时钟产生模块,检测到所述缓冲区中的数据深度增大,则缩小所述分频比,检测到所述缓冲区为空,则通知所述异步时钟产生模块停止该读时钟;
所述异步时钟产生模块,用于根据所述分频比调整模块的分频比产生异步数据的读时钟提供给所述缓存维护模块。
进一步地,所述分频比调整模块,还用于记录对所述缓冲区的数据深度设定的k个阈值,每一数据深度阈值f(i),对应的分频比的调整值,所述调整值小于等于一设定的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k];定时获取所述缓冲区的数据深度信息,若检测到所述数据深度增大并超过阈值f(i),利用所述阈值f(i)对应的调整值缩小当前的分频比,将调整后的分频比发送到所述异步时钟产生模块。
进一步地,所述分频比调整模块,利用所述缓冲区的数据深度信息调整所述读时钟的频率,根据有理数分频方法进行调整,检测到所述缓冲区中的数据深度增大,则缩小有理数分频比的标称值。
进一步地,所述分频调整模块,还用于记录数据深度为Y的缓冲区设定为k段的信息,Y>k,且Y和k均为正整数;
检测到所述接收端缓冲区由空变为非空,确定所述分频比为m/n,标称值m和n均为正整数;
检测到接收端缓冲区为非空,定时获取所述缓冲区的数据深度信息,若所述数据深度增大并超过j×Y/k,则将m调整为(m-(2j×T))向下取整,其中j表示当前数据深度的段值,j为正整数且j<=k,T为调整的步进率,T>0且t为根据该有理数分频方法确定的原标称值m的调整的最大幅度,0<t<1,T值可调;
如检测到缓冲区溢出,则增大T的值。
进一步地,所述缓存维护模块进一步包括检测模块、存储模块和读数据模块,其中:
所述检测模块,用于实时检测存储模块的数据深度,并将所述数据深度信息提供给分频比调整模块;
所述存储模块,包括缓冲区,用于存储所述起始位检测模块解封装得到的异步数据;
所述读数据模块,用于利用所述读时钟读取存储模块中的数据并输出,若检测到所述读时钟停止,则输出表示空闲的数据(IDLE)。
进一步地,所述传输系统还包括输入数据转换模块、输出数据转换模块和计时模块,所述输入数据转换模块位于起始位检测模块和缓存维护模块之间,所述输出数据转换模块位于缓存维护模块的输出端,其中:
所述输入数据转换模块,用于接收起始位检测模块发送的数据,转化为并行数据,发送到缓存维护模块;
所述输出数据转换模块,用于接收缓存维护模块发送的数据,转化为串行数据输出;
所述计时模块,用于收到起始位检测模块的通知,启动一计时器,计时器到时,通知起始位检测模块,所述计时器的时长等于串行传输一个所述异步数据包的时长;
所述起始位检测模块,还用于检测同步数据帧中异步数据的起始位,检测到异步数据的起始位,通知计时模块,并停止检测,该计时器到期,重新开始检测。
本发明通过对发送端和接收端采用独立的异步时钟,并根据接收端缓存的空满情况调整有理数分频比,当该缓冲区中的数据深度增大时,增大该读时钟的频率,当该缓冲区为空时,该接收端输出表示空闲的数据到所述异步数据的接收装置,防止该缓冲区数据溢出或读空,从而提供了一种简单有效的异步数据的同步传输方法,解决了连续同步传输异步数据时的滑码问题。本发明通过对接收端缓冲区的数据深度的不同值,对该有理数分频比进行不同幅度的调整,缓冲区的数据越满,调整幅度越大,使得读时钟的频率增大越多,从而有效防止缓冲区数据溢出,并且本发明调整有理数分频比的步进率可调,使得对该读时钟频率的调整更灵活,更有效地防止缓冲区数据溢出。
附图说明
图1为本发明实施例传输系统的接收端的结构示意图;
图2为起始位检测模块状态转移图;
图3为缓存维护模块状态转移图;
图4为本发明实施例接收端接收同步数据转为异步数据输出的处理流程图;
图5为本发明实施例接收端调整读时钟频率的流程图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
实施例一
本实施例支持同步传输异步数据的传输系统,包括发送端和接收端,其中:
该发送端,用于将异步数据封装到同步数据帧中,同步传输到接收端;
该接收端,用于接收同步数据并进行解封装,将该异步数据写入该接收端缓冲区,并利用一异步数据的读时钟,读取该缓冲区中的异步数据并输出到该异步数据的接收装置;
如图1所示,该接收端进一步包括起始位检测模块、缓存维护模块、可调异步时钟模块和计时模块,其中:
该起始位检测模块,用于接收同步数据并进行解封装,检测同步数据帧中异步数据的起始位,检测到异步数据的起始位,通知计时模块,停止检测,并将该异步数据发送到该缓存维护模块,计时器到时,重新开始检测。该起始位检测模块状态转移图如图2所示。
该计时模块,用于收到起始位检测模块的通知,启动一计时器,计时器到时,通知起始位检测模块,该计时器的时长等于串行传输一个该异步数据包的时长。
该缓存维护模块,用于存储该异步数据到缓冲区,检测该缓冲区的数据深度,利用该可调异步时钟模块提供的读时钟,读取该缓冲区中的异步数据,输出到该异步数据的外部接收装置,如检测到该缓冲区为空,则输出表示空闲的数据。该缓存维护模块状态转移图如图3所示。
该缓存维护模块,进一步包括检测模块、存储模块和读数据模块,其中:
该检测模块,用于实时检测存储模块的数据深度,并将该数据深度信息提供给分频比调整模块;
该存储模块,包括缓冲区,用于存储该起始位检测模块解封装得到的异步数据;
该读数据模块,用于利用该读时钟读取存储模块中的数据并输出,若检测到该读时钟停止,则输出表示空闲的数据(IDLE)。
该可调异步时钟产生模块,用于提供异步数据的读时钟,并利用缓冲区的数据深度信息调整该读时钟的频率,当该缓冲区中的数据深度增大时,增大该读时钟的频率。进一步包括异步时钟产生模块和分频比调整模块,其中:
该异步时钟产生模块,用于根据该分频比调整模块的分频比产生异步数据的读时钟提供给所述缓存维护模块。
该分频比调整模块,用于检测到该缓冲区由空变为非空时,确定分频比为本地高速时钟除以该异步数据波特率得到的值,并将该分频比发送到该异步时钟产生模块,还利用缓冲区的数据深度信息确定该读时钟的分频比并发送到该异步时钟产生模块,检测到该缓冲区中的数据深度增大,则缩小该分频比,检测到该缓冲区为空,则通知该异步时钟产生模块停止该读时钟。
该分频比调整模块,还用于记录对该缓冲区的数据深度设定的k个阈值,每一数据深度阈值f(i),对应的分频比的调整值,该调整值小于等于一设定的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k]。
该分频比调整模块定时获取该缓冲区的数据深度信息,如当前缓冲区的数据深度大于等于f(i-1)且小于f(i),分频比调整模块若检测到该数据深度增大并超过阈值f(i),则利用该阈值f(i)对应的调整值缩小当前的分频比,将调整后的分频比发送到该异步时钟产生模块。
本实施例发送端接收异步数据转为同步数据输出时,将异步数据封装到同步数据帧中,同步传输到接收端;接收端接收同步数据转为异步数据输出到异步数据的接收装置时,根据缓冲区中的数据深度,调整读时钟的频率,当该缓冲区中的数据深度增大时,增大该读时钟的频率,当该缓冲区为空时,该接收端输出表示空闲的数据到该异步数据的接收装置。
该发送端,将异步数据封装到同步数据帧中,同步传输到接收端的处理方法与现有技术相同,该发送端接收异步数据并写入该发送端的缓冲区,读取该发送端缓冲区中的异步数据包封装到同步数据帧中,同步传输到该接收端。当该发送端的缓冲区被读空时,向该同步数据帧中填表示空的数据。
该接收端,当该接收端的缓冲区的状态由空变为非空时,对本地高速时钟进行分频,产生频率与该异步数据波特率相同的读时钟,当该缓冲区中的数据被读空时,停止该读时钟,并向该异步数据的外部接收装置发送表示空闲的数据。
该接收端缓冲区的数据深度设定为k个阈值,对每一数据深度阈值f(i),设定该读时钟频率对应的调整值,及该调整值的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k]。该接收端实时检测该缓冲区的数据深度,当该数据深度增大并超过阈值f(i)时,利用该阈值f(i)对应的调整值增大当前读时钟的频率。
本实施例同步传输异步数据的方法中,接收端接收同步数据转为异步数据输出的处理包括如下步骤,如图4所示:
步骤401:该接收端接收同步数据,检测输入的同步数据帧中的异步数据的起始位;
该接收端用一频率不小于该异步数据波特率8倍的时钟对该同步数据帧进行采样,当检测到该异步数据的起始位,停止检测该异步数据的起始位,同时启动一计时器,该计时器时长与传输一个该异步数据包的时长相同,计时器到期后,重新检测该同步数据帧中异步数据的起始位。
步骤402:当检测到异步数据的起始位时,将该异步数据数据写入缓冲区;
步骤403:缓冲区由空变为非空状态,该接收端产生频率与该异步数据波特率相同的读时钟,利用该读时钟读取缓冲区中的数据;
该读时钟由本地高速时钟分频得到。
步骤404:该接收端实时检测接收端的缓冲区的状态,并定时获取该缓冲区的数据深度信息;
步骤405:判断该缓冲区是否为空,如是,执行步骤406,否则,执行步骤407;
步骤406:停止该读时钟,与现有技术相同,发送表示空闲(IDLE)的数据,执行步骤408;
步骤407:根据该数据深度信息调整该读时钟的频率,当该数据深度增大时,增大该读时钟的频率;
步骤408:利用该读时钟读取缓冲区中的数据,发送到该异步数据的外部接收装置。
步骤407中,将该接收端缓冲区的数据深度设定为k个阈值,对每一数据深度阈值f(i),设定该读时钟频率对应的频率调整值,及该调整值的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k]。
该接收端实时检测该缓冲区的数据深度,假设当前该缓冲区的数据深度大于等于f(i-1)小于f(i),如该数据深度增大并超过阈值f(i),则利用所述阈值f(i)对应的调整值增大当前读时钟的频率。
实施例二
由于该读时钟由本地高速时钟分频得到,因此可以利用有理数分频方法调整该读时钟的频率。当该缓冲区中的数据深度增大时,通过缩小有理数分频比,增大该读时钟的频率。
本实施例支持同步传输异步数据的传输系统的接收端的包括起始位检测模块、缓存维护模块、可调异步时钟模块、计时模块、输入数据转换模块和输出数据转换模块,该起始位检测模块、缓存维护模块和计时模块与实施例一相同。
该输入数据转换模块,用于接收起始位检测模块发送的数据,转化为并行数据,发送到缓存维护模块。
该输入数据转换模块利用一本振分频产生的写时钟向该缓存维护模块写入该并行数据,与现有技术相同,该写时钟的频率根据该异步数据的格式确定,与该异步时钟频率除以该异步数据所占用比特位位数的值相同,如该异步数据包含CRC校验位,即占用11个比特位,则该写时钟的频率等于该异步时钟频率除以11,如该异步数据不包含CRC校验位,即占用10个比特位,则该写时钟的频率等于该异步时钟频率除以10。
该输出数据转换模块,用于接收缓存维护模块发送的并行数据,转化为串行数据输出到该异步数据的外部接收装置。
该输出数据转换模块接收并行数据转换为串行数据所利用的时钟为该可调异步时钟模块输出的读时钟,发送该串行数据所利用的时钟频率等于该读时钟频率乘以一个该异步数据包所占比特位数的值。
该可调异步时钟模块,用于提供异步数据的读时钟,并利用缓冲区的数据深度信息调整该读时钟的频率,当该缓冲区中的数据深度增大时,增大该读时钟的频率。进一步包括异步时钟产生模块和分频比调整模块,其中:
该异步时钟产生模块与实施例一相同;
该分频比调整模块,用于检测到该缓冲区由空变为非空时,根据有理数分频方法确定分频比为本地高速时钟除以该异步数据波特率,再除以一个该异步数据包所占比特位数得到的整数比值,并将该分频比发送到该异步时钟产生模块,还根据有理数分频方法,利用缓冲区的数据深度信息确定该读时钟的分频比并发送到该异步时钟产生模块,检测到该缓冲区中的数据深度增大,则缩小该分频比,检测到该缓冲区为空,则通知该异步时钟产生模块停止该读时钟。
具体地,该分频比调整模块记录数据深度为Y的缓冲区设定为k段的信息,Y>k,且Y和k均为正整数;
该分频比调整模块若检测到该接收端缓冲区由空变为非空,确定该分频比为频率为Q的本地高速时钟乘以一个该异步数据包所占比特位数f,再除以该异步数据波特率P,得到的整数比,根据有理数分频方法,该有理数分频方法中的有理数分频比(Q×f)/P,其中,Q>=(10×P/f)>0,标称值m和n均为正整数。
该分频比调整模块若检测到接收端缓冲区为非空,定时获取该缓冲区的数据深度信息,若所述数据深度增大并超过j×Y/k,则将m调整为(m-(2j×T))向下取整,其中j表示当前数据深度的段值,j为正整数且j<=k,T为调整的步进率,T>0,为了保证读时钟的准确性和稳定性,本实施例中规定频率调整不超过根据该有理数分频方法确定的原标称值m的3%,因此其中t=0.03,T值可调。
该分频比调整模块根据获取的缓冲区数据深度信息,若判断缓冲区溢出,则增大T的值。
本实施例同步传输异步数据的方法,利用有理数分频方法调整该读时钟的频率。假设该接收端的缓冲区最多能存储Y个该异步数据包,则认为该缓冲区的深度为Y。首先将该深度为Y的缓冲区分为k段,Y和k均为正整数,且Y>=k,则每一段的数据深度为Y/k,第i段的数据深度为i×Y/k,其中i为正整数且i<=k。
接收端接收同步数据转为异步数据输出的处理包括如下步骤:
步骤501与实施例一的步骤401相同;
步骤502:当检测到异步数据的起始位时,对该异步数据进行串行到并行的转化,将得到的并行数据写入缓冲区;
该接收端利用一本振分频产生的写时钟向该缓存维护模块写入该并行数据,与现有技术相同,该写时钟的频率根据该异步数据的格式确定,等于该异步时钟频率除以一个该异步数据包所占用比特位数的值,如该异步数据包含CRC校验位,即占用11个比特位,则该写时钟的频率等于该异步时钟频率除以11,如该异步数据不包含CRC校验位,即占用10个比特位,则该写时钟的频率等于该异步时钟频率除以10。
利用一计数器对该缓冲区进行计数,该计数器的初始值为0,当向该缓冲区写入一个并行数据,对该计数器加1,当从该缓冲区读出一个并行数据,对该计数器减1,从而能够实时检测该缓冲区的数据深度。
步骤503:缓冲区由空变为非空状态,该接收端产生频率与该异步数据波特率相同的读时钟,利用该读时钟读取缓冲区中的数据;
根据有理数分频方法,如对频率为Q的时钟进行有理数分频获取频率为P/f的时钟,Q>=(10×P/f)>0,则其分频比m/n=(Q×f)/P,其中m/n为最简整数比,且标称值m和n均为正整数,P为该异步数据波特率,f为一个该异步数据包所占比特位数。为了便于程序控制分频,本实施例中该分频比的分子选取为偶数,因此,若前述分频比中m为偶数,则该最简整数比m/n=(Q×f)/P中,若m为奇数,则最终的分频比为2m/2n=(Q×f)/P。例如从32.768MHZ时钟分频得到56KHZ时钟,则最终分频比为m/n=4096/7。
步骤504-步骤506与实施例一的步骤403-406的处理相同;
步骤507:根据该数据深度信息调整该读时钟的频率,当该数据深度增大时,增大该读时钟的频率;
步骤508:利用该读时钟并行读取该缓冲区中的数据,对该数据进行并行到串行的转换,并输出该异步数据。
该接收端将并行数据转换为串行数据所利用的时钟为该读时钟,发送该串行数据所利用的时钟频率等于该读时钟频率乘以一个该异步数据包所占比特位数的值。
上述步骤507中,假设该标称值m为偶数,根据现有技术的有理数分频方法,启动一个初始值为0的计数器对本地高速时钟进行计数,每个时钟周期该计数器累加一次n,如该计数器的值小于(m/2)-n,则保持输出时钟的波形不变,如该计数器的值大于(m/2)-n,则输出时钟的波形反向,并且将该计数器的值减去(m/2)-n,继续计数。从而利用该分频比m/n得到需要的时钟。本实施例通过减小m的值来缩小分频比,从而增大该读时钟的频率。如图5所示,包括如下步骤:
步骤601:当缓冲区的状态由空变为非空状态时,启动一计数器cnt,初始值为0;
该计数器cnt用于对本地高度时钟进行分频处理。
步骤602:每一本地高速时钟周期,判断cnt的值是否大于等于(m/2)-n,如是,执行步骤604,如否,执行步骤603;
步骤603:将cnt的值加n,执行步骤605;
步骤604:将cnt-(m/2)+n的值赋予cnt,输出读时钟的波形反向;
步骤605:获取缓冲区的数据深度信息;
步骤606:判断该缓冲区的数据深度是否增大,如是,执行步骤607,如否,返回步骤602;
步骤607:根据该缓冲区的数据深度信息调整m的值。
如当前缓冲区的数据深度大于等于j×Y/k且小于(j+1)×Y/k,其中j表示当前该缓冲区中当前数据深度的段值,j为正整数且j<=k,则将m的值调整为(m-(2j×T))向下取整,其中T为调整的步进率,T>0。为了保证读出缓冲区中数据时的准确性和稳定性,只能对该有理数分频比进行微调,本实施例限定频率调整最多增加根据该有理数分频方法确定的原标称值m的3%,因此其中t=0.03。由于当前该缓冲区中的数据深度增加到j时,m的值调整为(m-(2j×T))向下取整,因此j越大,即缓冲区中的数据越满,m调整的值越大,因而读时钟的频率增加得越多,从而防止缓冲区中的数据溢出。更进一步,T值可调,如经过上述步骤601-607的处理,缓冲区仍然溢出,则增大T的值,按照同样方式处理。
本实施例接收端也可以不采用输入数据转换模块和输出数据转换模块,即向缓冲区写入该异步数据时,不对该数据进行串行到并行的转换,从缓冲区读出该异步数据时,不对该数据进行并行到串行的转换。相应的,该缓冲区的深度Y采用字节或位等其他方式来表示该缓冲区的深度。
实施例一和实施例二中,接收端根据缓冲区数据深度调整该读时钟的频率,除有理数分频方法外,还可以采用其他方法,如该缓冲区数据深度达到一定阈值,则将该读时钟的频率增加一固定值,或该增加的值与该数据深度成线性关系或其他函数关系;或采用有理数分频方法,但采取与该数据深度信息具有其他函数关系的调整方法。本实施例中,每个高速时钟周期检测一次缓冲区的数据深度,还可以采取每次该读时钟波形反向时检测缓冲区的数据深度。
对于本领域技术人员,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (12)
1.一种同步传输异步数据的传输方法,其特征在于:
发送端将异步数据封装到同步数据帧中,同步传输到接收端;
所述接收端接收同步数据进行解封装,将得到的所述异步数据写入所述接收端的缓冲区,利用一异步数据的读时钟,读取所述异步数据并输出到所述异步数据的接收装置;所述接收端还利用缓冲区的数据深度信息调整所述读时钟的频率,当所述缓冲区中的数据深度增大时,增大所述读时钟的频率,当所述缓冲区为空时,输出表示空闲的数据。
2.如权利要求1所述的方法,其特征在于:
所述接收端缓冲区由空变为非空时,所述接收端对本地高速时钟进行分频,产生的读时钟的频率与所述异步数据波特率相同或等于所述异步时钟模块波特率除以一个所述异步数据包所占比特位数的值。
3.如权利要求2所述的方法,其特征在于:
所述接收端缓冲区的数据深度设定为k个阈值,对每一数据深度阈值f(i),设定所述读时钟频率对应的调整值,及该调整值的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k];
所述接收端实时检测所述缓冲区的数据深度,当所述数据深度增大并超过阈值f(i)时,利用所述阈值f(i)对应的调整值增大当前读时钟的频率;
所述接收端缓冲区中的数据被读空时,还停止所述读时钟。
4.如权利要求1所述的方法,其特征在于:
所述接收端利用所述缓冲区的数据深度信息调整所述读时钟的频率,是根据有理数分频方法进行调整的,当所述缓冲区中的数据深度增大时,通过缩小有理数分频比,增大所述读时钟的频率。
5.如权利要求2或4所述的方法,其特征在于:
将所述接收端的数据深度为Y的缓冲区划分为k段,Y>k,且Y和k均为正整数;
当所述接收端缓冲区由空变为非空时,所述接收端利用本地高速时钟产生读时钟的有理数分频比为m/n,标称值m和n均为正整数;
所述接收端缓冲区为非空时,所述接收端实时检测所述缓冲区的数据深度,当所述数据深度增大并超过j×Y/k时,则将m调整为(m-(2j×T))向下取整,,j表示当前数据深度的段值,j为正整数且j<=k,T为调整的步进率,T>0且其中t为根据该有理数分频方法确定的原标称值m的调整的最大幅度,0<t<1,T值可调;
如按照原设定的T值缓冲区溢出,则增大T的值。
6.一种同步传输异步数据的传输系统,包括发送端和接收端,其中:
所述发送端,用于将异步数据封装到同步数据帧中,同步传输到接收端;
所述接收端,用于接收同步数据进行解封装,将得到的所述异步数据写入所述接收端的缓冲区,利用一异步数据的读时钟,读取所述异步数据并输出到所述异步数据的接收装置;
其特征在于,所述接收端进一步包括起始位检测模块、缓存维护模块、可调异步时钟模块,其中:
所述起始位检测模块,用于接收同步数据进行解封装,将得到的所述异步数据发送到缓存维护模块;
所述缓存维护模块,用于将所述异步数据写入缓冲区,检测所述缓冲区的数据深度提供给所述可调异步时钟产生模块,利用所述可调异步时钟产生模块提供的读时钟,读取所述缓冲区中的异步数据,输出到所述异步数据的接收装置,如检测到所述缓冲区为空,则输出表示空闲的数据;
所述可调异步时钟模块,用于提供异步数据的读时钟,并利用缓冲区的数据深度信息调整所述读时钟的频率,当所述缓冲区中的数据深度增大时,增大所述读时钟的频率。
7.如权利要求6所述的传输系统,其特征在于,所述可调异步时钟模块进一步包括分频比调整模块和异步时钟产生模块,其中:
所述分频比调整模块,用于检测到所述缓冲区由空变为非空时,确定所述异步数据读时钟的分频比,所述分频比为本地高速时钟除以所述异步数据波特率得到的值,或本地高速时钟乘以一个该异步数据包所占比特位数,再除以所述异步数据波特率得到的值,还用于将所述分频比发送到所述异步时钟产生模块,利用缓冲区的数据深度信息确定所述读时钟的分频比并发送到所述异步时钟产生模块,检测到所述缓冲区中的数据深度增大,则缩小所述分频比,检测到所述缓冲区为空,则通知所述异步时钟产生模块停止该读时钟;
所述异步时钟产生模块,用于根据所述分频比调整模块的分频比产生异步数据的读时钟提供给所述缓存维护模块。
8.如权利要求7所述的传输系统,其特征在于:
所述分频比调整模块,还用于记录对所述缓冲区的数据深度设定的k个阈值,每一数据深度阈值f(i),对应的分频比的调整值,所述调整值小于等于一设定的最大值,其中k为正整数,f(i)为正整数且f(i)<f(i+1),i为正整数且i∈[1,k];定时获取所述缓冲区的数据深度信息,若检测到所述数据深度增大并超过阈值f(i),利用所述阈值f(i)对应的调整值缩小当前的分频比,将调整后的分频比发送到所述异步时钟产生模块。
9.如权利要求7所述的传输系统,其特征在于:
所述分频比调整模块,利用所述缓冲区的数据深度信息调整所述读时钟的频率,根据有理数分频方法进行调整,检测到所述缓冲区中的数据深度增大,则缩小有理数分频比的标称值。
11.如权利要求6或7所述的传输系统,其特征在于,所述缓存维护模块进一步包括检测模块、存储模块和读数据模块,其中:
所述检测模块,用于实时检测存储模块的数据深度,并将所述数据深度信息提供给分频比调整模块;
所述存储模块,包括缓冲区,用于存储所述起始位检测模块解封装得到的异步数据;
所述读数据模块,用于利用所述读时钟读取存储模块中的数据并输出,若检测到所述读时钟停止,则输出表示空闲的数据(IDLE)。
12.如权利要求6所述的传输系统,其特征在于,还包括输入数据转换模块、输出数据转换模块和计时模块,所述输入数据转换模块位于起始位检测模块和缓存维护模块之间,所述输出数据转换模块位于缓存维护模块的输出端,其中:
所述输入数据转换模块,用于接收起始位检测模块发送的数据,转化为并行数据,发送到缓存维护模块;
所述输出数据转换模块,用于接收缓存维护模块发送的数据,转化为串行数据输出;
所述计时模块,用于收到起始位检测模块的通知,启动一计时器,计时器到时,通知起始位检测模块,所述计时器的时长等于串行传输一个所述异步数据包的时长;
所述起始位检测模块,还用于检测同步数据帧中异步数据的起始位,检测到异步数据的起始位,通知计时模块,并停止检测,该计时器到期,重新开始检测。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010165369.XA CN101820324B (zh) | 2010-04-30 | 2010-04-30 | 一种异步数据的同步传输方法和系统 |
PCT/CN2010/078330 WO2011134251A1 (zh) | 2010-04-30 | 2010-11-02 | 一种异步数据的同步传输方法和系统 |
US13/637,456 US8675742B2 (en) | 2010-04-30 | 2010-11-02 | Method and system for synchronously transmitting asynchronous data |
EP10850582.7A EP2544415B1 (en) | 2010-04-30 | 2010-11-02 | Method and system for synchronously transmitting asynchronous data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010165369.XA CN101820324B (zh) | 2010-04-30 | 2010-04-30 | 一种异步数据的同步传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101820324A true CN101820324A (zh) | 2010-09-01 |
CN101820324B CN101820324B (zh) | 2014-04-09 |
Family
ID=42655281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010165369.XA Expired - Fee Related CN101820324B (zh) | 2010-04-30 | 2010-04-30 | 一种异步数据的同步传输方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8675742B2 (zh) |
EP (1) | EP2544415B1 (zh) |
CN (1) | CN101820324B (zh) |
WO (1) | WO2011134251A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011134251A1 (zh) * | 2010-04-30 | 2011-11-03 | 中兴通讯股份有限公司 | 一种异步数据的同步传输方法和系统 |
CN102301639A (zh) * | 2011-07-20 | 2011-12-28 | 华为技术有限公司 | 校正时钟抖动的方法和装置 |
CN103684736A (zh) * | 2013-11-21 | 2014-03-26 | 国网上海市电力公司 | 一种高速通信中时钟同步的方法 |
CN103777676A (zh) * | 2014-01-06 | 2014-05-07 | 建荣集成电路科技(珠海)有限公司 | 通信时钟频率自适应装置及方法 |
CN104868919A (zh) * | 2014-02-20 | 2015-08-26 | 群联电子(马来西亚)股份有限公司 | 时脉调整电路与数字模拟转换装置 |
CN106301746A (zh) * | 2015-05-28 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 时钟恢复方法及装置 |
CN106603216A (zh) * | 2016-12-06 | 2017-04-26 | 广东高云半导体科技股份有限公司 | 一种无线微波通信系统的e1定时恢复装置及其应用 |
CN113612518A (zh) * | 2021-07-30 | 2021-11-05 | 南京控维通信科技有限公司 | 卫星调制解调器同步接口数据处理系统及数据处理方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516455B (zh) * | 2012-06-21 | 2017-02-22 | 天津中兴智联科技有限公司 | 一种数据同步的方法及装置 |
FR3029661B1 (fr) * | 2014-12-04 | 2016-12-09 | Stmicroelectronics Rousset | Procedes de transmission et de reception d'un signal binaire sur un lien serie, en particulier pour la detection de la vitesse de transmission, et dispositifs correspondants |
CN109104260B (zh) * | 2018-07-26 | 2019-09-24 | 电子科技大学 | 板卡式多通道数据采集系统的同步方法 |
FR3100629B1 (fr) * | 2019-09-10 | 2023-04-07 | St Microelectronics Grenoble 2 | Communication par bus CAN |
CN114826542B (zh) * | 2022-05-17 | 2023-05-16 | 重庆奥普泰通信技术有限公司 | 基于异步串行通信的数据传输方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1188359A (zh) * | 1996-10-24 | 1998-07-22 | 克罗内有限公司 | 在异步传送方式网络中进行同步传输的方法及电路结构 |
CN1761235A (zh) * | 2004-10-11 | 2006-04-19 | 中兴通讯股份有限公司 | 异步串口数据的远程传输方法 |
CN201118605Y (zh) * | 2007-09-05 | 2008-09-17 | 中国电子科技集团公司第五十四研究所 | 无损伤异步数据准同步传输装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6904110B2 (en) * | 1997-07-31 | 2005-06-07 | Francois Trans | Channel equalization system and method |
US6161160A (en) * | 1998-09-03 | 2000-12-12 | Advanced Micro Devices, Inc. | Network interface device architecture for storing transmit and receive data in a random access buffer memory across independent clock domains |
US6920185B2 (en) * | 2001-07-23 | 2005-07-19 | Advent Networks, Inc | Distributed block frequency converter |
JP3655249B2 (ja) * | 2002-03-05 | 2005-06-02 | 松下電器産業株式会社 | データ受信再生方法およびデータ通信装置 |
CN101166062B (zh) * | 2006-10-18 | 2011-04-20 | 华为技术有限公司 | 一种光网络传送同步数字体制帧的方法和系统 |
CN101820324B (zh) * | 2010-04-30 | 2014-04-09 | 中兴通讯股份有限公司 | 一种异步数据的同步传输方法和系统 |
-
2010
- 2010-04-30 CN CN201010165369.XA patent/CN101820324B/zh not_active Expired - Fee Related
- 2010-11-02 EP EP10850582.7A patent/EP2544415B1/en not_active Not-in-force
- 2010-11-02 WO PCT/CN2010/078330 patent/WO2011134251A1/zh active Application Filing
- 2010-11-02 US US13/637,456 patent/US8675742B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1188359A (zh) * | 1996-10-24 | 1998-07-22 | 克罗内有限公司 | 在异步传送方式网络中进行同步传输的方法及电路结构 |
CN1761235A (zh) * | 2004-10-11 | 2006-04-19 | 中兴通讯股份有限公司 | 异步串口数据的远程传输方法 |
CN201118605Y (zh) * | 2007-09-05 | 2008-09-17 | 中国电子科技集团公司第五十四研究所 | 无损伤异步数据准同步传输装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011134251A1 (zh) * | 2010-04-30 | 2011-11-03 | 中兴通讯股份有限公司 | 一种异步数据的同步传输方法和系统 |
US8675742B2 (en) | 2010-04-30 | 2014-03-18 | Zte Corporation | Method and system for synchronously transmitting asynchronous data |
CN102301639A (zh) * | 2011-07-20 | 2011-12-28 | 华为技术有限公司 | 校正时钟抖动的方法和装置 |
CN102301639B (zh) * | 2011-07-20 | 2014-07-30 | 华为技术有限公司 | 校正时钟抖动的方法和装置 |
CN103684736A (zh) * | 2013-11-21 | 2014-03-26 | 国网上海市电力公司 | 一种高速通信中时钟同步的方法 |
CN103777676A (zh) * | 2014-01-06 | 2014-05-07 | 建荣集成电路科技(珠海)有限公司 | 通信时钟频率自适应装置及方法 |
CN104868919A (zh) * | 2014-02-20 | 2015-08-26 | 群联电子(马来西亚)股份有限公司 | 时脉调整电路与数字模拟转换装置 |
CN106301746A (zh) * | 2015-05-28 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 时钟恢复方法及装置 |
CN106603216A (zh) * | 2016-12-06 | 2017-04-26 | 广东高云半导体科技股份有限公司 | 一种无线微波通信系统的e1定时恢复装置及其应用 |
CN113612518A (zh) * | 2021-07-30 | 2021-11-05 | 南京控维通信科技有限公司 | 卫星调制解调器同步接口数据处理系统及数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2544415B1 (en) | 2017-04-19 |
EP2544415A4 (en) | 2016-02-24 |
CN101820324B (zh) | 2014-04-09 |
US8675742B2 (en) | 2014-03-18 |
US20130070865A1 (en) | 2013-03-21 |
EP2544415A1 (en) | 2013-01-09 |
WO2011134251A1 (zh) | 2011-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101820324B (zh) | 一种异步数据的同步传输方法和系统 | |
US6757348B1 (en) | High-speed coordinated multi-channel elastic buffer | |
CN101079854B (zh) | 消除网络信号间的信号偏斜的方法及网络装置 | |
CN110233708B (zh) | 一种数据收发速率调整装置及其运行方法 | |
TW201441823A (zh) | 具有基於資料符號移轉之時脈之多線單端推拉式鏈結 | |
CN1812317A (zh) | 同步媒介访问控制器 | |
CN102708086A (zh) | 一种应用于usb3.0的弹性缓冲结构及方法 | |
CN204633784U (zh) | 一种数据传输装置 | |
CN1852087A (zh) | 包交换网络中的时钟同步方法及实现装置 | |
CN101729237A (zh) | 串行信号接收装置、串行发送系统、和串行发送方法 | |
CN102789442A (zh) | 校正移动产业处理器接口中信号偏移方法及相关传输系统 | |
CN107515836A (zh) | 一种动态双阈值的bmc解码装置及方法 | |
CN101719858B (zh) | Can控制器的位时序的同步处理方法 | |
WO2018081010A1 (en) | Reducing transmitter encoding jitter in a c-phy interface using multiple clock phases to launch symbols | |
CN101599962A (zh) | 提高工业以太网网络设备同步精度的方法 | |
CN207302043U (zh) | 一种动态双阈值的bmc解码装置 | |
CN103051440B (zh) | 一种16:66路信号变换及并行同步检测方法 | |
CN111475447B (zh) | 一种基于lvds的高速串行传输的装置及数据传输方法 | |
CN111124982B (zh) | 一种异步时钟数据同步电路 | |
CN1825795A (zh) | 用于确定最优采样相位的网络设备和方法 | |
CN100568794C (zh) | 使用半频时钟实现双倍速率数据采样的采样方法和系统 | |
CN204244256U (zh) | 一种多路e1解帧系统 | |
CN203399083U (zh) | 高速串行数据恢复电路及其时序缓冲电路 | |
CN103209146A (zh) | 信号均衡装置及其方法 | |
US11822503B2 (en) | Data transmission apparatus and method using signal transition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140409 Termination date: 20200430 |
|
CF01 | Termination of patent right due to non-payment of annual fee |