一种基于ds编码的并行接收方法及其装置的制作方法

文档序号:7861447阅读:455来源:国知局
专利名称:一种基于ds编码的并行接收方法及其装置的制作方法
技术领域
本发明涉及一种基于DS编码的并行接收方法,实现了一种应用在Spacewire节点控制器中的4位串并数据转换器和4位并行数据接收器。
背景技术
随着航天技术的发展以及航天应用的进一步深入,对航天器的在轨数据处理及交互能力提出了越来越高的要求。Spacewire是欧空局(ESA)为了解决上述需求而推出的一种总线标准,具有高性能、低功耗、高可靠等特点,目前己经成功地应用在多个空间任务中。Spacewire采用Data-Strobe (DS)编码技术,发送时数据由Data信号直接传输,每相邻两位Data信号相同时Strobe信号发生变化。接收时Data信号与Strobe信号相异或得到的时钟信号作为接收数据信号的时钟。采用DS编码之后,解码器的两种主流解决方案一种·是采用符合采样定理的传统的采样方法即高频时钟信号采样低频数据信号,但需要一个高频的时钟,一般是通过锁相环来提供,增加时钟锁相环资源会增加系统的资源增大设计复杂度;另外一种是通过时钟恢复技术。目前普遍采用的是时钟恢复技术。采样这种技术必然面临两个问题,一个是数据在异步时钟域中交互的可靠性问题,另一个是将数据变为并行数据后的解码问题。

发明内容
为了克服时钟恢复技术在异步时钟域中交互的可靠性问题的不足,本发明提供一种基于DS编码的并行接收方法,在系统不增加时钟锁相环资源的情况下,用低频的系统时钟来接收高频的发送数据。本发明解决其技术问题所采用的技术方案包括以下步骤I)将一个Data-Strobe (DS)码流中的Data信号和Strobe信号相异或生成时钟信号,该时钟信号作为采样数据信号的时钟;2)用DS异或生成的时钟信号的上升沿对数据信号进行采样,每采样N位为一组数据;用时钟信号的下降沿对数据信号进行采样,每采样N位为一组数据;用一个模N的计数器做采样标识;对于数据分组是根据数据指令编码的格式来确定N为几,对于Spacewire节点控制器的解码器来说,最小的控制字符为4,所以本发明中的串并转换器是4位的;3)将上升沿采样和下降沿采样的数据按照先后顺序位与位交替存储,存储后以2N位为一组数据;通过上述的模N计数器将这2N位的数据分为每N位一组;4)将交替存储后分解的N位数据通过接收装置的系统工作时钟和三级寄存器进行三级同步,消除异步时钟域中数据交换的亚稳态;5)在所述的计数器非零时生成一个数据有效指示信号;6)将该数据有效指示信号通过接收装置系统工作时钟经过三级寄存器进行三级同步;7)将同步后的数据信号和数据有效指示信号进行并行数据解码接收,通过一个状态机实现。状态机的第一个状态是Detect_CtrlChar,也就是复位后初始状态,如果接收到的4位数据是控制字符(ESC、FCT、E0P或EEP)则,仍然保持在该状态,其他情况跳转到下一状态 CargoBit4 ;状态机的第二个状态是CargoBit4 :表示节点已经接收到4个字符位;该状态下①若在前一状态CargoBitlO时检测到数据字符,则不做任何操作,直接转移至CargoBit8,②若停留在该状态期间检测到数据或时间码,也不做任何操作,直接转移至CargoBitS,③若检测到控制字符,则停留在该状态;可能接收到控制字符,不可能接收到数据和时间码;可以检测所有字符;CargoBit8 :表示节点已经收到8个字符位;该状态下,收到的8个字符位是数据字符(或时间码的数据部分)的前8位,从而必然接收到数据或时间码,不可能接收到控制字符;检测到数据或控制字符(但不知是什么控制字符,因为只检测到控制位’ I’,下同),不可能检测到时间码;无条件转移到CargoBit2 ; CargoBit2 :表示节点收到2个字符位;该状态下①若在前一状态CargoBit8时检测到数据字符,则不做任何操作,直接转移至CargoBit6,②若检测到控制字符(但不知是什么控制字符),则停留在该状态,③若检测到数据或时间码,则转移至CargoBite ;若检测到控制字符(但不知是什么控制字符),则对具体是什么控制字符不做检测,直接接收;不可能接收到数据或时间码;CargoBit6 :表示节点收到6个字符位;该状态下,必是节点已经检测到数据或时间码,收到的6个字符位是数据字符(或时间码的数据部分)的前6位;不做任何操作,无条件转移至CargoBitlO ;CargoBitlO :表示已经接收到10个字符位;该状态下,必接收到数据或时间码,不可能接收到控制字符;检测到数据或控制字符,不可能检测到时间码、NULL字符(此状态ESC_0bserved 必为'O');无条件转移到 CargoBit4。所述的N为任意偶数。本发明还提供一种实现上述方法的装置,包括时钟恢复电路、串并数据转换单元和并行数据接收器,数据信号经过时钟恢复电路,恢复出时钟信号,将数据信号和时钟信号同时送入串并数据转换器。该串并数据转换器的输入信号有Data信号、Strbdn信号,需要转换的串行数据是I位的Data信号。该转换器的输出信号是N位的数据信号,和一位数据有效指示信号。输出的N位数据和一位数据有效指示信号,经过接收装置系统工作时钟的三级寄存器同步后完成异步时钟域内数据正确交互,将同步后的数据信号和数据有效指示信号同时送入并行数据接收器进行数据解码接收。本发明的有益效果是本发明在不增加系统锁相环资源的情况下用简单逻辑电路实现了用低速系统时钟接收高速发送数据的功能。由于未增加时钟锁相环资源,也就是减少了系统资源开销,减小了设计的复杂程度,同时会降低工艺的复杂度,提高成品率。采用低速时钟实现了接收较高速率的数据,提高了通讯速率。


