一种低倍频采集数据的装置及方法与流程

文档序号:26138732发布日期:2021-08-03 14:22阅读:185来源:国知局
一种低倍频采集数据的装置及方法与流程

本发明属于数字信息应用技术领域,具体涉及一种低倍频采集数据的装置及方法。



背景技术:

随着数字信息技术的发展,数据异步采集及处理随处可见,尤其是不同芯片之间或系统之间存在发送的数据宽度经过线的延迟及芯片管脚的转换存在比较严重的抖动,这样会导致后续采集过程存在很大的误码,导致采集的数据出错,从而影响后续芯片或系统工作不正常。通常处理方法是用高倍频pll来产生高频时钟,如时钟的4倍频或8倍频以上来处理数据,这样导致了需采购高价格的pll芯片或集成高性能pll的芯片,导致成本高昂,电路实现时序收敛困难等问题。



技术实现要素:

为了克服上述采购昂贵成本或电路时序收敛困难,本发明的目的是提供一种数据位有效宽度2倍频同步采集还原数据的装置及方法。

采用如下的技术方案:

一种低倍频采集数据的装置,包括时钟升频模块、时钟分频模块、数据同步模块和数据采集模块,其中,

所述时钟升频模块对输入的系统时钟信号进行升频,升频后的信号发送至时钟分频模块和数据同步模块;

所述时钟分频模块对升频后的信号进行分频,分频后输出给数据采集模块;

所述数据同步模块的输入为外界的输入数据,输出同步标志first_flag给时钟分频模块进行自校准,数据同步模块还输出同步数据及同步标志给数据采集模块;

所述数据采集模块包括采集器和计数器,数据采集模块在收到同步标志后,产生采集标志receive_flag,代表采集有效,然后计数器开始计数。

优选地,所述时钟升频模块对输入的时钟信号进行不超过2倍的升频。

优选地,所述系统时钟为20mhz,时钟升频模块为2倍频,时钟分频模块为2分频,数据同步模块数据分别通过40mhz时钟的上沿和下沿存储3位数据ap[2:0]和an[2:0],相互间隔拼接后形成6位总线数据b0[5:0]={ap[2],an[2],ap[1],an[1],ap[0],an[0]};ap[2:0]亦为数据采集模块的同步数据,同步标志为第一个b0[3:0]为4’b1110或4’b1100。

优选地,所述数据同步模块的输入数据的数据位电平宽度为50ns时,数据同步模块输出的同步头为0x5f,数据采集模块从ap[1]开始采集数据。

优选地,所述数据同步模块的输入数据的数据位电平宽度为25-45ns时,经过数据同步模块40mhz时钟的上升沿扩展即b0[5:0]为6’b110011,数据采集模块从ap[2]开始采集数据。

优选地,所述数据同步模块的输入数据的数据位电平宽度为55-75ns时,经过数据同步模块40mhz时钟的下降沿同步,且延迟1个计数,b0[5:0]为6’b000000,数据采集模块从ap[0]开始采集数据。

基于上述目的,本发明还提供了一种低倍频采集数据的方法,采用上述低倍频采集数据的装置,包括以下步骤:

s10,系统时钟输入时钟升频模块进行升频;

s20,升频后的信号发送至时钟分频模块和数据同步模块;时钟分频模块对升频后的信号进行分频,分频后输出给数据采集模块;

s30,数据同步模块的输入为外界的输入数据,输出同步标志first_flag给时钟分频模块进行自校准,数据同步模块还输出同步数据及同步标志给数据采集模块;

s40,数据采集模块在收到同步标志后,产生采集标志receive_flag,代表采集有效,然后计数器开始计数。

优选地,系统时钟为20mhz,时钟升频模块对系统时钟进行2倍频的升频,时钟分频模块进行2分频,数据同步模块数据分别通过40mhz时钟的上沿和下沿存储3位数据ap[2:0]和an[2:0]相互间隔拼接后形成6位总线数据b0[5:0]={ap[2],an[2],ap[1],an[1],ap[0],an[0]};ap[2:0]亦为数据采集模块的同步数据,同步标志为第一个b0[3:0]为4’b1110或4’b1100。

