基于Xilinx FPGA的LVDS高速串行通信系统(四)--数据测试【文末源码】

章节合集:

基于Xilinx FPGA的LVDS高速串行通信系统(一)

基于Xilinx FPGA的LVDS高速串行通信系统(二)

基于Xilinx FPGA的LVDS高速串行通信系(三)

核心功能模块

1. LVDS接收端

物理层接收(lvds_rx_recv.v)

训练同步模块(lvds_rx_training.v)

8b/10b解码器(lvds_receive.v)

2. LVDS发送端

8b/10b编码器(lvds_send.v)

物理层发送(lvds_tx_top.v)

3. 系统集成(lvds_top.v / gsds_LVDS.v)

01 数据通信测试

LVDS数据通信的测试采用软逻辑分析仪测试方法,其原理是在FPGA逻辑代码 设计阶段或综合完成后在工程中插入一个软逻辑分析仪的核,软逻辑分析仪通过综 合块RAM资源,用工作时钟把内部的LVDS相关信号采集到块RAM里,采完以后 再通过FPGA的JTAG接口把块RAM里的LVDS相关数据读到外部PC上显示。最 后通过PC上的显示数据,判定发送端和接收端之间的LVDS 通讯是否正常。

LVDS帧加载器的格式测试结果如下图所示。

由测试结果可知,在整个数据传输的中,分别抓取到数据的帧头、帧位、数据 域、校验位。符合 LVDS 数据帧格式的定义。完成了帧格式的测试,接下来需要对 8B/10B 编码进行测试。首先,对于10B编码后,特殊字符的编码结果如下表所示。

对于发送端,10bit数据的帧格式如下图5-5所示。

如图所示,从蓝色标签的104开始到146结束表示一帧数据的编码,同时此时数据的极性为负。接收端,10 bit数据的帧格式如下图所示。

从蓝色标签的 436 开始到 480 结束表示一帧数据的编码,同时此时数据的极性为正。

数据交互测试,PC 端的发送读取指令,发送端通过 LVDS 通讯接口向接收端下发接收数据指令。通过发送端的软逻辑分析仪,当PC上显示的发送端下发接收数据指 令数据时,表明发送端发送接收数据指令成功。当数据线接收到接收端返回的数据包时,表明 LVDS 数据通讯功能测试完成。 数据交互的逻辑控制及寄存器定义为:对应的信号指令为0x0100FF01时,表示读取接收端固化版本号;对应的信号指令为0x08000002作为数据读取。测试结果如下图所示。

如图所示。当接收端接收到的指令为0x08000002时,data_flag 标志位拉高,此时加载的数据为连续的数据,当接收到的指令为0x0100FF01时, flag 标志位拉高,此时加载的数据为代码的固件版本号 20230421。为了验 证 LVDS 数据传输的过程中没有出现数据丢帧和数据误传的错误,对数据稳定的长时间测试,首先,接收端和发送均发送相同的数据 10'b0010010011,将接收到的数据与 10'b0010010011 作对比,当不相等时, err_flag 标志位拉高,否则保持低电平。测试时间为 12 小时,采用 VIVADO 的 trigger 触发模式,当抓取到err_flag发生状态跳转时,立即停止采样,并将标签停止在状态跳变处。测试结果如图所示。

源码:

1、IP核版本:【IP核 】Xilinx FPGA LVDS 高速接口完整解决方案IP,含验证工程与板级测试用例

2、所有源码版本:【LVDS工程源码】LVDS 高速接口完整解决方案,含验证工程与板级测试用例(所有源码均包含)

相关推荐
zlinear数据采集卡24 分钟前
ZLinear DABM-D223 通信协议与软件开发全解析:从 USB CDC 到 DDS 波形输出
arm开发·嵌入式硬件·fpga开发·开源
LCMICRO-133108477465 小时前
国产长芯微LD3092完全pin-pin替代LT3092,是一款可编程两端电流源
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·恒流源·lt3092
nuoxin1145 小时前
BL-M8812CU3 无线 WiFi 模块-富利威
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发
xiaojiaohuazi8 小时前
基于Zynq UltraScale+ MPSoC的PL DDR4直写多NVMe条带阵列(RAID 0)与exFAT高速采集存储系统
fpga开发
ALINX技术博客8 小时前
【黑金云课堂】FPGA技术教程Vitis开发:AXI总线
fpga开发·vitis
星夜离尘561 天前
UART 串口通信:从帧格式到收发回显(附完整 Verilog 实操)
fpga开发
仲南音1 天前
Xilinx FPGA—— DDR4读写
fpga开发
思尔芯S2C1 天前
思尔芯RCF RTL自动分割工具,助力大规模AI/HPC芯片原型验证
人工智能·fpga开发·内存模型·自动编译·ddr5·prototyping·原型验证
Terasic友晶科技2 天前
答疑解惑|Agilex 3 FPGA QSPI时钟设置注意事项
fpga开发·de23-lite·terasic·qspi flash
国科安芯2 天前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v