文献标识码: A
文章编号: 0258-7998(2015)06-0031-04
0 引言
压缩感知理论(Compressed Sensing,CS)[1]表明,若原始信号是可压缩的或者在某个变换域是稀疏的,则可以在对信号进行采样的同时实现压缩,然后根据相应的重构算法由测量值重构原始信号。
对图像的压缩感知采样,可以用TI公司的数字微镜器件(Digital Micromirror Device,DMD)很好地实现。美国莱斯大学(Rice University)的Richard G.Baraniuk等人提出了基于压缩感知理论的单像素相机模型[2],该相机利用DMD作为测量矩阵实现对原始图像的压缩采样。中科院空间中心的翟光杰教授团队利用DMD作为测量矩阵完成了极弱光下随机空间光调制,实现了单光子计数成像并取得了良好效果[3]。
DMD是由TI公司的科学家Larry Hornbeck和William于1987年共同发明的,是集光处理与微机电系统(Micro Electro-Mechanical System,MEMS)于一体的器件。因为其具有高分辨率、高亮度、高对比度、高可靠性、数字控制和响应时间短等优点,DMD广泛应用于数字光处理(Digital Light Procession,DLP)系统中。由于基于DLP的DMD灰度控制主要针对视频应用,显示帧频一般在60 Hz~120 Hz,而对一帧百万像素级的图像进行压缩感知采样,需要进行几万甚至几十万次,所以这将非常耗时。国内对DMD显示控制研究较少,尚处于起步阶段,所以深入研究DMD显示控制技术具有重要的意义,将为相关科研工作提供重要的技术支撑。
1 压缩感知理论与DMD
1.1 压缩感知理论
当M=O(KlnN)且测量矩阵满足约束等距性(Restricted Isometry Property,RIP)准则时,可利用恢复算法高概率重构原始信号x[4]。
1.2 DMD简介
DMD是将微镜阵列与CMOS SRAM集成在同一块芯片上的装置[5]。一块0.7英寸的DMD分辨率为1 024×768,每个像素点都是一面可以转动的铝制微镜。每块微镜尺寸为13.68 μm×13.68 μm,微镜间间隔小于1 μm。微镜固定在轭上,轭可以随铰链±12°转动。通过在微镜下面的RAM里存储“0”或“1”来使电极对微镜产生静电吸引,实现微镜的转动。DMD像素结构图如图1所示。
微镜镜面可以对入射光向两个方向反射,微镜处于+12°时,将光线反射至投影镜头或屏幕,表示二进制“1”;处于-12°时,将光线反射至光吸收器,表示二进制“0”,如图2所示。
1.3 测量矩阵与DMD
文献[6]指出,要从M维的测量值高概率恢复N维原始信号,测量矩阵需满足RIP准则。而RIP性质的验证是个组合复杂问题,不容易验证。当矩阵Φ和稀疏基Ψ不相关时,A可高概率满足RIP准则。高斯随机矩阵与其他矩阵高概率不相关,所以Φ选择高斯随机矩阵时,可使得A在很大概率上满足RIP准则。此外,二值随机矩阵等也能使矩阵A满足RIP准则,且重构误差也较小。
考虑到DMD的结构特点,每个像素点可表示“0”或“1”,测量矩阵选择二值随机矩阵比较容易实现,利用DMD观测信号的过程如图3所示。
DMD表示“1”的像素点将光线反射至透镜汇聚到探测器上,得到一个测量值yi。DMD镜面矩阵的一次探测相当于测量矩阵Φ的一行φi与信号x或θ相乘:
其中yi(i=1,2,…,M)为一次测量值,经过M次测量,得到向量y。
2 控制系统设计
采用Xilinx公司的Virtex-5 XC5VLX50[7]高性能FPGA作为DMD控制系统的主控芯片,完成与DMD接口芯片DDC4100[8]和供电复位芯片DAD2000[9]的通信,实现对DMD的控制。DMD芯片选用0.7 XGA 2xLVDS DMD[10],分辨率为1 024×768。为存储DMD显示所需的压缩感知随机矩阵数据,选用三星的DDR2 SDRAM M470T2864EH3芯片作为高速存储器。控制系统在Xilinx ISE12.4环境下开发。控制系统组成如图4所示。
2.1 随机数发生器设计
本系统的随机数发生器由上位机实现。C标准库中的rand()和srand()函数产生的伪随机数是由seed值来确定的,而seed值若是固定的或者是可预测的,那么得到的随机数序列也是固定的或可预测的,随机性较差。Linux内核实现了一个随机数产生器,采用熵来描述数据的随机性。一个系统的熵越大,有用信息量越少,不确定性越大。Linux内核维护的熵池收集的是硬件设备产生的物理噪声,事先不可预测,所以产生的随机数序列质量较高,理想情况下产生的是真随机数。
因此本系统从Linux内核中获取随机数。通过调用Linux的read()系统调用读取设备文件/dev/urandom中的数据,并将读取到的数据模2取余转换成二进制随机数,最后将每8位二进制数合并成一个字节,保存在文件中备用。
除此之外,用户也可以根据需要,利用自己的算法生成随机矩阵数据,利用上位机下载至DDR2中。
2.2 DDR2 SDRAM控制器设计
为了满足压缩感知高速自动化测量,需要将大量二值随机图像存储在高速存储器中。Virtex-5系列FPGA能支持到第二代DDR,由此,本文选用DDR2作为存储器来存储矩阵数据。DDR2在时钟的双沿传输数据,采用4位预取技术。与第一代DDR相比,在相同的数据时钟频率下,DDR2内核时钟频率降为原来的一半,功耗更低。DDR2的读写时序如图5所示,写时序与之类似。
DDR2使用控制器提供的差分时钟运行,命令在时钟的上升沿被寄存。DDR2接口是源同步接口,双向数据选通脉冲(DQS)与数据一起传输。DQS是一个随路时钟,在读期间由DDR2发出,在写期间由控制器发出。它与读数据边沿对齐,而与写数据中心对齐。
采用自顶向下的设计方式来设计DDR2 SDRAM接口控制器。顶层模块包含时钟/复位模块、物理层、DDR2控制逻辑和用户接口模块。设计图如图6所示。
时钟复位模块产生各模块所需的时钟信号CLK0、CLK90和CLKDIV0以及复位信号Reset,其中CLKDIV0是CLK0的二分频。
物理层是连接用户接口、DDR2控制逻辑与DDR2的通道,包含DDR2初始化状态机、读时序校准和读写数据通道。系统复位完成后,物理层执行上电初始化过程,然后执行读时序校准。校准完毕后,将初始化成功信号置位。
DDR2控制逻辑用来产生地址信号、命令信号以及读写使能信号。
用户接口模块包含有3个FIFO:地址FIFO、写数据FIFO和读数据FIFO,用于用户指定读写地址和写数据,以及用来读取数据。
2.3 DMD控制器设计
TI公司没有公开DMD的时序资料,但是给用户提供了DMD的接口芯片DDC4100以及供电复位芯片DAD2000,方便了控制系统的开发。系统上电后DDC4100对DMD进行初始化操作,初始化完成后FPGA通过DDC4100获取DMD型号信息,并将数据和控制命令发送给DDC4100。DDC4100根据命令控制DMD实现数据的加载,并将命令信息传输给DAD完成DMD微镜复位操作。DMD控制器设计图如图7所示。
DMD控制器主要由时钟模块、控制模块和数据通路模块3个模块组成。时钟模块为DDC4100提供差分时钟信号DCLKIN_A和DCLKIN_B,控制模块向DDC4100发送地址和命令信息,数据通路模块将DDR2存储的数据传输给DDC4100以供DMD显示。
对于分辨率为1 024×768的DMD,DDC4100可用的数据接口为DIN_A[15:0]和DIN_B[15:0],均在时钟双沿读入数据,一个时钟周期共读入64 bit数据,读入一行数据需16个时钟周期。DMD像素共有768行,分为16个块,每块48行。DMD数据加载和复位以块为单位。DMD微镜复位有4种模式:单块模式、双块模式、四块模式、全局模式。测量矩阵以全局模式显示,全局数据加载和复位的时序如图8所示。
数据加载完毕后,在全局复位过程中,应将BLK_MD置为“11”,并将BLK_AD置为“10XX”。
3 结果验证
将设计好的控制器下载至开发板,以突发长度为4对DDR2进行读写操作。DDR2在时钟双沿读写数据,wr_data_rise和wr_data_fall均为64 bit,分别以全“A”和全“B”、全“C”和全“D”,然后再逆序,写入DDR2,然后再从中读取数据进行对比。图9和图10分别为用Chipscope在线逻辑分析仪在板子上实际抓取到的写数据和读数据,通过对比表明wr_data和rd_data相同,DDR2控制器可正确读写DDR2。
为了便于观察,将带有“CS”字样的矩阵数据写入DMD,可以看出DMD可以正常显示,如图11所示。通过示波器观测DMD控制器发出的同步信号,测得DMD的显示帧频达2 kHz,如图12所示。
4 结论
本文介绍了压缩感知理论和DMD的结构原理,以及DMD与测量矩阵之间的关系。设计了基于FPGA的DMD二值显示控制系统,实现了DMD二值高速显示,为压缩感知以及相关理论提供了技术平台,对于推动DMD的应用具有重要意义。
参考文献
[1] DONOHO D L.Compressed sensing[J].IEEE Transactions on Information Theory,2006,52(4):1289-1306.
[2] DUARTE M F,DAVENPORT M A,TAKHAR D,et al.Single-pixel imaging via compressive sampling[J].IEEE Signal Processing Magazine,2008,25(2):83-91.
[3] 俞文凯,姚旭日,刘雪峰,等.压缩传感用于极弱光计数成像[J].光学精密工程,2012,20(10):2283-2292.
[4] 李树涛,魏丹.压缩传感综述[J].自动化学报,2009,35(11):1369-1377.
[5] TEXAS INSTRUMENTS.DMD 101:Introduction to digital micromirror device(DMD) technology[Z].2008.
[6] BARANIUK R.A lecture on compressive sensing[J].IEEE Signal Processing Magazine,2007,24(4):118-121.
[7] XILINX.Virtex-5 family overview[Z].2009.
[8] TEXAS INSTRUMENTS.DLP discovery 4100 digital controller(DDC4100)[Z].2010.
[9] TEXAS INSTRUMENTS.DLP DAD2000 DMD power and reset driver customer datasheet[Z].2009.
[10] TEXAS INSTRUMENTS.DLP discovery.7 XGA 2xLVDS 12° type a customer datasheet[Z].2009.