基于创龙TMS320C665x平台GigE工业相机图像采集案例实操笔记

  • 开发平台:创龙TL665x-EasyEVM;
  1. 基于TI KeyStone C66x多核定点/浮点DSP TMS320C665x,单核TMS320C6655和双核TMS320C6657管脚pin to pin兼容,同等频率下具有四倍于C64x+器件的乘累加能力;
  2. 主频1.0/1.25GHz,每核运算能力可高达40GMACS和20GFLOPS,包含2个Viterbi协处理器和1个Turbo协处理解码器,每核心32KByte L1P、32KByte L1D、1MByte L2,1MByte多核共享内存,8192个多用途硬件队列,支持DMA传输;
  3. 支持PCIe、SRIO、HyperLink、uPP、EMIF16、千兆网口等多种高速接口,同时支持I2C、SPI、UART、McBSP等常见接口;
  4. 连接稳定可靠,80mm*58mm,体积极小的C66x核心板,采用工业级高速B2B连接器,关键大数据接口使用高速连接器,保证信号完整性;

  • 开发环境:CCSv5.5;
  • DSP系统:SYS/BIOS6.37.5.35;
  • 网络协议栈:NDK 2.21.2.23;
  • GigE相机:Balser acA640-120gm;
  • 采集帧率:30fps。

2.创龙TMS320C665x平台GigE Vision简介

千兆网(GigE)是目前工业数字相机中发展最快的接口,同时也是可普遍应用的数字接口,几乎可全面取代模拟设备的相机接口。千兆网在宽带、线材长度、多相机功能方面有较大的技术灵活性,是传输速率高达108MB/秒、长度为100米线材的最佳选择。此外,其简化了多相机系统的设置。

创龙TMS320C665x平台GigE Vision是一种基于千兆以太网通信协议开发的相机接口标准。在工业机器视觉产品的应用中,创龙TMS320C665x平台GigE Vision允许用户在很长距离上用廉价的标准线缆进行快速图像传输。它还能在不同厂商的软、硬件之间轻松实现互操作。

创龙TMS320C665x平台GigE Vision与标准千兆以太网,在硬件架构上基本完全一样(对网卡的要求有微小区别),只是在底层的驱动软件上有所区别。他主要解决标准千兆网的两个问题:其一,数据包小而导致的传输效率低。标准千兆网的数据包为1440字节,而GigE Vision采用所谓的“Jumbo packet”,其最大数据包可达16224字节。其二CPU占用率过高。标准千兆网采用TCP/IP协议,在部分使用DMA控制以提高传输效率的情况下,可做到82MB/s时CPU占用率15%。GigE Vision驱动采用的是UDP/IP协议,采用完全的DMA控制,大大降低了CPU的占用率,在同等配置情况下可做到108MB/s时CPU占用率为2%。

千兆网视觉标准GigE Vision包含下面四种技术内容:

  • The Gig Vision™ Control Protocol(GVCP),运行在UDP IPv4协议上,定义了如何控制和配置如摄像头等兼容设备,定义流通道,并且提供摄像头发送图像,传输数据到计算机的机制;
  • The Gig Vision™ Stream Protocol(GVSP),定义数据类型并且详细描述图像如何通过千兆网传输;
  • The Gig Device Discovery Mechanism(GDDM),定义工业摄像头或者其他兼容设备如何获取IP地址;
  • 基于GenICam™标准的XML描述文件,提供等效于计算机可以读取的数据表文件,实现工业摄像头控制和图像流获取。

3.程序关键配置简介

  • 基本配置:

  • RTSC配置:

  • SYS/BIOS配置:

  • NDK配置:

  • 开发板的IP地址配置成固定的IP地址,具体配置如下:

  • DHCP SERVER详细配置如图所示:相机IP地址可以从192.160.1.203开始到192.160.1.213;

  • 系统内存配置:设计中使用SystemHeap空间作为图像接收的缓冲区,内存的映射区域为片外的DDR3,总大小为16MB;

4.程序结构流程简介

创龙TMS320C665x平台GigE相机采集图像主要包括三个步骤,首先给相机分配IP地址,然后配置相机参数并启动相机图像传输,最后接收并解析图像数据。程序结构如下图所示:

相机的初始化和配置流程如下图所示:

图像接收采用两个缓冲区Ping-Pong操作的方式,采用该方式有两个比较明显的优势,其一在应用过程中,可以轮流操作缓冲区,其二UDP为非可靠性传输,不能保证数据包能顺序到达,采用此方式可以接收帧间交叉传输的数据包。设计中还增加了坏帧处理机制,如果坏帧(错误帧或者接收速率不够导致)增大到一定的数量,清空接收缓存区重新接收图像。流程如下图所示:

5.程序加载步骤及运行效果

按程序加载步骤加载GigeCapture.out文件,该文件存在在光盘的"Demo\SYSBIOS\Binary"目录下,点击 按钮,让程序运行,此时Console打印如下信息。

打开图像分析软件"Tools ->Image Analyzer",如下图。

下图为CCS图像监视端口配置图,用于配置图像显示的一些特性,开始地址设置为g_frameCapture[0].frameData。配置完成后切换到Image窗口,右键单击图像区域,选择refresh,CCS自动从处理器的指定内存加载图像到Image窗口。

此时需要仔细调节相机的对焦,调好后,采集图片如下。

