1 平台简介开发平台:创龙TL665x-EasyEVM;基于tiKeyStone C66x多核定点/浮点DSP TMS320C665x,单核TMS320C6655和双核TMS320C6657管脚pin to pin兼容,同等频率下具有四倍于C64x+器件的乘累加能力;主频1.0/1.25GHz,每核运算能力可高达40GMACS和20GFLOPS,包含2个Viterbi协处理器和1个Turbo协处理解码器,每核心32KByte L1P、32KByte L1D、1MByte L2,1MByte多核共享内存,8192个多用途硬件队列,支持DMA传输;支持PCIe、SRIO、HyperLink、uPP、EMIF16、千兆网口等多种高速接口,同时支持I2C、SPI、UART、McBSP等常见接口;连接稳定可靠,80mm*58mm,体积极小的C66x核心板,采用工业级高速B2B连接器,关键大数据接口使用高速连接器,保证信号完整性;
开发环境:CCSv5.5;DSP系统:SYS/BIOS6.37.5.35;网络协议栈:NDK 2.21.2.23;GigE相机:Balser acA640-120gm;采集帧率:30fps。
2 GigE Vision简介 千兆网(GigE)是目前工业数字相机中发展最快的接口,同时也是可普遍应用的数字接口,几乎可全面取代模拟设备的相机接口。千兆网在宽带、线材长度、多相机功能方面有较大的技术灵活性,是传输速率高达108MB/秒、长度为100米线材的最佳选择。此外,其简化了多相机系统的设置。
GigE Vision是一种基于千兆以太网通信协议开发的相机接口标准。在工业机器视觉产品的应用中,GigE Vision允许用户在很长距离上用廉价的标准线缆进行快速图像传输。它还能在不同厂商的软、硬件之间轻松实现互操作。 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 程序结构流程简介GigE相机采集图像主要包括三个步骤,首先给相机分配IP地址,然后配置相机参数并启动相机图像传输,最后接收并解析图像数据。程序结构如下图所示:
相机的初始化和配置流程如下图所示:
图像接收采用两个缓冲区Ping-Pong操作的方式,采用该方式有两个比较明显的优势,其一在应用过程中,可以轮流操作缓冲区,其二UDP为非可靠性传输,不能保证数据包能顺序到达,采用此方式可以接收帧间交叉传输的数据包。设计中还增加了坏帧处理机制,如果坏帧(错误帧或者接收速率不够导致)增大到一定的数量,清空接收缓存区重新接收图像。流程如下图所示:
5 程序加载步骤及运行效果按程序加载步骤加载GigeCapture.out文件,该文件存在在光盘的"DemoSYSBIOSBinary"目录下,点击 按钮,让程序运行,此时Console打印如下信息。
打开图像分析软件"Tools ->Image Analyzer",如下图。
下图为CCS图像监视端口配置图,用于配置图像显示的一些特性,开始地址设置为g_frameCapture[0].frameData。配置完成后切换到Image窗口,右键单击图像区域,选择refresh,CCS自动从处理器的指定内存加载图像到Image窗口。
此时需要仔细调节相机的对焦,调好后,采集图片如下。