CoaXPress 接口相机的控制方法--2
接上一篇 《CoaXPress 接口相机的控制方法--1》 https://www.cnblogs.com/xingce/p/15902246.html
这里再介绍一下具体是如何完成相机寄存器读写的,FPGA和软件分别要做什么工作
FPGA部分
硬件
要完成与CXP相机的对接,首先需要对应的前端信号处理硬件+FPGA 解码IP,目前可以提供对应硬件和IP的厂商非常少,我们的系统采用了以色列合作伙伴KAYA的FMC子卡和CXP HOST IP,博客不方便上传文档,有感兴趣的可以移步到kaya官网查询相关信息。
FMC子卡
组装后
CXP HOST IP
IP负责完成CXP所有协议层的细节,我们不需要过分关心底层,只需要关注IP对用户的接口即可,我们对IP做了一些封装,使其可以在block design中很方便的进行调用。其中主要分为cxp link trigger(负责控制CXP LINK的触发信号)、ky_cxp_control(负责完成CXP Endpoint的寄存器读写控制)、ky_cxp_dma(负责传输解码后的图像像素数据)。
ky_cxp_control接口到axi_lite接口
在ARM的大力推动下,AXI总线已经成为了系统设计的首选接口,再Xilinx的FPGA 系统设计中也广泛使用,因此我们需要将ky_cxp_control转到axi_lite,然后就可以方便的接到我们的pcie to axi系统中去.
软件部分
软件部分需要对应的PCIe驱动,完成对axi_lite的寄存器访问,即可最终实现对cxp相机寄存器的访问,从而控制相机系统,这部分各个厂商都有自己的做法,是一个较为常见,但是又不容易做好、做稳定的地方,我们这里不展开描述
CoaXPress 接口相机的控制方法--2的更多相关文章
- CoaXPress 接口相机的控制方法--1
GenICam 介绍 简而言之,GenICam 定义了一个通用的相机接口,使得应用程序的编写.相机的控制可以与具体的型号解耦,这样就可以设计出通用的软件完成对不同相机的控制.我们实际使用的CoaXPr ...
- 基于PXIe接口的CoaXpress高速相机图像采集、回放
PXIe简介 PCI eXtensions for Instrumentation or PXI is a computer-based hardware and software platform ...
- CY7C68013 USB接口相机开发记录 - 第一天:资料下载
一直觉得从头开发一套东西出来会极大的提升自己的自信心,能够最大化的开发自己的潜能.所以在犹豫很久之后决定学习下CY7C68013 USB接口相机的开发. 通过在网上查找多份资料后,觉得工欲善其事必先利 ...
- CY7C68013 USB接口相机开发记录 - 第四天:上位机编写1
前面学习了USB相机硬件固件.设备驱动,可以实现USB设备识别.数据发送的功能.然后,非常重要的一部分,USB设备发出的数据,我要怎么接受,怎么查看发送的数据是否是正确的.网上百度了下,大部分人都使用 ...
- CY7C68013 USB接口相机开发记录 - 第三天:固件修改
上篇说了驱动怎么配置,这篇记录下对应的设备固件怎么配置.首先看下我们工程结构: 摘自官方文档AN61345 STARTUP.A51是建立工程时自动生成的文件,下面所有文件都是手动添加的.对于下面的几个 ...
- CY7C68013 USB接口相机开发记录 - 第二天:驱动修改
上次写了资料的下载,并对资料进行了分类,分完类看起来就比较清晰.同时通过强大的百度,也可以得到不少资料. 这里对比较关键的几个文件进行罗列: 一.驱动相关 cyusb.inf: 修改CYUSB.INF ...
- Android三种播放视频的方式
在Android中,我们有三种方式来实现视频的播放: 1.使用其自带的播放器.指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型. 2.使用VideoView来播放. ...
- RelativeLayout.LayoutParams.addRule()方法
1.应用场景 在使用RelativeLayout布局的时候,通常在载入布局之前在相关的XML文件中进行静态设置即可.但是,在有些情况下,我们需要动态的设置布局 的属性,在不同条件下设置不同的布局排列方 ...
- 121-基于TI DSP TMS320DM8148的全高清1080P 60fs的视频编解码系统 机器人主板
基于TI DSP TMS320DM8148的全高清1080P 60fs的视频编解码系统 一.板卡概述 本系统基于最先进的DSP技术,构建一个全高清的视频编解码系统,采用TI的芯片.借助TI的DaVin ...
随机推荐
- 新增访客数量MR统计之NewInstallUserMapper相关准备
关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)云盘目录说明:tools目录是安装包res 目录是每一个课件对应的代码和资源等doc 目录是一 ...
- 服务性能监控之Micrometer详解
Micrometer 为基于 JVM 的应用程序的性能监测数据收集提供了一个通用的 API,支持多种度量指标类型,这些指标可以用于观察.警报以及对应用程序当前状态做出响应. 通过添加如下依赖可以将 M ...
- MySQL提权之启动项提权
关于MySQL的启动项提权,听其名知其意.就是将一段 VBS脚本导入到 C:\Documents and Settings\All Users\「开始」菜单\程序\启动 下,如果管理员重启了服务器, ...
- MATLAB中回归模型
(1).一元线性回归:数学模型定义 模型参数估计 检验.预测及控制 1.回归模型: 可线性化的一元非线性回归 (2).多元线性回归:数学模型定义 模型参数估计 多元线性回归中检 ...
- Javascript中定时器的使用方法
Javascript中定时器的使用方法 1.间隔定时器(每隔一段时间执行一次代码) 格式:setInterval(函数,时间) //时间单位是毫秒,每隔设置的时间执行函数里的内容一遍(一直执行) // ...
- vscode语法检查/智能代码失效
问题 使用C++编写作业时候,智能代码提示是disturb什么,没注意就选了,结果没了编写代码时候的报错提示. 查找全局并没有发现关闭了代码语法检查. 找了半天,重装一次,发现原来在这里.工作空间单独 ...
- spark中job stage task关系
1.1 例子,美国 1880 - 2014 年新生婴儿数据统计 目标:用美国 1880 - 2014 年新生婴儿的数据来做做简单的统计 数据源:https://catalog.data.gov 数据格 ...
- Activity Fragment Service生命周期图
service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径: A started service 被开启的service通过其他组件调用 startService()被创建. 这种 ...
- java内部类概述和修饰符
1 package face_09; 2 /* 3 * 内部类访问特点: 4 * 1,内部类可以直接访问外部类的成员. 5 * 2,外部类要访问内部类,必须建立内部类的对象. 6 * 7 * 一把用于 ...
- .Net Api 之如何使用Elasticsearch存储文档
.Net Api 之如何使用Elasticsearch存储文档 什么是Elasticsearch? Elasticsearch 是一个分布式.高扩展.高实时的搜索与数据分析引擎.它能很方便的使大量数据 ...