CN102904578B - 一种高速时钟域内的nrzi解码电路 - Google Patents
一种高速时钟域内的nrzi解码电路 Download PDFInfo
- Publication number
- CN102904578B CN102904578B CN201110213468.5A CN201110213468A CN102904578B CN 102904578 B CN102904578 B CN 102904578B CN 201110213468 A CN201110213468 A CN 201110213468A CN 102904578 B CN102904578 B CN 102904578B
- Authority
- CN
- China
- Prior art keywords
- depositor
- nrzi
- data
- output data
- frequency clock
- 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.)
- Active
Links
Abstract
本发明公开了一种高速时钟域内的NRZI解码电路,包括:一个比特结束定位模块,五个寄存器,一个NRZI解码模块。比特结束定位模查找出外部输入数据在高速时钟内的结束标示位,并经两级高速时钟的寄存器同步后,送入到NRZI解码模块做解码操作的控制信号;外部输入数据经两级高速时钟的寄存器同步后送入到NRZI解码模块进行NRZI解码运算,运算完成后,经高速时钟的寄存器同步后产生输出结果。本发明的高速时钟域内的NRZI解码电路,能缩短NRZI解码所需的时间,节省系统资源。
Description
技术领域
本发明涉及一种解码电路,特别是涉及一种在高速时钟域内的NRZI解码电路。
背景技术
随着电子技术的发展,USB设备已经大量应用于日常生活中。USB技术采用串行总线,数据逐位依次传送。USB系统中数据传输采用反向非归零(Non Return to ZeroInvert,简称“NRZI”)编码方式,这种编码方式既能保证数据传送的完整性,又不需独立的时钟信号和数据一起发送。当遇到0电平信号时NRZI编码数据流发生跳变,而遇到1电平信号时保持不变。数据流中的跳变使解码器可以与收到的数据保持同步,因而不必提供独立的时钟信号。
大多数情况下,NRZI编码与位填充一起使用,因为一长串的连续1将会导致无电平跳变,从而引起接收器最终丢失同步信号,解决办法是采用位填充技术。即在连续传输六个1的情况下填充一个0,使得NRZI编码数据流中发生跳变,这就确保接收器至少可以在每七个的时间间隔内从数据流中会检测到一次跳变,从而使接收器和传送的数据保持同步。UTMI(USB2.0 Transceiver Macrocell Interface)发送端负责在NRZI编码前的数据流中插入一个0电平,即填充位操作;UTMI接收端须在NRZI解码后的数据中,当出现六个连续1电平后,把其后的一个0电平给抽取出来丢弃,即位抽取操作。如果在接收到的数据中,六个连续的1后跟随的不是0而是1,则产生错误,产生出错信号。
传统的NRZI解码是在由CDR时钟恢复模块恢复出来的低速时钟域内进行NRZI解码;为解决跨时钟域的问题,通常在做NRZI解码前,外部输入的数据需要被低速时钟同步两次,传统的NRZI解码电路,所需的解码时间较长,占用系统资源较大。
发明内容
本发明要解决的技术问题是提供一种高速时钟域内的NRZI解码电路,能缩短NRZI解码所需的时间,节省系统资源。
本发明的高速时钟域内的NRZI解码电路,包括:
一个比特结束定位模块,其接收外部输入的两个时钟,高速时钟和低速时钟,用来查找外部输入数据在高速时钟域内的结束标示位;
五个寄存器,编号为第一寄存器至第五寄存器;
第一寄存器,接收外部输入数据、高速时钟和复位信号,对外部输入数据进行高速时钟域内的第一级同步处理后输出数据;
第二寄存器,接收第一寄存器的输出数据、高速时钟和复位信号,对第一寄存器的输出数据做高速时钟域内的第二级同步处理后输出数据给NRZI解码模块;
第三寄存器,接收比特结束定位模块的输出数据、高速时钟和复位信号,对比特结束定位模块的输出数据做高速时钟域内的第一级同步处理后输出数据;
第四寄存器,接收第三寄存器的输出数据、高速时钟和复位信号,对第三寄存器的输出数据做高速时钟域内的第二级同步处理后输出数据给NRZI解码模块;
第五寄存器,接收NRZI解码模块的输出数据、高速时钟和复位信号,对数据NRZI解码模块的输出数据做高速时钟域内的同步处理后输出结果;
一个NRZI解码模块,接收第二寄存器和第四寄存器的输出数据,在第四寄存器的输出数据的控制下,对第二寄存器的输出数据进行NRZI解码运算,运算完成后输出结果给第五寄存器。
所述外部输入数据是低速时钟域内的信号。
本发明通过一个比特结束定位模块LOCATE_EOB查找出当前这一比特数据在高速时钟内的结束位置eob,经两级高速时钟的寄存器同步后,产生eob_d2信号;外部输入数据din经两级高速时钟的寄存器同步后产生的din_d2在eob_d2的控制下,在NRZI解码模块NRZI_DEC内做进行NRZI解码运算,运算完成后,经高速时钟的寄存器同步后产生输出结果。
本发明的NRZI解码电路,只需在高速时钟域内做三次同步,而在传统的设计方法中需在低速时钟域内做两次同步,与传统方法相比,本发明提供的电路能缩短NRZI解码所需的时间,节省系统资源,尤其是低速与高速时钟相差较大时,优势更加明显。
附图说明
图1是本发明的NRZI解码电路示意图
附图标记说明
din是外部输入数据 clk_high是高速时钟
clk_low是低速时钟 resetn是复位信号
LOCATE_EOB是比特结束定位模块
eob是比特结束定位模块的输出数据
eob_d1是第三寄存器的输出数据
eob_d2是第四寄存器的输出数据
DFF1是第一寄存器 DFF2是第二寄存器
DFF3是第三寄存器 DFF4是第四寄存器
DFF5是第五寄存器
din_d1是第一寄存器的输出数据
din_d2是第二寄存器的输出数据
NRZI_DEC是NRZI解码模块
dec_dout是NRZI解码模块输出结果
dout是第五寄存器输出结果。
具体实施方式
如图1所示,本发明的NRZI解码电路包括:
一个比特结束定位模块LOCATE_EOB,其接收外部输入的两个时钟,高速时钟clk_high和低速时钟clk_low,其能查找出当前外部输入数据在高速时钟clk_high内的结束位置,当前这一比特外部输入数据长度为一个低速时钟周期,结束位的长度为一高速时钟周期;
五个寄存器,编号为第一寄存器DFF1至第五寄存器DFF5;
第一寄存器DFF1,接收外部输入数据din、高速时钟clk_high和复位信号resetn,对外部输入数据din进行高速时钟clk_high域内的第一级同步处理后输出数据din_d1;
第二寄存器DFF2,接收第一寄存器DFF1的输出数据din_d1、高速时钟clk_high和复位信号resetn,对第一寄存器DFF1的输出数据din_d1做高速时钟clk_high域内的第二级同步处理后输出数据din_d2给NRZI解码模块NRZI_DEC;
第三寄存器DFF3,接收比特结束定位模块LOCATE_EOB的输出数据eob、高速时钟clk_high和复位信号resetn,对比特结束定位模块LOCATE_EOB的输出数据eob做高速时钟clk_high域内的第一级同步处理后输出数据din_d1;
第四寄存器DFF4,接收第三寄存器DFF3的输出数据eob_d1、高速时钟clk_high和复位信号resetn,对第三寄存器DFF3的输出数据eob_d1做高速时钟clk_high域内的第二级同步处理后输出数据eob_d2给NRZI解码模块NRZI_DEC;
第五寄存器DFF5,接收NRZI解码模块NRZI_DEC的输出数据dec_dout、高速时钟clk_high和复位信号resetn,对数据NRZI解码模块NRZI_DEC的输出数据dec_dout做高速时钟clk_high域内的同步处理后输出结果dout;
一NRZI解码模块NRZI_DEC,接收第二寄存器DFF2和第四寄存器DFF4的输出数据din_d2和eob_d2,在第四寄存器DFF4的输出数据eob_d2的控制下,对第二寄存器DFF2的输出数据din_d2进行NRZI解码运算,运算完成后输出结果dec_dout给第五寄存器DFF5。
工作时,比特结束定位模块LOCATE_EOB接收高速时钟clk_high和低速时钟clk_low的信号,通过比特结束定位操作,产生比特结束定位模块的输出数据(结束标示位)eob,其长度为高速时钟clk_high的一个周期;然后经两级寄存器DFF3和DFF4在高速时钟clk_high域内进行同步后,输出信号eob_d2到NRZI解码模块NRZI_DEC;与此同时,外部输入数据din,也经两级寄存器DFF1和DFF2在高速时钟域内进行同步后,输出信号din_d2到NRZI解码模块NRZI_DEC;在eob_d2的控制下,din_d2在NRZI解码模块NRZI_DEC内做NRZI解码操作,操作结束后产生输出结果dec_dout,在高速时钟clk_high域内的寄存器DFF5同步处理后输出结果dout。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (2)
1.一种高速时钟域内的NRZI解码电路,其特征是,包括:
一个比特结束定位模块,其接收外部输入的两个时钟,高速时钟和低速时钟,用来查找外部输入数据在高速时钟域内的结束标示位;该结束标示位:当前这一比特外部输入数据长度为一个低速时钟周期,结束位的长度为一高速时钟周期;
五个寄存器,编号为第一寄存器至第五寄存器;
第一寄存器,接收外部输入数据、高速时钟和复位信号,对外部输入数据进行高速时钟域内的第一级同步处理后输出数据;
第二寄存器,接收第一寄存器的输出数据、高速时钟和复位信号,对第一寄存器的输出数据做高速时钟域内的第二级同步处理后输出数据给NRZI解码模块;
第三寄存器,接收比特结束定位模块的输出数据、高速时钟和复位信号,对比特结束定位模块的输出数据做高速时钟域内的第一级同步处理后输出数据;
第四寄存器,接收第三寄存器的输出数据、高速时钟和复位信号,对第三寄存器的输出数据做高速时钟域内的第二级同步处理后输出数据给NRZI解码模块;
第五寄存器,接收NRZI解码模块的输出数据、高速时钟和复位信号,对数据NRZI解码模块的输出数据做高速时钟域内的同步处理后输出结果;
一个NRZI解码模块,接收第二寄存器和第四寄存器的输出数据,在第四寄存器的输出数据的控制下,对第二寄存器的输出数据进行NRZI解码运算,运算完成后输出结果给第五寄存器。
2.如权利要求1所述的解码电路,其特征是:外部输入数据是低速时钟域内的信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110213468.5A CN102904578B (zh) | 2011-07-28 | 2011-07-28 | 一种高速时钟域内的nrzi解码电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110213468.5A CN102904578B (zh) | 2011-07-28 | 2011-07-28 | 一种高速时钟域内的nrzi解码电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102904578A CN102904578A (zh) | 2013-01-30 |
CN102904578B true CN102904578B (zh) | 2017-03-15 |
Family
ID=47576648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110213468.5A Active CN102904578B (zh) | 2011-07-28 | 2011-07-28 | 一种高速时钟域内的nrzi解码电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102904578B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6079041A (en) * | 1995-08-04 | 2000-06-20 | Sanyo Electric Co., Ltd. | Digital modulation circuit and digital demodulation circuit |
CN101145146A (zh) * | 2007-09-21 | 2008-03-19 | 浙江工业大学 | 基于fpga技术的usb接口驱动装置 |
-
2011
- 2011-07-28 CN CN201110213468.5A patent/CN102904578B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6079041A (en) * | 1995-08-04 | 2000-06-20 | Sanyo Electric Co., Ltd. | Digital modulation circuit and digital demodulation circuit |
CN101145146A (zh) * | 2007-09-21 | 2008-03-19 | 浙江工业大学 | 基于fpga技术的usb接口驱动装置 |
Non-Patent Citations (2)
Title |
---|
USB设备控制器的硬件电路设计与实现;彭琰;《中国优秀硕士学位论文全文数据库》;20100115;第3章 * |
全速USB设备控制器接口IP核的设计与实现;黄卫华;《中国优秀硕士学位论文全文数据库》;20060515;第3章-第4章 * |
Also Published As
Publication number | Publication date |
---|---|
CN102904578A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568738C (zh) | 带同步时钟的脉宽调制式光纤通信编码解码方法及电路 | |
CN102681954B (zh) | 使用总线倒置以减少同时信号切换 | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN104808966B (zh) | 有效编码的方法和装置 | |
US9621332B2 (en) | Clock and data recovery for pulse based multi-wire link | |
CN102340316A (zh) | 基于fpga的微型空间过采样直流平衡串行解串器 | |
CN104639410A (zh) | 一种现场总线光纤通信接口的设计方法 | |
CN114416626B (zh) | 一种基于8b/10b编码的异步串行数据恢复方法 | |
US20150023458A1 (en) | Clock and data recovery using dual manchester encoded data streams | |
CN104935311A (zh) | 一种数字信号隔离器及相应的脉宽编解码方法 | |
CN103885527A (zh) | 一种基于rrc编码的时钟偏差补偿装置 | |
CN102035600B (zh) | 一种高速1553b光纤总线物理接口板 | |
CN103997331A (zh) | 基于fpga的高精度dc码编码方法及系统 | |
CN104717036A (zh) | 一种差分曼彻斯特解码电路及解码系统 | |
CN113824501A (zh) | 一种基于cpld的异步串行信号采样译码方法 | |
CN106656399A (zh) | 一种基于fpga的光纤数字同步接口系统 | |
CN104467865B (zh) | 串行通信协议控制器、字节拆分电路及8b10b编码器 | |
CN102904578B (zh) | 一种高速时钟域内的nrzi解码电路 | |
CN103166732B (zh) | 时脉嵌入的数据传输方法以及封包数据编码/解码方法 | |
CN101964657A (zh) | 低功耗usb电路 | |
CN103605626B (zh) | 一种单线串行总线协议及转换电路 | |
CN201804327U (zh) | 一种通用串行接口电路 | |
CN104009823A (zh) | 一种SerDes技术中的错位检测与纠错电路 | |
CN204244255U (zh) | 一种多路e1解帧器系统 | |
CN106126466B (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 |