VC709是xilinx旗下的一款开发板,搭载了强大的Virtex-7芯片。有着丰富存储资源,时钟资源与高速接口。具体可参考xilinx官网的ug887手册,本次主要是想记录一下自己的学习过程与遇到的困难。

一、利用IBERT核实现回环测试。

具体的实现流程可参考知乎文章:在开始高速接口前,我们来试试IBERT测试吧! - 知乎

下面讲讲自己遇到的困难与最终解决方案。

这里设置的设置没什么好说的,注意一点就是,参考时钟决定了你的线速度,因为板子上的参考时钟是固定的(也可以通过外时钟的接入或者可编程时钟进行调改),线速度在1.25~6.25之间选择CPLL,大于6.25勾选QPLL。

笔者本次选择利用SFP+接口来做回环测试,一开始没有合适的外部时钟源,于是想用可编程SI5324来产生时钟,SI5324生成时钟的原理就是配置其中相关的寄存器,当时老板想让我用HLSc++来实现,通过已AXI总线接口的方式来向SI5432配置数据,在利用VIVADO自带的AXI转IIC的IP核来实现,但是自己选择了使用MicroBlaze软核的方式来实现(还有一种PICOBlaze的软核实现方式,两者都可以)。

通过FPGA构建电路,再利用SDK开发工具写C++语言,完成配置。利用示波器观测如下

完成了时钟配置以后,再将IBERT的bit烧进FPGA,出现警告,提示没有时钟。按道理来说,si5324芯片属于外部芯片,再次烧写bit流应该不会干扰到时钟的产生。百度知道有可能是烧写bit引起了si5324芯片的复位,于是改用了另外一种方案。

VC709上有丰富的时钟资源,其中就有USER_CLOCK,此时钟上电就会产生156.25Mhz,那么能不能将这个时钟连接到外时钟上呢? 显然是可以的。不过要在原有的example的代码上加点东西。

如图声明板子上的两个时钟

但是光申明两个时钟也无法将两个时钟连接在一起,还需要这样一段源语,才能将156.25Mhz引出来。

将SMA_USER_CLOCK和SMA_SFP_CLOCK对接。

最后成功。

信号的效果并不好,后期再找时间找找原因,调一调。

二、SFP具体收发的实现。

要实现光纤通信一定要了解GT系列的工作机制,具体可以参考UG476手册,想也可以参考以下博文:GTX_IP核实现SMA口发送数据(4)GTX具体各个模块原理详细介绍 - 快乐气氛组阿宇 - 博客园

沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第五章 GTP发送模块详解_滄海的博客-CSDN博客

这两个博主讲个很详细。

具体实现打开 7 SERIES FPGA TRANSCEIVERS WIZARD,配置好相关参数(一定要看手册或者相关资料),打开example。此时想要直接运行是行不通的,需要加一点和修改一点东西。

首先就是参考时钟的配置,还是沿用我们配置ibert参考时钟办法,加好相关代码及其约束,还有就是对TRACK_DATA_OUT的管脚约束,如下。

还有对DRP_CLK_IN_P的约束(如果不约束布线就会报错)

将时钟及其管脚搞定以后还有些小问题需要解决。

打开我们的源代码,要将此处原来的TURE改为FALSE,TURE的话指的是仿真模式。还有下面的SIM_QPLLREFCLK_SEL要改为3‘b010,因为我们选的是外部时钟,如果是SI5324产生的时钟就用001.

下面的这个QPLLREFCLKSEL也改为3’b010。

一切改好后,终于实现了我们想要的收发结果啦!

数是已经实现了,还要看看信号的质量如何,这个等后面在进行调试。

三、xilinx官方代码的深度剖析(怕自己忘记了)。

GTX_IP核实现SMA口发送数据(3)GTX例程代码详细介绍 - 快乐气氛组阿宇 - 博客园

先把学习网址玛住,后面有时间了,再来提炼

