羅隆恒 +林祖?zhèn)?/p>
摘要: 隨著投影技術(shù)的發(fā)展,投影系統(tǒng)已被廣泛應(yīng)用于工業(yè)和消費(fèi)電子領(lǐng)域,為了適應(yīng)市場對其微型化、高清畫面和低功耗的要求,設(shè)計(jì)以德州儀器的DLP2010芯片組為核心,以FPGA為前端控制器,通過I2C和并行視頻圖像信號對0.2 in(1 in=25.4 mm)DLP芯片組進(jìn)行控制及圖像的投影顯示。該設(shè)計(jì)可使整個設(shè)備體積微型化、能耗低、投影圖像清晰,適合穿戴式微投影場景的使用。
關(guān)鍵詞:
DLP; FPGA; 微型投影; 穿戴式
中圖分類號: TN 27文獻(xiàn)標(biāo)志碼: Adoi: 10.3969/j.issn.10055630.2017.01.009
Design of micro projection equipment based on digital light processing
LUO Longheng1, LIN Zulun2
(1.School of Microelectronics and SolidState Electronic, University of Electronic Science
and Technology of China, Chengdu 610054, China;
2.School of Optoelectronic Information, University of Electronic Science and Technology of China, Chengdu 610054, China)
Symbol`@@
Abstract:
With the development of projection technology,projection system is widely used in industrial and consumer electronics fields.In order to meet market requirements for its miniaturization,high definition and low power consumption of the device,the design is based on TI's DLP 2010 chipset,and FPGA is the frontend controller.With the I2C and parallel image signal,the 0.2 inch DLP chipset is controlled and projects the image.The design of entire system makes the device miniature and energy efficiency and could project clear image.Thus,it is suitable for the use of wearable microprojection scenarios.
Keywords:
DLP; FPGA; microprojection; wearable
引言
數(shù)字光處理(digital light procession,DLP)是一項(xiàng)以微電子機(jī)械系統(tǒng)(MEMS)為基礎(chǔ)的技術(shù),它使用一個數(shù)字微型反射鏡器件(digital micromirror device,DMD)進(jìn)行光線數(shù)字調(diào)制成像。較之于其他投影技術(shù),DLP技術(shù)有清晰度高、光效高、對比度高、灰階高、壽命長等優(yōu)勢。
當(dāng)前市場上的許多小型投影產(chǎn)品均采用了DLP技術(shù)來實(shí)現(xiàn),但隨著虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)等技術(shù)的發(fā)展,它們與投影結(jié)合的近眼投影等微型投影技術(shù)需要更微小的設(shè)備來實(shí)現(xiàn)。所以本系統(tǒng)以德州儀器(TI)最小尺寸的DLP2010芯片組為核心,用適合處理圖像數(shù)據(jù)的FPGA作為前端控制器,模擬I2C協(xié)議傳輸指令對DLP芯片組進(jìn)行控制,并對外部輸入圖像信號進(jìn)行處理和傳輸圖像數(shù)據(jù),從而更高效、可靠地實(shí)現(xiàn)投影功能,并同時能盡量縮小整系統(tǒng)體積[12]。
1系統(tǒng)原理
典型的DLP投影設(shè)備的DMD安裝在光學(xué)模塊中,與光學(xué)器件和LED光源構(gòu)成投影顯示核心。顯示控制器安裝在電路板中的光學(xué)模塊附近,用于控制 DMD 并執(zhí)行必要的數(shù)據(jù)格式化和圖像處理命令[34]。
本系統(tǒng)由DLP芯片組和前端控制器兩個大模塊組成,其中DLP芯片組模塊又分為電路與光路兩部分。系統(tǒng)電路部分主要由處理器、電源管理、LED驅(qū)動、DMD驅(qū)動、存儲器等部件組成,光路部分由LED、DMD、透鏡等器件組成[56]。系統(tǒng)結(jié)構(gòu)如圖1所示。
由于DMD驅(qū)動的特殊性,TI對每款DMD都推出了相配套的ASICs,DMD驅(qū)動芯片和電源管理芯片一起構(gòu)成了DLP芯片組,從而讓我們對DMD的直接控制轉(zhuǎn)換為對ASICs的控制。本系統(tǒng)設(shè)計(jì)著重于前端控制器的設(shè)計(jì),其中前端處理器FPGA為Xilinx的Spartan3系列中的XC3S200,而存儲器為與之配套的PROM系列中的XCF02SVOG20C。藍(lán)牙/WIFI和圖像源輸入接口可視具體應(yīng)用選擇配置。
2DLP芯片組的控制信號
如圖1所示,前端控制器需要對DLP芯片組輸入PROJ_ON、I2C、并行I/F信號。以下對這些信號的具體需求進(jìn)行解釋。
2.1PROJ_ON信號
當(dāng)PROJ_ON置高,進(jìn)入投影狀態(tài),圖像從DMD投射出去;當(dāng)PROJ_ON置低,進(jìn)入低功耗狀態(tài),投影自動關(guān)閉。
2.2I2C信號
DLPC343X用I2C執(zhí)行指令,支持最高100 kHz波特率,且支持2個I2C端口。其中Port0優(yōu)先用于指令和控制接口,當(dāng)使用這個端口時,其表現(xiàn)為I2C的從機(jī)。具體指令功能詳見對應(yīng)芯片組的數(shù)據(jù)手冊。
2.3并行I/F信號
并行 I/F信號總共28位,用于傳輸圖像信息。包括VSYNC_WE,HSYNC_CS,DATAEN_CMD,24bit data bus (PDATA),PCLK,具體控制時序如圖2所示[7]。
3前端控制器設(shè)計(jì)
本系統(tǒng)的前端控制器為一塊FPGA核心板,由Xilinx的Spartan3系列中的XC3S200,與之配套的
PROM系列中的XCF02SVOG20C等組成,部分原理圖如圖3所示。圖中:FPGA的片內(nèi)資源與I/O可
引出管腳來控制外設(shè)以及進(jìn)行通信和數(shù)據(jù)傳輸;PROM配置用于FPGA的掉電邏輯存儲和內(nèi)部預(yù)設(shè)圖像數(shù)據(jù),可通過JTAG模式進(jìn)行燒錄;電源部分提供了FPGA所需的1.2 V、2.5 V、3.3 V供電,包括了電容退耦陣列、LED陣列和LDO部分。
3.1I2C通信
I2C總線要求有兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL。I2C總線在數(shù)據(jù)傳輸過程中有四種類型的信號:起始命令,結(jié)束命令,應(yīng)答信號,數(shù)據(jù)信號。在開始傳輸數(shù)據(jù)時主控應(yīng)該首先發(fā)送開始命令,之后每發(fā)送8 bit數(shù)據(jù),接收方將發(fā)出一個低電平作為應(yīng)答信號。若發(fā)送方?jīng)]有收到應(yīng)答信號,應(yīng)判斷為出現(xiàn)故障,并立即停止工作,返回初始狀態(tài)準(zhǔn)備重新發(fā)送。完成所有傳輸后,主控應(yīng)發(fā)送一個結(jié)束命令結(jié)束數(shù)據(jù)傳輸,在具體事件中應(yīng)該按要求字節(jié)對其發(fā)送地址值和數(shù)據(jù)值。I2C事件類型如表1所示,其中地址對應(yīng)于控制器的片地址,子地址將對應(yīng)一個具體指令,保留數(shù)據(jù)(如果存在)將對應(yīng)于任何所需的指令參數(shù)。由此我們可以根據(jù)不同的事件要求進(jìn)行相應(yīng)字節(jié)的編寫來與驅(qū)動芯片通信。
我們利用了狀態(tài)機(jī)的原理通過FPGA模擬了I2C事件來與驅(qū)動芯片進(jìn)行通信,對驅(qū)動芯片標(biāo)志各種指令,從而實(shí)現(xiàn)了各種不同的功能,如系統(tǒng)復(fù)位、輸入信號源選擇、外部視頻源格式選擇、圖像修剪、圖像旋轉(zhuǎn)、設(shè)置LED電流等功能。
3.2并行I/F傳輸
并行I/F信號時序如圖2所示,其中:PCLK為系統(tǒng)時鐘,頻率為1~150 MHz;PDATA每一時鐘周期送入一位圖像數(shù)據(jù);HSYNC_CS為行同步信號,其高電平脈寬為4~128個時鐘周期;DATAEN_CMD置高時為一個行同步周期中的數(shù)據(jù)有效時間,到HSYNC_CS上升沿的最小時間為4個時鐘周期,到HSYNC_CS下降沿的最小時間為8個時鐘周期;VSYNC_WE為幀同步信號,一個幀同步周期包含了若干個行同步周期,其高電平脈寬最小為1個行同步周期,其建立時間需要至少1個行同步周期,保持時間至少需要2個行同步周期。一個幀同步周期的完成即是相應(yīng)分辨率的圖像刷完了一幀,從而實(shí)現(xiàn)了視頻圖像信號的傳輸。
數(shù)據(jù)信號PDATA支持最高24位的數(shù)據(jù)格式,包括24位的RGB888和YCrCb888,18位的RGB666和YCrCb666,16位的RGB565、YCrCb565和YCrCb4∶2∶2,8位的RGB888、YCrCb888和YCrCb4∶2∶2各種圖像格式。這里以18位的RGB666格式為例,由于驅(qū)動芯片內(nèi)部的像素存放為固定的24位,而輸入信號為18位,所以驅(qū)動芯片會對I/O進(jìn)行重新映射,如圖4所示[7]。
4系統(tǒng)外部接口
為增加系統(tǒng)的功能,可對系統(tǒng)添加外部HDMI接口,使系統(tǒng)可以連接HDMI視頻源,進(jìn)行直接投影[8]。為此我們可以使用一款專用HDMI解碼芯片進(jìn)行功能拓展。
TI官方設(shè)計(jì)使用了一款I(lǐng)TE6801的HDMI解碼芯片,ITE6801FN是一個單端口的HDMI接收器,兼容HDMI 1.4和MHL2.1兩種操作模式,ITE6801FN的色深(最多36位)能確??煽拷邮崭哔|(zhì)量無壓縮視頻內(nèi)容。使用此款專用解碼芯片可以繞過FPGA主控,直接生成PDATA信號,這樣可以大大減少FPGA的資源消耗,降低整系統(tǒng)的功耗。
而HDMI視頻源的產(chǎn)生也可以用FPGA來模擬實(shí)現(xiàn),其中TMDS編碼器模塊的Verilog代碼如下:
module TMDS_encoder(
input clk,
input [7:0] VD,∥ video data (red,green or blue)
input [1:0] CD,∥ control data
input VDE,∥ video data enable,to choose between CD (when VDE=0) and VD (when VDE=1)
output reg [9:0] TMDS = 0
);
wire [3:0] Nb1s = VD[0] + VD[1] + VD[2] + VD[3] + VD[4] + VD[5] + VD[6] + VD[7];
wire XNOR = (Nb1s>4'd4) || (Nb1s==4'd4 && VD[0]==1'b0);
wire [8:0] q_m = {~XNOR,q_m[6:0] ^ VD[7:1] ^ {7{XNOR}},VD[0]};
reg [3:0] balance_acc = 0;
wire [3:0] balance = q_m[0] + q_m[1] + q_m[2] + q_m[3] + q_m[4] + q_m[5] + q_m[6] + q_m[7] 4'd4;
wire balance_sign_eq = (balance[3] ==
balance_acc[3]);
wire invert_q_m = (balance==0 || balance_acc==0) ? ~q_m[8] :balance_sign_eq;
wire [3:0] balance_acc_inc = balance ({q_m[8] ^ ~balance_sign_eq} & ~(balance==0 || balance_acc==0));
wire [3:0] balance_acc_new = invert_q_m ? balance_accbalance_acc_inc :balance_acc+balance_acc_inc;
wire [9:0] TMDS_data = {invert_q_m,q_m[8],q_m[7:0] ^ {8{invert_q_m}}};
wire [9:0] TMDS_code = CD[1] ? (CD[0] ? 10'b1010101011 :10'b0101010100) :(CD[0] ? 10'b0010101011 :10'b1101010100);
always @(posedge clk)
TMDS <= VDE ? TMDS_data :TMDS_code;
always @(posedge clk)
balance_acc <= VDE ? balance_acc_new :4'h0;
endmodule
5系統(tǒng)測試結(jié)果
借助搭載DLP2010芯片組的DLPDLCR2010EVM評估平臺和一塊FPGA核心板組成了此次系統(tǒng)功能測試的裝置,如圖5所示。下邊的PCB板為FPGA核心板,中間的PCB板為DLP芯片組電路部分,上邊為用于投影的光學(xué)引擎。
該測試分為I2C標(biāo)志指令來投影出DLP芯片組內(nèi)部存儲的測試圖像和由FPGA模擬HDMI視頻源信號來投影外部測試視頻圖像,如圖6所示。由于評估平臺帶有HDMI接口,所以我們可以直接用HDMI線將FPGA核心板與DLPDLCR2010EVM進(jìn)行連接,將刷屏圖像信息傳輸?shù)紻MD驅(qū)動芯片中,再通過DMD與透鏡進(jìn)行投影來顯示色塊刷屏圖像。系統(tǒng)可以投影出清晰度高,光效高,對比度高,灰度等級高的最高25 lm的854×480(WVGA)視頻圖像。
6結(jié)論
本系統(tǒng)的前端控制器設(shè)計(jì)結(jié)構(gòu)簡單,配合最小尺寸的DLP芯片組,可以將整個系統(tǒng)的尺寸大大縮小。由于測試中使用的是工程樣板,只為實(shí)現(xiàn)功能,并未壓縮面積,若將整個系統(tǒng)電路重新布局并重新設(shè)計(jì)光學(xué)引擎,可以使整個系統(tǒng)的尺寸縮小至3 cm×3 cm以內(nèi)。這樣整個系統(tǒng)便可以很容易地做進(jìn)穿戴式智能設(shè)備(VR、AR眼鏡,智能手環(huán)等)中,使得投影取代屏幕從而得到全新的視覺效果和交互體驗(yàn)。
參考文獻(xiàn):
[1]劉杰.數(shù)字光處理DLP芯片及其應(yīng)用[J].集成電路應(yīng)用,2015(2):2830.
[2]田文超,賈建援.DMD及DLP顯示技術(shù)[J].儀器儀表學(xué)報(bào),2005,26(S2):358359.
[3]張慧博.基于嵌入式系統(tǒng)下DLP技術(shù)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[4]曹健,焦海,王源,等.基于FPGA與DLP的體三維顯示系統(tǒng)設(shè)計(jì)方法與研究[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,50(4):605610.
[5]肖勇.基于DLP的微型投影儀驅(qū)動電路設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2014.
[6]莫志君,張慧莉,余松煜.基于TI DLP技術(shù)的投影機(jī)驅(qū)動電路設(shè)計(jì)和實(shí)現(xiàn)[J].光學(xué)儀器,2009,31(6):4851.
[7]Texas Instruments. DLPC3430 and DLPC3435 display controller[DB/OL].http:∥www.ti.com/lit/ds/dlps038c/dlps038c.pdf,201407.
[8]李煌. 基于FPGA的HDMI顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:華東師范大學(xué),2008.
(編輯:劉鐵英)