吳韻輝,吳云峰,鄧麒麟,孫文博
(電子科技大學(xué) 光電信息學(xué)院,四川 成都 610054)
紫外光固化技術(shù)是利用波長(zhǎng)短的紫外線照射光固化涂料,產(chǎn)生化學(xué)作用而粘合元器件的技術(shù),紫外固化技術(shù)相對(duì)于普通的熱干燥固化技術(shù),有熱損傷小、硬化速度快(通常1 s左右),粘合過程形變小等顯著的特點(diǎn)[1],可以保護(hù)敏感元件,因此在高精度光學(xué)鏡頭粘合,特種儀器焊接等現(xiàn)代精密儀器制造工業(yè)中有重要作用。
在光固化的工業(yè)應(yīng)用中,隨著科技的發(fā)展,對(duì)固化技術(shù)的精度要求也越來越高,隨著LED制造工藝的發(fā)展,大功率LED制造技術(shù)的成熟,紫外LED被研制出來之后,具有波長(zhǎng)范圍小,光強(qiáng)穩(wěn)定可調(diào)的特點(diǎn),因此其在光固化技術(shù)上的應(yīng)用成了研究的熱點(diǎn)[2],國(guó)外研制成功的有日本歐姆龍公司的ZUV系列UV-LED照射器,其技術(shù)指標(biāo)處于世界領(lǐng)先水平,但其輸出功率固定,顯示模式單一,無(wú)法應(yīng)對(duì)復(fù)雜的工業(yè)環(huán)境,本課題設(shè)計(jì)的顯示模塊,應(yīng)用于紫外光固化控制設(shè)備的人機(jī)交互系統(tǒng)中,不僅有輸出模式的靜態(tài)顯示界面,而且具有照射功率的實(shí)時(shí)動(dòng)態(tài)顯示界面,可應(yīng)用于更加智能化的紫外LED照射器人機(jī)交互系統(tǒng),以便滿足現(xiàn)代高精度工業(yè)中不同環(huán)境的需要。
人機(jī)交互模塊的實(shí)現(xiàn),需要硬件和軟件的協(xié)調(diào)支持,如圖1所示,顯示程序的調(diào)用,是通過狀態(tài)機(jī)(state machine)也稱作操作平臺(tái)(operation platform)互相調(diào)配來實(shí)現(xiàn),顯示程序?qū)?shù)據(jù)載入顯示緩存,再由設(shè)定好的顯示驅(qū)動(dòng)程序,將顯示緩存中的內(nèi)容顯示到液晶屏上。其工作原理如圖1所示。
圖1 人機(jī)交互模塊原理圖Fig.1 Man-machine interactive module principle diagram
軟件設(shè)計(jì)是基于硬件平臺(tái)的,軟件才有發(fā)揮需要硬件平臺(tái)的支持,因此必須先實(shí)現(xiàn)硬件平臺(tái)的設(shè)計(jì)。本課題的顯示模塊應(yīng)用于紫外LED照射器的控制系統(tǒng),系統(tǒng)主要由人機(jī)交互單元、數(shù)據(jù)處理單元和系統(tǒng)控制單元、配置信息保存單元、大功率LED驅(qū)動(dòng)電源和特殊設(shè)計(jì)的LED光學(xué)探頭組合構(gòu)成[3],系統(tǒng)的控制核心是基于ADI公司的Blackfin 531DSP處理器,采用DSP+FPGA結(jié)構(gòu),系統(tǒng)的FPGA主要用于收集按鍵采集信號(hào)、實(shí)現(xiàn)SDRAM擴(kuò)展、驅(qū)動(dòng)紫外LED電源;DSP處理器主要用于實(shí)現(xiàn)人機(jī)交互模塊的驅(qū)動(dòng)和顯示,因此,本課題的硬件原理主要涉及到DSP和LCD之間的硬件部分,連接結(jié)構(gòu)如圖2所示。
圖2 PPI接口與LCD連接原理圖Fig.2 PPI interface and the LCD connection principle diagram
系統(tǒng)的顯示模塊選用的是SHARP的LQ043T3DX02彩色液晶顯示屏,通過DSP的PPI接口驅(qū)動(dòng)。PPI(Parallel Port Interface)接口是Blackfin DSP處理器的并行數(shù)據(jù)接口,主要用于數(shù)據(jù)的高速傳輸。它包括16位數(shù)據(jù)線,3個(gè)同步信號(hào)和一個(gè)時(shí)鐘信號(hào)。PPI接口直接與DMA通道整合,數(shù)據(jù)傳輸寬度可靈活配置,支持8位、10~16位等多種數(shù)據(jù)寬度[4]。
由于LQ043T3DX02為24位彩色LCD,紅、綠、藍(lán)各8位數(shù)據(jù)輸入,而PPI只有16位數(shù)據(jù)輸出,故將紅、綠、藍(lán)分別取高5位、高6位、高5位與PPI相連,將剩下的8位一直置低,形成RGB-565顯示模式,此種顯示模式的效果與真實(shí)色彩幾乎沒有差別[5]。
PPI驅(qū)動(dòng)主要包括PPI的設(shè)置、DMA的設(shè)置和定時(shí)器的設(shè)置3個(gè)部分。
1)PPI的設(shè)置
PPI給LCD提供了一個(gè)并口,使DSP和LCD和之間可以更加容易連接。PPI支持的運(yùn)行模式有ITU-R 656.和GP(General Purpose)2種模式。本課題的PPI接口使用的是GP模式。并且在本設(shè)計(jì)中,將DSP中的數(shù)據(jù)輸出到夏普的LQ043T3DX02LCD是通過PPI實(shí)現(xiàn)的,所以使用的是General Purpose模式中的TX模式,并且其內(nèi)部幀同步有2個(gè)。PPI的時(shí)鐘信號(hào)時(shí)由FPGA提供。幀同步信號(hào)的作用在于控制圖像數(shù)據(jù)的發(fā)送時(shí)序,2個(gè)幀同步引腳分別用來向LCD發(fā)送HSYNC和VSYNC信號(hào),LCD的驅(qū)動(dòng)時(shí)序如圖3所示。
圖3 LCD的驅(qū)動(dòng)時(shí)序圖Fig.3 LCD driver timing diagram
因?yàn)楸菊n題的LCD顯示開關(guān)控制信號(hào)DISP由FPGA提供,液晶開關(guān)控制是由DSP控制FPGA中對(duì)應(yīng)寄存器的值實(shí)現(xiàn)間接的。
本設(shè)計(jì)中的PPI設(shè)置實(shí)現(xiàn)如下:
*pPPI_DELAY=65;
*pPPI_COUNT=320-1;//每行傳輸字節(jié)數(shù),應(yīng)該比實(shí)際值小1
2)DMA 的設(shè)置
DMA控制器為數(shù)據(jù)傳輸提供了一個(gè)通道,使數(shù)據(jù)可以在存儲(chǔ)器之間或者存儲(chǔ)器和有DMA功能的外設(shè)之間進(jìn)行傳輸。在本課題的PPI驅(qū)動(dòng)應(yīng)用中,數(shù)據(jù)需要在外接的65MSDRAM外部存儲(chǔ)器和PPI中進(jìn)行傳輸。
在本設(shè)計(jì)中,具體的DMA設(shè)置如下:
*pDMA0_X_COUNT=320:
*pDMA0_X_MODIFY=2;//因?yàn)槊總€(gè)字是兩個(gè)字節(jié),其寬度為2,所以設(shè)置為2
*pDMA0_Y_COUNT=262;//通過 LCD 的 DATA Sheet手冊(cè)可知,在整屏的數(shù)據(jù)傳輸中,前面19行和后面的3行是無(wú)效的,這是LCD液晶屏的時(shí)序所要求的,所以3+19+240=262.
*pDMA0_Y_MODIFY=2;
3)定時(shí)器設(shè)置
在PPI的2幀同步模式下,Timer1和2的引腳分別變?yōu)镻PI_FSl和PPI_FS2。如果PPI設(shè)置為傳輸數(shù)據(jù),則定時(shí)器必須設(shè)置為產(chǎn)生需要的輸出幀同步脈沖。通常在視頻應(yīng)用中,同步幀1為HSYNC信號(hào),同步幀2為VSYNC信號(hào)。在本設(shè)計(jì)中,具體的DMA設(shè)置的實(shí)現(xiàn)如下。
//對(duì)時(shí)鐘計(jì)數(shù)器使用PWM_CLK,當(dāng)timer1和timer2對(duì)點(diǎn)時(shí)鐘計(jì)數(shù)到了設(shè)置的次數(shù)的時(shí)候,那么會(huì)在Out引腳輸出一個(gè)有效電平,然后計(jì)數(shù)器重新開始計(jì)數(shù)。
*pTIMER_ENABLE=TIMEN1 l TIMEN2;//使能定時(shí)器1和2
用戶圖形界面的實(shí)現(xiàn),除了硬件電路模塊的支持外還需要豐富的軟件系統(tǒng)的支持,而其中最基礎(chǔ),也是最不可或缺的是圖形標(biāo)準(zhǔn)庫(kù)。用戶圖形界面的圖形標(biāo)準(zhǔn)庫(kù)最基本的庫(kù)函數(shù)簡(jiǎn)單的包括畫點(diǎn)、畫線、畫矩形,復(fù)雜的包括填充矩形、畫圓形,以及放置bmp格式的圖案庫(kù)函數(shù),要實(shí)現(xiàn)顯示中、英文等功能,需要設(shè)計(jì)字庫(kù)函數(shù),本系統(tǒng)基于強(qiáng)大的Visual DSP++5.0Kernel(VDK),擁有強(qiáng)大的圖形庫(kù),所以可以支持復(fù)雜的用戶圖形界面[6]。
要實(shí)現(xiàn)用戶圖形界面,僅僅有了繪制圖形的圖形標(biāo)準(zhǔn)庫(kù)函數(shù),還是遠(yuǎn)遠(yuǎn)不夠的,圖形庫(kù)只能形成單一的畫面,但是要想形成切合用戶習(xí)慣的可操作圖形界面的話,還需要在后臺(tái)有一個(gè)功能強(qiáng)大,并且穩(wěn)定的操作系統(tǒng)平臺(tái),它決定了負(fù)責(zé)調(diào)度系統(tǒng)的狀態(tài),就是我們平常說的狀態(tài)機(jī)。狀態(tài)機(jī)根據(jù)用戶的外界按鍵輸入,以及系統(tǒng)當(dāng)前的特定工作狀態(tài)來決定系統(tǒng)的下一步狀態(tài),從而調(diào)用相應(yīng)的圖形界面,如此,便實(shí)現(xiàn)了人性化的用戶圖形界面,可以滿足特定工作需求。
對(duì)于用戶圖形界面的設(shè)計(jì)不能簡(jiǎn)單的設(shè)計(jì)成統(tǒng)一的模塊,要考慮到用戶在復(fù)雜的應(yīng)用情況下對(duì)操作界面的需求,我們將這些界面分成不同的種類,設(shè)計(jì)流程如圖4所示,一種是靜態(tài)的配置狀態(tài)顯示,一種是動(dòng)態(tài)的輸出狀態(tài)實(shí)時(shí)變化顯示,對(duì)于靜態(tài)界面,我們可以用格式轉(zhuǎn)化軟件將bmp格式圖像轉(zhuǎn)化成二維數(shù)組載入到顯示緩存中來顯示當(dāng)前的固定配置界面。
一般來說,編程人員在設(shè)計(jì)動(dòng)態(tài)顯示界面的時(shí)候,如果按照常規(guī)的設(shè)計(jì)方法,會(huì)使用一些全局變量作為不同狀態(tài)、不同模式下的標(biāo)志,這樣可以實(shí)現(xiàn)圖形界面的改變,但這會(huì)導(dǎo)致變量的數(shù)量過多,從而引起變量之間的搭配成倍的增加,隨著工作復(fù)雜程度的真假,狀態(tài)的轉(zhuǎn)移關(guān)系也就會(huì)劇烈的增加,這會(huì)讓開發(fā)者陷入復(fù)雜的邏輯問題。
圖4 圖形界面設(shè)計(jì)流程Fig.4 GUI design process
為了解決上述問題,改變普通的設(shè)計(jì)方法,盡量少設(shè)可以改變的狀態(tài),使貫穿與整個(gè)界面顯示系統(tǒng)的只有一兩個(gè)狀態(tài)量,如果想得到新的界面信息,只需要改變特定的一兩個(gè)狀態(tài)量,文中的方案是提取和解析鍵值來作為主線,少量全局變量和結(jié)構(gòu)作為輔助,這樣設(shè)計(jì)的現(xiàn)實(shí)系統(tǒng),非常簡(jiǎn)明而且易于控制和修改。在使用過程中通過對(duì)鍵值的解析,得到對(duì)應(yīng)的界面。
在配置狀態(tài)顯示顯示中,顯示緩存模塊起著至關(guān)總要的地步,改變顯示緩存,即可實(shí)現(xiàn)顯示界面的改變,對(duì)于配置狀態(tài)的顯示界面,只需調(diào)用將預(yù)先設(shè)置好的bmp圖像通過軟件轉(zhuǎn)成二維數(shù)組,在鍵值的激發(fā)下載入緩存,再由驅(qū)動(dòng)程序?qū)⒕彺鎯?nèi)容顯示到液晶屏上。
紫外LED照射器工作時(shí)的配置狀態(tài)顯示效果如圖5所示。
圖5 配置狀態(tài)圖形界面Fig.5 GUI of configuration state
照射器工作時(shí)動(dòng)態(tài)顯示的時(shí)候,不需要經(jīng)常變動(dòng)對(duì)話框和廠家標(biāo)識(shí)等背景元素,而輸出的電壓電流值是在不停地刷新,所以把屏幕元素分成幾頁(yè)來顯示。第1頁(yè)顯示的是靜態(tài)的背景參數(shù),曲線參數(shù)和電壓電流值是在頻繁刷新,將其放置在第2頁(yè),將2頁(yè)的內(nèi)容同時(shí)載入顯示緩存,由驅(qū)動(dòng)程序輸出到LCD。這樣,在照射器工作的時(shí)候,只需不停地更改和調(diào)用第1頁(yè)的內(nèi)容,而不改變第1頁(yè)的背景參數(shù)。有鍵盤操作的時(shí)候再切換顯示界面[7]。
動(dòng)態(tài)工作狀態(tài)顯示效果如圖6所示。
圖6 輸出狀態(tài)圖形界面Fig.6 GUI of output state
目前國(guó)內(nèi)外的紫外照射器的人機(jī)交互模塊單一,在整體性和用戶的可操作性上均無(wú)法滿足某些復(fù)雜的工業(yè)需求,本文從紫外LED控制平臺(tái)的Blackfin 531處理器的PPI接口驅(qū)動(dòng)出發(fā),基于Visual DSP++5.0軟件開發(fā)環(huán)境,設(shè)計(jì)了紫外LED人機(jī)交互顯示模塊,在實(shí)際應(yīng)用中,成功顯示了照射器的配置工作狀態(tài)和輸出工作狀態(tài),使紫外LED照射器的控制平臺(tái)具有更加智能化的人機(jī)交互模塊。
在未來,隨著國(guó)內(nèi)的產(chǎn)業(yè)化升級(jí),國(guó)內(nèi)的高精度工業(yè)的發(fā)展,對(duì)紫外LED照射器這種高精度紫外光固化焊接產(chǎn)品的需求將會(huì)越來越高,因此,對(duì)該人機(jī)交互系統(tǒng)的中文字庫(kù)的設(shè)計(jì)將是本課題的下一個(gè)重點(diǎn)。
[1]朱勝武,施文芳.紫外光/電子束固化市場(chǎng)狀況及發(fā)展趨勢(shì)[J].輻射研究與輻射工學(xué)報(bào),2001,19(3):161-167.ZHU Sheng-wu,SHI Wen-fang.Ultraviolet/eb curing market situation and development trend[J].J.Radiat.Res.Radiat.Process,2001,19(3):161-167.
[2]Bao R,McCartney R.The Pre mier V U/EB Confere nce&Ex hibition[C]//Chicago:Rad Tech International North America,Baltimore,2000:983-993.
[3]鄧麒麟,吳云峰,孫文博.紫外LED照射器的控制系統(tǒng)設(shè)計(jì)[J]電子器件,2012,35(1):57-61.DENG Qi-lin,WU Yun-feng,SUN Wen-bo.Design of UVLED irradiator’ control circuit and communication interface,[J].Dianzi Qijan,2012,35(1):57-61.
[4]朱國(guó)峰.基于Blackfin DSP的液晶接口設(shè)計(jì) [J].電子科技2010,32(10):53-58.ZHU Guo-feng.Design of TFT LCD panel interface based on blackfin DSP[J].Electronic Sci.&Tech,2010,32(10):53-58.
[5]張牧.基于 Blackfin處理器的TFT LCD驅(qū)動(dòng)設(shè)計(jì) [J].電子設(shè)計(jì),2008,2(2):307-309.ZHANG Mu.Using the blackfin processor as a TFT LCD controller[J].Electronic Design,2008,2(2):307-309.
[6]陳暢.嵌入式系統(tǒng)中函數(shù)發(fā)生器用戶圖形界面的實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2007,30(3):53-56.CHEN Chang.Realization of GUI in function waveform generator in embedded system[J].Electronic Measurement Technology,2007,30(3):53-56.
[7]張一嬌.四通道數(shù)字示波器數(shù)據(jù)處理與顯示模塊軟件設(shè)計(jì)[D].成都:電子科技大學(xué),2009.