FCAE1553B协议解析.docx
《FCAE1553B协议解析.docx》由会员分享,可在线阅读,更多相关《FCAE1553B协议解析.docx(15页珍藏版)》请在三一办公上搜索。
1、FCAE1553B协议解析FC-AE-1553B协议硬件结构 FC-AE-1553 协议整体架构及模块划分 SEEDERS接口 FC1层发送端 FC2层发送端 FC4层映射层 MIL- STD- 1553B FC1层接收端 FC2层接收端 SERDES高速收发模块 1. SERDES高速收发模块总体结构 SERDES模块主要完成数据在光纤通道上高速收发的功能。在数据发送时,将10bit并行数据并串转换为在光纤通道上lbit数据进行高速发送。在数据接收时,将光纤通道上lbit数据按照数据顺序串并转换为10bit并行数据,并将10bit数据传输进入FC硬件模块中进行后续逻辑操作。 SERDES模块
2、由如下七个部分组成,如图3.2所示: (1)8b10b编解码电路,完成发送和接收数据的8b10b的编解码功能: (2)频率综合电路,即PLL产生电路,产生10GHz25GHz的时钟供发送电路使用,以及接收电路时钟恢复使用; (3)时钟恢复电路,主要功能是从输入数据中恢复时钟信号并为芯片内部提供工作需要的时钟; (4)高速数据收发电路,采用LVDS接口,完成接收发送差分信号的功能; (5)串并转换与并串转换电路,完成发送10bit到lbit及接收lbit到10bit的数据串并转换功能; (6)信号质量侦测电路,完成判断差分信号是否符合要求,并给出检测结果: (7)自测试模块电路,完成环路功能检测
3、以及抖动等性能测试,完成SERDES模块自测试功能; 频率综合电路、时钟恢复电路、高速收发电路、串并与并串电路等涉及到模拟电路设计,而在XilinxV5 FPGA中有成熟的IP RoeketlO可以直接调用,所以在本系统设计中除了8b10b编解码电路进行详细逻辑设计之外,其余电路结构可以使用口核进行实现。 16位输入数据的接收时序 1.1 8b/10b编解码主要思想 8b10b编解码是一种高性能的编码标准,主要目的是使数据在传输的过程之中保持高的信号变换频率。编码的基本思想是将8比特字节宽度的数据转换为10比特数据,10比特数据宽度的中0和1的个数相差最大不能超过2,这样进行便面可以确保了在高
4、频时钟下信息流的直流频谱分量最大限度的接近零,所以采用8b10b编码进行数据流传输特别适合光纤通信。此外,这种编码方式可以提供一种简单的“逗号特性,一种特殊的8比特数据串,解码模块可以利用这种简单的特性实现输出8bit数据的字同步。 8b10b编码具有直流平衡和较强的检错能力的关键原因是编码过程中引用了Disparity和RD概念,如果1的个数大于0的个数则Disparity为2,RD值为正,如果1和0的个数相同则Disparity为0,RD值不变,如果1的个数小于0的个数则Disparity为2,RD值为负。RD值不可能为零,只可能是正负两种情况,所以在解码过程中能检测出Disparity违
5、规的情况,而且有较强的直流平衡能力。 在8b10b编码过程中,每个8比特数据对应了两组10比特数据,分别对应于Im+和RD一两种情况,可以将10B码字分为正持续差异值RD+和负持续差异值RD一,通过RD值的计算和判断来选择相应的10B码字进行输出。 1.2 8b/10b编码模块结构设计 8b10b编码模块结构如图3-3所示: 8b/10b编码模块结构框图如上图所示,在FCFS协议中,起始数据RD恒定为负。输入的8比特数据,被拆分为高3比特数据和低5比特数据,5比特数据查找模块通过初始RD值或者前一次编码反馈RD值确定的当前5比特数据到6比特数据查表操作,在查表后把5比特查表后得到的RD结果传送
6、到3比特数据查找模块,3比特数据查找模块将通过当前RD值的执行3比特数据到4比特数据查表操作,最后将转换完成的4比特数据和6比特数据传输进入数据合并模块,得到10比特输出数据。完成8bit数据到10bit数据的转换,并将最终的RD值反馈回输入作为下一次编码的起始RD。 1.3 8b10b解码模块结构设计 10比特数据输入时,首先进行RD计算,并将数据和计算结果传送到RD违规判断逻辑,RD违规判断逻辑通过上一次数据的RD反馈值和当前输入的RD计算值判断输入数据是否有RD违规,同时检测输入数据是否在8b10b编码表中,如果出现RD违规或者出现数据编码错误则报告错误类型。如果输入数据没有错误,则将输
7、入数据拆分为高6比特数据和低4比特数据进行3B4B解码及5B6B解码,将解码得到的3比特数据和5比特数据传送到数据合并模块,得到最终解码后的8比特数据。 FCl层发送模块划分与逻辑实现 FCl层发送模块如图319所示: FCl层发送模块主要由三部分组成,32bit-16bit数据解复用模块(thirtytw02sixteen)16bit-20bit 8b10b编码模块,20bit-10bit数据解复用模块。 32bit-16bit数据解复用模块设计 主要功能:将FC2层发送的32比特数据,在两个时钟周期内拆分为两组16比特数据并发送给16bit-20bit 8blob编码模块。模块实现方法:在
8、此模块使用100M时钟,而FC2层发送模块使用50M时钟,所以两个时钟周期内FC2层发送到此模块的输入数据不会变化,模块在每个时钟周期的上升沿到来时,输出一个16bit数据,输出顺序是先输出32bit数据的高16bit数据,然后在第二个时钟周期上升沿到来时,输出32bit数据的低16bit数据。 16bit-20bit 8blOb编码模块设计 主要功能:将输入的16bit数据拆分为两个8bit数据,并行进行8b10b编码工作,输出20bit经过编码后的数据。 模块内部结构如图320所示: 实现方法:当FC-FS硬件逻辑工作在2Gbits速率下,进入8b10b模块的数据率是2124HZ,如果使用
9、单个8b10b解码模块,很难达到设计要求,所以本设计采用了两个8b10b模块迭代结构,对一组16比特数据同时进行8b10b数据编码。这样处理就可以将编码数据的数据率降低一半,数据位宽增大一倍,提高了系统的可靠性和高数据率的扩展。由8blob编码规则的约束,在两个编码模块之间存在RD值反馈与时钟反相。 8b10b编码模块一在模块上升沿输出编码结果和相应的RD值,此时将RD值反馈到8b10b编码模块二,由于8b10b编码模块二与8b10b编码模块一使用时钟有90相移,所以在8b10b编码模块上升沿到来时,正好接收到16比特数据中高8比特数据编码后的RD值,型后续编码,得到正确的编码结果,并将编码后
10、得到的RD值反馈到8blOb编码模块一。 通过16比特20比特解码模块可以得到解码后数据和数据相关信息,并将数据传入20bit-10bit数据解复用模块进行后续处理。 20bit- 10bit数据解复用模块设计 功能描述:将由8b10b输出的20bit数据,按照数据的先后顺序,将20bit数据分为两个10bit数据分别输出到FCO层。 实现方法:由于16bit数据进行8b10b编码的时候,首先编码的是16bit数据中,高8bit数据,然后再编码低8bit数据,两个8b10b编码模块时钟偏差了90。,所以本模块的时钟频率为8b10b模块的两倍,使用212M时钟进行数据处理。在输出数据的时候先输出
11、din_f_8blbenl的10bit数据,然后再输出din_f_8b10ben2的10bit数据。 FCl层接收模块划分与逻辑实现 FCl层接收模块如图3-5所示: FCl层接收模块主要分为了FCl R MUX(IO比特到20比特串并转换模块),deel6b20b(2个并行8b10b解码模块),Invalidword check(有效字检测模块),Commacheck(逗号检测模块),sixteen2thirtytwo(16比特到32比特串并转换模块)。FCI接收模块接收到由SERDES模块发送到当前的10比特并行数据,经过各个模块的转换,最终得到32比特FC2层接收数据,原语信号,原语序列
12、以及有效字检测结果。 16位输出数据的发送时序 1.2 10bit/20bit串并转换模块设计 在8b10b解码模块之前,为了降低数据率,可以将一路10比特数据进行锁存后输出两路10比特数据,将数据率降低一半,当硬件模块工作在2.12Gbits的数据率下,10bit-20bit串并转换模块之前,数据率为2124Mhz,而经过此模块之后数据率降低为1062Mhz。 1.3 20比特16比特解码模块设计 模块功能说明:将两路并行输入的10bit数据通过两个8b10b解码模块解码后输出两路8bit数据输出,并给出每组10比特数据编码错误和游程值(Disparity)违规的相关信息。模块内部结构如图3
13、-6所示: 当FC-FS硬件逻辑工作在2G速率下,进入8b/10b模块的数据率是2124HZ,如果使用单个8b10b解码模块,很难达到设计要求,所以本设计采用了两个8b10b模块迭代结构,同时对20比特输入数据进行解码。这样处理就可以将编码数据的数据率降低一半,数据位宽增大一倍,提高了系统的可靠性和高数据率的扩展。通过20比特16比特解码模块可以得到解码后数据和数据相关信息,并将数据传入下一模块进行后续处理。 1.4 逗号检测模块设计 在传输过程中数据逗号出现位型如图37所示: 模块功能:检测FC2中32比特数据起始标志K28.5,并按照K28.5在前的顺序,将两路8比特数据输入转换为一路16
14、比特数据输出,并将结果传送到16bit-32bit复用模块进行后续处理。 实现方法:在FC-FS协议中规定,在两个FC端口进行通信时,会进行端口之间相互发送原语序列,通过端口状态机进行数据同步。原语序列由K28.5特殊编码开头,通过16b20b解码模块得到数据的K28.5标志位来确定,然后内部逻辑进行数据锁存,最后得到正确顺序的16比特数据,将特殊字标志位输出,完成16bit/32bit复用的后续操作。 如果硬件模块工作在212.4Mhz的数据率下,则经过逗号检测模块,数据率降低一倍,变为106.2Mhz。 1.5 16bit/32bit复用模块设计 模块功能:将两个时钟周期内输入16比特数据
15、按照K285在前的顺序复用为FC2层时钟的一组32比特数据。并将特殊字标识符同输出数据一同传输到FC2接收模块进行后续操作。 实现方法:在两个时钟周期内锁存两组由逗号检测模块输入的16比特数据。通过kin的标志,判断输出32比特数据的顺序。如果硬件工作在2124Mhz的数据率下,经过逗号检测模块第一次降低数据率,变为1062Mhz,最后通过16比特32bit复用模块,数据率又降低一半,降低到FC2层的数据率531Mhz。 经过上面所有模块的功能,FCFS硬件系统完成了协议中规定的FCl层接收的所有功能,将2124Mhz数据率的10比特数据转换成为531Mhz数据率的32比特数据,并将原语标志位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FCAE1553B 协议 解析
链接地址:https://www.31ppt.com/p-3157025.html