图I为本发明基于DS编码的并行接收技术的构架框图2为本发明中的DS时钟恢复单元实施电路原理简图;图3为DS恢复时钟采样串行数据到并行数据的实现原理图;图4为N位串并转换数据拼接原理图;图5为DS恢复正沿时钟采样数据时序图;图6为根据本发明实施的一个N为4的4位串并转换的时序图;图7为本发明在Spacewire节点控制器中实现4位并行数据接收器的状态图。
具体实施例方式本发明提供一种基于DS编码的并行接收方法,该方法就是首先将一个DS码流所传送的数据信号通过DS信号恢复出的时钟信号进行采样,采样后的串行数据拼为一个N位 的并行数据;然后将该并行数据经过三级同步处理,可靠地传送到系统时钟域中做数据接收的解码;最后就是为了保证数据接收的及时性,直接对该并行数据进行解码接收。本发明实现的基于DS编码的并行接收装置包括(I)一个将串行数据码流转换为一个N位字符流的串并转换电路,该电路不是简单的将串行数据通过移位寄存器变成一个并行数据,因为接收到的数据不是一个简单的顺序数据流;(2) —个N位的并行数据接收器,在本发明依据SpaceWire协议的字符特点设计一个4位的并行数据接收器。当应用在其他系统中,N可以是任意偶数,可以扩展为2、4、8等。I.串并数据转换单元 在数据信号到达该该单元前先经过如图2所示的时钟恢复电路,将Data信号和DS时钟同时送入该串并数据装换器。本发明的关键技术就在串并数据转换单元,简单的通过DS时钟采样到的数据直接送到接收器中进行解码接收存在异步时钟域中数据交互问题,很难保证数据完备,解码正确。本电路可以实现N位数据串并转换,经过三级同步完成异步时钟域内数据正确交互。实现步骤I)数据信号用DS时钟的上升沿进行采样,用一个模N的计数器做采样标识,N位为一组;2)数据信号用DS时钟的下降沿进行采样,用一个模N的计数器做采样标识,N位为一组;3)上升沿采样和下降沿采样的数据交替存入一个N位寄存器中;4)将该N位数据通过系统时钟进行三级同步;5)上述模N的计数器在非零时生成一个数据有效指示信号;6)将该数据有效信号通过系统时钟进行三级同步;7)将同步后的数据信号和数据有效指示信号同时送入下一个并行接收单元进行数据解码接收。2.并行接收器单元并行接收器单元,也就是并行数据处理器单元,确定N的值是接收器的设计的关键点。N的确定要根据传输字符的特点来定。如果N路并行信号输入是分析器能够允许的
最高位宽,则采用fMHz的时钟可以解码$ f^bps或者更高速率的数据,但最高可以接收的
数据速率不超过NfMbps。
本发明为Spacewire节点控制器设计的4路并行接收器,Spacewire协议是根据1355-1995协议来制定的,并在其基础上提供了 Time-codes来支持在网络层传播系统时间。SpaceWire协议中有三种类型的字符,数据字符、控制字符和连接字符。分析SpaceWire字符层协议字符层特性,其中最小的字符是4位,亦是解码的最小位宽为4位。所以4路并行信号输入是Spacewire接收解码器能够允许的最高位宽。4路并行输入接收器分析器对由DS信号恢复出的数据进行分析,每个时钟周期可以处理4路并行信号。下面结合附图和实施例对本发明进一步说明。如图2所示,来自PAD的信号Data和Strobd经过异或生成DS时钟clkds,clk_p的上升沿和clk_n的上升沿分别是clkds的上升沿和下降沿;生成的clk_p和clk_n两个输入,它们均是与系统时钟异步的时钟信号。如果只用异或产生的时钟上升沿对Data信号进行采样的话,只能得到一半Data信号,所以异或产生的时钟信号要用到上升沿和下降沿·交替对Data信号进行采样,可以保证数据的完整性。时钟信号经过逻辑门后对Data信号进行采样,由门延时保证时钟可以正确采样到数据。如图3所示输入的数据信号通过恢复出的正时钟clk_p和负时钟clk_n采样到数据存入两个2N位的移位寄存器中。当接收到2N位后可通过系统时钟采样移位寄存器交叉拼接数据存入2N位寄存器中,经过3级的系统钟同步采样后,用2拍输出N位并行数据。其中用到两个2N位的寄存器,做乒乓处理交替送出数据。也就是由于用fMHz的时钟无法正确解码fMbps的DS信号,用DS信号恢复出来的时钟clkds,将码速率为fMbps的DS编码信号分为两路码速率为f/2Mbps的信号。如图4所示,图中只画出了 clkds的上升沿clkp对D信号的采样。信号PEn是对clkds的二分频,作为信号DataP的使能信号,在PEn的上升沿和下降沿都有一个有效数据位。同步时钟对PEn进行采样,检测到PEn的沿时对DataP进行采样,得到有效数据位,得到原DS信号携带的一半信存入Clk_p的移位寄存器中。DS信号携带的另一半信息同样的方法存入另一个移位寄存器中。其中两个移位寄存器数据交替拼接存入到寄存器。图6是一个N为4位的串并转换时序图,其中应用了一个模4的计数器来控制采样和生成输出数据的使能信号。并行解码分析器主要结构为一个状态机,如图7所示,Detect_CtrlChar表示节点在该状态下检测到控制字符(ESC、FCT、EOP或EEP)。CargoBitlO :表示已经接收到10个字符位;该状态下,必接收到数据或时间码,不可能接收到控制字符;检测到数据或控制字符,不可能检测到时间码、NULL字符(此状态ESC_0bserved必为,O');无条件转移到CargoBit4 ;CargoBit4 :表示节点已经接收到4个字符位;该状态下①若在前一状态CargoBitlO时检测到数据字符,则不做任何操作,直接转移至CargoBit8,②若停留在该状态期间检测到数据或时间码,也不做任何操作,直接转移至CargoBitS,③若检测到控制字符,则停留在该状态;可能接收到控制字符,不可能接收到数据和时间码;可以检测所有字符;CargoBit8 :表示节点已经收到8个字符位;该状态下,收到的8个字符位是数据字符(或时间码的数据部分)的前8位,从而必接收到数据或时间码,不可能接收到控制字符;检测到数据或控制字符(但不知是什么控制字符,因为只检测到控制位,r,下同),不可能检测到时间码;无条件转移到CargoBit2 ;CargoBit2 :表示节点收到2个字符位;该状态下①若在前一状态CargoBit8时检测到数据字符,则不做任何操作,直接转移至CargoBit6,
②若检测到控制字符(但不知是什么控制字符),则停留在该状态,③若检测到数据或时间码,则转移至CargoBite ;若检测到控制字符(但不知是什么控制字符),则对具体是什么控制字符不做检测,直接接收;不可能接收到数据或时间码;CargoBit6 :表示节点收到6个字 符位;该状态下,必是节点已经检测到数据或时间码,收到的6个字符位是数据字符(或时间码的数据部分)的前6位;不做任何操作,无条件转移至CargoBitlO。
权利要求
1.一种基于DS编码的并行接收方法,其特征在于包括下述步骤 1)将一个DS码流中的Data信号和Strobe信号相异或生成时钟信号,该时钟信号作为采样数据信号的时钟; 2)用时钟信号的上升沿对数据信号进行采样,每采样N位为一组数据;用时钟信号的下降沿对数据信号进行采样,每采样N位为一组数据;用一个模N的计数器做采样标识; 3)将上升沿采样和下降沿采样的数据按照先后顺序位与位交替存储,存储后以2N位为一组数据;通过上述的模N计数器将这2N位的数据分为每N位一组; 4)将交替存储后分解的N位数据通过接收装置的系统工作时钟和三级寄存器进行三级同步,消除异步时钟域中数据交换的亚稳态; 5)在所述的计数器非零时生成一个数据有效指示信号; 6)将该数据有效指示信号通过接收装置系统工作时钟经过三级寄存器进行三级同I K少; 7)将同步后的数据信号和数据有效指示信号进行并行数据解码接收,通过一个状态机实现。
2.根据权利要求I所述的基于DS编码的并行接收方法,其特征在于所述的N为任意偶数。
3.根据权利要求I所述的基于DS编码的并行接收方法,其特征在于所述的N为4。
4.根据权利要求I所述的基于DS编码的并行接收方法,其特征在于所述的状态机的第一个状态是Detect_CtrlChar,也就是复位后初始状态,如果接收到的4位数据是控制字符,则仍然保持在该状态,其他情况跳转到下一状态CargoBit4 ; CargoBit4 :该状态下若在前一状态CargoBitlO时检测到数据字符,则不做任何操作,直接转移至CargoBitS;若停留在该状态期间检测到数据或时间码,也不做任何操作,直接转移至CargoBit8 ;若检测到控制字符,则停留在该状态; CargoBit8 :该状态下检测到数据或控制字符,无条件转移到CargoBit2 ; CargoBit2 :该状态下若在前一状态CargoBit8时检测到数据字符,则不做任何操作,直接转移至CargoBite ;若检测到控制字符,则停留在该状态;若检测到数据或时间码,则转移至CargoBit6 ;若检测到控制字符,则直接接收; CargoBit6 :该状态下不做任何操作,无条件转移至CargoBitlO ; CargoBitlO :该状态下检测到数据或控制字符,无条件转移到CargoBit4。
5.一种实现权利要求I所述基于DS编码的并行接收方法的装置,包括时钟恢复电路、串并数据转换单元和并行数据接收器,其特征在于数据信号经过时钟恢复电路恢复出时钟信号,将数据信号和时钟信号同时送入串并数据转换器,输出N位的数据信号和一位数据有效指示信号,经过接收装置系统工作时钟的三级寄存器同步后完成异步时钟域内数据正确交互,将同步后的数据信号和数据有效指示信号同时送入并行数据接收器进行数据解码接收。
全文摘要
本发明提供了一种基于DS编码的并行接收方法及其装置,数据信号经过时钟恢复电路恢复出时钟信号,将数据信号和时钟信号同时送入串并数据转换器,输出N位的数据信号和一位数据有效指示信号,经过接收装置系统工作时钟的三级寄存器同步后完成异步时钟域内数据正确交互,将同步后的数据信号和数据有效指示信号同时送入并行数据接收器进行数据解码接收。本发明在不增加系统锁相环资源的情况下用简单逻辑电路实现了用低速系统时钟接收高速发送数据的功能,减小了设计的复杂程度,同时会降低工艺的复杂度,提高成品率,采用低速时钟实现了接收较高速率的数据,提高了通讯速率。
文档编号H04L1/00GK102946293SQ20121036298
公开日2013年2月27日 申请日期2012年9月26日 优先权日2012年9月26日
发明者刘欢, 王剑峰, 吴龙胜 申请人:中国航天科技集团公司第九研究院第七七一研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1