文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)06-0031-04
0 引言
壓縮感知理論(Compressed Sensing,CS)[1]表明,若原始信號(hào)是可壓縮的或者在某個(gè)變換域是稀疏的,則可以在對(duì)信號(hào)進(jìn)行采樣的同時(shí)實(shí)現(xiàn)壓縮,然后根據(jù)相應(yīng)的重構(gòu)算法由測(cè)量值重構(gòu)原始信號(hào)。
對(duì)圖像的壓縮感知采樣,可以用TI公司的數(shù)字微鏡器件(Digital Micromirror Device,DMD)很好地實(shí)現(xiàn)。美國(guó)萊斯大學(xué)(Rice University)的Richard G.Baraniuk等人提出了基于壓縮感知理論的單像素相機(jī)模型[2],該相機(jī)利用DMD作為測(cè)量矩陣實(shí)現(xiàn)對(duì)原始圖像的壓縮采樣。中科院空間中心的翟光杰教授團(tuán)隊(duì)利用DMD作為測(cè)量矩陣完成了極弱光下隨機(jī)空間光調(diào)制,實(shí)現(xiàn)了單光子計(jì)數(shù)成像并取得了良好效果[3]。
DMD是由TI公司的科學(xué)家Larry Hornbeck和William于1987年共同發(fā)明的,是集光處理與微機(jī)電系統(tǒng)(Micro Electro-Mechanical System,MEMS)于一體的器件。因?yàn)槠渚哂懈叻直媛?、高亮度、高?duì)比度、高可靠性、數(shù)字控制和響應(yīng)時(shí)間短等優(yōu)點(diǎn),DMD廣泛應(yīng)用于數(shù)字光處理(Digital Light Procession,DLP)系統(tǒng)中。由于基于DLP的DMD灰度控制主要針對(duì)視頻應(yīng)用,顯示幀頻一般在60 Hz~120 Hz,而對(duì)一幀百萬像素級(jí)的圖像進(jìn)行壓縮感知采樣,需要進(jìn)行幾萬甚至幾十萬次,所以這將非常耗時(shí)。國(guó)內(nèi)對(duì)DMD顯示控制研究較少,尚處于起步階段,所以深入研究DMD顯示控制技術(shù)具有重要的意義,將為相關(guān)科研工作提供重要的技術(shù)支撐。
1 壓縮感知理論與DMD
1.1 壓縮感知理論
當(dāng)M=O(KlnN)且測(cè)量矩陣滿足約束等距性(Restricted Isometry Property,RIP)準(zhǔn)則時(shí),可利用恢復(fù)算法高概率重構(gòu)原始信號(hào)x[4]。
1.2 DMD簡(jiǎn)介
DMD是將微鏡陣列與CMOS SRAM集成在同一塊芯片上的裝置[5]。一塊0.7英寸的DMD分辨率為1 024×768,每個(gè)像素點(diǎn)都是一面可以轉(zhuǎn)動(dòng)的鋁制微鏡。每塊微鏡尺寸為13.68 μm×13.68 μm,微鏡間間隔小于1 μm。微鏡固定在軛上,軛可以隨鉸鏈±12°轉(zhuǎn)動(dòng)。通過在微鏡下面的RAM里存儲(chǔ)“0”或“1”來使電極對(duì)微鏡產(chǎn)生靜電吸引,實(shí)現(xiàn)微鏡的轉(zhuǎn)動(dòng)。DMD像素結(jié)構(gòu)圖如圖1所示。
微鏡鏡面可以對(duì)入射光向兩個(gè)方向反射,微鏡處于+12°時(shí),將光線反射至投影鏡頭或屏幕,表示二進(jìn)制“1”;處于-12°時(shí),將光線反射至光吸收器,表示二進(jìn)制“0”,如圖2所示。
1.3 測(cè)量矩陣與DMD
文獻(xiàn)[6]指出,要從M維的測(cè)量值高概率恢復(fù)N維原始信號(hào),測(cè)量矩陣需滿足RIP準(zhǔn)則。而RIP性質(zhì)的驗(yàn)證是個(gè)組合復(fù)雜問題,不容易驗(yàn)證。當(dāng)矩陣Φ和稀疏基Ψ不相關(guān)時(shí),A可高概率滿足RIP準(zhǔn)則。高斯隨機(jī)矩陣與其他矩陣高概率不相關(guān),所以Φ選擇高斯隨機(jī)矩陣時(shí),可使得A在很大概率上滿足RIP準(zhǔn)則。此外,二值隨機(jī)矩陣等也能使矩陣A滿足RIP準(zhǔn)則,且重構(gòu)誤差也較小。
考慮到DMD的結(jié)構(gòu)特點(diǎn),每個(gè)像素點(diǎn)可表示“0”或“1”,測(cè)量矩陣選擇二值隨機(jī)矩陣比較容易實(shí)現(xiàn),利用DMD觀測(cè)信號(hào)的過程如圖3所示。
DMD表示“1”的像素點(diǎn)將光線反射至透鏡匯聚到探測(cè)器上,得到一個(gè)測(cè)量值yi。DMD鏡面矩陣的一次探測(cè)相當(dāng)于測(cè)量矩陣Φ的一行φi與信號(hào)x或θ相乘:
其中yi(i=1,2,…,M)為一次測(cè)量值,經(jīng)過M次測(cè)量,得到向量y。
2 控制系統(tǒng)設(shè)計(jì)
采用Xilinx公司的Virtex-5 XC5VLX50[7]高性能FPGA作為DMD控制系統(tǒng)的主控芯片,完成與DMD接口芯片DDC4100[8]和供電復(fù)位芯片DAD2000[9]的通信,實(shí)現(xiàn)對(duì)DMD的控制。DMD芯片選用0.7 XGA 2xLVDS DMD[10],分辨率為1 024×768。為存儲(chǔ)DMD顯示所需的壓縮感知隨機(jī)矩陣數(shù)據(jù),選用三星的DDR2 SDRAM M470T2864EH3芯片作為高速存儲(chǔ)器??刂葡到y(tǒng)在Xilinx ISE12.4環(huán)境下開發(fā)。控制系統(tǒng)組成如圖4所示。
2.1 隨機(jī)數(shù)發(fā)生器設(shè)計(jì)
本系統(tǒng)的隨機(jī)數(shù)發(fā)生器由上位機(jī)實(shí)現(xiàn)。C標(biāo)準(zhǔn)庫(kù)中的rand()和srand()函數(shù)產(chǎn)生的偽隨機(jī)數(shù)是由seed值來確定的,而seed值若是固定的或者是可預(yù)測(cè)的,那么得到的隨機(jī)數(shù)序列也是固定的或可預(yù)測(cè)的,隨機(jī)性較差。Linux內(nèi)核實(shí)現(xiàn)了一個(gè)隨機(jī)數(shù)產(chǎn)生器,采用熵來描述數(shù)據(jù)的隨機(jī)性。一個(gè)系統(tǒng)的熵越大,有用信息量越少,不確定性越大。Linux內(nèi)核維護(hù)的熵池收集的是硬件設(shè)備產(chǎn)生的物理噪聲,事先不可預(yù)測(cè),所以產(chǎn)生的隨機(jī)數(shù)序列質(zhì)量較高,理想情況下產(chǎn)生的是真隨機(jī)數(shù)。
因此本系統(tǒng)從Linux內(nèi)核中獲取隨機(jī)數(shù)。通過調(diào)用Linux的read()系統(tǒng)調(diào)用讀取設(shè)備文件/dev/urandom中的數(shù)據(jù),并將讀取到的數(shù)據(jù)模2取余轉(zhuǎn)換成二進(jìn)制隨機(jī)數(shù),最后將每8位二進(jìn)制數(shù)合并成一個(gè)字節(jié),保存在文件中備用。
除此之外,用戶也可以根據(jù)需要,利用自己的算法生成隨機(jī)矩陣數(shù)據(jù),利用上位機(jī)下載至DDR2中。
2.2 DDR2 SDRAM控制器設(shè)計(jì)
為了滿足壓縮感知高速自動(dòng)化測(cè)量,需要將大量二值隨機(jī)圖像存儲(chǔ)在高速存儲(chǔ)器中。Virtex-5系列FPGA能支持到第二代DDR,由此,本文選用DDR2作為存儲(chǔ)器來存儲(chǔ)矩陣數(shù)據(jù)。DDR2在時(shí)鐘的雙沿傳輸數(shù)據(jù),采用4位預(yù)取技術(shù)。與第一代DDR相比,在相同的數(shù)據(jù)時(shí)鐘頻率下,DDR2內(nèi)核時(shí)鐘頻率降為原來的一半,功耗更低。DDR2的讀寫時(shí)序如圖5所示,寫時(shí)序與之類似。
DDR2使用控制器提供的差分時(shí)鐘運(yùn)行,命令在時(shí)鐘的上升沿被寄存。DDR2接口是源同步接口,雙向數(shù)據(jù)選通脈沖(DQS)與數(shù)據(jù)一起傳輸。DQS是一個(gè)隨路時(shí)鐘,在讀期間由DDR2發(fā)出,在寫期間由控制器發(fā)出。它與讀數(shù)據(jù)邊沿對(duì)齊,而與寫數(shù)據(jù)中心對(duì)齊。
采用自頂向下的設(shè)計(jì)方式來設(shè)計(jì)DDR2 SDRAM接口控制器。頂層模塊包含時(shí)鐘/復(fù)位模塊、物理層、DDR2控制邏輯和用戶接口模塊。設(shè)計(jì)圖如圖6所示。
時(shí)鐘復(fù)位模塊產(chǎn)生各模塊所需的時(shí)鐘信號(hào)CLK0、CLK90和CLKDIV0以及復(fù)位信號(hào)Reset,其中CLKDIV0是CLK0的二分頻。
物理層是連接用戶接口、DDR2控制邏輯與DDR2的通道,包含DDR2初始化狀態(tài)機(jī)、讀時(shí)序校準(zhǔn)和讀寫數(shù)據(jù)通道。系統(tǒng)復(fù)位完成后,物理層執(zhí)行上電初始化過程,然后執(zhí)行讀時(shí)序校準(zhǔn)。校準(zhǔn)完畢后,將初始化成功信號(hào)置位。
DDR2控制邏輯用來產(chǎn)生地址信號(hào)、命令信號(hào)以及讀寫使能信號(hào)。
用戶接口模塊包含有3個(gè)FIFO:地址FIFO、寫數(shù)據(jù)FIFO和讀數(shù)據(jù)FIFO,用于用戶指定讀寫地址和寫數(shù)據(jù),以及用來讀取數(shù)據(jù)。
2.3 DMD控制器設(shè)計(jì)
TI公司沒有公開DMD的時(shí)序資料,但是給用戶提供了DMD的接口芯片DDC4100以及供電復(fù)位芯片DAD2000,方便了控制系統(tǒng)的開發(fā)。系統(tǒng)上電后DDC4100對(duì)DMD進(jìn)行初始化操作,初始化完成后FPGA通過DDC4100獲取DMD型號(hào)信息,并將數(shù)據(jù)和控制命令發(fā)送給DDC4100。DDC4100根據(jù)命令控制DMD實(shí)現(xiàn)數(shù)據(jù)的加載,并將命令信息傳輸給DAD完成DMD微鏡復(fù)位操作。DMD控制器設(shè)計(jì)圖如圖7所示。
DMD控制器主要由時(shí)鐘模塊、控制模塊和數(shù)據(jù)通路模塊3個(gè)模塊組成。時(shí)鐘模塊為DDC4100提供差分時(shí)鐘信號(hào)DCLKIN_A和DCLKIN_B,控制模塊向DDC4100發(fā)送地址和命令信息,數(shù)據(jù)通路模塊將DDR2存儲(chǔ)的數(shù)據(jù)傳輸給DDC4100以供DMD顯示。
對(duì)于分辨率為1 024×768的DMD,DDC4100可用的數(shù)據(jù)接口為DIN_A[15:0]和DIN_B[15:0],均在時(shí)鐘雙沿讀入數(shù)據(jù),一個(gè)時(shí)鐘周期共讀入64 bit數(shù)據(jù),讀入一行數(shù)據(jù)需16個(gè)時(shí)鐘周期。DMD像素共有768行,分為16個(gè)塊,每塊48行。DMD數(shù)據(jù)加載和復(fù)位以塊為單位。DMD微鏡復(fù)位有4種模式:?jiǎn)螇K模式、雙塊模式、四塊模式、全局模式。測(cè)量矩陣以全局模式顯示,全局?jǐn)?shù)據(jù)加載和復(fù)位的時(shí)序如圖8所示。
數(shù)據(jù)加載完畢后,在全局復(fù)位過程中,應(yīng)將BLK_MD置為“11”,并將BLK_AD置為“10XX”。
3 結(jié)果驗(yàn)證
將設(shè)計(jì)好的控制器下載至開發(fā)板,以突發(fā)長(zhǎng)度為4對(duì)DDR2進(jìn)行讀寫操作。DDR2在時(shí)鐘雙沿讀寫數(shù)據(jù),wr_data_rise和wr_data_fall均為64 bit,分別以全“A”和全“B”、全“C”和全“D”,然后再逆序,寫入DDR2,然后再?gòu)闹凶x取數(shù)據(jù)進(jìn)行對(duì)比。圖9和圖10分別為用Chipscope在線邏輯分析儀在板子上實(shí)際抓取到的寫數(shù)據(jù)和讀數(shù)據(jù),通過對(duì)比表明wr_data和rd_data相同,DDR2控制器可正確讀寫DDR2。
為了便于觀察,將帶有“CS”字樣的矩陣數(shù)據(jù)寫入DMD,可以看出DMD可以正常顯示,如圖11所示。通過示波器觀測(cè)DMD控制器發(fā)出的同步信號(hào),測(cè)得DMD的顯示幀頻達(dá)2 kHz,如圖12所示。
4 結(jié)論
本文介紹了壓縮感知理論和DMD的結(jié)構(gòu)原理,以及DMD與測(cè)量矩陣之間的關(guān)系。設(shè)計(jì)了基于FPGA的DMD二值顯示控制系統(tǒng),實(shí)現(xiàn)了DMD二值高速顯示,為壓縮感知以及相關(guān)理論提供了技術(shù)平臺(tái),對(duì)于推動(dòng)DMD的應(yīng)用具有重要意義。
參考文獻(xiàn)
[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ì)數(shù)成像[J].光學(xué)精密工程,2012,20(10):2283-2292.
[4] 李樹濤,魏丹.壓縮傳感綜述[J].自動(dòng)化學(xué)報(bào),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.