新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > RocketIO收发器实现高速通信

RocketIO收发器实现高速通信

作者:时间:2009-10-10来源:网络收藏

8B/10B编码可以分为256个数据字符和12个控制字符。数据字符,标为D,用于传输数据;控制字符,标为K,用于传输控制序列。12个控制字符用于对齐、控制,以及将带宽划分为子通道。

2.2 comma字符检测和对齐

Virtex-4 RrocketIO有可编程的逗号检测,以便于10位字符的各种协议和检测,通过对MCOMMA_10B_VALUE、DEC_MCOMMA_DETECT、PCOMMA_10B_VALUE、DEC_PCOMMA_DETECT和COMMA_10B_MASK这些参数的设置,可以任意的8位或10位符号检测。

接收器在输入数据流中扫描搜寻comma字符。如果找到,解串器就调整序列边界以匹配检测到的comma字符序列,且扫描是连续进行的。一旦对齐确定,所有后续comma字符的对齐均已确定。在任意的序列组合里,comma字符序列必须是唯一的。常用的K字符是12个K字符中的一个或多个。由于K28.1、K28.5、K28.7这些字符的头7位都是1100000,这种比特序列模式只可以在这些控制字符中出现,因此,这些控制字符是非常理想的对齐序列。

2.3 时钟修正

在时钟/数据恢复电路的作用下,从接收的串行数据流中解出时钟的频率和相位,一般将它的20分频时钟作为恢复时钟。在恢复时钟作用下从串行数据经过解串器产生并行数据作为8B/10B译码的输入,译码后的数据进入16×52位的接收缓冲器。输入缓冲器的输人数据速率是由PCS RXCLK的频率决定的,而从缓冲器读取端输出的数据速率是由RXUSRCLK的频率决定的。由于两个时钟会有差异,所以需要进行时钟修正。

时钟修正的基本原理是:在发送端,当数据发送了一定的字节或数个数据包后,通过插入和发送一些特定的字节修正字符;在接收端,当接收到这些字符后会自动地丢弃或者重复来补偿时钟的差异。时钟修正的核心工作是在比特流中搜寻特定的字符序列。

3 MGT的测试与验证

本实验是在XilinX公司的ML405评估板上进行的,使用2个MGT。其中,MGT1用来发送数据(通过mgt1_tx_n和mgt1_tx_p这对差分线),MGT0用于接收数据(通过mgt0_tx_n和mgt0_tx_p这对差分线)。使用串行ATA电缆(长约100 cm)将它们连接起来形成一个大环路,进行数据读回测试。MGT验证实验的硬件框图如图2所示。

其中,gtll_init_tx模块产生tx―pmareset、tx_pcsreset复位信号以及frame―gen模块的复位信号;frame―gen模块产生带有comma字符的数据流,每次发送的数据位宽为32位;gtll_init_rx模块产生rx_pmareset、rx_pcsreset复位信号以及frame_check模块的复位信号;frame_check模块用来将发送的数据与实际接收到的来自于MGT0的并行输出端口的数据进行比较,如果检测到不一致,则frame_check模块的ERR_COUNT计数器就加1,通过读取该计数器的值和记录MGT工作的时间就可以计算出该系统中MGT的错误率。

假设MGT的错误率为δ,MGT的数据传输率为μ,MGT传输数据的有效时间为τ,ERR_COUNT计数器的计数值为E,则有:

实验中测得,E=319,τ=3 600s,μ=3 Gb/s。将上述数值代入式(1),求得δ=2.957×10-11。通过取不同的时间τ,每个τ对应做多次实验,可以得到δ的范围为[2.752×10-11,3.168×10-11]。通过该实验可以发现具MGT的可靠性比较高,可以满足我们的工程需求,具有很高的实际使用价值。

结 语

目前,系统对数据传输率的要求越来越高,串行互连技术由于将时钟与数据合并进行传输,从而解决了并行数据传输过程中时钟和数据的抖动问题,提高了数据传输速率,降低了设计复杂性和成本,减少了引脚数量和PC板面积。Xilinx公司的Virtex-4 FX系列FPGA器件中所提供的用于串行互连的 IP核,具有使用方便、配置灵活、集成度高等优点,将它用于解决高速串行数据传输问题,既简化了设计,又提高了系统的集成度和可靠性,有很好的应用前景。

分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