一种通用异步收发器内置传输时钟的校准方法与流程

文档序号:16511370发布日期:2019-01-05 09:21阅读:320来源:国知局
一种通用异步收发器内置传输时钟的校准方法与流程

本发明属于集成电路芯片的设计领域,具体涉及通用异步收发器内置传输时钟的校准方法。



背景技术:

通用异步收发器(universalasynchronousreceiver/transmitter),通常称做uart,是实现设备之间低速数据通信的标准协议。其只需占用两根线就可以完成数据的收发(一根接收数据,一根发送数据),因其协议简单被广泛集成于微处理器,作为数据传输或是调试接口。

通用异步收发器为完全异步数据传输,传统实现方式都存在数据传输过程中的误差积累,当误差积累到约0.5个传输位时间时,则会导致数据传输错误。以12bit的一帧数据(1个起始位,8个数据位,1个校验位,2个停止位)为例,对于±5%时钟精度的通用异步收发器,在传输最后1个bit时,波特率积累的误差已经达到5%*12=60%,超过50%的阈值,该位的传输可能产生错误。因此对于通用异步收发器而言,时钟精度至少达到±4%,才能保证波特率积累误差小于0.5bit,考虑到芯片温度,电压,工艺偏差及电磁场等工作环境的影响,如此精度的时钟对设计提出了很大的挑战,尤其针对低成本的芯片,是不可接受的。



技术实现要素:

本发明的目的,提供一种通用异步收发器内置传输时钟的校准方法,降低了通用异步收发器内置传输时钟的精度要求,提高了通用异步收发的稳定性。

本发明的核心思想是通过在通用异步收发传输数据之前,发送机发送三个传输校准字,接收机接收三个传输校准字,根据校准字的接收情况,找到对应时钟校准系数,实现校准通用异步收发器内置传输时钟,实现低精度时钟下通用异步收发器的稳定传输。详细的技术方案描述如下:

本发明的方法主要包括如下步骤:

步骤1通用异步收发器发送机(102)在传输数据之前,发送第一个传输校准字(106),给通用异步收发器接收机(104);步骤2接收机(104)在校准策略(112)中,根据校准字的接收情况,判断是否需要使用校准参数对通用异步收发器内置传输时钟进行校准,并采取动作;步骤3通用异步收发器发送机(102)发送第二个传输校准字(108);步骤4接收机(104)在校准策略(112)中,根据校准字的接收情况,判断是否需要校准,并采取动作;步骤5通用异步收发器发送机(102)发送第三个传输校准字(110);步骤6接收机(104)在校准策略(112)中,根据校准字的接收情况,判断是否需要校准,并采取动作,完成对通用异步收发器内置传输时钟的校准。

所述通用异步收发器发送机(102)则是通用异步收发器发送动作的实施方,本发明中使用约定波特率,按照约定比特流格式,以特定的时间间隔,发送第一个传输校准字(106),第二个传输校准字(108)和第三个传输校准字(110)。约定波特率可以是任意的常用波特率,包括:921600bps,460800bps,230400bps,115200bps,57600bps,38400bps,19200bps,9600bps。约定比特流格式包括:例如1个起始位+8个数据位+无校验位+1/1.5/2个停止位,1个起始位+8个数据位+1个偶校验位+1/1.5/2个停止位,1个起始位+6个数据位+无校验位+1/1.5/2个停止位,1个起始位+7个数据位+1个偶校验位+1/1.5/2个停止位。

所述通用异步收发器接收机(104)则是通用异步收发器接收动作的实施方,本发明中使用约定波特率,按照约定比特流格式,接收第一个传输校准字(106),第二个传输校准字(108)和第三个传输校准字(110),并根据校准策略(112),实现通用异步收发器内置传输时钟的校准。

所述第一个传输校准字(106)则是通用异步收发器发送机(102)以约定波特率,以约定比特流格式,发送给通用异步收发器接收机(104)的第一个特殊数据,该特殊数据包括:0x55,0xaa,0x15,0x2a。第一个传输校准字(106)选取与比特流格式密切相关,0和1相间是主要特点,能够定位出错第一个比特的位置。

所述第二个传输校准字(108)则是通用异步收发器发送机(102)以约定波特率,以约定比特流格式,发送给通用异步收发器接收机(104)的第二个特殊数据,该特殊数据包括:0x55,0xaa,0x15,0x2a。第二传输校准字(108)的选取与比特流格式密切相关,0和1相间是主要特点,能够定位出错第一个比特的位置。

