一种nrzi编解码并行电路的制作方法

文档序号:7522008阅读:490来源:国知局
专利名称:一种nrzi编解码并行电路的制作方法
技术领域
本发明涉及一种编解码电路,特别是涉及一种NRZI编解码并行电路。
背景技术
随着电子技术的发展,USB设备已经大量应用于日常生活中。USB技术采用串行总线,数据逐位依次传送。USB系统中数据传输采用NRZI (NonReturn to Zero Invert,反向非归零)编码方式,这种编码方式既能保证数据传送的完整性,又不需独立的时钟信号和数据一起发送。当遇到O电平信号时NRZI编码数据流发生跳变,而遇到I电平信号时保持不变。数据流中的跳变使解码器可以与收到的数据保持同步,因而不必提供独立的时钟信号。大多数情况下,NRZI编码与位填充一起使用,因为一长串的连续I将会导致无电 平跳变,从而引起接收器最终丢失同步信号,解决办法是采用位填充技术。即在连续传输六个I的情况下填充一个0,使得NRZI编码数据流中发生跳变,这就确保接收器至少可以在每七个的时间间隔内从数据流中会检测到一次跳变,从而使接收器和传送的数据保持同步。UTMI (USB2. O Transceiver Macrocell Interface)发送端负责在 NRZI 编码前的数据流中插入一个O电平,即填充位操作;UTMI接收端须在NRZI解码后的数据中,当出现六个连续I电平后,把其后的一个O电平给抽取出来丢弃,即位抽取操作。如果在接收到的数据中,六个连续的I后跟随的不是O而是1,则产生错误,产生出错信号。传统的NRZI编解码采用串行设计来实现的,由于高速模式下,USB的数据率是480Mbps,在串行处理NRZI解码操作时,需要的工作时钟为480MHz,极大地增加了电路功耗。

发明内容
本发明要解决的技术问题是提供一种NRZI编解码并行电路,能实现NRZI编解码操作,有效降低电路功耗。为解决上述技术问题,本发明的NRZI编解码并行电路,包括N+1个二选一选择器和N个同或运算单元,其中,一个二选一选择器和一个同或运算单元组成一个数据选择及运算的基本单元;第一个二选一选择器受同步信号控制,接收NRZI编解码电路的初始值和第N+1个二选一选择器的输出数据,输出数据给第一个同或运算单元;第N+1个二选一选择器受控制信号控制选择的输出数据直接输出到第一个二选一选择器;第M个二选一选择器接收外部数据和第M-I个同或运算单元的输出数据,并受控制信号控制选择输出数据,输出到各自对应的同或运算单元,N;同或运算单元,接收外部数据和其各自对应的二选一选择器的输出数据,进行同或运算并输出运算结果。
所述电路输入数据和输出数据的位宽为S比特,数据位宽S与同或运算单元个数N的关系为S = N。在传统的电路中,发送数据通路需要一个NRZI编码电路,接收数据通路需要一个NRZI解码电路;本发明提供的NRZI编解码并行电路在控制信号的控制下,既能进行NRZI编码运算,又能进行NRZI解码运算,应用于半双工电路时,能替代发送数据通路的NRZI编码电路和接收数据通路的NRZI解码电路,能节省芯片资源,降低电路功耗。


