摘要

本文利用zynq7020芯片实现了cameralink接口时序控制,将自制的测试采图上传至PC端上位机进行显示。其中,图片格式为1280@720P大小的的RGB888彩色图条。旨在进一步理解cameralink协议的传输规则,以及探究协议的实现方式。此外也起到了对现有采集卡及软件的测试调试作用。这些都为下一阶段图像处理的学习及对工业相机的研究打下基础。

1 理论基础

1.1 cameralink协议

camearlink协议手册涉及内容很多,包括不同的工作模式,此次用的是base模式。在这里简要做总结。

如上图所示,红圈处为base模式所涉及的信号,包括四路数据线和一路时钟线,都是差分的。portA、B、C ,DVAL、FVAl、LVAl等、是协议层面的信号,共28bit,而x0、x1、x2、x3对fpga来讲是实际的输出端口(实际上cameralink一开始就跟fpga没关系的,全篇协议内容都是配合收发芯片DS90CR284等来制定的)。但是对cmos或ccd来说输出的数据一般为8/12位的像素,那么这里涉及一个映射问题。这8/12bit数据是连接到portA呢还是B呢,抑或是随意连接呢?既然是协议,就要约定好了,cameralink给出了如下的约定。

如下图所示,按照表格进行信号的映射

以上是协议层面的映射,而涉及到传输链路的稳定及准确性,还要对总数为28bit的信号进行排序编码。与简单的按bit顺序编码不同,cameralink协议约定了一种特殊的顺序,这种编码结果可能是考虑到传输的稳定性和准确率。

如下如所示,即为cameralink的传输链路上的bit编码规则。

1.2 OSERDES2

xilinx的7系列芯片具有很多IO资源,其中就包括OSERDES2资源,其功能是将并行数据串行化发出。cameralink的base模式通过4个数据通道将28bit的数据发出,因此需要使用4个串行化因子为7:1的OSERDES2资源

如下图所示,即为其工作时序,详细说明可以阅读官方手册

2 设计框架

colorbar 模块负责对应生成采图像素

clk_wiz0 模块例化了pll,生成慢速时钟40m以及快速时钟280m

axi_stream_gen 负责产生行、场同步信号等图像控制信号

cameralink_coder 负责对28bits信号进行映射和编码

cameralinkTx 负责串行化发送

3 主要子模块分析

3.1 axi_stream_gen模块

产生 LVAL(tlast)、FVAL(tuser)、DVAL(tvaild)等图像控制信号。Hcnt、Vcnt 为行场计数,控制colorbar模块彩色块的产生。信号时序如下图。

3.2 cameralinkTx模块

这个模块是例化了4路OSERDES2的原语,将28bit信号经4路通道串行发出,此外还利用OSERDES2生成了一路源同步时钟。

在编写此模块时,我们可以借助xilinx的selectio IP 来辅助生成。

将IP 配置成Cameralink Transmitter 模式,IO采用差分信号 。

创建IP后,打开IP的源码,可以复制过来当做CameralinkTx模块,不过要做些许修改。将DDR改成SDR,DATA_WIDTH 改成7,将D1-D7改成1100011即可。如下图。

4 总结

4.1 测试

连接cameralink采集卡,在camexpert 这个软件中配置成RGB模式,设置相应的参数,启动接收。测试结果如下,可见,可以正确接收到图片。

4.2注意事项

对于OSERDES2的RST端口,要等时钟稳定后,延时几个周期后再拉低。之前直接将此端口置0,一直仿真不出波形,这里是直接将PLL的locked信号取反连接到RST,解决了问题。

欢迎大家一块讨论分享分析,有不足之处也请多指正!

