DSP

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

2019-07-13 19:27发布

基于创龙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文件,该文件存在在光盘的"DemoSYSBIOSBinary"目录下,点击 按钮,让程序运行,此时Console打印如下信息。 打开图像分析软件"Tools ->Image Analyzer",如下图。 下图为CCS图像监视端口配置图,用于配置图像显示的一些特性,开始地址设置为g_frameCapture[0].frameData。配置完成后切换到Image窗口,右键单击图像区域,选择refresh,CCS自动从处理器的指定内存加载图像到Image窗口。 此时需要仔细调节相机的对焦,调好后,采集图片如下。