303
2009 年第 01 期,第 42 卷 通 信 技 术 Vol.42,No.01,2009
总第 205 期 Communications Technology No.205,Totally
HSIC-C60I 型高速相机 USB 采集方式的实现
夏惊涛, 杨少华, 郭明安, 李斌康
(西北核技术研究所,陕西 西安 710024)
【摘 要】阐述了自行研制的 HSIC-C60I 型高速相机系统 USB2.0 采集方式的硬件实现过程,给出了系统的图像数据采
集与视频播放终端控制软件。采用 USB2.0 采集方式,不仅能完成单帧图像采集,而且实现了 500 帧/秒图像数据的连续采集、
保存与回放等功能,大大提升了 HSIC-C60I 高速相机系统的整体性能。
【关键词】高速相机;图像采集;USB;EMCCD
【中图分类号】TP31; TN91 【文献标识码】A 【文章编号】1002-0802(2009)01-0303-03
Realization of USB2.0 Interface for HSIC-C60I High Speed Camera
XIA Jing-tao,YANG Shao-hua,GUO Ming-an,LI Bin-kang
(Northwest Institute of Nuclear Technology,Xi’an Shaanxi 710024, China)
【Abstract】Both the hardware and the software implementations of USB2.0 interface for the HSIC-C60I
high speed camera are discussed in detail. With the USB2.0 interface, in addition to the single image
acquisition, the camera could also realize continuous acquisition, save and replay of image data at
the frame rate of 500fps, and the software could both display single image and play continuous video
sequence. The performance of the HSIC-C60I high speed camera is evidently improved with the USB2.0
interface.
【Key words】high speed camera; image acquisition; USB; EMCCD
0 引言
HSIC-C60I 型相机是笔者自行开发研制的基于 EMCCD
芯片的高速相机,该相机采用“CPLD/SRAM+采集卡”的图
像数据采集方式,即首先通过 CPLD 控制将一帧图像数据传
输至 SRAM 里储存,然后再通过采集卡将数据采集到计算
机。这种采集方式不仅成本高,结构复杂,实现和使用起来
不方便,更重要的是将相机的运行模式基本局限在单帧模
式,从而限制了 HSIC-C60I 相机的整体性能及其应用。改用
USB2.0 的采集方式来解决以上问题。
1 HSIC-C60I 型高速相机系统的基本组成
HSIC-C60I 相机系统的基本组成如图 1 所示,前端相机
与图像数据发送系统主要由 EMCCD 芯片模块、时序及驱动
模块、光发送模块和电源模块组成,远端接收、采集与显示
系统由光接收模块、采集控制模块和计算机组成,图像数据
及控制指令通过光纤进行传输。
图 1 HSIC-C60I 型高速相机系统的基本组成
在 HSIC-C60I 相机系统的前端和远端同时实现用 USB
方式进行图像数据采集。前端相机系统部分,在图像数据未
通过光纤传输之前,通过 USB 直接采集至计算机进行存储
和显示。另外,图像数据由光纤传输至远端,在通过光模块
接收以后,再通过 USB 方式进行采集。
2 相机系统 USB2.0 采集方式的硬件实现
2.1 USB 接口控制模块及其同步 DMA 读时序[1]
选用基于 Cypress 公司 CY7C68013 芯片的通用 USB 接
收稿日期:2008-06-26。
作者简介:夏惊涛(1981-),男,助理工程师,硕士,从事核电子学以及图像数据采集与处理方面的研究工作;杨少华(1980-),男,工程师,
硕士,从事核电子学及高速相机的研制工作;郭明安(1969-),男,高级工程师,博研,从事核电子学及高速相机的研制工作;李
斌康(1966-),男,研究员,博研,从事核电子学以及高速数据采集方面的研究与指导工作。
304
口控制模块,实物如图 2 所示。通过 USB 总线进行数据传
输,提供系统驱动文件,并以动态链接库的形式提供一系列
函数,应用程序通过调用这些函数,把相应的功能转变成模
块硬件接口上的一系列脉冲和电平,发送到外围逻辑,进行
指定的数据传输。
图 2 USB 接口控制模块实物
模块的同步 DMA 读时序如图 3 所示。IFCLK 是 DMA
批量数据传输的同步时钟,外部逻辑 CPLD 使用 DMAWR
脉冲把数据写入模块的内部缓冲区(2048 字节)内,每写满
一个数据包(512 字节)后,数据从模块自动传送到主机。
当主机没有读取数据时,模块内部 2048 字节的缓冲区被写
满后,缓冲区“满”标志 FIFOFull 有效,外部逻辑停止写数据。
图 3 同步 DMA 数据传输时序
2.2 用 CPLD 逻辑电路编程进行采集时序控制
基于 USB 接口控制模块的 DMA 批量数据传输模式,通
过 CPLD 控制实现高速数据采集,图 4 显示了模块与 CPLD
之间的主要管脚连接。采用 CPLD 产生逻辑电路,主要功能
是调整图像数据及控制信号,使其时序满足 USB 接口模块
的要求,选用 XILINX 公司的 XC95108 芯片,在 ISE 集成软
件环境中进行设计开发。
图 4 接口模块与 CPLD 的主要管脚连接关系
模块选通信号 DMACS,接口时钟信号 IFCLK,DMA
数据写信号 DMAWR 以及数据包结束信号 PKTEND 都由
CPLD 产生,“批量数据传输”指示信号 DMAing 和模块内部
缓冲区“满”标志 FIFOFull 则由模块提供。满足时序要求的数
据经过 USB 接口模块的处理后,通过
USB 接口进入计
算机,通过自行编写的计算机应用软件控制进行数据采集并
以一定的方式对图像数据进行存储和显示。图 5 为最终实现
的 HSIC-C60I 型高速相机的采集控制模块实物图,它集成了
光接收模块、CPLD 控制芯片及 USB 接口模块。
图 5 采集控制模块实物
3 相机系统 USB 采集与播放终端控制软件的
实现
HSIC-C60I 型高速相机的软件实现从功能上主要可以分
为两个方面,分别为数据采集控制和视频回放控制,采用
C++语言在 VC6.0 开发环境下基于 MFC 框架编程实现。
3.1 数据采集控制功能的编程实现
数据采集控制功能的实现主要基于 USB 接口模块的动态
链接库,通过调用动态库中的主要 API 函数,控制 USB 模块
进行图像数据采集并传输至计算机。数据采集线程
如图 6
所示。具体的采集过程可以概括为以下 6 个步骤,每一步的功
能通过调用相应的 API 函数完成。
图 6 数据采集线程流程
(1)连接并初始化 USB 接口控制模块。
(2)设置模块的 DMA 传输模式,并清空模块内的缓冲区。
(3)启动批量读数据功能。
(4)批量读数据至计算机内存数据接收缓冲区。
(5)处理和保存数据。为了保证采集速度,将获得的
图像数据首先以裸数据形式保存至计算机硬盘。
(6)结束批量数据传输功能。
利用所实现的采集控制软件,不仅能进行单帧采集,还可
以通过设置采集帧数和时间,进行连续多帧图像数据采集。
3.2 图像单帧显示及视频回放功能的编程实现
图 7 为最终实现的 HSIC-C60I 型高速相机采集与播放终
数据总线DB[9..0]IO
DMAingIO
FIFOFullIO
DMACSIO
IO PKTEND
IO DMAWR
GlobalClock IFCLK
USB模块CPLD
光
接收
模块
主机
应用
软件
USB
接口
305
端控制软件的界面。从 HSIC-C60I 型相机输出的是位深
10 bit,分辨率为 128×128(像素),500 帧/秒的连续图像数
据,采集后以裸数据的形式保存至计算机硬盘。在软件的显
示和播放功能方面,进行灰度变换后,采用 8位灰度位图方
式进行显示,包括任意一帧图像的单帧显示和连续多帧图像
的视频回放。为便于查看,播放帧频从 1 帧/秒向上可调(受
显示器刷新频率限制),并在播放过程中加入暂停功能,从
而可进行任意一帧图像的单独查看和保存。另外还加入了像
素值实时显示和视频窗口缩放等功能。
图 7 HSIC-C60I 相机采集与播放控制软件界面
4 测试与结果
相机的 USB 采集方式实现完成以后,通过对打火机点
燃和水流等较高速过程(图 8 所示)的捕捉对相机整体系统
进行了测试,相机及其软件运行良好。测试
明,采用 USB2.0
采集方式后,不仅能完成单帧图像数据采集,而且实现了
500 帧/秒图像数据的连续采集与保存功能,其播放软件能对
所保存的数据进行单帧图像显示及连续视频回放,从而大大
提升了 HSIC-C60I 型相机系统的整体性能。此外,相对于
“CPLD/SRAM+采集卡”的图像数据采集方式,USB 方式
不但结构简单,操作方便,而且不需要额外增加采集卡,也
从很大程度上节约了成本。
图 8 相机测试:对较高速过程的捕捉
参考文献
[1] 西安达泰公司.USB 接口设备开发设计指南[S].2006.
(上接第 289 页)
printf("x6=%f\n",x6);
printf("x7=%f\n",x7);
printf("x8=%f\n",x8);
printf("d=%f\n",2.0/sqrt(2*pi)*d); /*输出 Dmin*/
printf("dB=%f\n",10*log10(2.0/sqrt(2*pi)*d)); /*
输出 dB 值*/
}
}
输出结果如表 2 所示。
表 2 高斯随机变量最优的 8 电平量化
电平 k kx kx
∼
1 -1.745 -2.15
2 -1.045 -1.34
3 -0.495 -0.75
4 0 -0.24
5 0.495 0.24
6 1.045 0.75
7 1.745 1.34
8 ∞ 2.15
minD =0.034550 , min10lg 14.615578D = − 。
类似地,可以得出其他各电平量化时的数值解。
4 结语
高斯分布信号幅度在均匀量化和非均匀量化下的最小
均方误差的比较,如表 3 所示。从表 3 可以得出以下结论:
当 R 较小 ( 3)R ≤ 时,非均匀量化器的性能较均匀量化器而
言,没有得到明显的改善(差值小于 0.5 dB);而随着 R 的
增大,非均匀量化器与均匀量化器的差值也逐渐增大,例如
当 R=6 时,非均匀量化器较均匀量化器提高了 2 dB 多。
表 3 最佳均匀和非均匀量化器的比较
min10lg D R
比特/抽样 均匀/dB 非均匀/dB
1 -4.396515 -4.396515
2 -9.250429 -9.300565
3 -14.267289 -14.615578
4 -19.377886 -20.222499
5 -24.565946 -26.004660
6 -29.819765 -31.894070
参考文献
[1] 樊昌信,张甫翊,徐炳祥,等.通信原理[M].第 5版,北京:国防工
业出版社,2001
[2] [美]普罗斯基. 数字通信[M]. 张力军,张宗橙,郑宝玉等译.第 4
版,北京:电子工业出版社,2003.
[3] 恰汗·合孜尔.实用计算机数值计算方法及程序设计(C 语言版)[M].
北京:清华大学出版社,2008.