1 引言
新一代顯示器件有機(jī)電致發(fā)光顯示器件OLED(OrganicLightEmittingDiode)厚度為LCD的1/3,響應(yīng)速度是LCD 元件的1000倍,低溫特性好,在-40℃能正常顯示。設(shè)計(jì)開發(fā)一套能在多個公共場合(如廠區(qū)、校區(qū))同步發(fā)布電子公告的多電子圖文廣告屏。該系統(tǒng)基于通用串行總線(USB)傳輸,速度快、 可靠性高,有效地克服了傳統(tǒng)廣告圖文傳輸?shù)娜毕荨?/p>
2系統(tǒng)設(shè)計(jì)
?
多場合同步發(fā)布電子廣告屏系統(tǒng)由位于Internet網(wǎng)絡(luò)的PC機(jī)(上位機(jī))和位于各LED控制器上的單片機(jī)(下位機(jī))組成,采用USB總線進(jìn) 行主從式通信。圖1為控制系統(tǒng)的邏輯結(jié)構(gòu)框圖。上位機(jī)主要完成圖文編輯、字模提取與保存、圖像預(yù)覽與文件傳輸?shù)热蝿?wù);下位機(jī)通過一定的掃描驅(qū)動方式控制 OLED點(diǎn)陣行列驅(qū)動器,實(shí)現(xiàn)設(shè)備的驅(qū)動并最終接收并顯示圖文。由于采用USB總線,可順利實(shí)現(xiàn)多屏連接。
3 OLED驅(qū)動電路設(shè)計(jì)
OLED的驅(qū)動方式屬于電流驅(qū)動。圖2是有源矩陣OLED像素的驅(qū)動原理圖。
?
與液晶像素相比,OLED像素驅(qū)動多一個晶體管VT2,它能在VT1截止時給OLED像素提供發(fā)光的電流。當(dāng)行信號端輸入高電壓選通信 號,VT1處于導(dǎo)通狀態(tài)時,列同步輸入相應(yīng)電壓,向電容C充電同時控制流過VT2的電流的大小。當(dāng)行信號端輸入低電壓信號時,VT1截止,由電容C為 VT2管提供柵極電壓,繼續(xù)控制VT2的漏極電流,維持像素繼續(xù)發(fā)光。
系統(tǒng)中的OLED采用無源驅(qū)動方式。假設(shè)OLED顯示屏有n行m列像素點(diǎn),若使第x行與第y列交叉的發(fā)光元件發(fā)光(導(dǎo)通),僅需使列驅(qū)動電路的 第y列選通開關(guān)閉合,輸出高電平,并使行掃描電路的第x行輸出低電平,其掃描時序圖如圖3所示。其中TFRM為幀周期,TLINE為行掃描周期,確定幀頻 率fFRM后也即確定一幀的時間,TFRM=1/fFRM;每一行的掃描時間TLINE在幀頻確定的情況下是確定的,即TLINE=TFRM/N。
?
設(shè)計(jì)的驅(qū)動電路采用PT6807、PT6808、PT6807是點(diǎn)陣0LED圖形顯示系統(tǒng)64路行驅(qū)動器,它利用CMOS技術(shù),提供64個移位 寄存器和64路輸出驅(qū)動,PT6807自己產(chǎn)生時鐘信號控制PT6808列驅(qū)動器。以128x128點(diǎn)陣為例說明具體的操作,點(diǎn)陣驅(qū)動模塊接口如圖4所 示。為讀出顯示數(shù)據(jù)RAM中的內(nèi)容,需訪問讀指令2次,第1次訪問中,顯示數(shù)據(jù)RAM中的數(shù)據(jù)被鎖存到輸出寄存器中,在第2次訪問中,MPU讀鎖存數(shù)據(jù)。 即在讀顯示數(shù)據(jù)RAM時需1次假讀,但在讀狀態(tài)數(shù)據(jù)時無需假讀。
?
4單片機(jī)存儲器設(shè)計(jì)
OLED電子屏以漢字顯示為主,而存儲一個漢字需32x32=1024b=128B的空間。而AT89C51內(nèi)部存儲空間有限,擴(kuò)展數(shù)據(jù)存儲 器,采用62256SRAM,每片可存儲256個漢字,用8片能顯示常見的2000多個漢字。另外,由于系統(tǒng)需調(diào)用的程序和數(shù)據(jù)較多,所以在外部擴(kuò)展1片 程序存儲器,使除堆棧、隊(duì)列等頻繁使用的結(jié)構(gòu)外,其他類似初始化狀態(tài)字等不占用片內(nèi)存儲器,避免片內(nèi)數(shù)據(jù)阻塞。
5USB接口的硬件設(shè)計(jì)
上位機(jī)向下位機(jī)的數(shù)據(jù)傳輸通過專用USB通信控制器件PDIUSBD12實(shí)現(xiàn)。該器件支持3個USB端點(diǎn),采用多種中斷方式方便于塊傳輸 (Bulk)和同步傳輸(Isochronous),塊傳輸和同步傳輸?shù)臄?shù)據(jù)傳輸速率均可達(dá)1Mb/s,其與AT89C51單片機(jī)的棒口電路如圖5所示。
?
6軟件設(shè)計(jì)
軟件系統(tǒng)包括USB驅(qū)動固件和圖文資料處理兩部分。設(shè)備固件是設(shè)備運(yùn)行的核心,采用C語言編寫。其主要功能是通過PDIUSBD12實(shí)時下傳數(shù) 據(jù)至單片機(jī)。程序主要分初始化、數(shù)據(jù)處理、控制和USB通信4個模塊。設(shè)備與微機(jī)相連后,初始化模塊對設(shè)備進(jìn)行初始化配置;數(shù)據(jù)處理模塊預(yù)處理前端數(shù)據(jù); 控制模塊則用于控制前端硬件;而USB通信模塊負(fù)責(zé)主機(jī)與前端硬件的通信,是同件設(shè)計(jì)的關(guān)鍵。
USB通信同件設(shè)計(jì)的目標(biāo)是使PDIUSBD12在USB上達(dá)到最大的傳輸速率。在程序中需定義USB設(shè)備的GUID,通過USB驅(qū)動程序與 USB設(shè)備連通,且需利用Windows的API函數(shù)取得USB設(shè)備的Handle。根據(jù)USB協(xié)議,任何傳輸都由主機(jī)(Host)開始。單片機(jī)進(jìn)行其前 臺工作,等待中斷。主機(jī)首先發(fā)令牌包給PDIUSBD12,PDIUSBD12接收到令牌包后就給單片機(jī)發(fā)中斷。單片機(jī)進(jìn)入中斷服務(wù)程序,首先讀 PDIUSBD12的中斷寄存器,判斷USB令牌包的類型,然后執(zhí)行相應(yīng)操作。PDIUSBD12采用SIE管理USB通信。當(dāng)主機(jī)與器件進(jìn)行USB通信 時,會產(chǎn)生外部中斷0,通過中斷矢量寄存器判斷。Setup_packed_Int、Input_endpoint0_Int、 Output_endpoint0_Int這3個中斷主要用于與主機(jī)建立連接、進(jìn)行控制傳輸或中斷傳輸;Input_endpoint1_Int、 Output_endpoint1_Int這兩個中斷主要在批量傳輸時使用。在同件中分別執(zhí)行不同的中斷程序?qū)崿F(xiàn)USB的數(shù)據(jù)傳輸。外部中斷0程序如下:
?
7 結(jié)論
OLED顯示技術(shù)與USB接口的完美結(jié)合使大屏幕電子公告同步發(fā)布系統(tǒng)性能更加優(yōu)越。