高速LVDS数据传输方案和协议
基于FPGA的高速LVDS数据传输
本人在北京工作6年,从事FPGA外围接口设计,非常熟悉高速LVDS数据传输,8B/10B编码等,设计调试了多个FPGA与FPGA以及FPGA与专用芯片(比如AD/DA)之间的高速LVDS数据传输.
本人非常熟悉AD接口,包括高速并行AD、串行AD,比如ADS5474,LTC2175,E2V高速AD等,基于FPGA设计高速并行/串行AD接口:时钟对齐、根据帧同步实现串转并数据对齐.
本人非常熟悉Virtex-5/Virtex-6/7 Series FPGA的内置SERDES模块,包括ISERDES,OSERDES,IODELAY,IDELAYCTRL等部件,基于该模块设计了一种高速LVDS数据收发方案和协议:
1. 1路LVDS数据的时钟频率是500MHz(Virtex-5)或600MHz(Virtex-6)或700MHz(Kintex-7),双沿数据传输;1路LVDS数据的传输速率为1Gbps(Virtex-5)或1.2Gbps(Virtex-6)或1.4Gbps(Kintex-7),16路LVDS数据的传输速率为16Gbps(Virtex-5)或19.2Gbps(Virtex-6)或22.4Gbps(Kintex-7)
2. 高速LVDS数据发送:训练序列产生,数据成帧,8B/10B编码,数据并行转串行,随路时钟产生等
3. 高速LVDS数据接收:接收时钟检测(检测接收时钟的存在),接收时钟对齐(对接收时钟进行移相),数据串行转并行,接收数据字节序对齐(Comma码对齐),接收数据Los-of-Sync状态机,8B/10B解码,解数据帧等
|