FPGA图像处理 —— fpga实现cameralink接口图像传输相关推荐

  1. FPGA图像处理的开发流程

    FPGA图像处理的开发流程 1.需求分析及问题描述 问题描述应该清楚地描述问题而不是解决方法.它应该包括系统需要做什么.为什么要做,而不包括怎么做. 为了描述更具体,至少需要讨论三个方面. 第一是系统 ...

  2. 优秀的 Verilog/FPGA开源项目介绍(二十五)- FPGA图像处理库

    今天介绍几个和图像处理的项目,废话不多说,我们开始吧~ FPGA-Imaging-Library https://github.com/dtysky/FPGA-Imaging-Library 介绍 一 ...

  3. (123)FPGA面试题-介绍低速接口(UART、IIC、SPI),SPI有几根线,每根线的作用?(三)

    1.1 FPGA面试题-介绍低速接口(UART.IIC.SPI),SPI有几根线,每根线的作用?(三) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-介 ...

  4. Xilinx FPGA时钟及I/O接口规划(一)

    引言:从本文开始,我们介绍Xilinx FPGA时钟及I/O接口规划设计.I/O和时钟规划是定义和分析FPGA和印刷电路板(PCB)之间连接的过程,并将各种互连信号分配给FPGA器件的物理管脚,正确的 ...

  5. FPGA图像处理的一些基础知识,FPGA是如何实现最高实时性的?相比于GPU的优势在哪?

    先来说一下工业上用到的图像传感器种类和部分我知道的厂家.如上图所示,工业上除了会用到手机和相机中常见的面阵传感器之外,还会用到线阵传感器.线阵传感器的分辨率是几k乘1,也就是它只扫描一行图像,主要用于 ...

  6. FPGA白平衡 自动白平衡 FPGA图像处理

    FPGA白平衡 自动白平衡 FPGA图像处理 工程和算法包含以下内容: 1,MATLAB中实现图像处理. 2,verilog代码利用MATLAB联合modelsim仿真实现的图像处理. 3,小梅哥AC ...

  7. Modelsim联合Matlab进行FPGA图像处理仿真与测试的学习总结(以RGB转Ycbcr转Gray为例)

    文章目录 一.Modelsim联合Matlab进行FPGA图像仿真的步骤 二.具体实现方法 2.1 新建一个Modelsim项目并编写测试代码 2.2 新建v文件来编写待测试代码 2.3 建成项目后, ...

  8. FPGA高速数据采集设计JESD204B接口

    FPGA高速数据采集设计JESD204B接口的应用场景 作者:陈刀刀 本文为明德扬原创文章,转载请注明出处! 一,JESD204B应用的优缺点 接触过FPGA高速数据采集设计的朋友,应该会听过新术语& ...

  9. FPGA图像处理入门如何学习?

    1提问 哦哦,好的,我用的是米联客的zynq开发板,但是感觉米联客的教程不是很详细,所以之前看的是正点原子的领航者zynq的教程,目前刚学完HDMI显示实验,我想用fpga来做图像处理,所以找到了你的 ...

  10. NVMe协议逻辑实现、nvme固态硬盘,支持master和slave两种模式,FPGA、SSD控制器,接口统一标准化、简单方便

    NVMe协议逻辑实现.nvme固态硬盘,支持master和slave两种模式,FPGA.SSD控制器,接口统一标准化.简单方便. 1.支持admin和nvme命令集. 2.支持随机和顺序读写,顺序读写 ...

最新文章

  1. python lxml 安装及应用
  2. 「云毕业照」刷爆朋友圈!AI人脸融合技术谁家强?
  3. 实验一:JDK下载与安装、Eclipse下载与使用总结心得
  4. MySQL 触发器错误
  5. jupiter 依赖_Jupiter 介绍
  6. centos部署python flask_python 微服务框架之nameko实践
  7. C#算法设计排序篇之06-堆排序(附带动画演示程序)
  8. [转载]POJ 分类
  9. 用javascript实现以下功能!_用python80行代码实现一个微信消息撤回捕捉功能
  10. Springmvc集成CXF请看教程二
  11. 【java笔记】数组概念初始化及相关操作
  12. symbol lookup error: undefined symbol:PySlice_Unpack
  13. javascript拾遗
  14. Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1. 版本历史 1 1.1. C# 1.0-纯粹的面向对象 2 1.2. C# 2.0
  15. php位运算符与逻辑运算_php 或_php 逻辑运算符和
  16. Cocos2d-x手机游戏开发视频教程
  17. 51驱动DS1302制作电子时钟1602显示
  18. 一个优秀的UI设计师必备的能力,你都有吗?
  19. chrome设置主页打开为百度,免去每次都要输入网址
  20. 离散数学复习:命题逻辑的推理理论

热门文章

  1. C 语言编码规范(MISRA-C-:2004)
  2. Redis 过期策略+conf 记录
  3. 《东周列国志》第二十四回 盟召陵礼款楚大夫 会葵邱义戴周天子
  4. 《云栖社区2017年度内容特辑》新鲜出炉!800+份大会PPT、20+技术专题、100+话题...快抱走!
  5. 前端开发者常见的英文单词汇总
  6. IconFont图标库
  7. 陈丹琦组最新力作:仅需dropout两次的对比学习框架
  8. 第三讲:验证码点击刷新
  9. 如何安装pandas包
  10. 京东商城网上购物登录