马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
参考来源:TB-6S-LX150T-IMG2_HWUserManual_1.02e.pdf
1、文档描述(类似摘要)本文档介绍了LVDS数据传输参考设计,使用的载体有TB--6S-LX150T IMG2载体板和TB-FMCL-LVDS FPGA夹层板。
2、设计环境(开发平台和环境介绍)
(1)芯片的选择:Device : XC6SLX150T (Spartan6 FPGA) Speed Grade : -3
Package : FGG900
(2)开发板:TB-6S-LX150T-IMG2和TB-FMCL-LVDS
(3)开发环境:ISE12.4 (Windows XP 32-bit)
(4)硬件描述语言:Verilog HDL
(5)参考文档:Xilinx的应用笔记:XAPP1064“源同步序列化和反序列化(最多有519.75Mb/ S)”
3、原理图说明
图1 LVDS部分的整体原理图 相关子程序的说明: lvds_7to1_tx是传输/发送一组LVDS数据流,接收六通道的并行数据,每通道能输出7位串行数据。 tx_datagen是用于产生LVDS数据模式,为产生输出模式集成一个内部ROM。 lvds_1to7_rx是接收一组LVDS数据流,接收六个输入通道,每通道能输出7位并行数据。
rx_datacmp 是接收数据与预期值数据进行比较输出,为进行接收数据与预期值数据的比较而集成了一个内部ROM
4、引脚说明表1 信号说明
psw4_rst是异步复位,psw1是接收复位,psw2是Tx信号产生复位,led1是Rx标准完成。Led2是Rx期望值比较结果。
5、RTL目录
6、操作概述下面介绍各个部分FPGA的实现,其中, lvds_7to1_tx和lvds_1to7_rx的相关信息参照Xilinx应用手册XAPP1064。 (1)tx_datagen 这个模块集成了一个内部ROM,用于生成LVDS的输出数据。内部ROM的大小是512word x44bit(保留两个最高位),内有自由运行的地址计数器,当复位信号无效时就开始输出ROM中的数据,数据通过6个7位的通道输出。
图2 Tx数据产生模块 (2)lvds_7to1_tx
图3 Tx模块 这个模块通过6个输出通道将7位串行数据输出,使用的时钟频率是74.25MHZ,数据传输速率是74.25*7=519.75。 (3)lvds_1to7_rx
图4 Rx时钟和数据块的原理图 这个模块可以校准(调整)传入的Rx时钟和Rx数据来输出并行数据和时钟。它设置了一个完整的校准标志来通知已经实现正常通信(串行传输)。 (4)rx_datacmp
图5 Rx期望值比较模块的原理图
这个模块执行接收数据预期值比较基于上述完整的校准标志位(init_done)。由于这种设计规范假定一个LVDS传输回环(如图6所示),在TX端(tx_datagen)产生的ROM数据变成预期值数据。如果实际预期的数据比较错误就会使比较结果信号(cmp_ok)是无效,为低电平。
7、在实际环境中如何使用这个设计下面介绍如何在实际环境中使用该设计。 (1)板的默认设置
图6 确认板操作前的默认设置 (2)如何确认板操作
图7 板操作和测试点 首先,按接收器的复位按钮(PSW1)。如果功能正常,LED26和LED27会亮起(正常接收状态)。
然后,按传输数据按钮(PSW2)。由于这个动作将使发送端的数据ROM复位,造成接收端数据不一致,这将使LED27关闭。 |