FPGA高速接口设计之SpaceWire——DS解码设计

目录

1、DS信号采样

2、DS时钟恢复方案

2.1 传统的采样方案

2.2 延拓的DS采样方案


1、DS信号采样

DS 编码机制已经说明,可以对接收 Data 和 Strobe 信号进行异或来恢复出原来的时钟信息。但是由于输入的数据有抖动,而且当 Data 信号变化的时候,异或恢复出的接收时钟也会发生变化,这会导致接收时钟在采样时出现竞争-冒险的情况, 此时利用该时钟来确定最佳的采样时刻是比较困难的,当传输速率较高时,可能将导致接收器无法正常工作。当然,这种问题可以通过采样将输入的信号同步到接收端来避免, 但是当串行数据的传送率较高时(如 200Mbps), 根据奈奎斯特定理,采样速率至少要达到 400Mbps 以上。这对 FPGA 的性能有着比较高的要求。

因此,在本文对应的设计中,采用多相位时钟采样的方法,达到采样速率提高。分别使用0°、90°、180°和270°的时钟对输入进的信号进行采样,最终通过判决器决定最终的输出(本设计中采用四选三,即三个相同即输出该值)。其实现如图1所示。

FPGA高速接口设计之SpaceWire——DS解码设计_第1张图片 图1 多相位时钟采样方案

 

如上图所示,当采用的时钟为200MHz时,实现了800MHz的采样效果,有效的降低了采样时钟频率。

需要注意的是,在跨频率进行同步时,应该采取打两拍的操作,防止亚稳态的产生。

 

2、DS时钟恢复方案

 

2.1 传统的采样方案

 

FPGA高速接口设计之SpaceWire——DS解码设计_第2张图片 图2 采样方案框图
图3 采样方案波形

 

FPGA高速接口设计之SpaceWire——DS解码设计_第3张图片 图4 实际波形

从图3中可以看出,传统的采样方案在时钟上升沿和下降沿同时对数据进行采样,采样时数据依旧在变化,因此有可能会出现竞争的问题导致其采样错误。

 

2.2 延拓的DS采样方案

根据 D 和 S各自的状态和两者的状态组合,可以将其进行分类。图5所示为 D 和 S的状态转换图,因为 D 和 S不会同时变化,所以图中不包含“DS=10”到“DS=01”和 “DS=00”到“DS=11”的正交变换.

FPGA高速接口设计之SpaceWire——DS解码设计_第4张图片 图5 DS信号状态

图6所示为 DS 组 合 的 状 态 转 化 图。DS 奇 态(DS=odd)时异或值为“1”,即 DS=“10”或“01”;DS偶态(DS=even)时异或值为“0”,即 DS=“11”或“00”。DS的奇偶态总是交替出现。DS奇态和偶态分别在恢复时钟的上升沿处和下降沿处出现。如果将 DS的奇偶态分别延 拓,则 得到图5所示的延拓后的 DS奇偶状态图,可见延拓出的奇态和恢复时钟的下降沿之间、延拓出的偶态和恢复时钟的上升沿之间,均不存在竞争。 

FPGA高速接口设计之SpaceWire——DS解码设计_第5张图片 图6 DS信号区域划分

 

FPGA高速接口设计之SpaceWire——DS解码设计_第6张图片 图7 延拓方案

 

FPGA高速接口设计之SpaceWire——DS解码设计_第7张图片 图8 延拓后采集波形

 

FPGA高速接口设计之SpaceWire——DS解码设计_第8张图片 图9实际上板验证

 

 

 

你可能感兴趣的:(FPGA,接口,SPW)