CN104467865A - 串行通信协议控制器、字节拆分电路及8b10b编码器 - Google Patents
串行通信协议控制器、字节拆分电路及8b10b编码器 Download PDFInfo
- Publication number
- CN104467865A CN104467865A CN201410711924.2A CN201410711924A CN104467865A CN 104467865 A CN104467865 A CN 104467865A CN 201410711924 A CN201410711924 A CN 201410711924A CN 104467865 A CN104467865 A CN 104467865A
- Authority
- CN
- China
- Prior art keywords
- byte
- data
- encoder
- polarity
- serial communication
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种串行通信协议控制器,包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。本发明还提供一种串行通信协议控制器采用的字节拆分电路、8b10b编码器。本发明有效解决了高速串行通信协议的发送端数据带宽的匹配问题。
Description
技术领域
本发明本发明涉及微电子技术领域,尤其涉及一种高速串行通信协议控制器电路,具体涉及一种字节拆分电路及8b10b编码器。
背景技术
在传统的并行数据传输方式中,数据的传递方式一般是采用专门的数据总线和时钟线进行同步的传送。传统并行总线的带宽限制已经不能满足硬件子系统速度的发展和数据吞吐量不断增长的惊人需求,主要表现在以下两个方面:随着总线频率的上升,会影响在同一频率下挂接到总线上负载的数量,所以即使提高总线时钟频率,也无法显著提升总线带宽;虽然可以通过增加并行通道个数的方式加大带宽,但是时钟信号线与数据信号线同步传输的方式,会带来难以解决的信号偏移以及串扰等问题,加大PCB布局的难度,所以通道个数并不能无限制的增加,因此亟需在不增加通道个数情况下解决系统总线数据带宽与串行通信协议控制器内部8位处理数据带宽不匹配的问题。
但是在串行数据传输方式中,信道连接端上只有数据总线没有时钟线。比如SATA高速串行通信协议,SATA总线物理链路间的数据传送使用基于时钟的同步传送机制,在物理链路上并没有时钟线,SATA总线的接收端含有时钟恢复模块CDR,CDR将从接收报文中提取接收时钟,从而进行同步数据传递,因此需要在链路发送端对有效信号中嵌入足够多的时钟信息。
8b/10b编码器是SATA控制器电路中的关键模块,具有嵌入式时钟、直流分量平衡、错误字符可检测等优点,广泛应用于SATA、PCI Express、Rapid IO、USB等高速串行通信协议。
8b/10b编码器将字节数据为 10 位字节码,主要目的是提高位流中 1/0,0/1 跳变密度,因为SATA协议的物理层并没有设置单独的信号线来传递高频的串行时钟,而是将其与比特流组合在一起,当比特位流中含有足够多的跳变沿时,接受端的时钟接受电路就可以从比特流中提取出时钟,作为他的数据接受时钟。因此8b/10b编码器必须可靠的运行在足够高的时种下,以SATA协议为例,为了满足SATA3.0协议的要求,需要编码器电路能够可靠的运行在最高600MHz的时钟下。
其编码算法原理如下:编码器的输入字符分为两种,12个控制码字K码,256个数据码字D码。如图1所示,8比特输入数据分为高3位HGF和低5位EDCBA分别编码,编码过程中同时根据当前的极性差RD分别编码为fghi和abcdei,然后合并为10位数据abcdeifghj。所有的码流的极性偏差RD值范围在(-3,3)之间,编码后的10比特数据的RD值只能为-2,0,2。如果已经编码后的数据RD为负值,那么下一次编码后的数据RD值只能为0或者正值。所以,依照这种规则,并从长序列码流上来看,传输数据上的“0”、“1”个数相同,从而实现了直流平衡。
常用的编码电路设计方法有两种:一种是将256个数据码和12个功能码的对应规则都用存储器存储,编码过程分为映射与极性选择两部分,这种方法会增大芯片的面积和功耗,同时受限于查找表的速度以及工艺参数,电路最高工作频率一般很难达到500MHz以上;另一种方法是通过逻辑运算完成编码功能,编码器可运行的最高频率较高,这种方法的缺点是编码逻辑关系复杂,可能会引起逻辑扇入或扇出大。
发明内容
为了克服现有技术中存在的不足,本发明提供一种串行通信协议控制器、字节拆分电路及8b/10b编码器,解决高速串行通信协议的发送端数据带宽的匹配问题。
为实现上述目的,本发明采取如下技术方案:
一种串行通信协议控制器,包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。
更进一步的,字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
更进一步的,FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
更进一步的,8b10b编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、1位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、io、 fo、go、ho、jo;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
更进一步的,8b10b编码器输入端设有用于调试的1位编码极性控制位,编码极性控制位置位时,8b10b编码器改变当前编码后数据的极性。
一种串行通信协议控制器采用的字节拆分电路,包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
更进一步的,FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
一种串行通信协议控制器采用的8b10b编码器,采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、1位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、io、 fo、go、ho、jo;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
更进一步的,所述8b10b编码器输入端设有用于调试的1位编码极性控制位,编码极性控制位置位时,8b10b编码器改变当前编码后数据的极性。
有益效果:(1)本发明通过字节拆分电路解决了32位系统总线数据带宽与串行通信协议控制器内部8位处理数据带宽不匹配的问题,从原有的内部4通道8位数据处理流,变化为单通道8位数据处理流,降低了串行通信协议控制器内部模逆电路的设计难度。
(2)本发明在串行通信协议控制器发送端电路结构中采用基于8b10b算法的编码电路,传统查表型电路实现方法受制于工艺参数的限制无法满足电路最高工作频率的要求,通过设计三级流水线的逻辑运算结构显著提高了8b10b编码器的最高工作频率。与查表法相比,本发明中的编码器电路,在面积上节省60%~70%,动态功耗方面略有提升10%~15%,通过牺牲小部分功耗代价换来了显著的面积减少,更有利于芯片集成。
(3)本发明通过8b10b编码器中的极性控制位,可以在当前数据流中注入不规则极性,为验证和调试解码电路提供了一种验证测试手段。
附图说明
图1为编码器字符映射过程图。
图2为本发明提供的总体电路结构框图。
图3为本发明字节拆分电路字节拆分原理图。
图4为本发明8b10b编码器电路结构框图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
实施例一
如图2所示,本发明提供的一种串行通信协议控制器,包括字节拆分电路及8b10b编码器,字节拆分电路完成系统总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配,8b/10b编码器编码后发送给并串转换电路,本实施例以最常用的SATA高速串行通信协议为基础进行介绍,但不限于SATA高速串行通信协议。
如图2、3所示,字节拆分电路包括深度为4、位宽32的FIFO,控制器和寄存器,将150MHz时钟频率下的32位输入总线数据调整为600MHz时钟频率下的4拍8位输出数据,传送至8b/10b编码器。字节拆分电路按照从低位到高位的顺序,提取总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
为了满足SATA协议的要求,需要8b/10b编码器电路能够可靠的运行在最高600MHz的时钟下。但为了避免现有两种方法的缺点,本发明采用性能优化的三级流水线编码实现方案,同时设计了极性控制端,方便调试。与查表法相比,本发明中的编码器电路,在面积上节省60%~70%,动态功耗方面略有提升10%~15%,通过牺牲小部分功耗代价换来了显著的面积减少,更有利于芯片集成。
本发明提供的8b/10b编码器电路结构如图4所示,端口输入为字节拆分电路发送的8位待编码数据abcdefgh、1位待编码数据码/控制码符号位Z,以及用于调试的1位编码极性控制位,端口输出为10位编码后数据。编码过程采用三级流水结构,显著提高了芯片的最高工作频率。第一级流水过程中,8位待发送数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、io、 fo、go、ho、jo;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。编码极性控制位,可以改变当前编码后数据的极性,同时也可以作为一种验证测试手段,为当前数据流注入不规则数据极性。
实施例二
本发明还提供实施例一所述用于串行通信协议控制器的字节拆分电路。
实施例三
本发明还提供实施例一所述用于串行通信协议控制器的8b/10b编码器。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种串行通信协议控制器,其特征在于:包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。
2.根据权利要求1所述的一种串行通信协议控制器,其特征在于:所述字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
3.根据权利要求2所述的一种串行通信协议控制器,其特征在于:所述FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
4.根据权利要求1或2所述的一种串行通信协议控制器,其特征在于:所述8b10b编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、1位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、io、 fo、go、ho、jo;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
5.根据权利要求1或2所述的一种串行通信协议控制器,其特征在于:所述8b10b编码器输入端设有用于调试的1位编码极性控制位,编码极性控制位置位时,8b10b编码器改变当前编码后数据的极性。
6.一种权利要求1所述串行通信协议控制器采用的字节拆分电路,其特征在于:所述字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
7.根据权利要求6所述的一种串行通信协议控制器,其特征在于:所述FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
8.一种权利要求1所述串行通信协议控制器采用的8b10b编码器,其特征在于:所述8b10b编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、1位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、io、 fo、go、ho、jo;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
9.根据权利要求8所述的一种串行通信协议控制器,其特征在于:所述8b10b编码器输入端设有用于调试的1位编码极性控制位,编码极性控制位置位时,8b10b编码器改变当前编码后数据的极性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410711924.2A CN104467865B (zh) | 2014-12-01 | 2014-12-01 | 串行通信协议控制器、字节拆分电路及8b10b编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410711924.2A CN104467865B (zh) | 2014-12-01 | 2014-12-01 | 串行通信协议控制器、字节拆分电路及8b10b编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104467865A true CN104467865A (zh) | 2015-03-25 |
CN104467865B CN104467865B (zh) | 2018-08-03 |
Family
ID=52913330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410711924.2A Expired - Fee Related CN104467865B (zh) | 2014-12-01 | 2014-12-01 | 串行通信协议控制器、字节拆分电路及8b10b编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104467865B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776422A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市科楠科技开发有限公司 | 一种基于8b/10b编解码的串行传输方法及系统 |
CN107085174A (zh) * | 2017-05-18 | 2017-08-22 | 北京兴迪仪器有限责任公司 | 一种分布式局部放电检测系统的高精度时间同步方法 |
CN109213796A (zh) * | 2018-09-20 | 2019-01-15 | 京信通信系统(中国)有限公司 | 射频数据表生成方法及装置、射频值查询方法及装置 |
CN109347484A (zh) * | 2018-11-05 | 2019-02-15 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622067A (zh) * | 2003-11-26 | 2005-06-01 | 北京微辰信息技术有限公司 | 高速sata接口数据恢复和串并转换的方法及电路模块 |
CN103914420A (zh) * | 2013-01-04 | 2014-07-09 | 中兴通讯股份有限公司 | 基于第三方phy的sata速度自协商方法及装置 |
-
2014
- 2014-12-01 CN CN201410711924.2A patent/CN104467865B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1622067A (zh) * | 2003-11-26 | 2005-06-01 | 北京微辰信息技术有限公司 | 高速sata接口数据恢复和串并转换的方法及电路模块 |
CN103914420A (zh) * | 2013-01-04 | 2014-07-09 | 中兴通讯股份有限公司 | 基于第三方phy的sata速度自协商方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘奇浩: "PCI Express2.0物理层数字系统设计与验证", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776422A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市科楠科技开发有限公司 | 一种基于8b/10b编解码的串行传输方法及系统 |
CN106776422B (zh) * | 2016-11-21 | 2021-08-27 | 深圳市科楠科技开发有限公司 | 一种基于8b/10b编解码的串行传输方法及系统 |
CN107085174A (zh) * | 2017-05-18 | 2017-08-22 | 北京兴迪仪器有限责任公司 | 一种分布式局部放电检测系统的高精度时间同步方法 |
CN107085174B (zh) * | 2017-05-18 | 2019-12-17 | 北京兴迪仪器有限责任公司 | 一种分布式局部放电检测系统的高精度时间同步方法 |
CN109213796A (zh) * | 2018-09-20 | 2019-01-15 | 京信通信系统(中国)有限公司 | 射频数据表生成方法及装置、射频值查询方法及装置 |
CN109213796B (zh) * | 2018-09-20 | 2020-11-10 | 京信通信系统(中国)有限公司 | 射频数据表生成方法及装置、射频值查询方法及装置 |
CN109347484A (zh) * | 2018-11-05 | 2019-02-15 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
CN109347484B (zh) * | 2018-11-05 | 2022-07-12 | 西安微电子技术研究所 | 一种基于二级查表的64b/66b编码器及编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104467865B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6839862B2 (en) | Parallel data communication having skew intolerant data groups | |
CN104467865A (zh) | 串行通信协议控制器、字节拆分电路及8b10b编码器 | |
CN104579583A (zh) | 一种对8b/10b编码方式的改进方法 | |
US20030065987A1 (en) | Parallel data communication realignment of data sent in multiple groups | |
CN104808966A (zh) | 有效编码的方法和装置 | |
CN104579885A (zh) | Cpci总线和isa总线的协议转换器和转换方法 | |
CN103400173A (zh) | 一种含隐私信息的二维码生成及读取方法 | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN104008078A (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN104333388A (zh) | 串行通信协议控制器及字符重对齐电路、8b10b解码器 | |
CN104639410A (zh) | 一种现场总线光纤通信接口的设计方法 | |
CN102752180A (zh) | Can总线网络节点的实现方法 | |
CN111352887B (zh) | 一种pci总线到可配置帧长度串行总线适配和传输方法 | |
CN204256732U (zh) | 基于PCI-Express接口的高速数据传输装置 | |
CN102035600A (zh) | 一种高速1553b光纤总线物理接口板 | |
TW201427349A (zh) | 同步序列資料傳輸方法與電路裝置 | |
CN105279123A (zh) | 双冗余1553b总线的串口转换结构及转换方法 | |
CN101442380B (zh) | 基于高速串行接口编码方式的误码率测试方法与装置 | |
CN113282533A (zh) | 一种异步链路发送端电路及芯片接收端电路 | |
CN103279442A (zh) | 一种高速互联总线的报文过滤系统及方法 | |
CN102158400B (zh) | 天基路由交换系统的通信接口及天基路由交换系统 | |
CN104009823B (zh) | 一种SerDes技术中的错位检测与纠错电路 | |
CN101228698A (zh) | 4电平逻辑解码器 | |
CN103138889A (zh) | 高速8b/10b编码装置及编码器 | |
CN110008157A (zh) | 一种串行解串器的硬件架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180803 |