基于创龙TMS320C665x平台GigE工业相机图像采集案例实操笔记相关推荐

  1. 基于AM57x的GigE工业相机图像采集案例TL5728-IDK开发板

    1开发环境 表 1 开发板型号 是否支持本实验 TL5728-EasyEVM 支持 TL5728-IDK 不支持 TL5728F-EVM 不支持 AM57x开发板(使用7英寸液晶显示屏) 本案例所有 ...

  2. 图像采集基于创龙TMS320C6748工业核心板产品简介

    图像采集TMS320C6748工业级核心板简介 基于TI TMS320C6748定点/浮点DSP C674x处理器,主频456MHz: 集成uPP.EMIFA.SATA.USB 2.0 OTG等大数据 ...

  3. AD9361+ ZYNQ软件无线电平台搭建实例 | 基于创龙科技Zynq-7045、Zynq-7100平台

    目录 1 硬件平台 1.1 Zynq-7045/Zynq-7100评估板 1.2 AD9361软件无线电模块 2 案例演示 2.1 开发环境 2.2 案例功能 2.3 案例测试 2.3.1 QSPK数 ...

  4. vivado2018.3创建一个流水灯(基于创龙k7核心开发板)

    vivado新建工程&流水灯 导言 之前一直用Quartus学习FPGA,第一次接触Xilinx开发工具vivado,看了一些新建工程教程之后,记录一下自己新建工程的过程,作为备忘,也作为初学 ...

  5. 创龙AD+全志T3 ad_display 开发案例

    前 言 本文主要介绍基于全志科技T3(ARM Cortex-A7)处理器的8/16通道AD采集开发案例,使用核芯互联CL1606/CL1616AD芯片,亦适用于ADI AD7606/AD7616.CL ...

  6. 闲鱼玩法平台系列文章——双11实操篇

    背景 营销玩法是电商行业进行商品促销和用户增长的重要手段,上一篇中介绍了闲鱼的玩法平台--多啦A梦,本篇将介绍在该系统上承接的玩法.闲鱼作为闲置循环工厂也参与了大促,为了让更多闲置在闲鱼游起来,在商品 ...

  7. 基于R语言的层次聚类分析-【案例实操】-基本操作,一看就会

    基本思想 每一个样本作为一类 按照某一种方法进行距离度量,比如"欧氏距离" 距离最短划为1类 重复步骤2和3,每次减少一类,直至所有样本合成1类 案例 数据 这里用鸢尾花数据集作为 ...

  8. 创龙Xilinx Zynq-7000系列SoC高性能处理器开发板的SFP+接口、FMC接口

    TLZ7xH-EVM是一款由创龙基于SOM-TLZ7xH核心板设计的开发板,底板采用沉金无铅工艺的6层板设计,为用户提供了SOM-TLZ7xH核心板的测试平台,用于快速评估核心板的整体性能. SOM- ...

  9. 创龙Xilinx Zynq-7000系列SoC高性能处理器开发板的按键、串口

    TLZ7xH-EVM是一款由创龙基于SOM-TLZ7xH核心板设计的开发板,底板采用沉金无铅工艺的6层板设计,为用户提供了SOM-TLZ7xH核心板的测试平台,用于快速评估核心板的整体性能. SOM- ...

最新文章

  1. 五大分布式事务,你了解多少?
  2. c++ primer,友元函数上的一个例子(By Sybase)
  3. endnotex7怎么导入中文文献_EndNote X7自动导入PDF功能详解 | 科研动力
  4. Linux下profile和bashrc四种的区别
  5. tomcat变量环境脚本setclasspath.sh分析
  6. Apache Shiro 框架简介和下载导入
  7. node.js Error: connect EMFILE 或者 getaddrinfo ENOTFOUND
  8. vue打包放到Java项目里_【vue】webpack打包vue项目并且运行在Tomcat里面
  9. 服务号php代码示例,php实现银联商务公众号+服务窗支付的示例代码
  10. 中科院30m二级分类土地利用数据Arcgis预处理及获取
  11. NSIS脚本开发总结
  12. 《蛙》杂记------莫言
  13. MongoDB day02
  14. 药明海德在苏州打造疫苗CDMO服务中国基地;现代汽车将在印尼新首都启用“空中出租车” | 美通企业日报...
  15. ASICC码对照表整理
  16. BLE 技术(八)--- BLE MESH 各层报文是如何设计的(上)?
  17. canvas-变换-scale(缩放)
  18. 用于威胁情报分析的虚拟机
  19. 微信公众帐号开发教程第18篇-应用实例之音乐搜索
  20. 跳动的心html5,施华洛世奇跳动的心真假怎么分辨

热门文章

  1. 什么是pyc文件,把python的py文件编译成pyc文件,把pyc文件反编译成py文件。以及python编译的如何设置不生成pyc文件
  2. 软件测试岗位英文自我介绍,软件测试工程师面试的英文自我介绍
  3. 2062 【例1.3】电影票
  4. ChatGPT 版必应发飙!怒斥人类:放尊重些
  5. 易优cms flink 友情链接
  6. 新美心绿姿践行社会公益 大型公益活动启动在即
  7. mysql 中的三元运算
  8. 黄帝内经.素问.藏气法时论篇(22)
  9. 牛客白月赛26【题解】
  10. LVS+nginx负载均衡(一)-企业实战lvs负载均衡