优选地,所述数据同步模块的输入数据的数据位电平宽度为25-45ns时,经过数据同步模块40mhz时钟的上升沿扩展即b0[5:0]为6’b110011,数据采集模块从ap[2]开始采集数据。

优选地,所述数据同步模块的输入数据的数据位电平宽度为55-75ns时,经过数据同步模块40mhz时钟的下降沿同步,且延迟1个计数,b0[5:0]为6’b000000,数据采集模块从ap[0]开始采集数据。

采用本发明具有如下的有益效果:避免采用高倍频的锁相环来产生高频时钟的成本高昂和电路实现时序收敛困难的问题,仅通过2倍频和2分频的设置,根据数据位电平宽度的过宽和过窄,对同步标志进行调整,在不同的总线数据位开始进行数据采集,数据采集模块中每8位存储一个byte,直至一帧采集完成,再开始下一个同步头,采集下一帧。高效低成本还原原始数据,保证后续芯片正常工作。

附图说明

图1为本发明装置实施例的低倍频采集数据的装置结构图;

图2为本发明装置实施例的低倍频采集数据的装置中时钟分频模块结构图;

图3为本发明装置实施例的低倍频采集数据的装置中数据同步模块结构图;

图4为本发明装置实施例的低倍频采集数据的装置中数据采集模块结构图;

图5为本发明实施例的低倍频采集数据的数据位电平宽度46~54ns时数据格式图;

图6为本发明实施例的低倍频采集数据的数据位电平宽度25-45ns时数据格式图;

图7为本发明实施例的低倍频采集数据的数据位电平宽度55-75ns时数据格式图

图8为本发明方法实施例的低倍频采集数据的方法步骤流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

装置实施例

参见图1,一种低倍频采集数据的装置,包括时钟升频模块10、时钟分频模块20、数据同步模块30和数据采集模块40,其中,

时钟升频模块10对输入的系统时钟信号进行升频,升频后的信号发送至时钟分频模块20和数据同步模块30;

时钟分频模块20对升频后的信号进行分频,分频后输出给数据采集模块40;

数据同步模块30的输入为外界的输入数据,输出同步标志first_flag给时钟分频模块20进行自校准,数据同步模块30还输出同步数据及同步标志给数据采集模块40;

数据采集模块40包括采集器和计数器,数据采集模块40在收到收到同步标志后,产生采集标志receive_flag,代表采集有效,然后计数器开始计数。

数据传输为异步传输,没有提供额外的采集时钟或同步时钟,该数据形式一帧为sync(8位)+有效数据(40位),参见表1数据格式;正常的有效数据宽度为50ns;默认为高电平,当传来一个50ns低电平,接着50ns高电平,50ns低电平250ns高电平即sync同步头0x5f,开始传输宽度为50ns/bit数据40个,标准采集的数据为0x5f_xx_xx_xx_xx_xx;

表1

现有技术中采集的方法为使用高频时钟该高频时钟为该数据有效宽度对应时钟的4倍或者8倍频或以上来采集数据,从而保证该数据的正确性。但通常的设备没有高频时钟,现有技术中方法为用一个低频时钟通过pll来升频达到高频,该方法对电路性能要求较高。

理想情况下数据位电平宽度固定为50ns,那么用对应的40mhz时钟采集也能采集出正确的数据,但实际由于线路延迟寄生的影响会使得该数据有效宽度变大,或者变小,数据传输的实际宽度可能大于25ns,小于75ns。但不是50ns时,这个时候用40mhz时钟去采集数据,参见图4为数据位电平过窄(在25ns~45ns之间)时同步头可能会解析成0xdf,参见图5为数据位电平过宽(在55~75ns之间)同步头可能会解析成0x1f,这样会出现数据丢帧的情况,即采集不到正常的数据。