图I是本发明的NRZI编解码并行电路一实施例的示意图附图标记MUXO是第一个二选一选择器MUXl是第二个二选一选择器 MUX2是第三个二选一选择器MUX3是第四个二选一选择器MUX4是第五个二选一选择器MUX5是第六个二选一选择器MUX6是第七个二选一选择器MUX7是第八个二选一选择器MUX8是第九个二选一选择器XNORO是第一个同或运算单元XNORl是第二个同或运算单元XN0R2是第三个同或运算单元XN0R3是第四个同或运算单元XN0R4是第五个同或运算单元XN0R5是第六个同或运算单元XN0R6是第七个同或运算单元XN0R7是第八个同或运算单元。
具体实施例方式如图I所示,本发明的一实施例中,NRZI编解码并行电路包括八个同或XNOR运算单元,编号为XNORO至XN0R7 ;九个二选一选择器,编号为MUXO至MUX8。第一个二选一选择器MUXO在同步(sync)信号的控制下输入NRZI解码运算的初始值(ini_value),其它八个二选一选择器在控制(encode_decode)信号的控制下选择输入数据,八个同或运算单元(XNOR)采样外部输入数据和其各自对应二选一选择器的输出数据,进行同或运算并输出运算结果。当有数据和信号传输时,电路首先通过同步(sync)信号判断当前这一字节的数据是否为第一字节数据。同步(sync)数据位宽为I比特,表示当前这字节数据是否为需进行NRZI解码的数据。初始(ini_value)数据位宽为I比特,表示开始进行NRZI解码的初始值,根据具体应用设定为I’ bl或I’ b0。输入数据(din)位宽为8比特,表示需进行NRZI解码的输入数据;输出数据(dout)位宽为8比特,表示经NRZI解码后的输出结果。如果同步数据为真时,表明当前这一字节的数据是当前这包数据中的第一字节数据,把预先设置或外部输入的初始数据(in_value)通过二选一选择器输入到同或XNORO运算单元;否则,则表明当前这一字节的数据不是第一字节数据,把前一周期的第九个二选一选择器的运算结果通过二选一选择器输入到同或XNORO运算单元。与此同时,把外部输入的并行数据din[7:0]分别按位输入到不同的同或XNOR运算单元,其中,din [O]表示din [7:0]中的第I位数据,din [I]表示din [7:0]中的第2位数据,din[2]表示din[7:0]中的第3位数据,din[3]表示din[7:0]中的第4位数据,din [4]表示din [7:0]中的第5位数据,din [5]表示din [7:0]中的第6位数据,din [6]表示din[7:0]中的第7位数据,din[7]表示din[7:0]中的第8位数据。由同或运算产生出当前这一位的输出结果,通过dout [7:0]输出出来;其中dout [O]表示dout [7:0]中的第I位数据,dout [I]表示dout [7:0]中的第2位数据,dout [2]表示dout [7:0]中的第3位数据,dout [3]表示dout [7:0]中的第4位数据,dout [4]表示dout [7:0]中的第5位数据,dout [5]表示dout [7:0]中的第6位数据,dout [6]表示dout [7:0]中的第7位数据,dout [7]表示dout [7:0]中的第8位数据。由控制信号(encode_decode)来判断当前所做的是NRZI编码操作还是NRZI解码操作;当控制信号(encode_decode)为真时,电路进行NRZI编码工作,此时,第二个二选一选择器MUXl选择把第一个同或运算单元XN0R0的输出数据dout
输出给第二个同 或运算单元XN0R1,第三个二选一选择器MUX2选择把第二个同或运算单元XN0R1的输出数据dout [I]输出给第三个同或运算单元XN0R2,第四个二选一选择器MUX3选择把第三个同或运算单元XN0R2的输出数据dout[2]输出给第四个同或运算单元XN0R3,第五个二选一选择器MUX4选择把第四个同或运算单元XN0R3的输出数据dout[3]输出给第五个同或运算单元XN0R4,第六个二选一选择器MUX5选择把第五个同或运算单元XN0R4的输出数据dout [4]输出给第六个同或运算单元XN0R5,第七个二选一选择器MUX6选择把第六个同或运算单元XN0R5的输出数据dout [5]输出给第七个同或运算单元XN0R6,第八个二选一选择器MUX7选择把第七个同或运算单元XN0R6的输出数据dout [6]输出给第八个同或运算单元XN0R7,第九个二选一选择器MUX8选择把第八个同或运算单元XN0R7的输出数据dout [7]输出给第一个二选一选择器MUXO ;当控制信号(encode_decode)为假时,电路进行NRZI解码工作,此时,第二个二选一选择器MUXl选择把外部输入数据的第一位din
输出给第二个同或运算单元XN0R1,第三个二选一选择器MUX2选择把外部输入数据的第一位din[l]输出给第三个同或运算单元XN0R2,第四个二选一选择器MUX3选择把外部输入数据的第一位din[2]输出给第四个同或运算单元XN0R3,第五个二选一选择器MUX4选择把外部输入数据的第一位din[3]输出给第五个同或运算单元XN0R4,第六个二选一选择器MUX5选择把外部输入数据的第一位din [4]输出给第六个同或运算单元XN0R5,第七个二选一选择器MUX6选择把外部输入数据的第一位din [5]输出给第七个同或运算单元XN0R6,第八个二选一选择器MUX7选择把外部输入数据的第一位din[6]输出给第八个同或运算单元XN0R7,第九个二选一选择器MUX8选择把外部输入数据的第一位din[7]输出给第一个二选一选择器MUX0。以上通过具体实施方式
和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
权利要求
1.一种NRXI编解码并行电路,包括 N+1个二选一选择器和N个同或运算单元,一个二选一选择器和一个同或运算单元组成一个数据选择及运算的基本单元; 第一个二选一选择器受同步信号控制,接收NRZI编解码电路的初始值和第N+1个二选一选择器的输出数据,输出数据给第一个同或运算单元; 第N+1个二选一选择器受控制信号控制选择的输出数据直接输出到第一个二选一选择器; 第M个二选一选择器接收外部数据和第M-I个同或运算单元的输出数据,并受控制信号控制选择输出数据,输出到各自对应的同或运算单元,N; 同或运算单元,接收外部数据和其各自对应的二选一选择器的输出数据,进行同或运算并输出运算结果。
2.如权利要求I所述的并行电路,其特征是输入数据和输出数据的位宽为S比特,数据位宽S与同或运算单元个数N的关系为S = N。
全文摘要
本发明公开了一种NRZI编解码并行电路,包括N+1个二选一选择器和N个同或运算单元;第一个二选一选择器受同步信号控制,接收NRZI编解码电路的初始值和第N+1个二选一选择器的输出数据,输出数据给第一个同或运算单元;第N+1个二选一选择器受控制信号控制选择的输出数据直接输出到第一个二选一选择器;第M个二选一选择器接受外部数据和第M-1个同或运算单元的输出数据,并受控制信号控制选择输出数据,输出到各自对应的同或运算单元,M≤N;同或运算单元,接收外部数据和其各自对应的二选一选择器的输出数据,进行同或运算并输出运算结果。本发明的NRZI编解码并行电路,应用于半双工电路时,能实现NRZI编解码功能,有效地降低电路功耗。
文档编号H03M5/14GK102904577SQ20111021111
公开日2013年1月30日 申请日期2011年7月26日 优先权日2011年7月26日
发明者左耀华 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1