LVDS高速接口测试

本文详细介绍了LVDS(低压差分信号)通信的测试过程,包括LVDS_TX的输出、SDR设置、串换因子、时钟配置等。通过发送端和接收端的数据同步码校验以及bitslip位移操作确保数据正确传输。在仿真中,验证了发送和接收数据的连续性,从而确认LVDS通信的正确性。代码示例展示了LVDS模块的实现和测试激励。

话不多说,直接测试

1. OUTPUT:LVDS_TX

2. SDR:代表着速率,测试选的SDR(单速率)

3. 8:串换因子,就是一对LVDS转化几bit的并行数据(和后面的clk,clk_div有关系)

4. 8:8对LVDS

5. LVDS都是差分电压,这个根据板卡上的电压选择

6. 类型肯定是差分的

1. 输出差分时钟

2. 时钟类型选择LVDS,和前面匹配

第三页是数据和时钟的延时,默认

下面说一下测试过程

发送端

1. 发送的数据(需要发送十几个周期的同步码,后面是递增数0~255)

2. 输出的差分时钟(频率和clk_in一致,500M)

3. 串行数据的时钟 (测试的500M)clk_in

4. 并行数据的时钟(测试125M)clk_div_in

clk_in和clk_div的关系就是就是图1中的串换因子以及SDR的关系: 8:1(DDR的话就是4:1)

1. LVDS_TX 核的输出时钟,连接在MMCM上

2. 输出500M和125M,用作LVDS_RX的CLK_IN和CLK_DIV_IN

接收端

LVDS接收需要考虑一个问题是:如何将数据和时钟对齐,这里的bitslip叫位移操作,用它来将同步码找出,进行数据的同步

1. 接收数据,先进行数据的同步

2. bitslip用来同步数据

3. clk_in和clk_div_in分别来自MMCM

4. 复位也来自MMCM

注意: bitslip是一个脉冲信号,产生一个脉冲,数据就移位一次,直到找出同步码为止

下面看下仿真的结果

1. 这是发送数据的同步码:EB90_01DC_EF18_EB90

2. 接收端经过bitslip的同步,最终得到的同步码

3.我用的8通道LVDS,所以bitslip是8bit,每个bit都需要移位,所以是FF

可以看到,发送的数据和接收的数据都是连续的,说明LVDS通信OK

附上代码

module lvds_module

#(
//    parameter     LVDS_DATA_HEAD = 64'hFF00_00FF_FF00_FFFF,          // 同步码
    parameter     LVDS_DATA_HEAD = 64'hEB90_01DC_EF18_EB90,          // 同步码    
    parameter     LVDS_DATA_HEAD_CNT = 8'h40,        &nb

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值