所述第三个传输校准字(110)则是通用异步收发器发送机(102)以约定波特率,以约定比特流格式,发送给通用异步收发器接收机(104)的第三个特殊数据,该特殊数据包括:0x55,0xaa,0x15,0x2a。第三传输校准字(110)的选取与比特流格式密切相关,0和1相间是主要特点,能够定位出错第一个比特的位置。

所述第一个传输校准字(106),第二个传输校准字(108),第三个传输校准字(110)的选取,包括三个传输校准字完全相同,三个传输校准字不完全相同。

所述校准策略(112)则是针对选定的传输校准字,将通用异步收发器内置传输时钟的偏差范围划分成若干的区间,当通用异步收发器内置传输时钟落在每个偏差区间时,对于发送机发出的选定传输校准字,接收机都会收到唯一的特征值,该特征值可能与传输校准字相同,也可能不同或是会触发比特流校验或是格式错误,当接收机收到唯一的特征值后,可以推断出内置传输时钟落在默认值的哪个偏差区间中,每个偏差区间都有一个对应的校准系数,用于将落入该区间的内置传输时钟,校准到一个可以保证通用异步收发正确进行的精度。

结合本发明的具体实施方式和附图可以更好更全面的了解本发明的方法。

附图说明

图1是通用异步收发器内置传输时钟校准方法框图(100)

图2是通用异步收发器典型传输比特流格式(200)

图3是通用异步收发器内置传输时钟校准实例(300)

图4是校准策略(112)实例(400)

图5是通用异步收发器内置传输时钟校准流程图(900)

具体实施方式

本发明的设计思路和方法的核心是通过在通用异步收发传输数据之前,发送机发送三个传输校准字,接收机接收三个传输校准字,根据校准字的接收情况,找到对应时钟校准系数,实现校准通用异步收发器内置传输时钟,实现低精度时钟下通用异步收发器的稳定传输。

图2示出通用异步收发器典型传输比特流格式(200)。

图2中202代表通用异步收发传输空闲位,若干高电平。

图2中204代表通用异步收发传输比特流格式有效传输位,包括1个起始位,若干个数据位,1个可选校验位,1-2个可选停止位。

图2中206代表通用异步收发传输起始位,1比特低电平。

图2中208代表通用异步收发传输数据位,低有效位在前,高有效位在后。

图2中210代表通用异步收发传输校验位,奇偶校验可选,是否需要校验位可选。

图2中212代表通用异步收发传输停止位,1-2个可选停止位,高电平。

通用异步收发传输中可以根据需要,进行比特流格式的任意配置。

图3示出通用异步收发器内置传输时钟校准实例(300)。

图3中310代表通用异步收发传输比特流格式的一种配置,包括1个起始位,8个数据位,无校验位,1个停止位。传输波特率选择115200bps。第一个传输校准字选取0x55,第二个传输校准字选取0x55,第三个传输校准字选取0x55。传输校准字的选取与比特流格式密切相关,形如310的0和1相间的特点,是本发明的关键。

图3中302代表通用异步收发器发送机发送传输校准字0x55。

图3中304代表通用异步收发器接收机内置传输时钟为精准默认时钟时,接收各个比特的采样点恰好在发送的各个比特的中间位置,接收机可以准确的接收到校准字0x55。

图3中306代表通用异步收发器接收机内置传输时钟比默认时钟快6%时,如果接收机使用默认时钟进行传输波特率计算,接收起始位的采样点比预期发送起始位的中间位置要偏左,且后续比特采样偏左现象记录,直到接收机将数据位最高有效比特错误的当作停止位进行采样,接收机虽然接收到校准字0x55,但是发生了停止位采样错误问题。

图3中308代表将发生306时的传输波特率计算,使用通用异步收发器接收机内置传输时钟快6%的频率进行传输波特率的计算,接收各个比特的采样点恰好在发送的各个比特的中间位置,接收机可以准确的接收到校准字0x55。

图3中312代表接收起始位的采样点比预期发送起始位的中间位置要偏左,且后续比特采样偏左现象记录,直到接收机将数据位最高有效比特错误的当作停止位进行采样。

图4示出校准策略(112)实例(400)。例如通用异步收发器接收机内置传输时钟默认频率为40mhz,由于工艺偏差,温度变化,电磁干扰等内外部环境的变化,实际内置传输时钟可能在32mhz~48mhz之间变化,即默认频率的-20%~20%变化,但具体值未知,如果以40mhz计算传输波特率,以42.4mhz的实际内置传输时钟进行数据采样,则会发生类似306的问题。将默认频率的-20%~20%划分若干区间,在某区间内,对于校准字如0x55,接收机可以通过唯一的特征断定,此时的内置传输时钟就在该区间的偏差范围,通过该区间的校准系数,获得内置传输时钟的较精确值,用于后续传输。

