引 言
眾所周知, 視覺是人類感知世界的最重要的方式,, 而現(xiàn)實(shí)生活中的所有物質(zhì)形態(tài)都是以三維空間而客觀存在,。三維顯示能真正地再現(xiàn)客觀世界的立體空間, 提供更符合人們觀察習(xí)慣的交流方式,, 有助于人們?cè)诰C合運(yùn)用各種深度暗示之后,, 通過大腦的計(jì)算感知而獲得真實(shí)、豐富,、可靠的視覺體驗(yàn),, 對(duì)社會(huì)的發(fā)展以及在科技、經(jīng)濟(jì)等方面的發(fā)展具有重要的作用,。
目前,, 三維顯示大致可以分為四類: 體視三維顯示、全息三維顯示,、透視三維顯示和體三維顯示 ,,其顯示的原理和特點(diǎn)如表1 所示。
表1 各類三維顯示原理及特點(diǎn)
本文通過旋轉(zhuǎn)24×16 二維LED 陣列實(shí)現(xiàn)了具有69120個(gè)體像素,, 空間尺寸為Φ9414 mm ×6618mm 柱體內(nèi)的三維顯示,, 文中論述了系統(tǒng)的整體結(jié)構(gòu)、顯示原理及其各組成部分的實(shí)現(xiàn)方法,。最后并以顯示“茶壺”為例,, 對(duì)此體三維顯示系統(tǒng)進(jìn)行了分析和討論。
1 LED 體三維顯示系統(tǒng)設(shè)計(jì)
1.1 整體方案
由于人眼具有視覺暫留的特性,, 即人類視覺對(duì)亮度改變的跟蹤會(huì)由于意識(shí)處理延遲而滯后,。基于此特性,, 利用電機(jī)驅(qū)動(dòng)置于對(duì)稱轉(zhuǎn)軸兩側(cè)的發(fā)光二極管陣列,, 使之高速旋轉(zhuǎn), 周期性地掃出一個(gè)柱體空間,。同時(shí),, 尋址驅(qū)動(dòng)控制電路根據(jù)需要調(diào)制不同時(shí)刻LED陣列的發(fā)光狀態(tài), 這樣通過快速顯示一幅幅二維圖像截面序列來實(shí)現(xiàn)三維顯示,。由于人眼視覺暫留時(shí)間約為50~100ms,, 當(dāng)電機(jī)轉(zhuǎn)速超過10r/s時(shí),, 人便不會(huì)有閃爍的感覺, 而是看到三維的立體圖像,。根據(jù)此原理可設(shè)計(jì)如圖1 所示的LED體三維顯示系統(tǒng),。
利用計(jì)算機(jī)生成三維數(shù)據(jù)再通過數(shù)據(jù)傳輸電路把數(shù)據(jù)傳輸?shù)叫D(zhuǎn)驅(qū)動(dòng)板上面的存儲(chǔ)器中, 并且由角度編碼器來測(cè)試電機(jī)的旋轉(zhuǎn)角度并把信號(hào)送給FPGA ,, 然后由FPGA 根據(jù)采集的角度編碼器輸出信號(hào)驅(qū)動(dòng)LED 屏顯示并按時(shí)刷新LED 顯示屏,。同時(shí), 整個(gè)旋轉(zhuǎn)驅(qū)動(dòng)板在電機(jī)的驅(qū)動(dòng)下快速的旋轉(zhuǎn),, 快速顯示一幅幅二維截面圖像來實(shí)現(xiàn)三維顯示,。
1.2 三維數(shù)據(jù)生成
利用Matlab 軟件的強(qiáng)大功能, 首先可以通過im read (),、im f info ()、m eshgrid (),、m eshc () 和su rf ()等語句來實(shí)現(xiàn)具有灰度值的三維圖像,, 假設(shè)獲得的三維圖像角坐標(biāo)為P (X0, Y0,, Z0),。
令LED陣列旋轉(zhuǎn)所得的圓柱空間中LED 燈的柱坐標(biāo)為F ( r, H,, z ) ,, 根據(jù)柱坐標(biāo)與直角坐標(biāo)的轉(zhuǎn)換關(guān)系, 求得空間LED燈的三維直角坐標(biāo)E (X 1,, Y 1,,Z 1) 可表示如下:
其中r, H,, z 均為整數(shù),, 且有: - 12< r≤12, 0< H≤360,, 0< z ≤16,。
最后, 令D(X2,, Y2,, Z2) = P(X0, Y0,, Z0) ∩E (X1,, Y1, Z1 ) 求出該顯示的L ED 燈的三維直角坐標(biāo),, 以此作為三維數(shù)據(jù)的信息源,。
從Matlab 610 版本開始,,Mathworks 公司在軟件中增加了設(shè)備控制箱( Instrument controltoolbox ) , 提供對(duì)RS2232/RS2485 通信標(biāo)準(zhǔn)的串口通信的正式支持,。因此本系統(tǒng)使用該工具箱的serial 類及fopen,、fw rite 等函數(shù), 通過RS2232 串口并利用數(shù)據(jù)傳輸電路把獲得的三維圖像數(shù)據(jù)傳輸?shù)絃ED 驅(qū)動(dòng)電路板上,。
1.3 數(shù)據(jù)傳輸電路
三維圖像數(shù)據(jù)利用設(shè)備控制箱通過RS2232 串口后,, 再利用紅外編解碼技術(shù)把數(shù)據(jù)傳到旋轉(zhuǎn)的LED驅(qū)動(dòng)板上, 其整個(gè)數(shù)據(jù)傳輸?shù)耐ㄓ嵔Y(jié)構(gòu)圖如圖2 所示,。
在單片機(jī)串口模塊中選用電平轉(zhuǎn)換芯片MAX232 芯片實(shí)現(xiàn)TTL 電平與RS2232 電平的雙向轉(zhuǎn)換,, 從而把三維圖像數(shù)據(jù)傳送到單片機(jī)的串行接收端口RXD 上, 然后單片機(jī)再通過其發(fā)送端口TXD把數(shù)據(jù)送出,。圖中的調(diào)制與紅外發(fā)射模塊通過由N E555 芯片構(gòu)成的多諧振蕩電路調(diào)制成38 kHz 的載波信號(hào),, 最后利用紅外發(fā)射管TSAL6238 以光脈沖的形式向外發(fā)送。為了保證紅外接收數(shù)據(jù)的準(zhǔn)確性,,N E555 產(chǎn)生的振蕩頻率要盡可能接近38 kHz,,所以在選擇電阻電容時(shí)要選用精密的元件并保證電源電壓的穩(wěn)定性。
數(shù)據(jù)傳輸電路中的紅外接收解調(diào)模塊選擇Vishay 公司的TSOP1738,, 其內(nèi)部電路功能已包括把接收到的載波頻率為38 kHz 的脈沖調(diào)制紅外光信號(hào)轉(zhuǎn)化為電信號(hào),, 并由前放大器和自動(dòng)增益控制電路進(jìn)行放大處理。然后,, 通過帶通濾波器進(jìn)行濾波,, 濾波后的信號(hào)由解調(diào)電路進(jìn)行解調(diào)。最后,, 由輸出級(jí)電路進(jìn)行反向放大輸出,。
所以, 選用此紅外接收模塊只要把其數(shù)據(jù)輸出直接送到FPGA 處理即可,。經(jīng)實(shí)驗(yàn)測(cè)定,, 利用此紅外傳輸電路傳輸數(shù)據(jù), 速率最高可達(dá)1 kB/ s,。
1.4 角度編碼器與電機(jī)模塊電路
本系統(tǒng)立體顯示是通過快速顯示旋轉(zhuǎn)空間中的一系列二維截面來實(shí)現(xiàn)的,, 把LED 屏旋轉(zhuǎn)一周分成180 個(gè)截面, 即每轉(zhuǎn)2°要刷新一次顯示屏,。為了準(zhǔn)確刷新顯示屏,, 本系統(tǒng)選用角度編碼器來識(shí)別顯示屏轉(zhuǎn)過的角度, 角度編碼器通過測(cè)試電機(jī)旋轉(zhuǎn)發(fā)出脈沖可識(shí)別電機(jī)的旋轉(zhuǎn)角度,。本系統(tǒng)選用的角度編碼器型號(hào)為ZSP38062022G2360B25224E,。此編碼器旋轉(zhuǎn)一周可輸出360 個(gè)脈沖信號(hào)。這樣電機(jī)每轉(zhuǎn)2°, 角度編碼器便可發(fā)出2 個(gè)脈沖信號(hào),,LED 顯示屏控制系統(tǒng)通過計(jì)數(shù)采集的角度編碼器輸出脈沖數(shù)來控制刷新LED 屏,。
同時(shí), 利用角度編碼器的輸出脈沖再通過單片機(jī)的處理可測(cè)出電機(jī)的旋轉(zhuǎn)速度,, 并可送到數(shù)碼管顯示,。此外, 單片機(jī)可對(duì)測(cè)得的電機(jī)速度進(jìn)行判斷,,判斷其是否超出一定的范圍,, 如超出范圍可通知由單片機(jī)控制的報(bào)警電路報(bào)警。其電機(jī)模塊電路圖如圖3 所示,。
電路中所用的電機(jī)為無源電機(jī),, 所以需要電機(jī)的驅(qū)動(dòng)電路, 考慮電機(jī)在加負(fù)載時(shí)速度會(huì)減慢,, 設(shè)計(jì)電機(jī)的速度可調(diào),, 其調(diào)節(jié)范圍為0~ 4 200 r/m in。電路中電機(jī)與角度編碼器套在一起,, 其轉(zhuǎn)速v ( r/s ) 與角度編碼器的輸出脈沖頻率f (Hz) 具有如下關(guān)系:
v = f/360 (2)
通過此對(duì)應(yīng)關(guān)系利用單片機(jī)可測(cè)出電機(jī)的旋轉(zhuǎn)速度并可送到數(shù)碼管顯示,。同時(shí)利用設(shè)計(jì)的報(bào)警器可達(dá)到對(duì)電機(jī)旋轉(zhuǎn)速度的監(jiān)控。
1.5 LED 尋址驅(qū)動(dòng)電路
LED 尋址驅(qū)動(dòng)控制電路主要是利用FPGA 芯片EP1C3 來控制LED的專門驅(qū)動(dòng)芯片BHL2000,, 并且EP1C3 根據(jù)采集的角度編碼器的輸出脈沖數(shù)按時(shí)讀取存儲(chǔ)器中的三維圖像數(shù)據(jù), 然后傳送給BHL 2000,, 從而來驅(qū)動(dòng)LED 屏的列顯示,。同時(shí), FP2GA 又將行掃描信號(hào)輸出經(jīng)后級(jí)放大來驅(qū)動(dòng)L ED 屏的行顯示,, 其具體的原理框圖如圖4 所示,。
由于LED屏在旋轉(zhuǎn)的過程中會(huì)造成亮度損失,所以FPGA 的行掃描信號(hào)輸出需經(jīng)過74HC245和UDN2981 的放大,, 這樣行信號(hào)輸出最大電流可達(dá)到500 mA,。此外,BHL 2000 屬于灌電流型器件且每個(gè)數(shù)據(jù)輸出端電流可達(dá)到80 mA ,, 可直接驅(qū)動(dòng)L ED 顯示,。驅(qū)動(dòng)電路中的存儲(chǔ)器選擇STC62WV 5128, 其容量為512 k×8 b it,, 而本系統(tǒng)一幅三維圖像的數(shù)據(jù)量為6715 k×8 b it,, 所以選擇STC62WV 5128 是足夠的。
值得說明的是,, EP1C3 對(duì)BHL 2000 的寫數(shù)據(jù)是在BHL 2000 寫入時(shí)鐘WR 的驅(qū)動(dòng)下,, 數(shù)據(jù)從D in02D in7 輸入, 在內(nèi)部移位寄存器中串行移位16 次后,由級(jí)聯(lián)口SHO02SHO7移出,。同時(shí)BHL 2000 行,、場(chǎng)控制信號(hào)HS、VS確定數(shù)據(jù)在存儲(chǔ)器中的存儲(chǔ)位置,, 最多可存8×16×32 個(gè)字節(jié),。此外,BHL 2000 的輸出行,、場(chǎng)控制信號(hào)HCL K 和CLR 確定取數(shù)位置,, 在讀出時(shí)鐘CLK控制下進(jìn)行灰度調(diào)制, 輸出脈寬信號(hào)O02O15,, 從而驅(qū)動(dòng)LED顯示屏,。
2 軟件設(shè)計(jì)
設(shè)計(jì)的主要原理是在逐行掃描信號(hào)的驅(qū)動(dòng)下,在每次行掃描信號(hào)來臨時(shí),, 送出8 位的列數(shù)據(jù),, 電機(jī)每旋轉(zhuǎn)2°的時(shí)間內(nèi), FPGA 一直掃描同一幅切面圖像數(shù)據(jù),, 然后每旋轉(zhuǎn)兩度后就刷新掃描另一幅切面圖像數(shù)據(jù),, 值得注意的是, 每一行掃描信號(hào)后面要加一個(gè)消隱信號(hào),, 即再顯示下一行數(shù)據(jù)時(shí)要把前一行L ED 燈關(guān)掉,, 否則會(huì)產(chǎn)生串?dāng)_, 圖5 所示即為加消隱信號(hào)后的16 個(gè)行掃描信號(hào),。
3 分析與討論
本文根據(jù)人眼所具有的視覺暫留特性及L ED高速發(fā)光特性實(shí)現(xiàn)了一套基于旋轉(zhuǎn)24×16 二維LED 屏,, 具有69120個(gè)體像素, 空間尺寸為Φ9414mm ×6618 mm 的體三維顯示系統(tǒng),。從對(duì)此系統(tǒng)中的三維數(shù)據(jù)獲取,、數(shù)據(jù)的無線傳輸、電機(jī)旋轉(zhuǎn)角度值的獲取以及L ED 屏的尋址驅(qū)動(dòng)電路等模塊的分析和討論來看,, 本系統(tǒng)具有可行性高,、技術(shù)實(shí)現(xiàn)容易、系統(tǒng)簡(jiǎn)單和便于控制等特點(diǎn),。圖6 所示為根據(jù)本系統(tǒng)顯示的“茶壺”,, 從圖中可以看出顯示的三維效果。
當(dāng)然,, 從圖中也可以看出本系統(tǒng)的LED 陣列尺寸還比較小,,LED 燈排列還不夠密, 其橫向和縱向間距為412 mm,。此外,, 本系統(tǒng)也存在數(shù)據(jù)傳輸速度限制、不能實(shí)時(shí)顯示以及亮度均勻性控制等問題, 但這同時(shí)也為以后實(shí)現(xiàn)更高質(zhì)量的三維顯示提供了努力的方向,。體三維顯示也將在包括科學(xué)可視化,、虛擬現(xiàn)實(shí)、數(shù)字娛樂,、空中交通控制,、核磁共振成像、三維流體分析在內(nèi)的很多領(lǐng)域有著廣泛的應(yīng)用前景,。