Xlinx Zynq7035 PL SFP光口通信例程
本文主要介绍说明XQ6657Z35-EVM 高速数据处理评估板例程的功能、使用步骤以及各个例程的运行效果。
(基于TI KeyStone架构C6000系列TMS320C6657双核C66x 定点/浮点DSP以及Xilinx Zynq-7000系列SoC处理器XC7Z035-2FFG676I设计的异构多核评估板,由核心板与评估底板组成。)
ZYNQ7035 PL SFP光口通信例程
1.1.1例程位置
ZYNQ例程保存在资料盘中的Demo\ZYNQ\PL\aurora_8b10b_0_ex文件夹下。
1.1.2功能简介
使用Aurora 8B/10B IP核生成后带的例子工程,稍作修改。
FRAME_GEN: 本地并行数据发送模块
功能:本地产生GTX并行发送数据
接口说明:
// User Interface
output [0:15] TX_D; //发送数据
output TX_REM; //最后一个16bits数据的高低字节有效标识,0表示,表示TX_D[0:7]有效;1表示TX_D[0:15]有效。
output TX_SOF_N; //发送开始标识,低电平有效
output TX_EOF_N; //发送结束标识,低电平有效
output TX_SRC_RDY_N; //发送数据源端准备好标志,低有效
input TX_DST_RDY_N; //发送数据目的端准备好标,为0时才允许发送数据
// System Interface
input USER_CLK;//用户时钟,由Aurora IP核提供,数据发送模块用此时钟作为同步时钟
input RESET;//复位,高有效
input CHANNEL_UP;//GTX通道初始化完成标志,为1时表示完成
数据发送模块只有在RESET=0、CHANNEL_UP=1和TX_DST_RDY_N=0时,才允许发送数据。
FRAME_CHECK: 本地并行数据接收检测模块
功能:本地接收GTX并行数据,并检测数据是否存在误码
接口说明:
// User Interface
input [0:15] RX_D; //接收数据
output RX_REM; //最后一个16bits数据的高低字节有效标识,0表示,表示RX_D[0:7]有效;1表示RX_D[0:15]有效。
output RX_SOF_N; //接收开始标识,低电平有效
output RX_EOF_N; //接收结束标识,低电平有效
input RX_SRC_RDY_N; //接收数据有效,低电平有效
// System Interface
input USER_CLK; //用户时钟,由Aurora IP核提供,数据发送模块用此时钟作为同步时钟
input RESET; //复位,高有效
input CHANNEL_UP; //GTX通道初始化完成标志,为1时表示完成
output [0:7] ERR_COUNT; //接收数据错误个数
Aurora 8B10B IP核参数设置如下图所示:
Aurora 8B10B IP核显示最高只支持6.6Gbps,这里我们将线速率设置为5Gbps,参考时钟设置为100MHz。
1.1.3管脚约束
ZYNQ PL工程管脚约束如下图所示:
1.1.4例程使用
1.1.4.1连接光纤模块
将光模块插入光模块笼子,并使用光纤线缆将光模块的收、发端口自环对接:
1.1.4.2加载运行ZYNQ程序
1.1.4.2.1打开Vivado工程
打开Vivado示例工程:
工程打开后界面及工程主要模块说明如下图所示:
1.1.4.2.2下载ZYNQ PL程序
下载bit流文件aurora_8b10b_0_exdes.bit,并且配套aurora_8b10b_0_exdes.ltx调试文件,如下图下载界面所示:
1.1.4.3运行结果说明
ZYNQ PL端提供的ILA调试窗口,可以实时抓取采集GTX收发本地并行信号以及错误检测信号的时序波形。
ILA抓取波形如下图所示:
ILA抓取信号说明如下:
ERR_COUNT[0:7]:接收数据错误个数,接收模块分析接收数据是否正确;
tx_d_i[0:15]:发送数据;
tx_rem_i:最后一个发送数据的高低字节有效标识,0表示,表示tx_d_i[0:7]有效,1表示tx_d_i[0:15]有效;
tx_src_rdy_n_i:发送数据源端准备好标志,结合tx_dst_rdy_n_i使用,都为0时表示可以发送数据,
tx_sof_n_i:发送开始标识,低电平有效;
tx_eof_n_i:发送结束标识,低电平有效;
tx_dst_rdy_n_i:发送数据目的端准备好标志;
rx_d_i[0:15]:接收数据
rx_rem_i:最后一个接收数据的高低字节有效标识,0表示,表示rx_d_i[0:7]有效,1表示rx_d_i[0:15]有效;
rx_src_rdy_n_i:接收数据源端准备好标志;
rx_sof_n_i:接收开始标识,低电平有效;
rx_eof_n_i:接收结束标识,低电平有效;
CHANNEL_UP:为1表示GTX通道完成正常初始化;
LANE_UP:指示GTX每个lane是否正常初始化成功,这里只有1个Lane;
SOFT_ERR、HARD_ERR:软、硬件错误指示,正常情况应该为0
tx_lock_i_ila:GTX时钟锁定指示,正常情况应该为1
pll_not_locked_ila:GTX时钟失锁指示,正常情况应该为0
VIO虚拟IO界面如下图所示:
VIO界面上标识Input的为采集信号,用户只能查看对应信号当前的逻辑电平值,1表示高电平,0表示低电平;VIO界面上标识Output的为用户控制信号,用于控制用户逻辑的,用户可以在Value一栏输入0/1电平值,从而达到控制用户逻辑的目的。VIO界面主要用于复位用户逻辑,以及查看通道是否链接成功,VIO界面可以不用操作。
1.1.4.4退出实验
Vivado调试界面Hardware Manager窗口,右键单击localhost(1),在弹出的菜单中点击Close Server,断开ZYNQ JTAG仿真器与板卡的连接:
最后,关闭板卡电源,实验结束。
Xlinx Zynq7035 PL SFP光口通信例程相关推荐
- 基于FPGA的光口通信开发案例|基于Kintex-7 FPGA SFP+光口的10G UDP网络通信开发案例
前言 自著名华人物理学家高锟先生提出"光传输理论",实用化的光纤传输产品始于1976年,经历了PDH→SDH→DWDM→ASON→MSTP的发展历程.本世纪初期,ASON/OADM ...
- FPGA基于SFP光口实现1G千兆网UDP通信 1G/2.5G Ethernet PCS/PMA or SGMII替代网络PHY芯片 提供工程源码和技术支持
目录 1.前言 2.我这里已有的UDP方案 3.详细设计方案 4.vivado工程详解 5.上板调试验证并演示 6.福利:工程代码的获取 1.前言 目前网上的fpga实现udp基本生态如下: 1:ve ...
- FPGA基于SFP光口实现10G万兆网UDP通信 10G Ethernet Subsystem替代网络PHY芯片 提供工程源码和技术支持
目录 1.前言 2.我这里已有的UDP方案 3.详细设计方案 4.vivado工程详解 5.上板调试验证并演示 6.福利:工程代码的获取 1.前言 目前网上的fpga实现udp基本生态如下: 1:ve ...
- can口通信的软件测试,RT1052+8、CAN通信例程测试
通过对开发板CAN通信例程的学习来掌握CAN的使用,首先,先跑开发板例程,开发板CAN通信例程有三个 , 这次学习其中两个程序. 程序文件列表图片: 1.png (2.44 KB, 下载次数: 17) ...
- 【STC15】 STC15W408AS SBUS通信例程
STC15 SBUS通信例程 相关单片机外设介绍 SBUS协议介绍 代码部分 程序文件 相关单片机外设介绍 1.STC15W408AS内部晶振频率最高可以设置为35MHz ,本demo设置为24MHz ...
- 倍福EL6021使用Modbus RTU通信例程
EL6021简介 EL6021是倍福推出的RS422/485串口通信模块,一般用作Modbus RTU通信的主站,EL6021是单口RS422/485模块,EL6022是双口(DB9)RS422/48 ...
- 上位机使用C++通过ADS协议与倍福PLC通信例程-字符串变量读取
前言 建议初学者先看这一章节内容,里面包括一些基础的环境配置和项目建立流程,以后开发项目这些流程是通用的,务必掌握并熟练. 链接: 上位机使用C++通过ADS协议与倍福PLC通信例程-布尔变量的读取 ...
- Zynq 7000 PL和PS通信——使用BRAM
Zynq 7000 PL和PS通信--使用BRAM 介绍 1 准备工作 2 PL搭建BRAM 3 下载PL程序 4 编写Linux应用程序 5 问题 5.1 BRAM的寻址的问题 5.2 PS地址映射 ...
- 龙芯1B:串口通信例程
文章目录 前言 一.串口通信? 1.串口通信的基础与分类 2.波特率 3.单工.半双工和全双工 4.起始位.数据位.奇偶校验位.停止位 5.TXD,RXD,GND 二.龙芯UART串口介绍 三.程序代 ...
最新文章
- Xamarin XAML语言教程通过数据绑定使用Progress属性
- 使用three.js实现机器人手臂的运动效果
- Linux 库函数与系统调用的关系与区别
- Android魔术——手把手教你实现水晶球波浪进度条
- linux 安装RedisLive
- GIL、进/线程池、同/异步、阻/非阻塞
- mac自动生成路径问题
- Android Http请求失败解决方法
- RHCSA试题+答案
- 生物信息学软件_高通量测序技术|生信的发展,常用数据格式及分析软件
- android编程歌词显示,Android 音乐播放器实现歌词显示
- 电压比较器的介绍和工作原理
- 今日头条笔试 机器人跳跃问题
- KETTLE:通过代码运行本地ktr文件
- 前端实现扫码数据展示
- 智能家居-电热水器工作原理(转载)
- OnTriggerEnter与OnCollisionEnter详解
- Android 求时间差
- 经纬财富:银价继续承压 今晚关注消费者指数
东莞
- 东方财富股吧标题爬取分析