图4中402代表能够找到唯一特征的内置传输时钟较默认频率的所谓正偏区间,如306,处于正偏区间1,接收到的数据为0x55但伴有停止位错误,校准系数为6%。可以此方法获得正偏区间n的相关特征和校准系数。

图4中410代表能够找到唯一特征的内置传输时钟较默认频率的所谓负偏区间,可以306类似的方法获得负偏区间n的相关特征和校准系数。

图4中404代表无法找到唯一特征的内置传输时钟较默认频率的所谓临近正偏区间,如正偏5%,虽然接收到的数据为0x55,但有很大可能性,传输中的微小波动,导致数据接收错误。在接收第二个传输校准字时,故意使用正向拉偏系数,如1%,将接收到唯一特征拉偏到正偏区间,证明此时内置传输时钟频率已经在临近正偏区间,通过该区间的校准系数,获得内置传输时钟的较精确值,用于后续传输。

图4中408代表无法找到唯一特征的内置传输时钟较默认频率的所谓临近负偏区间,可以404类似方法,在接收第三个传输校准字时,故意使用负向拉偏系数,如-1%,将接收到唯一特征拉偏到负偏区间,证明此时内置传输时钟频率已经在临近负偏区间,通过该区间的校准系数,获得内置传输时钟的较精确值,用于后续传输。

图4中406代表经过第一传输校准字,第二传输校准字正拉偏,第三传输校准字负拉偏,都正确接收到校准字0x55,证明内置传输时钟频率非常接近默认时钟频率,不需要进行校准,使用默认的时钟频率计算波特率,进行后续传输即可。

图5示出通用异步收发器内置传输时钟校准流程图(900),尽管本文提出的方法(例如900)如下被示出和描述为一系列动作或事件,本文所示出的一个或多个动作可以被以一个或多个分开的动作或阶段来实现。

在902处,通用异步收发器发送机使用约定波特率发送第一个传输校准字,通用异步收发器接收机使用默认的内置传输时钟计算的约定波特率,接收第一个传输校准字。约定波特率可以是任意的常用波特率,例如115200bps。

在904处,通用异步收发器接收机根据校准策略(112)实例(400),结合接收到的第一个校准字的特征,判断是否需要进行内置传输时钟校准,如果需要校准,则使用对应校准系数与内置传输时钟默认值相乘,得到校准后的内置传输时钟,并进入912;如果不需要校准,则进行906。

在906处,通用异步收发器发送机使用约定波特率发送第二个传输校准字,通用异步收发器接收机使用校准策略第二校准字拉偏系数(如1%)拉偏过的内置传输时钟,计算约定波特率,接收第二个传输校准字。

在908处,通用异步收发器接收机根据校准策略(112)实例(400),结合接收到的第二个校准字的特征,判断是否需要进行内置传输时钟校准,如果需要校准,则使用对应校准系数与内置传输时钟默认值相乘,得到校准后的内置传输时钟,并进入914;如果不需要校准,则进行910。

在910处,通用异步收发器发送机使用约定波特率发送第三个传输校准字,通用异步收发器接收机使用校准策略第三校准字拉偏系数(如-1%)拉偏过的内置传输时钟,计算约定波特率,接收第三个传输校准字,通用异步收发器接收机根据校准策略(112)实例(400),结合接收到的第三个校准字的特征,如果需要进行内置传输时钟校准,则使用对应校准系数与内置传输时钟默认值相乘,得到校准后的内置传输时钟,结束校准;如果不需要校准,则直接结束校准。

在912处,通用异步收发器发送机使用约定波特率发送第二个传输校准字,通用异步收发器接收机使用已经过传输校准字校准后的内置传输时钟,计算约定波特率,接收第二个传输校准字,忽略该校准字,并进入914。

在914处,通用异步收发器发送机使用约定波特率发送第三个传输校准字,通用异步收发器接收机使用已经过传输校准字校准后的内置传输时钟,计算约定波特率,接收第三个传输校准字,忽略该校准字,并结束校准。

本发明的重点是通过在通用异步收发传输数据之前,发送机发送三个传输校准字,接收机接收三个传输校准字,根据校准字的接收情况,找到对应时钟校准系数,实现校准通用异步收发器内置传输时钟,以保证通用异步收发稳定进行。本发明通过三个传输校准字,降低了对通用异步收发器内置传输时钟的精度要求,以校准后的时钟进行数据传输,提高了通用异步收发的稳定性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1