CN108322298A - 一种uart失同步恢复的方法、设备及系统 - Google Patents
一种uart失同步恢复的方法、设备及系统 Download PDFInfo
- Publication number
- CN108322298A CN108322298A CN201810010748.8A CN201810010748A CN108322298A CN 108322298 A CN108322298 A CN 108322298A CN 201810010748 A CN201810010748 A CN 201810010748A CN 108322298 A CN108322298 A CN 108322298A
- Authority
- CN
- China
- Prior art keywords
- uart
- low level
- stop position
- short pulse
- output
- 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
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/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/002—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0602—Systems characterised by the synchronising information used
- H04J3/0605—Special codes used as synchronising signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0054—Detection of the synchronisation error by features other than the received signal transition
- H04L7/0066—Detection of the synchronisation error by features other than the received signal transition detection of error based on transmission code rule
-
- 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
Abstract
本发明公开了一种UART失同步恢复的方法、设备及系统,所述方法包括确定待输出的UART链路帧信号;当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种UART失同步恢复的方法、设备及系统。
背景技术
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种串行通信方式,串行通信方式具有传输线少,成本低等优点。
UART的通信方式为异步通信方式,数据接收端和发送端可以独立的进行,这样有利于增加发送和接收的灵活性。在UART通信中,数据以字节为单位的字节帧进行传送,其中字节帧格式规定了起始位、数据位、停止位等,UART通信是由起始位和停止位来实现字符的同步。
现有UART编解码上,起始位通常为“0”,然而,从信号的本质上看起始位“0”和数据位中的数据“0”并没有不同,在UART应用中,当发送端与接收端工作开始时间有差异或者连接线中断后接上,接收端可能会将数据“0”识别成起始位的“0”造成解码出的数据错误。
现在UART解码机制,不能及时发现采样失同步,需要足够的总线空闲时间,也即持续为‘1’一段时间使解码状态机回到空闲状态,而插入空闲电平‘1’以又会导致总线带宽利用率不高。实际应用中,连续发送的多个链路帧之间没有空闲时间时,若出现失同步的情况,会连续出错很多数据,且UART不容易从失同步中恢复,换句话说,现有的UART解码机制从失同步故障中恢复依赖于帧空闲时间。
所以,现有技术中,存在UART难以从失同步中恢复的技术问题。
发明内容
本发明实施例提供一种UART失同步恢复的方法、设备及系统,用于解决现有技术中,存在UART难以从失同步中恢复的技术问题。
为此,第一方面,本发明实施例提供了一种UART失同步恢复的方法,包括:
确定待输出的UART链路帧信号;
当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
可选的,在输出所述停止位之前,包括:生成用于指示所述停止位的指示信号。
可选的,所述低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一。
可选的,在确定待输出的UART链路帧信号之前,还包括:
接收用于指示输出UART链路帧信号的触发信号;
根据所述触发信号,锁存待输出的N位数据;
由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号的数据位中,N为大于等于1的整数。
第二方面,本发明实施例还提供了一种UART失同步恢复的方法,包括:
接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
对所述UART链路帧信号进行数据采样;
若数据采样过程中输出了低电平,则退出采样状态。
可选的,所述对所述UART链路帧信号进行数据采样,包括:
滤除所述UART链路帧信号中的低电平短脉冲;
对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
可选的,所述方法还包括:
从所述UART链路帧信号中获取插入的低电平短脉冲。
第三方面,本发明实施例还提供了一种UART设备,包括编码器;
所述编码器包括:
UART编码模块,用于确定待输出的UART链路帧信号;
同步标识插入模块,用于当所述UART编码模块输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
可选的,所述UART编码模块用于:
在输出所述停止位之前,生成用于指示所述停止位的指示信号;
将所述指示信号发送给所述同步标识插入模块,以使得所述同步标识插入模块根据所述指示信号,在所述UART编码模块输出到所述停止位时在所述停止位中插入用于同步标识的低电平短脉冲。
可选的,所述低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一。
可选的,所述UART编码模块还用于:
接收用于指示输出UART链路帧信号的触发信号;
根据所述触发信号,锁存待输出的N位数据;
由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号中的数据位中,N为大于等于1的整数。
第四方面,本发明实施例还提供了一种UART设备,包括解码器;
所述解码器包括:UART解码模块以及同步恢复模块;
其中,所述UART解码模块,用于接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
以及用于对所述UART链路帧信号进行数据采样,若数据采样过程中所述同步恢复模块根据所述低电平短脉冲输出了低电平,则所述UART解码模块退出采样状态。
可选的,所述解码器还包括滤波器;
所述滤波器,用于滤除所述UART链路帧信号中的低电平短脉冲;
所述UART解码模块,还用于对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
可选的,所述同步恢复模块用于:从所述UART链路帧信号中获取插入的低电平短脉冲。
第五方面,本发明实施例还提供了一种UART失同步恢复的系统,包括:
至少如上述第三方面所述的编码器;以及
至少如上述第四方面所述的解码器。
由于本申请实施例中的技术方案,采用了确定待输出的UART链路帧信号;当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态的技术方案。
也即在待发送的UART链路帧信号中的停止位中插入用于同步标识的短脉冲信号,接收端UART解码模块在出现采样失同步时,接收端UART解码模块未采样到8次也即还处于采样过程中时,同步恢复模块就会根据插入的短脉冲信号输出低电平,进而判定UART解码模块当前出现了采样失同步状态,UART解码模块就会退出当前的失同步采用状态,回到空闲状态等待下一帧UART链路帧信号到来,避免了现有技术中,在出现采用失同步时,UART解码模块无法识别当前的采用失同步状态,进而继续进行采用,采集出错误的数据,导致UART解码模块难以从失同步状态中快速恢复出来的情况,所以,有效的解决了现有技术中,现有技术中,存在的UART难以从失同步中恢复的技术问题,具有能够使UART解码模块从失同步状态中快速恢复出来的有益技术效果,同时,也不需要插入空闲电平‘1’,所以还具有总线带宽利用率高的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本申请实施例提供的一种UART失同步恢复的UART通信系统的结构示意图;
图2为本申请实施例提供的一种UART失同步恢复的方法的流程图;
图3A-3B为本申请实施例中提供的UART链路帧信号的结构示意图;
图4为本申请实施例中还可以执行的一些步骤的流程图;
图5为本申请实施例中提供的系统中各个模块传输的信号的结构示意图;
图6为本申请实施例中的UART链路帧信号失同步的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
请参考图1,为本发明实施例中提供的一种UART失同步恢复的UART通信系统,该系统包括发送端UART和接收端UART,发送端UART包括编码器,接收端UART包括解码器,其中,编码器包括UART编码模块、波特率时钟发生模块、以及同步标识插入模块,同步标识插入模块与UART编码模块通过逻辑与门连接;解码器包括滤波器、UART解码模块、波特率时钟发生模块以及同步恢复模块。
下面给出本发明实施例应用于上述系统的UART失同步恢复的方法,如图2所示,包括:
步骤S101:确定待输出的UART链路帧信号;
步骤S102:当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
发送端UART的UART编码模块首先要确定待传输的UART链路帧信号,在实际应用中,UART链路帧信号的帧结构通常如图3A所示,包括起始位、数据位、校验位以及停止位,在具体实践过程中,校验位中的数据通常不需要发送,因此,发送端UART的UART编码模块确定出的待传输的UART链路帧信号如图3B所示依次包括起始位、数据位以及停止位,数据位通常包括8位数据也即8bit数据,当然,也可以包括其他个数的数据,在此以如图3A-3B所示的数据位包括8bit的数据也即51H(H为十六进制)数据,分别为bit0,bit1,bit2,bit3,bit4,bit5,bit6以及bit7为例。
请参考图4,在实际应用中,在发送端UART的UART编码模块确定出待发送的UART链路帧信号之前,发送端UART的UART编码模块还可以执行以下步骤:
步骤S201:接收用于指示输出UART链路帧信号的触发信号;
步骤S202:根据所述触发信号,锁存待输出的N位数据;
步骤S203:由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号的数据位中,N为大于等于1的整数。
也即发送端UART的UART编码模块确定出待发送的UART链路帧信号之前,还会接收到用于指示UART编码模块输出UART链路帧信号的触发信号,在UART编码模块接收到该触发信号之后,就可以先锁存待输出的数据,同样的,待输出的数据可以为8bit,也可以为其他位数,在此,以待输出的数据为8bit为例。
那么,发送端UART的UART编码模块接收到上述触发信号之后,就会锁存待输出的8bit数据,然后为锁存的这8bit数据配置一个起始位和停止位,在实际应用中,起始位通常为低电平,停止位为高电平,锁存的8bit数据存放在UART链路帧信号中的数据位中,进而由配置的起始位,存放的8bit数据的数据位以及停止位组成待输出的具有如上述3所示的链路帧格式的UART链路帧信号,也即1bit起始+8bit数据+1bit停止。
本发明实施例在执行完上述步骤S101之后,就可以执行步骤S102,也即当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
具体的,当发送端UART的UART编码模块确定出待发送的包括上述bit0至bit7这8bit数据的UART链路帧信号之后,发送端UART就可以使能波特率时钟发送模块,进而使得UART编码模块在波特率时钟发送模块生成的每一个波特率时钟的上升沿(或下降沿)输出待发送的UART链路帧信号的一个bit,当然,发送端UART的UART编码模块会按照UART链路帧信号中起始位、数据位以及停止位的顺序输出,也即,发送端UART首先在第一个波特率发时钟的上升沿输出起始位,在第二个波特率发时钟的上升沿输出数据位中的第一位也即图3中所示的bit0,然后在三个波特率发时钟的上升沿输出数据位中的第三位也即bit2,直到输出数据位中的第8位也即bit7之后,发送端UART的同步标识插入模块就会在停止位中插入用于同步标识的低电平短脉冲。
在实际应用中,发送端UART的同步标识插入模块在停止位中插入用于同步标识的低电平短脉冲的具体过程如下:
具体的,当发送端UART中的UART编码模块在输出数据位中的第8位也即bit7之后,就会生成用于指示停止位到来的指示信号,UART编码模块会将生成的用于指示停止位到来的指示信号发送给同步标识插入模块,同步标识插入模块在接收到该指示信号之后,就可以延时M个sys_clk(系统时钟)拉低该同步标识插入模块的输出也即延时M个sys_clk时钟输出低电平“0”,然后,保持Q个sys_clk时间的低电平“0”之后,再拉高同步标识插入模块的输出也即输出高电平“1”,即可在该UART链路帧信号中的停止位中间产生一个维持Q个sys_clk的低电平的短脉冲。
在实际应用中,UART通信系统中的系统时钟通常是波特率的10倍以上,即每个bit的脉宽时间大于等于系统时钟sys_clk周期的10倍,在本发明实施例中以1个bit的脉宽时间为系统时钟sys_clk周期的16倍,也即16倍采样为例,那么,上述M取值范围为小于16,大于等于1。
在实际应用中,停止位中的产生的低电平的短脉冲的脉冲宽度一定会小于停止位的脉冲宽度,所以,上述Q取值范围也为小于16,大于等于1,在具体实践过程,为了使接收端能够更加准备的从停止位中识别出插入的低电平短脉冲,可以设置低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一,例如设置Q取值范围为3到8等。
在本发明实施例中,具体以M取值6,Q取值3为例,也即同步标识插入模块在接收到该指示信号之后就可以延时6个sys_clk时钟拉低该同步标识插入模块的输出,然后,保持3个sys_clk时间的低电平之后再拉高同步标识插入模块的输出,即可在该UART链路帧信号中的停止位中间产生一个维持3个sys_clk的低电平的短脉冲,然后,UART编码模块就会输出插入了上述维持3个sys_clk的低电平短脉冲的停止位的UART链路帧信号中。
请参考图5,图5中的①所示的第1帧数据表示本发明实施例中的确定出的待发送的UART链路帧信号,此时,①所示的UART链路帧信号中的停止位还没有插入短脉冲,图5中的②表示在UART编码模块依次输出UART链路帧信号中各个位时,同步标识插入模块输出的相应电平,也即在UART编码模块依次输出UART链路帧信号中起始位以及8位数据到逻辑与门时,同步标识插入模块输出的相应的高电平到逻辑与门,进而通过逻辑与输出UART链路帧信号中起始位以及8位数据,同时在UART编码模块输出UART链路帧信号中第8位数据之后,产生指示停止位到来的指示信号,并将该指示信号发生给同步标识插入模块。
同步标识插入模块在接收到该指示信号之后延时6个sys_clk时钟拉低该同步标识插入模块的输出,然后,保持3个sys_clk时间的低电平之后再拉高同步标识插入模块的输出,进而在UART编码模块输出UART链路帧信号中的停止位到逻辑与的同时,同步标识插入模块输出图5中的②所示低电平短脉冲(②中相对于①停止位脉冲下方的那个低电平短脉冲),然后,该②所示低电平短脉冲与停止位在逻辑与门中进行与,就输出了图5中的③所示的插入了低电平短脉冲的停止位(③中第一帧停止位)。
系统中的接收端UART接收到如图5中③所示的第一帧数据,也即在停止位插入了维持3个sys_clk的低电平短脉冲的UART链路帧信号,然后,接收端UART中的UART解码模块就会对接收到的UART链路帧信号进行采样,在实际应用中,UART解码模块在对接收到的UART链路帧信号进行采样之前,接收端UART还可以先通过滤波器滤除UART链路帧信号中插入的上述低电平短脉冲,也即接收端UART先将接收到的UART链路帧信号通过滤波器进行滤波,滤波后再输入到UART解码模块进行解码。
在实际应用中,滤波器可以采样延时滤波的方式将接收到的UART链路帧信号输出滞后其输入3个sys_clk,从而滤除掉UART链路帧信号中的3个sys_clk的低电平短脉冲,请参考图5中的④,④中的第一帧数据表示经过滤波器滤掉3个sys_clk的低电平短脉冲之后的UART链路帧信号,在滤波器滤除UART链路帧中的3个sys_clk的低电平短脉冲之后,接收端UART中的UART解码模块就可以对滤除低电平短脉冲之后的UART链路帧信号进行采样。
请结合图1参考,接收端UART还会将接收到的UART链路帧信号通过同步恢复模块,使得同步恢复模块从接收到的UART链路帧信号中获取如图5中⑤所示的插入的维持3个sys_clk的低电平短脉冲,进而结合获取的该低电平短脉冲联合判断对滤除低电平短脉冲之后的UART链路帧信号进行的采样是否同步,具体过程如下:
UART解码模块先识别UART链路帧信号中起始位,由于起始位为低电平也即为“0”,所以,UART解码模块在接收到UART链路帧信号中起始位的有效下降沿,就可以识别出起始位“0”。然后,UART解码模块就会在接下来的每个波特率时钟对UART链路帧信号中的每bit位数据进行采样,同时每采样完一个bit位数据,采样计算器就会计数一次。
若接收端UART的UART解码模块未出现采样失同步状态,也即处于采样同步状态,UART解码模块在对UART链路帧信号中的数据位的第一bit位数据也即bit0采样时,采样计算器加1;在UART解码模块对bit1进行采样时,采样计算器加1,此时采样计数器的值就为2,直到UART解码模块对bit7进行采样,采样计算器再次加1,采样计数器的值就为8,表明数据已经采样完成,此时,同步恢复模块也会在UART解码模块采样8次之后,根据获取的UART链路帧信号中的停止位中的短脉冲输出低电平,也即在UART解码模块处于采样同步状态时,UART解码模块中的采样计数器中的值会为8,且在采样8次之后,同步恢复模块也会输出了低电平。
若接收端UART的UART解码模块出现采样失同步状态,那么,UART解码模块还未采样到第8次(采样计数器的值小于8)也即还处于采样过程中,采样还未完成,同步恢复模块就会输出低电平,请参考图6,这里假设,由于某些原因如接收端UART与发送端UART连接线中断后接上,导致接收端UART的UART解码模块出现采样失同步状态,如从图6中所示的1开始接收第一帧,并将第一帧数据位中的第二位数据,bit1的“0”识别成第一帧起始位“0”也即图6中标识的2-3对应的bit位识别为第一帧起始位,UART解码模块就会从第三位数据bit2开始进行采样,采样计数器加1,采样计数器的值此时才为1。
然后,UART解码模块会对第四位数据也即bit3开始进行采样,采样计数器加1,采样计数器的值此时才为2,直到UART解码模块会对第8位数据也即bit7进行采样,采样计数器加1,采样计数器的值此时才为6,采样计数器中的值小于8,表示采样未完成,此时,同步恢复模块由于获取到了UART链路帧信号中的停止位中的短脉冲,进而输出低电平,换句话说,在UART解码模块处于采样失同步状态时,UART解码模块中的采样计数器中的值会小于8也即还处于采样过程中采样未完成,同步恢复模块就会输出了低电平,此时,UART解码模块就会退出失同步采样状态,回到空闲状态等待下一帧UART链路帧信号到来,进而使得UART解码模块从失同步状态中快速恢复出来。
所以,在上述方法,通过采样确定待输出的UART链路帧信号;当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态的技术方案。
也即在待发送的UART链路帧信号中的停止位中插入用于同步标识的短脉冲信号,接收端UART解码模块在出现采样失同步时,接收端UART解码模块未采样到8次也即还处于采样过程中时,同步恢复模块就会根据插入的短脉冲信号输出低电平,进而判定UART解码模块当前出现了采样失同步状态,UART解码模块就会退出当前的失同步采用状态,回到空闲状态等待下一帧UART链路帧信号到来,避免了现有技术中,在出现采用失同步时,UART解码模块无法识别当前的采用失同步状态,进而继续进行采用,采集出错误的数据,导致UART解码模块难以从失同步状态中快速恢复出来的情况,所以,有效的解决了现有技术中,现有技术中,存在的UART难以从失同步中恢复的技术问题,具有能够使UART解码模块从失同步状态中快速恢复出来的有益技术效果,同时,也不需要插入空闲电平‘1’,所以还具有总线带宽利用率高的技术效果。
基于同一发明构思,本发明实施例中提供了一种UART失同步恢复的方法,该方法应用于接收端,该接收端的UART从失同步恢复方法的具体实施可参见上述应用于发送端的UART从失同步恢复的方法实施例部分的描述,重复之处不再赘述,该方法包括:
接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
对所述UART链路帧信号进行数据采样;
若数据采样过程中输出了低电平,则退出采样状态。
可选的,所述对所述UART链路帧信号进行数据采样,包括:
滤除所述UART链路帧信号中的低电平短脉冲;
对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
可选的,所述方法还包括:
从所述UART链路帧信号中获取插入的低电平短脉冲。
基于同一发明构思,本发明实施例中提供了一种UART设备,该UART设备的UART失同步恢复的方法的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,该设备包括:
编码器;
所述编码器包括:
UART编码模块,用于确定待输出的UART链路帧信号;
同步标识插入模块,用于当所述UART编码模块输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
可选的,所述UART编码模块用于:
在输出所述停止位之前,生成用于指示所述停止位的指示信号;
将所述指示信号发送给所述同步标识插入模块,以使得所述同步标识插入模块根据所述指示信号,在所述UART编码模块输出到所述停止位时在所述停止位中插入用于同步标识的低电平短脉冲。
可选的,所述低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一。
可选的,所述UART编码模块还用于:
接收用于指示输出UART链路帧信号的触发信号;
根据所述触发信号,锁存待输出的N位数据;
由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号中的数据位中,N为大于等于1的整数。
基于同一发明构思,本发明实施例中提供了一种UART设备,该UART设备的UART失同步恢复的方法的具体实施可参见上述方法实施例部分的描述,重复之处不再赘述,该设备包括:
解码器;
所述解码器包括:UART解码模块以及同步恢复模块;
其中,所述UART解码模块,用于接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
以及用于对所述UART链路帧信号进行数据采样,若数据采样过程中所述同步恢复模块根据所述低电平短脉冲输出了低电平,则所述UART解码模块退出采样状态。
可选的,所述解码器还包括滤波器;
所述滤波器,用于滤除所述UART链路帧信号中的低电平短脉冲;
所述UART解码模块,还用于对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
可选的,所述同步恢复模块用于:从所述UART链路帧信号中获取插入的低电平短脉冲。
基于同一发明构思,本发明实施例中提供了一种计算机可读存储介质:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如上所述的UART失同步恢复的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采样完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采样在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种UART失同步恢复的方法,其特征在于,包括:
确定待输出的UART链路帧信号;
当输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收到UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
2.如权利要求1所述的方法,其特征在于,在输出所述停止位之前,包括:生成用于指示所述停止位的指示信号。
3.如权利要求1所述的方法,其特征在于,所述低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一。
4.如权利要求1-3中任一项所述的方法,其特征在于,在确定待输出的UART链路帧信号之前,还包括:
接收用于指示输出UART链路帧信号的触发信号;
根据所述触发信号,锁存待输出的N位数据;
由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号的数据位中,N为大于等于1的整数。
5.一种UART失同步恢复的方法,其特征在于,包括:
接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
对所述UART链路帧信号进行数据采样;
若数据采样过程中输出了低电平,则退出采样状态。
6.如权利要求5所述的方法,其特征在于,所述对所述UART链路帧信号进行数据采样,包括:
滤除所述UART链路帧信号中的低电平短脉冲;
对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
7.如权利要求5所述的方法,其特征在于,所述方法还包括:
从所述UART链路帧信号中获取插入的低电平短脉冲。
8.一种UART设备,其特征在于,包括编码器;
所述编码器包括:
UART编码模块,用于确定待输出的UART链路帧信号;
同步标识插入模块,用于当所述UART编码模块输出到所述UART链路帧信号的停止位时,在所述停止位中插入用于同步标识的低电平短脉冲,以使得接收端在接收UART链路帧信号之后进行数据采样,若所述接收端在数据采样过程中输出了低电平,判定所述接收端处于采样失同步状态,则所述接收端退出采样状态。
9.如权利要求8所述的UART设备,其特征在于,所述UART编码模块用于:
在输出所述停止位之前,生成用于指示所述停止位的指示信号;
将所述指示信号发送给所述同步标识插入模块,以使得所述同步标识插入模块根据所述指示信号,在所述UART编码模块输出到所述停止位时在所述停止位中插入用于同步标识的低电平短脉冲。
10.如权利要求8所述的UART设备,其特征在于,所述低电平短脉冲的脉冲宽度小于所述停止位的脉冲宽度的二分一。
11.如权利要求8-10中任一项所述的UART设备,其特征在于,所述UART编码模块还用于:
接收用于指示输出UART链路帧信号的触发信号;
根据所述触发信号,锁存待输出的N位数据;
由起始位、所述N位数据以及所述停止位形成待输出的UART链路帧信号,其中,所述N位数据存放在所述UART链路帧信号中的数据位中,N为大于等于1的整数。
12.一种UART设备,其特征在于,包括解码器;
所述解码器包括:UART解码模块以及同步恢复模块;
其中,所述UART解码模块,用于接收UART链路帧信号,其中,所述UART链路帧信号中的停止位插入了用于同步标识的低电平短脉冲;
以及用于对所述UART链路帧信号进行数据采样,若数据采样过程中所述同步恢复模块根据所述低电平短脉冲输出了低电平,则所述UART解码模块退出采样状态。
13.如权利要求12所述的UART设备,其特征在于,所述解码器还包括滤波器;
所述滤波器,用于滤除所述UART链路帧信号中的低电平短脉冲;
所述UART解码模块,还用于对滤除低电平短脉冲后的UART链路帧信号进行数据采样。
14.如权利要求12所述的UART设备,其特征在于,所述同步恢复模块用于:从所述UART链路帧信号中获取插入的低电平短脉冲。
15.一种UART从失同步恢复的系统,其特征在于,包括:
至少如权利要求8-11中任一项所述的编码器;以及
至少如权利要求12-14中任一项所述的解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810010748.8A CN108322298B (zh) | 2018-01-05 | 2018-01-05 | 一种uart失同步恢复的方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810010748.8A CN108322298B (zh) | 2018-01-05 | 2018-01-05 | 一种uart失同步恢复的方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108322298A true CN108322298A (zh) | 2018-07-24 |
CN108322298B CN108322298B (zh) | 2020-12-08 |
Family
ID=62893739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810010748.8A Active CN108322298B (zh) | 2018-01-05 | 2018-01-05 | 一种uart失同步恢复的方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322298B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098897A (zh) * | 2019-04-25 | 2019-08-06 | 珠海格力电器股份有限公司 | 串行通信方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004036821A1 (en) * | 2002-10-18 | 2004-04-29 | Koninklijke Philips Electronics N.V. | Data processing apparatus that identifies a communication clock frequency |
CN101534259A (zh) * | 2009-04-15 | 2009-09-16 | 兰州大成自动化工程有限公司 | 异步通信控制器及其控制方法 |
CN101599053A (zh) * | 2008-06-05 | 2009-12-09 | 联想(北京)有限公司 | 支持多种传输协议的串行接口控制器及控制方法 |
CN102346435A (zh) * | 2010-07-28 | 2012-02-08 | 卡西欧计算机株式会社 | 时刻信息取得装置以及电波钟表 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
-
2018
- 2018-01-05 CN CN201810010748.8A patent/CN108322298B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004036821A1 (en) * | 2002-10-18 | 2004-04-29 | Koninklijke Philips Electronics N.V. | Data processing apparatus that identifies a communication clock frequency |
CN101599053A (zh) * | 2008-06-05 | 2009-12-09 | 联想(北京)有限公司 | 支持多种传输协议的串行接口控制器及控制方法 |
CN101534259A (zh) * | 2009-04-15 | 2009-09-16 | 兰州大成自动化工程有限公司 | 异步通信控制器及其控制方法 |
CN102346435A (zh) * | 2010-07-28 | 2012-02-08 | 卡西欧计算机株式会社 | 时刻信息取得装置以及电波钟表 |
CN103684678A (zh) * | 2012-11-01 | 2014-03-26 | 国网电力科学研究院 | 一种用于uart的波特率自适应方法、装置及uart |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110098897A (zh) * | 2019-04-25 | 2019-08-06 | 珠海格力电器股份有限公司 | 串行通信方法、装置、计算机设备和存储介质 |
CN110098897B (zh) * | 2019-04-25 | 2020-08-18 | 珠海格力电器股份有限公司 | 串行通信方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108322298B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978291B (zh) | 基于i2c总线协议的单线接口总线收发系统系统及i2c单线通讯方法 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN103413094B (zh) | 一种适用于航天器ctu的遥测加密系统 | |
CN107534548B (zh) | 用于基于脉冲的多线链路的时钟和数据恢复 | |
EP2458739B1 (en) | Tranceiver unit | |
CN107171728B (zh) | 1b4b与曼彻斯特编码的正向、反向传输方法及装置、系统 | |
CN204633784U (zh) | 一种数据传输装置 | |
CN103885527A (zh) | 一种基于rrc编码的时钟偏差补偿装置 | |
CN105262565A (zh) | 一种基于相位调制传递时钟与数据的编码方法及系统 | |
CN102546084A (zh) | 异步串行通信数据接收时的抗干扰纠错采样系统和方法 | |
CN107276053B (zh) | 一种光纤纵差保护装置及数据同步方法 | |
CN102970300B (zh) | 一种异步通信方法 | |
CN108322298A (zh) | 一种uart失同步恢复的方法、设备及系统 | |
CN101431389A (zh) | 一种电路及其信号的传输方法 | |
CN201708806U (zh) | 时钟同步信号传输电路 | |
CN104468042A (zh) | 一种数据传输方法和系统 | |
CN106656399A (zh) | 一种基于fpga的光纤数字同步接口系统 | |
CN113824501A (zh) | 一种基于cpld的异步串行信号采样译码方法 | |
RU2677376C2 (ru) | Регулировка синхронизации стека для последовательной связи | |
CN105072058A (zh) | 一种基于光纤传输的数据正反相位编码方法及数据传输方法 | |
CN116015324A (zh) | 一种强化抗干扰的uart数据接收装置及其接收方法 | |
CN113691340B (zh) | 基于曼彻斯特编码的环网柜数字化终端及其数据传输方法 | |
CN103166732A (zh) | 时脉嵌入的数据传输方法以及封包数据编码/解码方法 | |
CN101577598A (zh) | 多路信号复用、解复用的方法、装置和系统 | |
CN107147437B (zh) | 光纤通信方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |