CN102447477A - 跨异步时钟域的并串数据流实时转换传输方法和装置 - Google Patents
跨异步时钟域的并串数据流实时转换传输方法和装置 Download PDFInfo
- Publication number
- CN102447477A CN102447477A CN2010105084293A CN201010508429A CN102447477A CN 102447477 A CN102447477 A CN 102447477A CN 2010105084293 A CN2010105084293 A CN 2010105084293A CN 201010508429 A CN201010508429 A CN 201010508429A CN 102447477 A CN102447477 A CN 102447477A
- Authority
- CN
- China
- Prior art keywords
- clock
- data
- clock signal
- parallel
- serial
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开一种跨异步时钟域的并串数据流实时转换传输方法和装置,包括并行数据同步器,用于在与串行数据输出器同步的串行时钟CLKS,以及串行时序控制器发出的使能控制信号CS的控制下,实时周期性抓取与时钟CLKP同步的数据流数据到并行数据同步器中存储;串行时序控制器,用于周期性在时钟CLKS的时钟域里对时钟CLKP的时钟进行监测,判别时钟CLKP的不定态;当判别抓取时刻处于时钟CLKP的不定态的时间区段之间时,串行时序控制器周期性调整抓取时刻,直至抓取时刻处于时钟CLKP的定态的时间区段中;串行数据输出器,串行时序控制器的控制下,读取并行数据同步器的数据流数据并串行输出。其具有简单可靠等特点,实用性好,较利于在大规模集成电路中应用。
Description
技术领域
本发明涉及转换电路技术领域,特别是涉及一种跨异步时钟域的并串数据流实时转换传输方法和装置。
背景技术
并串转换电路是一种人们研究了很久的常见的数据处理电路,但在一些设计中人们只考虑输入的并行数据流和输出的串行数据流都是同步时钟域的,而在另一些要解决异步时间域的并串数据转换问题时,设计者通常采用两个方法:
方法1:在跨异步时钟域数据传递时,输入数据流可以暂时停断,等待跨时钟域的握手信号交互成功后,再处理下一笔数据,这种方法明显不适合于那些实时不间断的数据流处理应用。
方法2,用空间换时间。利用一定容量的随机存取存储器(random access memory,RAM)或者寄存器组去组成空间冗余度够大的数据缓存区,例如多个缓存区轮替处理等等。进一步具体化的说,比如利用异步先入先出队列(First Input First Output,FIFO)电路将并行时钟信号CLKP的并行数据流同步到串行时钟信号CLKS时钟域,然后再做串行处理;又或者,先对并行时钟信号CLKP的并行数据流进行同步串行处理,然后再利用异步先入先出队列(FIFO)电路把处理好的串行数据流同步到串行时钟信号CLKS时钟域。
在实时不间断地数据流处理的应用场景下,此时每个并行时钟信号CLKP时钟沿都带来新的待处理的并行数据,那么上述方法一方面要用较大的冗余空间来缓存数据,才能避免异步传递时的数据断流,即其所需的存储空间必须大于单次数据传递的信息量,有时候甚至要达到数倍以上,才能保证其可靠性,所以电路面积较大,功耗相应增加,另外类似异步先入先出队列(FIFO)结构的控制逻辑需要有读写地址的指针和基于地址指针的运算电路,电路结构相对复杂,在相同常规工艺和底层器件库资源的条件下,电路速度和可靠性比起其采用本方案的设计明显不如,不利于数模混合设计中的某些高速电路应用。
发明内容
本发明的目的在于提供一种跨异步时钟域的并串数据流实时转换传输方法和装置,其具有简单可靠等特点,实用性好,较利于在大规模集成电路中应用。
为实现本发明目的还提供的一种跨异步时钟域的并串数据流实时转换传输方法,包括下列步骤:
与串行时钟信号CLKS同步的并行数据同步器,在与串行数据输出器同步的串行时钟信号CLKS,以及串行时序控制器发出的使能控制信号CS的控制下,实时周期性循环地采样抓取与并行时钟信号CLKP同步的数据流数据到并行数据同步器中存储的步骤;
所述串行时序控制器周期性循环地在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时钟域的不定态;当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中的步骤;
在串行时序控制器的控制下,串行数据输出器串行读取所述并行数据同步器的所述数据流数据并串行输出的步骤。
较优地,所述的跨异步时钟域的并串数据流实时转换传输方法,还包括下列步骤:
输入的数据流数据被与其同步的并行时钟信号CLKP所控制的并行数据缓存器缓存的步骤。
较优地,所述串行时钟信号CLKS的频率是并行时钟信号CLKP的频率的N倍,其中,N为不小于3的整数;
而且,所述并行时钟信号CLKP和所述串行时钟信号CLKS为异步时钟信号。
较优地,所述周期性循环的循环周期的长度为并行时钟信号CLKP的时钟周期的整数倍。
较优地,所述在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时钟域的不定态,包括如下步骤:
采用触发器电路来判别并行时钟信号CLKP的时钟沿,所述触发器时钟端连接串行时钟信号CLKS端,所述触发器输入数据端连接并行时钟信号CLKP端,即把并行时钟信号CLKP当成一个普通的电平信号看待,在串行时序控制器的使能控制信号CS的控制下,串行时钟信号CLKS对并行时钟信号CLKP这个电平信号进行抓取,通过触发器输出端的电平变化将并行时钟信号CLKP的时钟沿所处的时间域上的区段范围的信息有效地传递到串行时钟信号CLKS的时钟域。
较优地,如果所述并行时钟信号CLKP的占空比k,则n和N满足:n/N<k<(N-n)/N。
较优地,所述当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中,包括如下步骤:
如果判别结果为并行时钟信号CLKP的时钟沿,则所述并行数据同步器对所述数据流数据进行抓取的抓取时刻可能会碰到数据转变时间区段,那么抓取的数据可能面临出现错误的风险,则串行时序控制器重新调整异步数据采样抓取的抓取时刻。
较优地,所述并行时钟信号CLKP的不定态的时间区段为包含并行时钟信号CLKP的时间沿及其之后数据转变区的时间区段。
较优地,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即时间区段=2TS。
为实现本发明目的还提供一种跨异步时钟域的并串数据流实时转换传输装置,包括并行数据同步器,串行时序控制器,以及串行数据输出器;
所述并行数据同步器与所述串行时序控制器之间通过与并行数据位宽相同的控制总线连接;
所述并行数据同步器与所述串行数据输出器之间通过与串行数据位宽相同的第二数据总线连接;
所述并行数据同步器,与串行时钟信号CLKS同步,用于在与串行数据输出器同步的串行时钟信号CLKS,以及串行时序控制器发出的使能控制信号CS的控制下,实时周期性循环地采样抓取与并行时钟信号CLKP同步的数据流数据到并行数据同步器中存储;
所述串行时序控制器,用于通过控制总线,周期性循环地在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的不定态;当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述串行数据输出器,用于在串行时序控制器的控制下,通过第二数据总线,读取所述并行数据同步器的所述数据流数据并串行输出。
较优地,所述跨异步时钟域的并串数据流实时转换传输装置,还包括并行数据缓存器;
所述并行数据缓存器与所述并行数据同步器之间通过与并行数据位宽相同的第一数据总线连接;
所述并行数据缓存器,与并行时钟信号CLKP同步,用于在与输入的数据流数据同步的并行时钟信号CLKP控制下,将所述数据流数据缓存。
较优地,所述并行时钟信号CLKP的频率是串行时钟信号CLKS的频率的N倍,两者的时钟相位无关联;所述并行时钟信号的占空比为2/N~5/N。
较优地,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即所述时间区段为2TS。
较优地,所述并行数据缓存器,由一组触发器D[I-1:0]组成,所述触发器D[I-1:0]的个数I与输入并行数据的位宽相同;
所述第i个触发器Di包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R,其中i=0,1,...,I-1;
第i个触发器Di的数据输入端D连接到外部输入数据线DATAP[i],数据输出端Q连接到第一数据线B[i],时钟信号端C连接到并行时钟信号CLKP端,异步复位端连接到信号复位控制信号RST端。
较优地,所述并行数据同步器由一组触发器DS组成,所述触发器DS的个数I与第一数据总线B[I-1:0]的位宽相同;
所述第i个触发器DSi包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R,其中,i=0,1,...,I-1;
第i个触发器DSi的数据输入端D连接到第一数据线B[i],数据输出端Q连接到数据线S[i],时钟信号端C连接到串行时钟信号CLKS端,异步复位端R连接到信号复位控制信号RST端;
第i个触发器DSi还包括使能控制信号端E,所述第i个触发器的使能控制信号端E连接到控制信号CS[i]端。
较优地,所述串行时序控制器,包括一状态机和一时钟沿监测器;
所述状态机,用于向所述并行数据同步器输出使能控制信号CS,控制并行数据同步器在抓取时刻从并行数据缓存器中抓取得到数据流数据;当所述时钟沿监测器判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述时钟沿监测器,用于在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿。
为实现本发明目的还提供一种并串数据流实时转换传输装置的串行时序控制器,包括一状态机和一时钟沿监测器;
所述状态机,用于向并行数据同步器输出使能控制信号CS,控制并行数据同步器在抓取时刻从并行数据缓存器中抓取得到数据流数据;当所述时钟沿监测器判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述时钟沿监测器,用于在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿。
较优地,所述数据流数据位宽为7,所述状态机的正常运行过程包括ST0,ST1,ST2,ST3,ST4,ST5,ST6共7个状态;
控制状态机状态跳转的条件有四个,名称分别取为RST、FR、JF和JB:
条件“RST”,表示异步复位/置位信号的有效电平来临;
条件“FR”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临;
条件“JF”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为0;
条件“JB”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为1。
较优地,所述状态机有三种工作模式:
工作模式一,即复位模式:当异步复位/置位信号RST有效,无论状态机处于哪一个状态,都会被复位到ST0;
工作模式二,即循环模式:当异步复位/置位信号RST一直处于无效电平,并且J=0的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的状态ST沿着逆时针方向跳转,不断地周期循环,ST0→ST1→ST2→ST3→ST4→ST5→ST6→ST0,以上构成一个完整的循环周期;
工作模式三,即调整模式:当异步复位/置位信号RST一直处于无效电平,并且J=1的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的跳转如下,
ST0→ST1→ST2→ST3→ST6→ST0。
较优地,所述状态机通过带自动恢复功能的计数器或者带自动恢复功能的循环移位寄存器电路来实现。
较优地,所述状态机包括7个寄存器、3个与门和2个或门;
7个寄存器分别用CS0,CS1,CS2,CS3,CS4,CS5,CS6表示,7个寄存器输出端Q的输出信号分别用CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6],其中,CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6]的周期是串行时钟信号CLKS周期TS的7倍,占空比是1/7;
异步复位/置位信号RST与CS0的置位端S相连,与CS1,CS2,CS3,CS4,CS5,CS6的异步复位端R相连;
串行时钟信号CLKS与CS0,CS1,CS2,CS 3,CS4,CS5,CS6的时钟信号端C相连,
设置信号和寄存器CS6的输出信号CS[6]作为第一或门的输入信号,第一或门的输出信号和重置信号作为第一与门的输入信号,第一与门的输出信号作为寄存器CS0的输入;
寄存器CS0的输出信号CS[0]作为寄存器CS1的输入;
寄存器CS1的输出信号CS[1]作为寄存器CS2的输入;
寄存器CS2的输出信号CS[2]作为寄存器CS3的输入;
寄存器CS 3的输出信号CS[3]和J信号作为第二与门的输入;
将第二与门的输出信号作为寄存器CS4的输入;
寄存器CS4的输出信号CS[4]作为寄存器CS5的输入;
寄存器CS5的输出信号CS[5]作为第二或门的一个输入;将寄存器CS3的输出信号CS[3]和J信号作为第三与门的输入,第三与门的输出信号作为第二或门的另一个输入;将第二或门的输出信号作为寄存器CS6的输入;
将寄存器CS6的输出信号CS[6]作为第一或门的一个输入信号。
较优地,所述时钟沿监测器采用触发器电路,包括4个寄存器和一个与门,4个寄存器分别用DT0,DT1,DT2,DT3表示,异步复位/置位信号RST分别与DT0,DT1,DT2,DT3异步复位端R相连;
串行时钟信号CLKS与DT0,DT1,DT2,DT3的时钟信号端C相连;
并行时钟信号CLKP与DT0和DT1的数据输入端D相连;寄存器DT0的反相数据输出端与寄存器DT2的数据输入端D相连,寄存器CS0的输出信号CS[0]与寄存器DT2的使能控制信号端E相连;寄存器DT2的数据输出端Q的输出信号为J0;
寄存器DT1的数据输出端Q的输出信号为J1;
J0和J1作为与门的输入,与门的输出信号与寄存器DT3的数据输入端D相连;
寄存器CS2的输出信号CS[2]与寄存器DT3的使能控制信号端E相连,寄存器DT3的数据输出端Q的输出信号为J。
为实现本发明目的还一种串行时序控制器的驱动平板低压差分信号接口电路,其特征在于,包括一所述的串行时序控制器。
较优地,所述的驱动平板低压差分信号接口电路,包括至少两个以上跨异步时钟域并串数据流实时转换传输装置,所述跨异步时钟域并串数据流实时转换传输装置共用同一个所述的串行时序控制器。
本发明的跨异步时钟域的并串数据流实时转换传输方法和装置,可以用于实时不间断的数据流处理应用,在相同工艺器件库的条件下,本发明的电路装置可以用更小的电路面积和功耗去实现更高的电路速度。
进一步地,本发明的电路装置和方法实时循环地监测,可以及时准确地去纠正某一些在突发干扰下引起的时序安全问题,相比之下,只利用同步复位信号来调整数据传输时间点的方式,并不具备严格的时序上的安全保障,虽然他在大多数电路运行中或许不会遇见问题,但其可靠性相对要差一些。
附图说明
图1是本发明实施例的跨异步时钟域的并串数据流实时转换传输方法流程图;
图2是本发明实施例的一种触发器结构示意图;
图3是本发明实施例的跨异步时钟域的并串数据流实时转换传输装置示意图;
图4是图3中并行数据缓存器的触发器D0结构示意图;
图5是图3中并行数据同步器的触发器DS0结构示意图;
图6是图3中串行时序控制器中的状态机的状态示意图;
图7是图3中串行时序控制器中的状态机结构示意图;
图8是图7中实现SET1信号的电路结构示意图;
图9是图7中实现RESET0信号的电路结构示意图;
图10是图7中状态机正常工作时的状态示意图;
图11是图3中串行时序控制器中的时钟沿监测器结构示意图;
图12是用串行时钟信号CLKS对并行时钟信号CLKP进行丈量的时间区段示意图;
图13是图3中串行数据输出器结构示意图;
图14是并行时钟沿CLKP对应于并行数据和串行时钟信号CLKS示意图;
图15是并行数据缓存器的触发器D0和并行数据同步器DS0之间连接结构示意图;
图16是并行时钟信号CLKP的时延及安全时间区段示意图;
图17是以2TS为时间区段的安全时间区段示意图;
图18是本发明实施例中时钟沿监测器A、B两个电路运行结果示意图。
具体实施方式
为了使本发明的发明目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的跨异步时钟域的并串数据流实时转换传输方法和装置进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
本发明实施例的跨异步时钟域的并串数据流实时转换传输方法,如图1所示,包括如下步骤:
步骤S100,输入的数据流被采用与其同步的并行时钟信号CLKP所控制的并行数据缓存器缓存;
步骤S200,与串行时钟信号CLKS同步的并行数据同步器2,在与串行数据输出器4同步的串行时钟信号CLKS,以及串行时序控制器3发出的使能控制信号CS的控制下,通过连接并行数据缓存器1和并行数据同步器2的第一数据总线,实时周期性采样抓取并行数据缓存器1中的数据到并行数据同步器2中存储;
所述串行时钟信号CLKS的频率是并行时钟信号CLKP的频率的N倍,其中,N为不小于3的整数;而且,并行时钟信号CLKP和串行时钟信号CLKS为异步时钟信号;
与所述步骤S200同时,
所述串行时序控制器周期性循环地在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时域的不定态;当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中的步骤;
与CLKP同步的数据流只在CLKP的时钟沿后的一小段时间内才发生转变,这个小段时间被称为CLKP时钟域的数据转变区,在数据转变区抓取该数据流被认为是不可靠的,本发明实施例将数据转变区的时域区段称之为不定态;而其外的时域区段内数据稳定不变,本发明实施例将数据转变区之外的时间区段称为定态。
所述并行时钟信号CLKP的不定态的时间区段为包含并行时钟信号CLKP的时间沿的时间区段;所述时间沿为并行时钟信号CLKP的上升沿或者下降沿。
作为一种可实施方式,设所述并行时钟信号CLKP的时钟周期为TP,所述串行时钟信号CLKS的时钟周期为TS,则时间区段为小于TP,且为TS的整数倍。较佳地,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即时间区段=2TS。
所述串行时序控制器3在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿;
所述串行时序控制器3首先利用串行时钟信号CLKS的时钟周期为标尺在时间域上对并行时钟信号CLKP的时钟进行定位,判别出并行时钟信号CLKP的时钟沿,从而在抓取数据时直接避开并行时钟信号CLKP的时钟沿区段附近的范围,也就避开了并行数据缓存器1的数据转变时间区段,从而避免抓取到错误数据,并可以在最短时间里开始启动可靠的跨时钟域的实时不间断的数据流传递。
本发明实施例中,一般地,在跨异步时钟域的并串数据流转换传输装置中,串行数据4的串行时钟信号CLKS比并行数据的并行时钟信号CLKP要快很多,所以可以使用串行时钟信号CLKS来对并行时钟信号CLKP的电平变化进行抓取,根据连续的抓取结果定位并行时钟信号CLKP的时钟沿的大致区段。
本发明实施例中,还利用电路的相关时钟沿和数据转变点在时域上靠近的关联性,在抓取数据时直接避开并行时钟信号CLKP的时钟沿的附近范围的时间区段,也就间接避开了并行数据缓存器1的数据转变时间区段,从而避免异步传递时抓到错误数据。
作为一种可实施方式,所述周期性循环的循环周期的长度为并行时钟信号CLKP的时钟周期的整数倍;较佳地,所述整数倍的最小值为1。
作为一种可实施方式,所述利用串行时钟信号CLKS的时钟周期为标尺在时间域上对并行时钟信号CLKP的时钟进行定位,判别出并行时钟信号CLKP的时间沿,包括如下步骤:
采用触发器电路来判别并行时钟信号CLKP的时钟沿,所述触发器时钟端连接串行时钟信号CLKS端,所述触发器输入数据端连接并行时钟信号CLKP端,即把并行时钟信号CLKP当成一个普通的电平信号看待,在串行时序控制器3的使能控制信号CS的控制下,串行时钟信号CLKS对并行时钟信号CLKP这个电平信号进行抓取,通过触发器输出端的电平变化将并行时钟信号CLKP的时钟沿所处的时间域上的区段范围的信息有效地传递到串行时钟信号CLKS的时钟域。
作为一种可实施方式,设Q为所述触发器的输出端,当Q的电平在第m个串行时钟信号CLKS的时钟沿后为0,而在随后的第m+n个串行时钟信号CLKS的时钟沿后为1时,则判别并行时钟信号CLKP至少有一个上升沿在时间域上处于m和m+n个串行时钟信号CLKS的时钟沿之间;当Q的电平在第m个串行时钟信号CLKS的时钟沿后为1,而在随后的第m+n个串行时钟信号CLKS时钟沿后为0时,这表示并行时钟信号CLKP至少有一个下降沿在时间域上处于m个和m+n个串行时钟信号CLKS的时钟沿之间;
其中,m和n为正整数。
当n=1时,可以得到,当Q的电平在第m个串行时钟信号CLKS时钟沿后为0,而在随后的第m+1个串行时钟信号CLKS时钟沿后为1时,这表示并行时钟信号CLKP的上升沿在时间域上处于m和m+1个串行时钟信号CLKS的时钟沿两者之间;当Q的电平在第m个串行时钟信号CLKS的时钟沿后为1,而在随后的第m+1个串行时钟信号CLKS时钟沿后为0时,这表示并行时钟信号CLKP的下降沿在时间域上处于m个和m+1个串行时钟信号CLKS时钟沿两者之间。
作为一种可实施方式,如图2所示,触发器的时钟端C连接到串行时钟信号CLKS;复位端R连接异步复位信号RST;使能端连接到串行时序控制器3的使能控制信号EN;数据输入端连接到并行时钟信号CLKP;Q为触发器的数据输出端。
进一步地,设所述并行时钟信号CLKP的占空比k,则n/N<k<(N-n)/N。
较佳地,当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器3周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中,包括如下步骤:
如果判别结果为并行时钟信号CLKP的时钟沿,则所述并行数据同步器2对并行数据缓存器1的数据进行抓取的抓取时刻(即抓取操作的时间点)可能会碰到并行数据缓存器1的数据转变时间区段,那么抓取的数据可能面临出现错误的风险,则串行时序控制器3重新调整异步数据采样抓取的抓取时刻,即串行时序控制器3具有自适应恢复功能。
较佳地,由于输入的并行数据流的同步时钟为并行时钟信号CLKP,而输出的串行数据流的时钟为CLKS,因此,并行数据流数据的位宽不小于3。
步骤S300,在串行时序控制器3的控制下,串行数据输出器4通过第二数据总线,串行读取所述并行数据同步器2的所述数据流数据并输出。
本发明跨异步时钟域的并串数据流实时转换传输方法,在跨异步的时钟域上并行数据向串行数据的实时转换过程中,在时钟域上直接对并行数据的并行时钟信号CLKP时钟进行区段定位,并且对定位进行周期性重复的控制操作,控制并行数据转换到串行数据的出错率,提高转换的可靠性。
实施例二
如图3所示,本发明实施例的跨异步时钟域的并串数据流实时转换传输装置,包括并行数据缓存器1,并行数据同步器2,串行时序控制器3和串行数据输出器4;
所述并行数据缓存器1与所述并行数据同步器2之间通过与并行数据位宽相同的第一数据总线(并行数据总线)连接;
所述并行数据同步器2与所述串行时序控制器3之间通过与并行数据位宽相同的控制总线连接;
所述并行数据同步器2与所述串行数据输出器4之间通过与串行数据位宽相同的第二数据总线连接;
作为一种可实施方式,本发明实施例的并行时钟信号CLKP和串行时钟信号CLKS可以由外部电路的锁相环(Phase Locked Loop,PLL)及分频电路分别产生。
其中,并行时钟信号CLKP的频率是串行时钟信号CLKS的频率的N倍,两者的时钟相位无关联,相位关系是未知的;较佳地,并行时钟信号的占空比可为2/N~5/N,更佳地,为3/N,对串行时钟信号的占空比无特别要求,只要能够驱动触发器工作即可。
其中,所述占空比(Duty Ratio)的含义为:在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。
RST是异步复位信号,其从外部LVDS接口电路中的异步复位电路控制输入;
DATAP是位宽为I比特(bit)的并行输入数据(信号),其中,I=N。
DATAS是位宽为1比特(bit)的串行输出数据(信号);
B[I-1:0]是并行数据缓存器1和并行数据同步器2之间的并行数据总线;
S[I-1:0]是并行数据同步器2与串行数据输出器4之间的第二数据总线;
CS[I-1:0]是串行时序控制器3产生的控制信号。
所述并行数据缓存器1,用于缓存与并行时钟信号同步的输入数据流;
所述并行数据同步器2,用于在串行时序控制器3的控制下,通过第一数据总线实时周期性地从并行数据缓存器1中采样抓取得到与串行时钟信号同步的数据流数据;
所述串行时序控制器3,用于通过控制总线,向所述并行数据同步器2输出控制信号,控制并行数据同步器2实时在抓取时刻从并行数据缓存器1中采样抓取得到数据流数据;并在抓取时刻处于并行时钟的不定态的时间区段之间时,循环周期性调整抓取时刻,直至抓取时刻处于并行时钟的定态的时间区段中;
较佳地,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即所述时间区段为2TS。
作为另一种可实施的方式,使CLKS的占空比很接近0.5并且同时使用CLKS的上升沿和下降沿,那么丈量的时间最小单位可以是TS/2。
所述串行数据输出器4,用于在串行时序控制器3的控制下,通过第二数据总线,串行读取所述并行数据同步器2的所述数据流数据并输出。
下面详细说明本发明实施例的跨异步时钟域的并串数据流实时转换传输装置的各个器件的结构:
(一)并行数据缓存器1
作为一种可实施方式,本发明实施例的并行数据缓存器1,由一组触发器D[I-1:0]组成,所述触发器D[I-1:0]的个数I与输入并行数据的位宽相同。
所述第i(i=0,1,...,I-1)个触发器Di包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R;
第i个触发器Di的数据输入端D连接到外部输入数据线DATAP[i],数据输出端Q连接到第一数据线B[i],时钟信号端C连接到并行时钟信号CLKP端,异步复位端连接到信号复位控制信号RST端。
本发明实施例中,作为一种可实施方式,设DATAP的位宽是7,则触发器的个数也是I=7,分别为D0,D1,D2,D3,D4,D5,D6。
作为一种可实施方式,如图4所示,为触发器D0,其数据输入端D连接到外部输入数据线DATAP[0],其数据输出端Q连接到第一数据线B[0],其时钟信号端C连接到并行时钟信号CLKP端,其异步复位端R连接到复位控制信号RST端。
(二)并行数据同步器2
作为一种可实施方式,本发明实施例的并行数据同步器2,也是由一组触发器DS组成,所述触发器DS的个数I与第一数据总线B[I-1:0]的位宽相同。
所述第i(i=0,1,...,I-1)个触发器DSi包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R;
第i个触发器DSi的数据输入端D连接到第一数据线B[i],数据输出端Q连接到数据线S[i],时钟信号端C连接到串行时钟信号CLKS端,异步复位端R连接到信号复位控制信号RST端;
第i个触发器DSi还包括使能控制信号端E,所述第i个触发器的使能控制信号端E连接到控制信号CS[i]端。
本发明实施例中,设第一数据总线B[I-1]的位宽为7,则触发器的个数也为I=7,分别为DS0,DS1,DS2,DS3,DS4,DS5,DS6。
作为一种可实施方式,如图5所示,是并行数据同步器2的其中一个触发器DS0,其数据输入端D连接到数据线B[0],其数据输出端Q连接到数据线S[0],其时钟信号端C连接到串行时钟信号CLKS端,其异步复位端R连接到信号复位控制控制号RST端,其使能控制信号端E连接到控制信号CS[0]端;
(三)串行时序控制器3
作为一种可实施方式,本发明实施例的串行时序控制器3,包括一状态机和一时钟沿监测器。
所述状态机,用于向所述并行数据同步器2输出使能控制信号CS,控制并行数据同步器2在抓取时刻从并行数据缓存器1中抓取得到数据流数据;当所述时钟沿监测器判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器3周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述时钟沿监测器,用于在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿。
其中,作为一种可实施方式,状态机的状态如图6所示,状态机的状态数量等于并行时钟信号CLKP的时钟周期TP相对于串行时钟信号CLKS的时钟周期TS的倍数,因此,该状态机I个状态ST[I-1:0];
本发明实施例中,设I=7,则状态机有ST0,ST1,ST2,ST3,ST4,ST5,ST6共7个状态;
所述状态机设置四个状态跳转条件,分别为RST*、FR、JF、JB。其中:
RST*表示复位信号RST的有效电平来临;
FR表示复位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临;
JF表示复位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自所述时钟沿监测器的判别信号J为0;
JB表示复位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时时钟沿监测器输出的判别信号J为1。
如图6所示,当复位信号RST有效时,无论状态机处于哪一种状态,都会被复位到状态ST0;而当复位信号RST一直处于无效电平,并且时钟沿监测器输出的判别信号J=0时,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的状态沿着逆时针方向跳转,不断地周期循环:
ST0=>ST1=>ST2=>ST3=>ST4=>ST5=>ST6=>ST0
从而,状态机电路的状态构成一个完整的循环周期。
作为一种可实施方式,较佳地,状态机可以采用带自动恢复功能的计数器或者带自动恢复功能的移位寄存器来实现,使用one-hot coding为所述串行输出电路提供控制信号。
作为一种可实施方式,本发明实施例的状态机电路以自动恢复的循环移位寄存器实现,其包括与输入并行数据位宽相同的I个触发器,设DATAP的位宽是7,则触发器的个数也是I=7,分别为CS0,CS1,CS2,CS3,CS4,CS5,CS6;以及两个或门和三个与门。
如图6所示,为状态机的一种可实施方式,对于7比特(bit)位宽的控制总线CS[6:0],则:
在状态ST0,CS[6:0]=7’b1000000;
在状态ST1,CS[6:0]=7’b0100000;
在状态ST2,CS[6:0]=7’b0010000;
在状态ST3,CS[6:0]=7’b0001000;
在状态ST4,CS[6:0]=7’b0000100;
在状态ST5,CS[6:0]=7’b0000010;
在状态ST6,CS[6:0]=7’b0000001;
如图7所示,其中RST为异步复位或置位信号(其连接到触发器R端就是复位信号,连接到触发器S端就是置位信号),CLKS为时钟信号;J信号为时钟沿监测器输出判别信号;CS[0]、CS[1]、CS[2]、CS[3]、CS[4]、CS[5]、CS[6]分别是7个触发器的输出信号,也是提供给其他电路单元模块的控制信号。
对于图7中的SET1信号,有SET1=~(CS[0]|CS[1]|CS[2]|CS[3]|CS[4]|CS[5]|CS[6]);
如图8所示,是由或门和或非门组成的一个电路实现SET1信号的例子。
对于图7中的RESET0信号,有RESET0=CS[0]|CS[1]|CS[2]|CS[3]|CS[4]|CS[5];
如图9所示,是由或门组成的一个电路实现RESET0信号的例子。
正常工作时,图7中的七个触发器(移位寄存器)只有一个输出为“1”,其余为0,并且这个“1”循环移位,如图10所示。如果电路受到干扰,则当所有CS[6:0]=7’b0000000时,SET1信号会使得控制信号CS[0]=1,重新进入正确的工作状态;而当七个触发器(移位寄存器)中输出为“1”的寄存器不少于两个“1”时,RESET0的信号会把多余的“1”逐步消除,最后只剩下一个“1”,从而也使得电路恢复到正确的工作状态。因此该状态机电路是能在错误状态下自动恢复的。
下面详细说明本发明实施例的时钟沿监测器:
作为一种可实施方式,本发明实施例的时钟沿监测器,如图11所示,由四个触发器DT0、DT1、DT2、DT3,以及一个与门构成。这样,异步串行时钟信号CLKS电平在所述时钟沿监测器的传递,至少经过两级触发器,从而也消除了亚稳态。
根据所述时序控制器可知,CS控制信号是one-hot coding,在一般工作状态下,CS[i]为周期是I倍TS的周期信号,并且占空比为1/N,高电平脉冲的宽度为一个TS。
其中,i为整数,0≤i≤I-1,TS为串行时钟信号CLKS的周期。
较佳地,在本发明实施例中,在电路里能准确丈量时间的最小单位是串行时钟信号CLKS的时钟周期TS,所以本发明实施例中,采用TS来做时间区段的单位,如图12所示。
所述并行数据缓存器1和并行数据同步器2之间的数据通路的电路时延Tdly不超过n个串行时钟信号CLKS的时钟周期,即n·TS>Tdly_min,其中n是小于N/2的正整数,不同的实施案例中n值可以不同,TS为串行时钟信号CLKS的时钟周期,n为正整数,n=1,2,3,...。
较佳地,所述时钟沿监测器监测的将并时时钟信号CKLP的时间域以时间区段2TS进行分割。
(四)串行数据输出器4
串行时钟信号CLKS在one-hot coding控制信号CS[6:0]的控制下,把同步时钟域的数据S[6:0]从低位到高位,按顺序串行输出,如图13所示。
作为一种可实施方式,本发明实施例的跨异步时钟域的并串数据流实时转换传输装置中,所述串行数据输出器4,包括7个与门,6个或门和1个触发器DAS。
第一与门的输入是CS[0]和S[5],
第二与门的输入是CS[1]和S[6],
第三与门的输入是CS[2]和S[0],
第四与门的输入是CS[3]和S[1],
第五与门的输入是CS[4]和S[2],
第六与门的输入是CS[5]和S[3],
第一与门的输入是CS[0]和S[4];
第一与门和第二与门的输出与第一或门相连,
第三与门和第四与门的输出与第二或门相连,
第五与门和第六与门的输出与第三或门相连;
第一或门和第二或门的输出与第四或门相连,
第三或门和第六与门的输出与第五或门相连;
第四或门和第五或门的输出与第六或门相连;
第六或门的输出与触发器DAS的数据输入端D相连,串行时钟信号CLKS与触发器DAS的时钟信号端C相连,异步复位/置位信号RST与触发器DAS的复位端R相连。
在串行时钟信号CLKS在独热编码(又称一位有效编码,one-hot coding)控制信号CS[6:0]的控制下,串行数据输出器4把同步时钟域的数据S[6:0]从低位到高位,按顺序串行输出。
通过本发明实施例的跨异步时钟域的并串数据流实时转换传输装置,因为定位并行时钟信号CLKP的时钟沿的操作是可以在小于一个并行时钟信号CLKP的时钟周期TP的时间内完成的,定位的同时就即刻可以根据判别结果选择马上传递数据,所以最短情形下可以在2个TS时间后就得到第一个输出的串行数据,在最短的时间里完成可靠的跨时钟域的实时不间断的数据流传递。
实施例三
下面以一种驱动平板显示的LVDS接口电路中的跨异步时钟域的并串数据流实时转换传输装置为例,进一步详细说明本发明的跨异步时钟域的并串数据流实时转换传输装置。
如图3所示,在本实施例中,以驱动平板显示的LVDS接口电路中的跨异步时钟域的并串数据流实时转换传输装置为例,对本发明实施例跨异步时钟域的并串数据流实时转换传输装置进行说明,但是,应当说明的是,本发明的跨异步时钟域的并串数据流实时转换传输装置,同样适用于其他各种包括跨异步时钟域的并串数据流实时转换传输装置的接口电路。
作为一种LVDS接口电路的一种数据传输通道,其中包括一跨异步时钟域的并串数据流实时转换传输装置,其将与并行时钟信号CLKP同步的7比特(bit)位宽的实时不间断的并行数据流转换成与串行时钟信号CLKS同步的1比特(bit)的串行实时不间断的数据流。
本发明的驱动平板显示的低压差分信号(Low-Voltage Differential Signaling,LVDS)接口电路的跨异步时钟域的并串数据流实时转换传输装置中,并行数据缓存器1(即第一存储电路)的输入为与并行时钟信号CLKP同步的7bit(比特)位宽的并行输入数据(用DATAP[6:0]表示)。
作为一种可实施方式,如图3所示,本发明实施例的跨异步时钟域的并串数据流实时转换传输装置,包括并行数据缓存器1,并行数据同步器2,串行时序控制器3和串行数据输出器4;
RST是异步复位信号,其从外部LVDS接口电路中的异步复位电路控制输入;
DATAP是位宽为7比特(bit)的并行输入数据(信号);
DATAS是位宽为1比特(bit)的串行输出数据(信号);
B[6:0]是并行数据缓存器1和并行数据同步器2之间的并行数据总线;
S[6:0]是并行数据同步器2与串行数据输出器4之间的第二数据总线;
CS[6:0]是串行时序控制器3产生的控制信号。
所述并行数据缓存器1与所述并行数据同步器2之间通过与并行数据位宽相同的并行数据总线B[6:0](第一数据总线)连接;
所述并行数据同步器2与所述串行时序控制器3之间通过控制总线连接;
所述并行数据同步器2与所述串行数据输出器4之间通过与串行数据位宽相同的第二数据总线连接;
作为一种可实施方式,本发明实施例的并行时钟信号CLKP和串行时钟信号CLKS可以由外部LVDS电路的锁相环(Phase Locked Loop,PLL)及分频电路分别产生。
其中,串行时钟信号CLKS的频率是并行时钟信号CLKP的频率的7倍,两者的时钟相位无关联,相位关系是未知的;并行时钟信号的占空比可为2/7~5/7,较佳地,为3/7,对串行时钟信号的占空比无特别要求,只要能够驱动触发器工作即可。
所述时钟沿监测器监测的将并时时钟信号CKLP的时间域以时间区段2TS进行分割。
在这一实施例中,以跨异步时钟域的并串数据流实时转换传输装置中所有的触发器都是以上升沿触发为例进行说明,但应当可以理解的是,也可以在下降沿触发。
本发明实施例的跨异步时钟域的实时数据流转换传输装置,使与并行时钟信号CLKP同步的输入数据流DATAP[6:0]成为与串行时钟信号CLKS同步的输出数据流;并行时钟信号CLKP和串行时钟信号CLKS是异步的且并行时钟信号CLKP周期TP是串行时钟信号CLKS周期TS的7倍;
如图3所示,本实施例的跨异步时钟域的实时数据流转换传输装置中,包含触发器D[6:0]的第一存储电路(即并行数据缓存器1)和包含触发器DS[6:0]的第二存储电路(即并行数据同步器2)之间通过第一数据线B[6:0]通信连接;第三存储电路(即串行数据输出器4)与第二存储电路之间通过第二数据线S[6:0]通信连接,将与串行时钟信号CLKS同步的输出数据流输出。
并行数据缓存器1由一组触发器组成,触发器的个数与并行输入数据DATAP[6:0]的位宽相同,即触发器为7个,分别用D0,D1,D2,D3,D4,D5,D6表示。设i为0到6的整数,对于触发器Di,其数据输入端D连接到数据DATAP[i],数据输出端Q连接到第一数据线B[i](7个数据线第一数据线形成第一数据总线B[6:0]),时钟信号端C连接到并行时钟信号CLKP,异步复位端R连接到异步复位/置位信号RST。以触发器D0的连接关系为例,如图17所示,触发器D0数据输入端D连接到数据DATAP[0],数据输出端Q连接到第一数据线B[0],时钟信号端C连接到并行时钟信号CLKP,异步复位端R连接到异步复位/置位信号RST。
与并行时钟信号CLKP同步的输入并行数据流在并行时钟信号CLKP的控制下,由并行数据缓存器1(即第一存储电路)进行抓取。即第一数据总线B[6:0]在并行时钟信号CLKP的每个上升沿后更新,并行时钟信号CLKP的每个周期内,第一数据总线B[6:0]保持不变。需要找到并行时钟信号CLKP的上升沿。
并行数据同步器2由一组触发器组成,触发器的个数与第一数据总线B[6:0]的位宽相同,即触发器为7个,分别用DS0,DS1,DS2,DS3,DS4,DS5,DS6表示。设i为0到6的整数,对于触发器DSi,其数据输入端D连接到第一数据线B[i],数据输出端Q连接到第二数据线S[i](7个数据线第二数据线S[i]形成第二数据总线S[6:0]),时钟信号端C连接到串行时钟信号CLKS,异步复位端R连接到异步复位/置位信号RST,所有七个触发器的使能控制信号端E都连接到使能控制信号CS[1]。以触发器DS0的连接关系为例,触发器DS0的数据输入端D连接到数据B[0],数据输出端Q连接到第二数据线S[0],其时钟信号端C连接到串行时钟信号CLKS,其异步复位端R连接到异步复位/置位信号RST,其使能控制信号端E连接到使能控制信号CS[1]。
其中,串行时序控制器3产生串行数据控制信号CS[6:0],选择控制信号CS[1]作为触发器DSi的使能控制信号;所述串行数据控制信号CS[6:0]输入到串行数据输出器4。可以选择CS[6:0]中的任何一个作为触发器DSi的使能控制信号,一旦选定,则状态机电路确定。
串行时序控制器3包括状态机电路和时钟沿检测器。状态机电路和时钟沿检测器采用实施例四中的状态机电路和时钟沿检测器,其中,状态机的7个寄存器输出端Q的输出信号分别用CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6]表示,提供给并行数据同步器2和串行数据输出器4的控制信号。
下面以第0个触发器对应的传输电路为例,对本实施例的跨异步时钟域的实时数据流转换传输装置工作过程进行描述。同理,第1,2,......6个触发器对应的传输电路工作过程也与其相同,因此,在本发明实施例中,对第1~6个触发器对应的传输电路不再一一详细描述。
在第0个触发器中,数据传递过程如下:
(1)在并行时钟信号CLKP的控制下,第一存储电路的触发器D0对输入数据流DATAP[0]进行周期性抓取;
即当并行时钟信号CLKP的上升沿来临,第一存储电路的触发器D0抓取一次数据;
(2)在串行时钟信号CLKS和使能控制信号CS[1]的控制下,第二存储电路的触发器DS0周期性采样抓取第一存储电路的触发器D0中的数据输出。
即串行时钟信号CLKS和使能控制信号CS[1]共同控制第二存储电路的触发器DS0抓取第一存储电路的触发器D0中的数据的时机。
其中,使能控制信号由串行时序控制器3产生,串行时序控制器3包括状态机和并行时钟信号CLKP的时钟沿监测器。状态机的状态与并行时钟信号CLKP的时钟沿监测器的设置相互关联,所述并行时钟信号CLKP的时钟沿监测器决定状态机的工作模式。
在本实施例中,状态机的状态如图6所示,状态机的正常运行过程包括有ST0,ST1,ST2,ST3,ST4,ST5,ST6共7个状态。
本发明实施例中,作为一种可实施方式,本发明实施例的状态机总共有128个状态,而其中的121个态属于非正常运行态,在本发明实施例的自动恢复电路的作用下,非正常运行态会在几个时钟周期内进入到正常运行态,因此,在本发明实施例中不再一一详细描述其他非正常运行状态。
控制状态机状态跳转的条件有四个,名称分别取为RST、FR、JF和JB。
条件“RST”,表示异步复位/置位信号的有效电平来临;
条件“FR”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临;
条件“JF”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为0;
条件“JB”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为1。
由图6可知,状态机有三种工作模式:
工作模式一(复位模式):当异步复位/置位信号RST有效,无论状态机处于哪一个状态,都会被复位到ST0。
工作模式二(循环模式):当异步复位/置位信号RST一直处于无效电平,并且J=0的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的状态ST沿着逆时针方向跳转,不断地周期循环,ST0→ST1→ST2→ST3→ST4→ST5→ST6→ST0,以上构成一个完整的循环周期。
工作模式三(调整模式):当异步复位/置位信号RST一直处于无效电平,并且J=1的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的跳转如下,
ST0→ST1→ST2→ST3→ST6→ST0。
即当异步复位/置位信号RST一直处于无效电平,状态机处于状态ST3时,并行时钟信号CLKP的时钟沿监测器输出的判别信号J决定状态机的工作模式:
当判别信号J=0的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机处于循环模式;
当判别信号J=1的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机处于调整模式;
状态机这样设置的原因在下文结合并行时钟信号CLKP时钟沿监测器予以说明。
为实现所述状态机的设置,本发明实施例提供一种状态机。
作为一种可实施方式,如图7所示,本发明实施例的所述状态机通过带自动恢复功能的计数器或者带自动恢复功能的循环移位寄存器电路来实现,
所述状态机电路包括7个寄存器(触发器)、3个与门和2个或门;
7个寄存器分别用CS0,CS1,CS2,CS3,CS4,CS5,CS6表示,7个寄存器输出端Q的输出信号分别用CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6],其中,CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6]的周期是串行时钟信号CLKS周期TS的7倍,占空比是1/7;
异步复位/置位信号RST与CS0的置位端S相连,与CS1,CS2,CS3,CS4,CS5,CS6的异步复位端R相连;
串行时钟信号CLKS与CS0,CS1,CS2,CS3,CS4,CS5,CS6的时钟信号端C相连,
设置信号(用SET1表示)和寄存器CS6的输出信号CS[6]作为第一或门的输入信号,第一或门的输出信号和重置信号(用RESET0表示)作为第一与门的输入信号,第一与门的输出信号作为寄存器CS0的输入;
寄存器CS0的输出信号CS[0]作为寄存器CS1的输入;
寄存器CS1的输出信号CS[1]作为寄存器CS2的输入;
寄存器CS2的输出信号CS[2]作为寄存器CS3的输入;
寄存器CS3的输出信号CS[3]和J信号作为第二与门的输入;
将第二与门的输出信号作为寄存器CS4的输入;
寄存器CS4的输出信号CS[4]作为寄存器CS5的输入;
寄存器CS5的输出信号CS[5]作为第二或门的一个输入;将寄存器CS3的输出信号CS[3]和J信号作为第三与门的输入,第三与门的输出信号作为第二或门的另一个输入;将第二或门的输出信号作为寄存器CS6的输入;
将寄存器CS6的输出信号CS[6]作为第一或门的一个输入信号。
在状态ST0,CS[6:0]=7’b1000000;
即CS[0]=1,CS[1]=CS[2]=CS[3]=CS[4]=CS[5]=CS[6]=0;
在状态ST1,CS[6:0]=7’b0100000;
在状态ST2,CS[6:0]=7’b0010000;
在状态ST3,CS[6:0]=7’b0001000;
在状态ST4,CS[6:0]=7’b0000100;
在状态ST5,CS[6:0]=7’b0000010;
在状态ST6,CS[6:0]=7’b0000001;
在本实施例中,在CS[1]为使能控制信号时,CS[1]的周期是串行时钟信号CLKS周期TS的7倍,占空比是1/7。可以选择7个寄存器输出端Q的输出信号(CS [0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6])中任何一个作为使能控制信号,只要设置状态机与其相匹配即可。
为实现本发明的时钟沿监测,还提供一种并行时钟信号CLKP的时钟沿监测器,其采用触发器电路实现。
如图11所示,并行时钟信号CLKP的时钟沿监测器包括4个寄存器和一个与门,4个寄存器分别用DT0,DT1,DT2,DT3表示,异步复位/置位信号RST分别与DT0,DT1,DT2,DT3异步复位端R相连;
串行时钟信号CLKS与DT0,DT1,DT2,DT3的时钟信号端C相连;
并行时钟信号CLKP与DT0和DT1的数据输入端D相连;寄存器DT0的反相数据输出端与寄存器DT2的数据输入端D相连,寄存器CS0的输出信号CS[0]与寄存器DT2的使能控制信号端E相连;寄存器DT2的数据输出端Q的输出信号为J0;
寄存器DT1的数据输出端Q的输出信号为J1;
J0和J1作为与门的输入,与门的输出信号与寄存器DT3的数据输入端D相连;
寄存器CS2的输出信号CS[2]与寄存器DT3的使能控制信号端E相连,寄存器DT3的数据输出端Q的输出信号为J。
时钟沿检测器的工作过程如下:
在CS[0]=1的时(即状态机处于状态ST0),寄存器DT2锁存住寄存器DT0的输出值,而此时的DT0的值是上一个周期抓取的并行时钟信号CLKP的电平值的反相,即是相当于CS[6]=1(即状态机处于状态ST6)时抓取的并行时钟信号CLKP的值的反相,也就是说J0是CS[6]=1(即状态机处于状态ST6)时抓取的并行时钟信号CLKP的值的反相;
在CS[2]=1时(即状态机处于状态ST2),寄存器DT3在串行时钟信号CLKS的驱动下抓取与门电路的输出值,最终输出值为J。
显然J0和CS[1]时段获得的J1的值的与,结果就是J。
当判别信号J=1时,对应J0=J1=1;
J1=1,即CS[1]=1时(即状态机处于状态ST1),并行时钟信号CLKP的值是1;
J0=1,即上一个周期CS[6]=1时(即上一个周期状态机处于状态ST6),并行时钟信号CLKP的值的反相是1,相当于并行时钟信号CLKP的值是0。
即当时钟沿检测器J=1时,记录该周期内并行时钟信号CLKP的上升沿发生在CS[1]有效事件的前2TS时间范围内。
即当时钟沿检测器J=0时,记录在CS[1]有效事件的前2TS时间范围内没有并行时钟信号CLKP的上升沿。
这样,当时钟沿检测器J=0时,CS[1]有效事件的前2TS时间范围内没有并行时钟信号CLKP的上升沿时,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,控制状态机处于循环模式;
因为CS[1]是周期为TP的控制信号,因此,每个TP的时间,只当CS[1]有效且串行时钟信号CLKS的上升沿来临时,第二存储电路的触发器DS0采样抓取第一存储电路的触发器D0中的数据;
当判别信号J=1,CS[1]有效事件的前2TS时间范围内发生该周期内并行时钟信号CLKP的上升沿,采样抓取的抓取时刻处于不定态,即抓取时刻处在并行时钟信号CLKP的上升沿的时间区段中,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,时钟沿检测器输出的判别信号控制状态机处于调整模式;每当CS[1]有效且串行时钟信号CLKS的上升沿来临时,第二存储电路的触发器DS0抓取第一存储电路的触发器D0中的数据,同时,状态机从ST1跳转到ST2,再跳转到ST3;从状态ST3直接调转到状态ST6,向后调转一个时间区段2TS,进入下一次状态调整,直到判别信号J=0而进入定态的时间区段中,即抓取时刻不处在并行时钟信号CLKP的上升沿的时间区段中。
这样设置的原理如下:
第一数据线B[0]在并行时钟信号CLKP的每个上升沿后更新一次,在更新的过程中,第一数据线B[0]的值处于转变过程中(即第一数据线B[0]的值处于数据转变区),可能还不稳定;更新后在下一次更新前保持不变。因此,下一步骤中,在一个并行时钟信号CLKP的周期内,第二存储电路的触发器DS0采样抓取一次第一存储电路的触发器D0中的数据即可,且为了保证数据的实时性必须抓取一次。
如图14所示,如果在图14中箭头所指的相应的并行时钟信号CLKP的上升沿,第二存储电路的触发器DS0去采样抓取第一数据线B[0]的数值,那么会很危险,因为这个时刻正是在并行时钟信号CLKP的上升沿之后不久,第一数据线B[0]的值或许正在数据转变区,可能还不稳定,所以如果在箭头所指的时刻去抓取第一数据线B[0]的数据,那么很可能会得到错误的数据。因此,如果发现此次抓取发生在数据转变区,那么希望能够进行调整,尽可能使下次抓取不发生在数据转变区。
在串行时钟信号CLKS的控制下,在一个并行时钟信号CLKP的周期内,第二存储电路的触发器DS0有7次采样抓取第一数据线B[0]的数值的机会。为了保障数据传递的可靠性,在传输数据时,就必须尽量避开第一数据线B[0]的数据转变区。如果发现偶然某次采样抓取发生在数据转变区,那么要想办法进行调整,使下次及以后的抓取不发生在数据转变区。
找到数据转变区的原理如下:
如图15所示,触发器DS0的数据输入端D的数据值相对于并行时钟信号CLKP的时延(用Tdly表示)由两个部分组成,一部分是触发器D0(即第一存储电路)的时钟信号端C到数据输出端Q的时延Tcq,一部分是触发器D0的数据输出端Q到触发器DS0的数据输入端D线网时延Twire,即总时延Tdly=Tcq+Twire。另外设触发器DS0的建立时间(SetupTime)为Tset,保持时间(Holdup Time)为Thold,数据传递的危险区段(即数据转变区)Tfis=Tset+Thold。那么就可以标识出数据传递的危险区段(用Tdis表示)和可靠区段(用Ten表示),如图16所示。
基于以上的分析,得到第一数据线B[0]的数据转变区和并行时钟信号CLKP的上升沿的关系。如果可以定位出并行时钟信号CLKP的上升沿的位置,就可以找到一个可以安全传递数据的时间区段(即可靠区段Ten)。
在电路中,将上述原理实现需要解决两个问题。问题1,找到并行时钟信号CLKP的上升沿;问题2,用可以准确丈量时间的最小单位来确定第一数据线B[0]的数据转变区和并行时钟信号CLKP的上升沿的时间距离。
在本实施例中,在电路里能准确丈量时间的最小单位就是串行时钟信号CLKS的时钟周期TS,所以这里采用TS来做分割时间区段的单位。串行时钟信号CLKS和并行时钟信号CLKP的时钟抖动(clock jitter,用Tj表示),通过器件的选择和合理的布局布线(只要做数字后端时采用合适约束语句,EDA工具能自动实现),使得2TS>Tdly+Tset+Tj,并且2TS-(Tdly+Tset+Tj)的值不小,采用2TS的话有足够的容差裕度。如图17所示,并行时钟信号CLKP上升沿后的2TS范围,覆盖了危险区段Tdis,并行时钟信号CLKP上升沿后2TS时间之后的区段(用Tenu表示)都是安全传递数据的时间区段。由此可知,只要触发器DS0的使能控制信号端E连接的使能控制信号CS[1]信号只在Tenu的时间区段内有效,那么就能保证跨时钟域的数据传递的可靠性。这样解决了问题2。而信号是否处于Tenu时间区段内和状态机的时序相关,因此可以通过调整状态机的时序来调整CS[1]信号的位置,来满足要求。而时钟沿监测器产生的J信号就是为此服务的。
下面需要解决问题1,找到并行时钟信号CLKP的上升沿,本发明提供一种通过快速时钟(串行时钟信号CLKS)驱动触发器对慢速时钟(并行时钟信号CLKP)进行采样定位慢速并行时钟信号CLKP时钟沿的方法:
步骤S2,当与门电路的输出为1时,在第m个和第m+n个串行时钟信号CLKS时钟上升沿之间至少有一个并行时钟信号CLKP上升沿,其中,m、n为正整数;
当与门电路的输出为0时,在第m个和第m+n个串行时钟信号CLKS时钟上升沿之间没有并行时钟信号CLKP上升沿,其中,m、n为正整数。
并行时钟信号CLKP的占空比k,满足如下关系:n/N<k<(N-n)/N,其中,1<n<N/2。在本实施例中,并行时钟信号CLKP周期是串行时钟信号CLKS周期的7倍,即N=7,
并行时钟信号CLKP的占空比k=3/7,n=2。
在本实施例中,并行时钟信号CLKP周期是串行时钟信号CLKS周期的7倍,即N=7,并行时钟信号CLKP的占空比k=3/7。即利用两个连续的串行时钟信号CLKS的时钟沿去驱动触发器抓取动作,然后比较两次的抓取结果,可能的四种结果如下,同时为了把结果2从四种可能的结果中找出来,引入逻辑运算与。
即只要找到与Qm+1=1,所对应的就是当输出端Q的电平在第m个串行时钟信号CLKS沿后为0,在随后的第m+1个串行时钟信号CLKS沿后为1,即在第m个和第m+1个串行时钟信号CLKS时钟上升沿之间至少有一个并行时钟信号CLKP的上升沿。
本实施例的方法,可以应用于跨异步时钟域的实时数据流的传递,其中,输入数据流与并行时钟信号CLKP同步,输出数据流与串行时钟信号CLKS同步。需要关心的是跨时钟域数据传递事件附近有没有并行时钟信号CLKP的上升沿,尤其是之前的时刻,所以必须检测数据传递时刻的并行时钟信号CLKP的电平,以及之前的并行时钟信号CLKP的电平,由此可以设m+1时刻是选取的数据传递时刻。那么当打算在m+1时刻去跨时钟域传递数据的话,在连续两个时钟沿m和m+1抓取并行时钟信号CLKP的电平,结果都是“1”,便认为并行时钟信号CLKP的时钟沿不在附近,于是以为在m+1时刻传递数据是安全的,但其实m+1时刻离并行时钟信号CLKP的时钟沿只有约为一个TS的距离。
下面再举例说明该方法实现过程,其中,串行时钟信号CLKS频率是并行时钟信号CLKP频率的7倍,N=7,并行时钟信号CLKP的占空比k=3/7,n=2。
CS[1]有效时,抓取第一数据线B[0]上的数据;
当判别信号J=1时,说明并行时钟信号CLKP的上升沿发生在CS[1]有效前的2TS时间之内,而不能确定并行时钟信号CLKP的上升沿的具体位置,如图10所示;即CS[1]有效,且J=1时,抓取的数据可能是不稳定的。
而在CS[1]有效,且J=1时,CS[1]有效后的2TS之后(即CS[3]有效时,处于状态ST3)避开了数据转变区,处于Tenu区段。因此,控制状态机在J=1时,状态机从ST3跳转到ST6,即改变了CS[1]有效与并行时钟信号CLKP的上升沿之间的位置关系,再周期性循环,至输出判别信号J=0。
并行时钟信号CLKP的占空比是3/7,所以高电平的脉宽在3TS左右,低电平的脉宽在4TS左右,用周期为TS的串行时钟信号CLKS去抓并行时钟信号CLKP的电平,无论是高电平还是低电平,都至少可以连续抓取两次(即便受到时钟抖动clock jitter的影响,这个容差裕度量也是足够的),而本实施例的时钟监测器也能保证至少抓到一次(因为本案例中两次连续抓取的时间间隔是2TS,再考虑到时钟抖动clock jitter的影响,宽度小于2TS或者差不多2TS的脉冲是可能抓不到的,但是明显大于2TS的电平都能抓到),从而保证了本时钟监测器的正常运行。由于CS控制信号是周期循环信号,所以本发明实施例的时钟监测器也是周期性重复监测,和CS控制信号的频率一样,即正常工作状态下每个TP(TP是并行时钟信号CLKP的时钟周期)时间内,进行一次判别时钟沿的操作。
如图18所示,分别列出时钟沿监测器A、B两个电路运行过程。
A是调整时序动作发生时状态机的变化过程,B是正常工作下的状态机循环过程。
当时钟监测器输出的Jm信号为1,表示CLKP的上升沿在CS[1]信号有效点附近,这时候,靠CS[1]信号去控制的跨时钟域数据传递操作就有可能出错,即S[6:0]m可能是错误的数值,为了防止下一次数据传递再承受这个风险,状态机开始重新调整时序开始新的循环。由图11可见,经过调整之后,CS[1]信号不在CLKP的上升沿,从而保证了S[6:0]m+1的数据可靠性。如果并行时钟信号CLKP和串行时钟信号CLKS两者之间的频率和相位在以后的时间里没有较大的相对变化,那么新循环会一直保持下去,电路也一直处于正常循环工作状态。
如果电路遭到干扰(比如电源电压的跳动等等)导致CS[1]信号又和并行时钟信号CLKP的上升沿挨近,那么J=1,状态机的自我调整又会再次启动,然后进入又一个新的循环。
本发明实施例中,应当说明的是,驱动平板显示器的低压差分信号(Low-VoltageDifferential Signaling,LVDS)接口电路中包括有多个跨异步时钟域的并串数据流实时转换传输装置,本发明实施例只举其一,其他装置的实现方式是一样的,但所有的装置共用本发明实施例中的串行时序控制器3。如果采用各自独立的状态机去控制,则一旦在干扰下出现不同状态机之间时序上的相互错位时,那么这种错误是无法自动纠正,而多个装置受控于同一个状态机电路就能保证时序同步的可恢复性。
在许多高速电路设计中,为了追求性能良好的模拟信号,模拟电路的电源和地与数字电路的电源和地是隔离的,不仅如此,某些的模拟电路的驱动时钟也通常需要与大部分数字电路的驱动时钟分开,来隔离数字电路的噪声,所以许多使用高速时钟的模拟电路都不会与庞大的数字电路部分去共用同步时钟,这就导致它们之间的数据交换必然会有跨异步时钟域的处理。可见,全同步数据处理电路在应用范围上会受到很大的限制,相比之下,本发明属于异步数据处理电路,所以既能兼容同步的情况,同时也适用于异步的情况,特别是某些数模混合设计。
例如在多媒体处理类芯片中显示控制部分的数字电路较为复杂,采用本发明的异步并串转电路后,在驱动平板显示器的低压差分信号(Low-Voltage DifferentialSignaling,LVDS)接口电路中,可以让与输出端关联的串行时钟信号CLKS与前面的RGB视频数据流和控制信号关联的时钟并行时钟信号CLKP完全异步。并且,得益于本发明的电路简洁小巧的优点,使得串行时钟信号CLKS所驱动的数字电路很少,其时钟树也就能做得很简洁,而且全部由数字逻辑构成,适用范围宽,所以在某些应用场景下,即便本发明实施例所述的整个异步并串转换电路可通过前端设计的硬件语言描述然后用电子设计自动化(Electronic Design Automation,EDA)工具生成,其获得的信号的噪声仍然能比较容易控制在符合需求的范围里。例如驱动平板显示器的低压差分信号(LVDS)接口的相关模拟电路部分的设计,只需要实现直接把最后串行而出的普通电平信号转成差分信号的功能就可以了。因此,在满足设计目标的需求的同时,本发明实施例也减轻了后端模拟设计的工作量,把尽可能多的设计任务在数字前端设计时就解决了,仿真时间也短,使得设计周期加快,并且工艺移植性更好。当然驱动平板显示器的低压接口的信号速度通常最快时也只是跑到700MHZ,采用本方案的一个异步并串电路设计实例(非本文所举例子)用0.13um工艺中常规低功耗器件库,1.08伏125摄氏度条件下,CLKS的时钟频率都很容易达到1GHz附近,即便忽略工具软件的预留余量,都足够应付通常的Peak to Peak的Clock Jitter了(Clock Jitter会导致实际的时钟周期缩短),所以在700MHZ的LVDS接口电路中应用是绰绰有余的。如果在其他应用下有更苛刻的要求,本发明实施例中串行时钟信号CLKS时钟域的所驱动的电路,也可以由模拟电路工程师完全版图设计去完成,来达到更佳的性能。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。
Claims (30)
1.一种跨异步时钟域的并串数据流实时转换传输方法,其特征在于,包括下列步骤:
与串行时钟信号CLKS同步的并行数据同步器,在与串行数据输出器同步的串行时钟信号CLKS,以及串行时序控制器发出的使能控制信号CS的控制下,实时周期性循环地采样抓取与并行时钟信号CLKP同步的数据流数据到并行数据同步器中存储的步骤;
所述串行时序控制器周期性循环地在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时钟域的不定态;当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中的步骤;
在串行时序控制器的控制下,串行数据输出器串行读取所述并行数据同步器的所述数据流数据并串行输出的步骤。
2.根据权利要求1所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,还包括下列步骤:
输入的数据流数据被与其同步的并行时钟信号CLKP所控制的并行数据缓存器缓存的步骤。
3.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述串行时钟信号CLKS的频率是并行时钟信号CLKP的频率的N倍,其中,N为不小于3的整数;
而且,所述并行时钟信号CLKP和所述串行时钟信号CLKS为异步时钟信号。
4.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述周期性循环的循环周期的长度为并行时钟信号CLKP的时钟周期的整数倍。
5.根据权利要求4所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述整数倍的最小值为1。
6.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时钟域的不定态,包括如下步骤:
采用触发器电路来判别并行时钟信号CLKP的时钟沿,所述触发器时钟端连接串行时钟信号CLKS端,所述触发器输入数据端连接并行时钟信号CLKP端,即把并行时钟信号CLKP当成一个普通的电平信号看待,在串行时序控制器的使能控制信号CS的控制下,串行时钟信号CLKS对并行时钟信号CLKP这个电平信号进行抓取,通过触发器输出端的电平变化将并行时钟信号CLKP的时钟沿所处的时间域上的区段范围的信息有效地传递到串行时钟信号CLKS的时钟域。
7.根据权利要求3所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP时钟域的不定态,包括如下步骤:
设Q为所述触发器的输出端,当Q的电平在第m个串行时钟信号CLKS的时钟沿后为0,而在随后的第m+n个串行时钟信号CLKS的时钟沿后为1时,则判别并行时钟信号CLKP至少有一个上升沿在时间域上处于m和m+n个串行时钟信号CLKS的时钟沿之间;当Q的电平在第m个串行时钟信号CLKS的时钟沿后为1,而在随后的第m+n个串行时钟信号CLKS时钟沿后为0时,这表示并行时钟信号CLKP至少有一个下降沿在时间域上处于m个和m+n个串行时钟信号CLKS的时钟沿之间;
其中,m和n为正整数。
8.根据权利要求7所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,如果所述并行时钟信号CLKP的占空比k,则n和N满足:n/N<k<(N-n)/N。
9.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中,包括如下步骤:
如果判别结果为并行时钟信号CLKP的时钟沿,则所述并行数据同步器对所述数据流数据进行抓取的抓取时刻可能会碰到数据转变时间区段,那么抓取的数据可能面临出现错误的风险,则串行时序控制器重新调整异步数据采样抓取的抓取时刻。
10.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述并行数据流数据的位宽不小于3。
11.根据权利要求1或2所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述并行时钟信号CLKP的不定态的时间区段为包含并行时钟信号CLKP的时间沿及其之后数据转变区的时间区段。
12.根据权利要求11所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,设所述并行时钟信号CLKP的时钟周期为TP,所述串行时钟信号CLKS的时钟周期为TS;则时间区段为小于TP,且为TS的整数倍。
13.根据权利要求12所述的跨异步时钟域的并串数据流实时转换传输方法,其特征在于,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即时间区段=2TS。
14.一种跨异步时钟域的并串数据流实时转换传输装置,其特征在于,包括并行数据同步器,串行时序控制器,以及串行数据输出器;
所述并行数据同步器与所述串行时序控制器之间通过与并行数据位宽相同的控制总线连接;
所述并行数据同步器与所述串行数据输出器之间通过与串行数据位宽相同的第二数据总线连接;
所述并行数据同步器,与串行时钟信号CLKS同步,用于在与串行数据输出器同步的串行时钟信号CLKS,以及串行时序控制器发出的使能控制信号CS的控制下,实时周期性循环地采样抓取与并行时钟信号CLKP同步的数据流数据到并行数据同步器中存储;
所述串行时序控制器,用于通过控制总线,周期性循环地在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的不定态;当判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述串行数据输出器,用于在串行时序控制器的控制下,通过第二数据总线,读取所述并行数据同步器的所述数据流数据并串行输出。
15.根据权利要求14所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,还包括并行数据缓存器;
所述并行数据缓存器与所述并行数据同步器之间通过与并行数据位宽相同的第一数据总线连接;
所述并行数据缓存器,与并行时钟信号CLKP同步,用于在与输入的数据流数据同步的并行时钟信号CLKP控制下,将所述数据流数据缓存。
16.根据权利要求14或15所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述并行时钟信号CLKP和串行时钟信号CLKS由锁相环及分频电路分别产生。
17.根据权利要求16所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述并行时钟信号CLKP的频率是串行时钟信号CLKS的频率的N倍,两者的时钟相位无关联;所述并行时钟信号的占空比为2/N~5/N。
18.根据权利要求17所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述时间区段为串行时钟信号CLKS的时钟周期TS的2倍,即所述时间区段为2TS。
19.根据权利要求15所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述并行数据缓存器,由一组触发器D[I-1:0]组成,所述触发器D[I-1:0]的个数I与输入并行数据的位宽相同;
所述第i个触发器Di包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R,其中i=0,1,...,I-1;
第i个触发器Di的数据输入端D连接到外部输入数据线DATAP[i]数据输出端Q连接到第一数据线B[i],时钟信号端C连接到并行时钟信号CLKP端,异步复位端连接到信号复位控制信号RST端。
20.根据权利要求15所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述并行数据同步器由一组触发器DS组成,所述触发器DS的个数I与第一数据总线B[I-1:0]的位宽相同;
所述第i个触发器DSi包括数据输入端D,数据输出端Q,时钟信号端C,异步复位端R,其中,i=0,1,...,I-1;
第i个触发器DSi的数据输入端D连接到第一数据线B[i],数据输出端Q连接到数据线S[i],时钟信号端C连接到串行时钟信号CLKS端,异步复位端R连接到信号复位控制信号RST端;
第i个触发器DSi还包括使能控制信号端E,所述第i个触发器的使能控制信号端E连接到控制信号CS[i]端。
21.根据权利要求18所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述串行时序控制器,包括一状态机和一时钟沿监测器;
所述状态机,用于向所述并行数据同步器输出使能控制信号CS,控制并行数据同步器在抓取时刻从并行数据缓存器中抓取得到数据流数据;当所述时钟沿监测器判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述时钟沿监测器,用于在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿。
22.根据权利要求18所述的跨异步时钟域的并串数据流实时转换传输装置,其特征在于,所述并行数据缓存器和并行数据同步器之间的数据通路的电路时延Tdly不超过n个串行时钟信号CLKS的时钟周期,即n·TS>Tdly_min,其中n是小于N/2的正整数,n=1,2,3...。
23.一种应用于权利要求14~22所述的并串数据流实时转换传输装置的串行时序控制器,其特征在于,包括一状态机和一时钟沿监测器;
所述状态机,用于向并行数据同步器输出使能控制信号CS,控制并行数据同步器在抓取时刻从并行数据缓存器中抓取得到数据流数据;当所述时钟沿监测器判别抓取时刻处于并行时钟信号CLKP的不定态的时间区段之间时,所述串行时序控制器周期性循环地调整抓取时刻,直至抓取时刻处于并行时钟信号CLKP的定态的时间区段中;
所述时钟沿监测器,用于在串行时钟信号CLKS的时钟域里对并行时钟信号CLKP的时钟进行监测,判别所述并行时钟信号CLKP的时钟沿。
24.根据权利要求23所述的串行时序控制器,其特征在于,所述数据流数据位宽为7,所述状态机的正常运行过程包括ST0,ST1,ST2,ST3,ST4,ST5,ST6共7个状态;
控制状态机状态跳转的条件有四个,名称分别取为RST、FR、JF和JB:
条件“RST”,表示异步复位/置位信号的有效电平来临;
条件“FR”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临;
条件“JF”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为0;
条件“JB”,表示异步复位/置位信号RST处于无效电平,并且串行时钟信号CLKS的有效时钟沿来临,同时来自并行时钟信号CLKP时钟沿监测器的判别信号J为1。
25.根据权利要求24所述的串行时序控制器,其特征在于,所述状态机有三种工作模式:
工作模式一,即复位模式:当异步复位/置位信号RST有效,无论状态机处于哪一个状态,都会被复位到ST0;
工作模式二,即循环模式:当异步复位/置位信号RST一直处于无效电平,并且J=0的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的状态ST沿着逆时针方向跳转,不断地周期循环,ST0→ST1→ST2→ST3→ST4→ST5→ST6→ST0,以上构成一个完整的循环周期;
工作模式三,即调整模式:当异步复位/置位信号RST一直处于无效电平,并且J=1的时候,在串行时钟信号CLKS的有效时钟沿的周期性驱动下,状态机的跳转如下:
ST0→ST1→ST2→ST3→ST6→ST0。
26.根据权利要求24或25所述的串行时序控制器,其特征在于,所述状态机通过带自动恢复功能的计数器或者带自动恢复功能的循环移位寄存器电路来实现。
27.根据权利要求26所述的串行时序控制器,其特征在于,所述状态机包括7个寄存器、3个与门和2个或门;
7个寄存器分别用CS0,CS1,CS2,CS3,CS4,CS5,CS6表示,7个寄存器输出端Q的输出信号分别用CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6],其中,CS[0],CS[1],CS[2],CS[3],CS[4],CS[5],CS[6]的周期是串行时钟信号CLKS周期TS的7倍,占空比是1/7;
异步复位/置位信号RST与CS0的置位端S相连,与CS1,CS2,CS3,CS4,CS5,CS6的异步复位端R相连;
串行时钟信号CLKS与CS0,CS1,CS2,CS3,CS4,CS5,CS6的时钟信号端C相连;
设置信号和寄存器CS6的输出信号CS[6]作为第一或门的输入信号,第一或门的输出信号和重置信号作为第一与门的输入信号,第一与门的输出信号作为寄存器CS0的输入;
寄存器CS0的输出信号CS[0]作为寄存器CS1的输入;
寄存器CS1的输出信号CS[1]作为寄存器CS2的输入;
寄存器CS2的输出信号CS[2]作为寄存器CS3的输入;
寄存器CS3的输出信号CS[3]和J信号作为第二与门的输入;
将第二与门的输出信号作为寄存器CS4的输入;
寄存器CS4的输出信号CS[4]作为寄存器CS5的输入;
寄存器CS5的输出信号CS[5]作为第二或门的一个输入;将寄存器CS3的输出信号CS[3]和J信号作为第三与门的输入,第三与门的输出信号作为第二或门的另一个输入;将第二或门的输出信号作为寄存器CS6的输入;
将寄存器CS6的输出信号CS[6]作为第一或门的一个输入信号。
28.根据权利要求27所述的串行时序控制器,其特征在于,所述时钟沿监测器采用触发器电路,包括4个寄存器和一个与门,4个寄存器分别用DT0,DT1,DT2,DT3表示,异步复位/置位信号RST分别与DT0,DT1,DT2,DT3异步复位端R相连;
串行时钟信号CLKS与DT0,DT1,DT2,DT3的时钟信号端C相连;
并行时钟信号CLKP与DT0和DT1的数据输入端D相连;
寄存器DT1的数据输出端Q的输出信号为J1;
J0和J1作为与门的输入,与门的输出信号与寄存器DT3的数据输入端D相连;
寄存器CS2的输出信号CS[2]与寄存器DT3的使能控制信号端E相连,寄存器DT3的数据输出端Q的输出信号为J。
29.一种应用如权利要求23~27任一项所述的串行时序控制器的驱动平板低压差分信号接口电路,其特征在于,包括一所述的串行时序控制器。
30.根据权利要求29所述的驱动平板低压差分信号接口电路,其特征在于,包括至少两个以上跨异步时钟域并串数据流实时转换传输装置,所述跨异步时钟域并串数据流实时转换传输装置共用同一个所述的串行时序控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010508429.3A CN102447477B (zh) | 2010-10-15 | 2010-10-15 | 跨异步时钟域的并串数据流实时转换传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010508429.3A CN102447477B (zh) | 2010-10-15 | 2010-10-15 | 跨异步时钟域的并串数据流实时转换传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102447477A true CN102447477A (zh) | 2012-05-09 |
CN102447477B CN102447477B (zh) | 2014-05-07 |
Family
ID=46009614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010508429.3A Active CN102447477B (zh) | 2010-10-15 | 2010-10-15 | 跨异步时钟域的并串数据流实时转换传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102447477B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739203A (zh) * | 2012-07-11 | 2012-10-17 | 中国科学技术大学 | 一种脉冲波形输出方法和装置 |
CN103095254A (zh) * | 2012-12-31 | 2013-05-08 | 中国电子科技集团公司第四十一研究所 | 一种基于fpga的脉冲滑变信号产生电路 |
CN103929157A (zh) * | 2014-04-17 | 2014-07-16 | 成都雷思特电子科技有限责任公司 | 新型数字脉冲流产生系统及其方法 |
CN103973312A (zh) * | 2013-02-05 | 2014-08-06 | 阿尔特拉公司 | 用于并行信号的对齐的技术 |
CN104283561A (zh) * | 2014-09-22 | 2015-01-14 | 电子科技大学 | 一种异步时钟并串转换半周期输出电路 |
CN105222744A (zh) * | 2014-06-26 | 2016-01-06 | 约翰内斯·海德汉博士有限公司 | 用于在位置测量设备中产生触发信号的装置和方法以及与此相关的位置测量设备 |
CN106339341A (zh) * | 2016-08-22 | 2017-01-18 | 长沙中部芯空微电子研究所有限公司 | 一种片上并行SerDes系统及实现方法 |
WO2017124219A1 (zh) * | 2016-01-18 | 2017-07-27 | 中国科学技术大学 | 一种基于fpga的方波发生器及方法 |
CN107294529A (zh) * | 2017-06-26 | 2017-10-24 | 珠海全志科技股份有限公司 | 一种实现无限精度的数字锁相环 |
CN111224658A (zh) * | 2020-01-16 | 2020-06-02 | 电子科技大学 | 一种并行数据转串行数据的转换电路的设计方法 |
CN111221378A (zh) * | 2018-11-27 | 2020-06-02 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111698052A (zh) * | 2020-06-12 | 2020-09-22 | 四川革什扎水电开发有限责任公司 | 一种跨越电力安全区的同源对时系统 |
CN113961503A (zh) * | 2021-10-27 | 2022-01-21 | 成都旋极历通信息技术有限公司 | 一种低压差分信号异步接收方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
JP2009253722A (ja) * | 2008-04-08 | 2009-10-29 | Kawasaki Microelectronics Inc | パラレル/シリアル変換回路 |
US20100079316A1 (en) * | 2008-09-30 | 2010-04-01 | Tdk Corporation | Digital signal transmitting apparatus and digital signal transmitting method |
JP2010199725A (ja) * | 2009-02-23 | 2010-09-09 | Yokogawa Electric Corp | データ送信装置及び半導体試験装置 |
-
2010
- 2010-10-15 CN CN201010508429.3A patent/CN102447477B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009487A (zh) * | 2007-01-24 | 2007-08-01 | 华为技术有限公司 | 跨时钟域异步数据处理、异步数据跨时钟域的方法及装置 |
JP2009253722A (ja) * | 2008-04-08 | 2009-10-29 | Kawasaki Microelectronics Inc | パラレル/シリアル変換回路 |
US20100079316A1 (en) * | 2008-09-30 | 2010-04-01 | Tdk Corporation | Digital signal transmitting apparatus and digital signal transmitting method |
JP2010199725A (ja) * | 2009-02-23 | 2010-09-09 | Yokogawa Electric Corp | データ送信装置及び半導体試験装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739203A (zh) * | 2012-07-11 | 2012-10-17 | 中国科学技术大学 | 一种脉冲波形输出方法和装置 |
CN103095254A (zh) * | 2012-12-31 | 2013-05-08 | 中国电子科技集团公司第四十一研究所 | 一种基于fpga的脉冲滑变信号产生电路 |
CN103973312A (zh) * | 2013-02-05 | 2014-08-06 | 阿尔特拉公司 | 用于并行信号的对齐的技术 |
CN103973312B (zh) * | 2013-02-05 | 2017-11-10 | 阿尔特拉公司 | 用于并行信号的对齐的技术 |
CN103929157B (zh) * | 2014-04-17 | 2017-01-11 | 成都嘉泰华力科技有限责任公司 | 新型数字脉冲流产生系统及其方法 |
CN103929157A (zh) * | 2014-04-17 | 2014-07-16 | 成都雷思特电子科技有限责任公司 | 新型数字脉冲流产生系统及其方法 |
CN105222744A (zh) * | 2014-06-26 | 2016-01-06 | 约翰内斯·海德汉博士有限公司 | 用于在位置测量设备中产生触发信号的装置和方法以及与此相关的位置测量设备 |
CN105222744B (zh) * | 2014-06-26 | 2018-11-20 | 约翰内斯·海德汉博士有限公司 | 用于在位置测量设备中产生触发信号的装置和方法以及与此相关的位置测量设备 |
CN104283561A (zh) * | 2014-09-22 | 2015-01-14 | 电子科技大学 | 一种异步时钟并串转换半周期输出电路 |
US10733126B2 (en) | 2016-01-18 | 2020-08-04 | University Of Science And Technology Of China | FPGA-based square-wave generator and square-wave generation method |
WO2017124219A1 (zh) * | 2016-01-18 | 2017-07-27 | 中国科学技术大学 | 一种基于fpga的方波发生器及方法 |
CN106339341A (zh) * | 2016-08-22 | 2017-01-18 | 长沙中部芯空微电子研究所有限公司 | 一种片上并行SerDes系统及实现方法 |
CN107294529A (zh) * | 2017-06-26 | 2017-10-24 | 珠海全志科技股份有限公司 | 一种实现无限精度的数字锁相环 |
CN107294529B (zh) * | 2017-06-26 | 2020-08-25 | 珠海全志科技股份有限公司 | 一种实现无限精度的数字锁相环 |
CN111221378A (zh) * | 2018-11-27 | 2020-06-02 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111221378B (zh) * | 2018-11-27 | 2021-08-24 | 成都鼎桥通信技术有限公司 | 周期信号的时钟域转换方法、装置及可读存储介质 |
CN111224658A (zh) * | 2020-01-16 | 2020-06-02 | 电子科技大学 | 一种并行数据转串行数据的转换电路的设计方法 |
CN111698052A (zh) * | 2020-06-12 | 2020-09-22 | 四川革什扎水电开发有限责任公司 | 一种跨越电力安全区的同源对时系统 |
CN113961503A (zh) * | 2021-10-27 | 2022-01-21 | 成都旋极历通信息技术有限公司 | 一种低压差分信号异步接收方法及装置 |
CN113961503B (zh) * | 2021-10-27 | 2024-04-12 | 成都旋极历通信息技术有限公司 | 一种低压差分信号异步接收方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102447477B (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102447477B (zh) | 跨异步时钟域的并串数据流实时转换传输方法和装置 | |
CN102112888B (zh) | 用于自动测试仪器的跟踪器电路和方法 | |
CN110321316B (zh) | 一种多通道同步数据采集自适应训练控制装置及方法 | |
CN105453067B (zh) | N相信号转变对准 | |
CN106708168B (zh) | 多处理器系统及时钟同步方法 | |
JP5577932B2 (ja) | 送信回路および通信システム | |
CN103888147B (zh) | 一种串行转并行转换电路和转换器以及转换系统 | |
CN107786764A (zh) | 调制解调器和rf芯片、包括芯片的应用处理器及操作方法 | |
CN104064150A (zh) | 一种led驱动芯片双通道信号传输方法 | |
CN101834715A (zh) | 一种数据处理方法及数据处理系统以及数据处理装置 | |
US7058535B2 (en) | Test system for integrated circuits with serdes ports | |
CN102680757A (zh) | 多路数字信号隔离调理采集设备 | |
US20030081707A1 (en) | Data synchronization circuit and communication interface circuit | |
JP5365132B2 (ja) | 直列信号の受信装置、直列伝送システム、直列伝送方法、直列信号の送信装置 | |
US8578074B2 (en) | First in first out device and method thereof | |
JP4448076B2 (ja) | データ送受信回路のタイミング調整回路、lsi及びデータ送受信システム | |
CN110365710A (zh) | 多协议聚合传输装置、系统及方法 | |
CN102385912B (zh) | 进行采样相位设定的主控制器、半导体装置以及方法 | |
US9727306B2 (en) | Bi-synchronous electronic device with burst indicator and related methods | |
CN102723943B (zh) | 一种cpld及其实现信号电平转换的方法 | |
US7375561B2 (en) | Timing adjustment circuit and method thereof | |
CN104063351B (zh) | 一种用于乒乓防冲突的高速复接器同步串行接口设计方法 | |
CN109995346A (zh) | 一种基于时钟吞咽电路的高频时钟同步电路 | |
CN203071936U (zh) | 用于数据记录与回放的装置及系统 | |
CN204595845U (zh) | 一种基于双线总线的单向通讯控制装置 |
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 |