串行通信协议控制器、字节拆分电路及8b10b编码器制造技术

技术编号:11207597 阅读:73 留言:0更新日期:2015-03-26 16:12
本发明专利技术公开了一种串行通信协议控制器,包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。本发明专利技术还提供一种串行通信协议控制器采用的字节拆分电路、8b10b编码器。本发明专利技术有效解决了高速串行通信协议的发送端数据带宽的匹配问题。

【技术实现步骤摘要】
串行通信协议控制器、字节拆分电路及8b10b编码器
本专利技术本专利技术涉及微电子
,尤其涉及一种高速串行通信协议控制器电路,具体涉及一种字节拆分电路及8b10b编码器。
技术介绍
在传统的并行数据传输方式中,数据的传递方式一般是采用专门的数据总线和时钟线进行同步的传送。传统并行总线的带宽限制已经不能满足硬件子系统速度的发展和数据吞吐量不断增长的惊人需求,主要表现在以下两个方面:随着总线频率的上升,会影响在同一频率下挂接到总线上负载的数量,所以即使提高总线时钟频率,也无法显著提升总线带宽;虽然可以通过增加并行通道个数的方式加大带宽,但是时钟信号线与数据信号线同步传输的方式,会带来难以解决的信号偏移以及串扰等问题,加大PCB布局的难度,所以通道个数并不能无限制的增加,因此亟需在不增加通道个数情况下解决系统总线数据带宽与串行通信协议控制器内部8位处理数据带宽不匹配的问题。但是在串行数据传输方式中,信道连接端上只有数据总线没有时钟线。比如SATA高速串行通信协议,SATA总线物理链路间的数据传送使用基于时钟的同步传送机制,在物理链路上并没有时钟线,SATA总线的接收端含有时钟恢复模块CDR,CDR将从接收报文中提取接收时钟,从而进行同步数据传递,因此需要在链路发送端对有效信号中嵌入足够多的时钟信息。8b/10b编码器是SATA控制器电路中的关键模块,具有嵌入式时钟、直流分量平衡、错误字符可检测等优点,广泛应用于SATA、PCIExpress、RapidIO、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编码器中的极性控制位,可以在当前数据流中注入不规则极性,为验证和调试解码电路提供了一种验证测试手段。附本文档来自技高网
...

【技术保护点】
一种串行通信协议控制器,其特征在于:包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。

【技术特征摘要】
1.一种串行通信协议控制器采用的字节拆分电路,其特征在于:包括8b/10b编码器,所述字节拆分电路接收总线数据,传送至8b/10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配;所述字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至8b/...

【专利技术属性】
技术研发人员:刘奇浩孙晓宁刘大铕王运哲赵阳
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1