《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 用于压缩感知的DMD控制系统设计
用于压缩感知的DMD控制系统设计
2015年电子技术应用第6期
史久根,田志强
合肥工业大学 计算机与信息学院,安徽 合肥230009
摘要: 基于数字光处理(DLP)的数字微镜器件(DMD)灰度控制主要针对视频应用,故帧频较低,只有约60~120 Hz,而用DMD实现的伯努利矩阵作为压缩感知测量矩阵,是0-1二值矩阵,不需要灰度控制,且帧频要求通常在数千帧每秒。研制了基于Xilinx公司Virtex-5 FPGA的DMD控制系统来实现伯努利矩阵,系统由随机数发生器(RNG)、DDR2 SDRAM控制器、DMD控制器等模块组成。随机数发生器产生的随机数存储在DDR2 SDRAM中,实现与DMD的高速数据传输。经验证,该系统可实现二值高速显示,帧频可达到2 kHz。
中图分类号: TP391
文献标识码: A
文章编号: 0258-7998(2015)06-0031-04
Design of DMD controlling system for compressed sensing
Shi Jiugen,Tian Zhiqiang
School of Computer and Information,Hefei University of Technology,Hefei 230009,China
Abstract: Being developed for video applications, the gray-scale controlling of digital micromirror device(DMD) based on digital light processing(DLP) is limited at a low level frequency approximately 60 to 120 Hz. While the Bernoulli matrix implemented with DMD, which serves as compressed sensing measurement matrix, is a 0-1 two-value matrix, there is no need to achieve gray-scale controlling, and it requires thousands of frames per second. To solve this problem, a DMD controlling system based on Xilinx Virtex-5 FPGA is designed. It consists of a random number generator, a DDR2 SDRAM controller and a DMD controller etc. The random numbers generated by the RNG are stored in the DDR2 SDRAM and then transferred to the DMD in a high speed. It is verified that this controlling system can achieve high speed two-value display. The frequency is up to 2 kHz.
Key words : digital micromirror device;compressed sensing;measurement matrix;FPGA

  

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 压缩感知理论

qrs6-gs1-2.gif

    当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所示。

qrs6-t1.gif

    微镜镜面可以对入射光向两个方向反射,微镜处于+12°时,将光线反射至投影镜头或屏幕,表示二进制“1”;处于-12°时,将光线反射至光吸收器,表示二进制“0”,如图2所示。

qrs6-t2.gif

1.3 测量矩阵与DMD

    文献[6]指出,要从M维的测量值高概率恢复N维原始信号,测量矩阵需满足RIP准则。而RIP性质的验证是个组合复杂问题,不容易验证。当矩阵Φ和稀疏基Ψ不相关时,A可高概率满足RIP准则。高斯随机矩阵与其他矩阵高概率不相关,所以Φ选择高斯随机矩阵时,可使得A在很大概率上满足RIP准则。此外,二值随机矩阵等也能使矩阵A满足RIP准则,且重构误差也较小。

    考虑到DMD的结构特点,每个像素点可表示“0”或“1”,测量矩阵选择二值随机矩阵比较容易实现,利用DMD观测信号的过程如图3所示。

qrs6-t3.gif

    DMD表示“1”的像素点将光线反射至透镜汇聚到探测器上,得到一个测量值yi。DMD镜面矩阵的一次探测相当于测量矩阵Φ的一行φi与信号x或θ相乘:

    qrs6-gs3-4.gif

其中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所示。

qrs6-t4.gif

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所示,写时序与之类似。

qrs6-t5.gif

    DDR2使用控制器提供的差分时钟运行,命令在时钟的上升沿被寄存。DDR2接口是源同步接口,双向数据选通脉冲(DQS)与数据一起传输。DQS是一个随路时钟,在读期间由DDR2发出,在写期间由控制器发出。它与读数据边沿对齐,而与写数据中心对齐。

    采用自顶向下的设计方式来设计DDR2 SDRAM接口控制器。顶层模块包含时钟/复位模块、物理层、DDR2控制逻辑和用户接口模块。设计图如图6所示。

qrs6-t6.gif

    时钟复位模块产生各模块所需的时钟信号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所示。

qrs6-t7.gif

    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所示。

qrs6-t8.gif

    数据加载完毕后,在全局复位过程中,应将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。

qrs6-t9.gif

qrs6-t10.gif

    为了便于观察,将带有“CS”字样的矩阵数据写入DMD,可以看出DMD可以正常显示,如图11所示。通过示波器观测DMD控制器发出的同步信号,测得DMD的显示帧频达2 kHz,如图12所示。

qrs6-t11.gif

qrs6-t12.gif

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.

此内容为AET网站原创,未经授权禁止转载。