基于VC709开发板的光纤收发的调试与实现,以及过程中遇到的问题与解决。相关推荐

  1. 基于STM32开发板I²C总线通信协议浅析

    基于STM32开发板I²C总线通信协议浅析 一.前言 I²C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980 ...

  2. 基于STM32开发板CAN总线通信协议浅析

    基于STM32开发板CAN总线通信协议浅析 一.前言 控制器局域网(Controller Area Network,CAN),是由德国BOSCH(博世)公司开发,是目前国际上应用最为广泛的现场总线之一 ...

  3. 移植根文件系统到linux内核 s3c2440,u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统...

    三.根文件系统的制作 我们利用busybox来制作根文件系统 1.在下列网站下载busybox-1.15.0.tar.bz2 在当前目录下解压busybox tar -jxvf busybox-1.1 ...

  4. 【RTOS】基于V7开发板的uCOS-III,uCOS-II,RTX4,RTX5,FreeRTOS原版和带CMSIS-RTOS V2封装层版全部集齐...

    RTOS模板制作好后,后面堆各种中间件就方便了. 1.基于V7开发板的最新版uCOS-II V2.92.16程序模板,含MDK和IAR,支持uC/Probe https://www.cnblogs.c ...

  5. 基于uFUN开发板的心率计(三)Qt上位机的实现

    前言 上两周利用周末的时间,分别写了基于uFUN开发板的心率计(一)DMA方式获取传感器数据和基于uFUN开发板的心率计(二)动态阈值算法获取心率值,介绍了AD采集传感器数据和数据的滤波处理获取心率值 ...

  6. 基于uFUN开发板的RGB调色板

    前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt ...

  7. request[limit]取不到前台的值_基于uFUN开发板的心率计(二)动态阈值算法获取心率值...

    前言 上一篇文章:基于uFUN开发板的心率计(一)DMA方式获取传感器数据,介绍了如何获取PulseSensor心率传感器的电压值,并对硬件电路进行了计算分析.心率计,重要的是要获取到心率值,本篇文章 ...

  8. 基于uFUN开发板和扩展板的联网校准时钟

    项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种 ...

  9. 基于uFUN开发板的心率计(二)动态阈值算法获取心率值

    文章目录 前言 IBI和BPM 核心操作 -- 识别一个脉搏信号 问题一:阈值的选取 问题二:特征点识别 算法整体框架与代码实现 总结 基于uFUN开发板的Keil源码下载 uFUN评测系列文章 前言 ...

最新文章

  1. java 获取包名类名_获取指定包名下的所有类的类名(全名)
  2. 北卡教堂山计算机科学专业,UNC的CS「北卡罗来纳大学教堂山分校计算机科学系」...
  3. java 颜色比较_我该如何比较Java中的颜色?
  4. Struts2的自动装配
  5. 使用计数器、译码器,在数码管上显示1~4
  6. MyBaties入门
  7. 卧槽,入职 3 天就“偷”代码,备份 6300 个 Python 脚本,不讲武德啊
  8. 区块链宠物移动端交互原型模板、免费领取、宠物交易、宠物领养、宠物购买、宠物集市、用户中心、注册登录、订单管理、常用元件、通用元件、设计框架、规则说明、功能流程、界面流程、规则模板、Axure原型、rp
  9. 超详细的springBoot学习教程
  10. 微信翻译生日快乐的代码_新套路,微信这个翻译功能还能帮你表白,快学起来!...
  11. ATC52 学习记录
  12. DDOS攻击土味解读
  13. android自动秒杀脚本,京东自动秒杀脚本手机版-京东自动秒杀脚本安卓版下载v7.0.4 - 7230手游网...
  14. C# 获取图片,Pdf中的文字
  15. SSL常见错误及解决方法
  16. 2017最新申请苹果开发者账号,申请appstore开发者账号,申请app开发者账号,申请苹果企业公司开发者账号
  17. GraphSAGE NIPS 2017 代码分析(Tensorflow版)
  18. 如何有效开展小组教学_如何有效开展小组合作学习
  19. BUUCTF 每天10道Misc Day4
  20. STM32F4 FPU和DSP库使用

热门文章

  1. 通达OAV12版本php7.2链接ftp的解决办法Uncaught Error: Call to undefined function ftp_connect()
  2. new String 详解
  3. 计算机丢失Uxteme,xp系统开机显示uxtheme.dll丢失的恢复教程
  4. matlab均值、方差函数
  5. #(四)、(五)拟合数学方法的发展简介
  6. Leveldb-C bindings for leveldb
  7. 普通域账户不能运行金山打字通的解决方案
  8. 有状态,无状态对象是什么概念
  9. 高端水果店进货渠道,想开水果店进货渠道
  10. iconfont的基本使用