本发明的时钟升频模块10包括锁相环实现2倍频、时钟分频模块20进行2分频、数据同步模块30和数据采集模块40;时钟升频模块10主要提供升频功能,时钟分频模块20提供分频及时钟自同步功能,数据同步模块30同步数据及提供标志位功能,数据采集模块40提供采集及采集计数器功能,可以解码数据。

设系统时钟为20mhz,先通过时钟升频模块10升频为40mhz时钟,输出稳定时时钟分频模块20开始产生2分频时钟gen_clk;参见图2,时钟分频模块20包括d触发器21和反相器22,d触发器21的输入时钟为时钟升频模块10输出的40mhz_clk,输出为2分频时钟gen_clk经反相器22后反馈输入给d触发器21,使得输出稳定。

参见图3,数据同步模块30包括若干d触发器21、若干与门31、或门32和反相器22;参见图4,数据采集模块40包括计数器41、若干个与门31、或门32、或非门33和d触发器21。数据data分别通过40mhz时钟即40mhz_clk的上沿和下沿输入数据同步模块30中的d触发器21进行存储,存储输出3位数据ap[2:0]和an[2:0],将ap[2:0]和an[2:0]相互间隔拼接后形成6位总线数据b0[5:0]={ap[2],an[2],ap[1],an[1],ap[0],an[0]};ap[2:0]为数据采集模块40的同步数据;数据同步标志first_flag为第一个b0[3:0]为4’b1110或4’b1100,4’b1110与4’b1100输入或门32,或门32的输出与计数器41输出(此时为0)一起输入与门31,与门31输出连接一个d触发器21,d触发器21输出即为同步标志first_flag,计数器41输出为47时,经反相器22后,与first_flag输入与门31,这时候重新复位数据采集时钟gen_clk,计数器41开始计数,采集标志receive_flag变高(有效),gen_clk采集时钟根据数据传输的同步标志first_flag来自校准,计数器41从receive_flag变高开始计数,计数到十进制47时清零。

当数据位电平过窄时(25~45ns)参见图6,计数器41输出为0,计数器41的输出与6’b110011输入与门31后经d触发器21存储后输出narrow_flag,即数据data经过数据同步模块30中时钟40mhz_clk上升沿扩展即b0[5:0]为6’b110011即narrow_flag,从ap[2]开始采集数据,参见图4中narrow_flag与ap[2]输入与门31;当数据位电平过宽时(55~75ns)参见图7,计数器41输出为1,计数器41的输出与6’b000000输入与门31后经d触发器21存储后输出wide_flag,即数据经过数据同步模块30时钟40mhz_clk下降沿同步,且延迟1个计数后b0[5:0]为6’b000000即wide_flag,从ap[0]开始采集数据,参见图4中wide_flag与ap[0]输入与门31;当数据位电平宽度正常时(46~54ns),参见图5,计数器41输出为47,narrow_flag与wide_flag经或非门33后,与ap[1]一同输入与门,即从ap[1]开始采集数据。图4中将数据位电平过窄、过宽和正常时与门31的输出均输入一个或门32后,输入一个d触发器21,d触发器21输出采集到的的数据,每8位存储一个byte,直至一帧采集完成,开始下一个同步头,采集下一帧。

基于上述目的,本发明还提供了一种低倍频采集数据的方法,参见图8,采用上述低倍频采集数据的装置,包括以下步骤:

s10,系统时钟输入时钟升频模块进行升频;

s20,升频后的信号发送至时钟分频模块和数据同步模块;时钟分频模块对升频后的信号进行分频,分频后输出给数据采集模块;

s30,数据同步模块的输入为外界的输入数据,输出同步标志first_flag给时钟分频模块进行自校准,数据同步模块还输出同步数据及同步标志给数据采集模块;

s40,数据采集模块在收到同步标志后,产生采集标志receive_flag,代表采集有效,然后计数器开始计数。

方法实施例参见装置实施例,不再赘述。

应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

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