李泰國 李文新 董義鵬 馬 文 夏加高
(蘭州空間技術(shù)物理研究所,甘肅 蘭州 730000)
?
星載高分辨率紅外觸摸屏的設(shè)計(jì)與實(shí)現(xiàn)
李泰國李文新董義鵬馬文夏加高
(蘭州空間技術(shù)物理研究所,甘肅 蘭州730000)
針對(duì)航天電子產(chǎn)品特殊的應(yīng)用環(huán)境,為優(yōu)化航天儀表產(chǎn)品人機(jī)交互方式,研究了基于現(xiàn)場(chǎng)可編程門陣列(FPGA)+數(shù)字信號(hào)處理(DSP)架構(gòu)的星載高分辨率紅外觸摸屏的設(shè)計(jì)與實(shí)現(xiàn)方法。在介紹了星載紅外觸摸屏系統(tǒng)整體架構(gòu)的基礎(chǔ)上,詳細(xì)闡述了星載紅外觸摸屏的硬件設(shè)計(jì)、FPGA設(shè)計(jì)、圖形用戶界面(GUI)設(shè)計(jì)以及基于拉格朗日插值的DSP算法設(shè)計(jì)。針對(duì)星載紅外觸摸屏的特殊用途,分析了星載紅外觸摸屏的可靠性設(shè)計(jì);對(duì)裝配完成后的星載紅外觸摸屏進(jìn)行了系統(tǒng)性能測(cè)試。測(cè)試結(jié)果表明,該系統(tǒng)簡單可靠、工作穩(wěn)定、屏幕分辨率高,可以滿足航天儀表產(chǎn)品的特殊需求。
航天儀表人機(jī)交互紅外觸摸屏拉格朗日插值可靠性系統(tǒng)性能DSP算法FPGAGUI
在航天領(lǐng)域中,傳統(tǒng)的儀表產(chǎn)品都使用按鍵進(jìn)行人機(jī)交互。觸摸屏作為新的輸入設(shè)備,是目前較為簡單、方便、自然的人機(jī)交互方式,它比鍵盤操作更直觀[1]。此外,紅外觸摸屏與現(xiàn)有的電容觸摸屏、電阻觸摸屏等相比,其優(yōu)勢(shì)是完全透光,不影響顯示器的清晰度,而且不受電流、電壓和靜電干擾,能適應(yīng)惡劣的電磁工作環(huán)境。由于太空環(huán)境是一個(gè)微重力、高真空、超高或超低溫、強(qiáng)輻射和等離子體的環(huán)境,航天電子產(chǎn)品不但要適應(yīng)苛刻的太空環(huán)境,還要經(jīng)過嚴(yán)格的沖擊、振動(dòng)、熱真空及高低溫試驗(yàn)的考核。因此,紅外觸摸屏在航天儀表產(chǎn)品領(lǐng)域中具有很好的應(yīng)用前景。本文設(shè)計(jì)的紅外觸摸屏可靠穩(wěn)定、分辨率高,可以滿足載人航天儀表產(chǎn)品的特殊需求。
1.1系統(tǒng)描述
星載高分辨率紅外觸摸屏采用現(xiàn)場(chǎng)可編程門陣列(field programmable gate array,FPGA)+數(shù)字信號(hào)處理(digital signal processing,DSP)架構(gòu),由FPGA對(duì)紅外觸摸屏硬件進(jìn)行控制與通信。FPGA通過A/D轉(zhuǎn)換電路周期性地采集紅外觸摸屏紅外發(fā)射管在開/關(guān)兩種狀態(tài)下的電壓值,F(xiàn)PGA將采集到的電壓值分組保存到數(shù)據(jù)緩存器中,DSP通過響應(yīng)中斷讀出數(shù)據(jù)緩存器中的電壓值[2-3]。紅外觸摸運(yùn)算器根據(jù)數(shù)據(jù)緩存器中的電壓值確定本次觸摸事件的觸摸區(qū)間,并判斷是單點(diǎn)觸摸還是多點(diǎn)觸摸。當(dāng)判斷為單點(diǎn)觸摸時(shí),由紅外觸摸運(yùn)算器對(duì)觸摸區(qū)間的電壓數(shù)據(jù)作拉格朗日插值運(yùn)算,由插值運(yùn)算后的極值確定本次觸摸的觸摸物理坐標(biāo)。將觸摸的物理坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo)后傳遞給圖形用戶界面(graphical user interface,GUI),GUI根據(jù)坐標(biāo)信息進(jìn)行相關(guān)的觸摸事件響應(yīng)。
1.2系統(tǒng)構(gòu)成
星載高分辨率紅外觸摸屏系統(tǒng)由以下幾部分組成:紅外觸摸屏硬件模塊、FPGA模塊、DSP算法模塊、GUI顯示模塊。其中,紅外觸摸屏硬件部分包括紅外發(fā)射管、紅外接收管、A/D轉(zhuǎn)換電路、紅外對(duì)管選通電路、濾波電路等。FPGA采用Xilinx Virtex-II(TM)產(chǎn)品,型號(hào)為XQR2V3000-4BG728V。DSP采用TI的SMJ320C6415。紅外觸摸屏系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖Fig.1 Overall block diagram of system
星載高分辨率紅外觸摸屏硬件的設(shè)計(jì)目標(biāo)是:按照一定順序?qū)崿F(xiàn)紅外對(duì)管的發(fā)射和接收控制。由于紅外發(fā)射管在發(fā)射紅外線時(shí)有一定的發(fā)散角度,在紅外對(duì)管排列較為緊密時(shí),同時(shí)檢測(cè)多個(gè)紅外對(duì)管會(huì)對(duì)相鄰管間產(chǎn)生干擾。因此,在設(shè)計(jì)時(shí)需考慮某一時(shí)刻僅允許有1個(gè)對(duì)管工作[4]。
本文設(shè)計(jì)的紅外觸摸屏使用歐司朗公司的紅外發(fā)射管SFH4255和紅外接收管SFH325FA。根據(jù)屏幕的觸摸區(qū)域和紅外對(duì)管的尺寸,確定X方向共使用47個(gè)對(duì)管(序號(hào)為0到46),Y方向共使用35個(gè)對(duì)管(序號(hào)從0到34)。利用邏輯電路和分立器件構(gòu)成的開關(guān)電路,控制發(fā)射管正極與電源,以及負(fù)極與地端的通斷,達(dá)到控制燈陣中發(fā)射管的目的。同理,控制接收管集電極與電阻,以及發(fā)射極與地端的通斷,使發(fā)射管對(duì)應(yīng)的接收管的電壓被采集。
紅外發(fā)射管和光敏接收管分別組成“燈陣”,由54AC138、54HC238和RGCC4051這3種具有有效輸出唯一性的集成電路組成控制電路,保證在同一時(shí)刻僅有1個(gè)對(duì)管工作。
受紅外觸摸屏電路板尺寸和布局限制,在滿足要求的情況下,其與FPGA的接口應(yīng)盡量少。因此,A/D轉(zhuǎn)換電路選擇了16位串行A/D轉(zhuǎn)換器AD677,轉(zhuǎn)換周期為10 μs。電壓參考器件為輸出可編程器件AD584,輸出參考電壓為5 V。
3.1FPGA
星載高分辨率紅外觸摸屏系統(tǒng)中,F(xiàn)PGA的功能是紅外屏硬件電路的控制、時(shí)序控制以及A/D數(shù)據(jù)的采集與存儲(chǔ)。首先,F(xiàn)PGA控制紅外發(fā)射管驅(qū)動(dòng)電路,當(dāng)紅外發(fā)射管關(guān)閉時(shí),采集紅外接收管電極電壓Ug并保存到指定的存儲(chǔ)區(qū)域。然后控制紅外發(fā)射管驅(qū)動(dòng)電路打開紅外發(fā)射管,采集紅外接收管電極電壓Uad并保存到指定存儲(chǔ)區(qū)域。按照先Y軸(M對(duì)紅外管)后X軸(N對(duì)紅外管)的順序,依次采集在紅外發(fā)射關(guān)閉和打開情況下U1和U2的A/D值并進(jìn)行保存。在采集完成后,F(xiàn)PGA向DSP產(chǎn)生中斷,由DSP讀取采集后的數(shù)據(jù)。
3.2DSP算法設(shè)計(jì)
紅外觸摸屏在整屏掃描的過程中,由FPGA對(duì)同一組對(duì)管接收管電極電壓采集2次,分別是紅外發(fā)射管關(guān)閉時(shí)的電壓Ug和打開時(shí)的電壓Uad。當(dāng)有觸摸操作時(shí),紅外發(fā)射管發(fā)射的紅外光被遮擋,Ug和Uad的差值ΔU很小,理想情況下為0。當(dāng)無觸摸操作時(shí),紅外發(fā)射管發(fā)射的紅外光線照射在接收管上。假定紅外發(fā)射管發(fā)射的紅外光在接收管的基極產(chǎn)生光電流ib,外界環(huán)境光在基極產(chǎn)生的電流為ib1,則二者疊加后在集電極產(chǎn)生的電壓降為(ib+ib1)×β×R2。此時(shí)ΔU=U1-U2=Ucc-ib1×β×R2-[Ucc-(ib+ib1)×β×R2]。該電壓差值只與發(fā)射管的光照強(qiáng)度和接收管的放大倍數(shù)有關(guān)。所以,在紅外觸摸屏坐標(biāo)定位算法中,采用電壓差值作為判斷觸摸屏是否發(fā)生觸摸事件的依據(jù),可以有效地排除環(huán)境光因素的影響、提高判斷的準(zhǔn)確性。在星載高分辨率紅外觸摸屏系統(tǒng)中,觸摸屏坐標(biāo)定位算法的基本思想如下:
FPGA控制紅外觸摸屏底層硬件完成數(shù)據(jù)采集后,會(huì)產(chǎn)生DSP中斷,DSP響應(yīng)中斷后從指定存儲(chǔ)區(qū)域讀取數(shù)據(jù)。DSP將紅外發(fā)射管關(guān)閉時(shí)的A/D采集值保存至數(shù)組Ug[M],將紅外發(fā)射管打開時(shí)的A/D采集值保存至數(shù)組Uad[N]。在X軸方向,根據(jù)式(1)的觸摸屏坐標(biāo)定位算法,判斷在該對(duì)紅外管之間是否發(fā)生了觸摸事件,在整個(gè)軸方向判斷是單點(diǎn)觸摸或者是多點(diǎn)觸摸。當(dāng)判斷為單點(diǎn)觸摸時(shí),通過算法確定本次觸摸的觸摸位置區(qū)間。在觸摸區(qū)間內(nèi),將ΔU根據(jù)式(2)作拉格朗日插值,通過插值法找出觸摸區(qū)間內(nèi)的最小值所對(duì)應(yīng)的軸方向的坐標(biāo)X_Coordinate,將X_Coordinate代入式(3)計(jì)算出本次觸摸操作對(duì)應(yīng)的LCD的屏幕坐標(biāo)[5-6]。Y軸方向的觸摸坐標(biāo)計(jì)算與X軸方向的計(jì)算方法類似。算法在計(jì)算坐標(biāo)的同時(shí),判斷本次觸摸操作的狀態(tài)是按下、彈起還是無效。GUI根據(jù)坐標(biāo)定位算法計(jì)算的屏幕坐標(biāo)及觸摸操作狀態(tài),對(duì)本次觸摸操作作出響應(yīng)。
ΔU=|Ug-Uad| (1) (2) X=(Ax×X_Coordinate+Bx)× X_LCD/X_LEN+Dx_LCD (3) Y=Y_LCD-(Ay×Y_Coordinate+By)× Y_LCD/Y_LEN+Dy_LCD (4) 式中:Ax為X軸方向相鄰紅外對(duì)管的中心距;Bx為X軸方向第一個(gè)紅外管與外框之間的距離;X_Coordinate為通過插值法在觸摸區(qū)間內(nèi)的最小ΔU所對(duì)應(yīng)的坐標(biāo);X_LCD為LCD在X軸方向的像素點(diǎn);X_LEN為LCD在X軸方向的物理長度;Dx_LCD為觸摸點(diǎn)的物理坐標(biāo)與算法計(jì)算出的坐標(biāo)之間的校準(zhǔn)值。 圖2 確定觸摸點(diǎn)X坐標(biāo)流程圖Fig.2 Flowchart of determining the X coordinates of touch point 本文中的紅外觸摸屏算法采用了閾值法作為有無觸摸事件發(fā)生的依據(jù)。由于紅外觸摸屏很容易受自然光的干擾,所以為提高觸摸判斷的正確性和可靠性,不宜采用固定閾值,必須采用自適應(yīng)的方法動(dòng)態(tài)調(diào)整閾值。在觸摸屏打開前,將ΔV初值設(shè)為0。觸摸屏打開后利用式(1)判斷:如果當(dāng)前的ΔU滿足式(1)的條件,則認(rèn)為本次有觸摸;否則認(rèn)為無觸摸。當(dāng)無觸摸時(shí),就將ΔU值保存起來。當(dāng)有30(可以調(diào)整)組無觸摸的ΔU值,就對(duì)此30組ΔU值取平均值,并將該平均值作為更新閾值的依據(jù)。 3.3GUI 星載高分辨率紅外觸摸屏系統(tǒng)中移植了Micrium公司μC/GUI3.2.4。μC/GUI有完整的觸摸屏響應(yīng)機(jī)制,觸摸屏坐標(biāo)定位算法只需將計(jì)算出的觸摸坐標(biāo)和狀態(tài)傳遞給GUI,由GUI根據(jù)觸摸狀態(tài)判斷是否發(fā)出觸摸消息;發(fā)出觸摸消息后,由GUI消息處理模塊WM_Exc()進(jìn)行處理,從而調(diào)用相關(guān)程序和改變屏幕信息。GUI的響應(yīng)過程如下: GUI根據(jù)傳遞參數(shù)判斷其是否為有效觸摸事件。如果X坐標(biāo)或Y坐標(biāo)不在屏幕分辨率的有效范圍,即被判斷為無效觸摸事件,GUI不作處理。 當(dāng)觸摸事件有效時(shí),應(yīng)用程序會(huì)查找觸摸位置所對(duì)應(yīng)的控件句柄。如果返回值為0,說明沒有對(duì)應(yīng)的控件,不產(chǎn)生觸摸消息;如果觸摸控件的句柄不為0,則會(huì)對(duì)控件發(fā)出觸摸消息??丶邮盏较⒑髮?huì)重繪控件并調(diào)用控件中要執(zhí)行的程序模塊。觸摸事件處理流程如圖3所示。 圖3 觸摸事件處理流程圖Fig.3 Flowchart of touch event processing 星載紅外觸摸屏屬于航天電子產(chǎn)品,它與普通地面電子產(chǎn)品有很大的區(qū)別。首先,它的設(shè)計(jì)指標(biāo)更為苛刻,要求質(zhì)量輕、體積?。黄浯?,它的應(yīng)用環(huán)境極為惡劣,受到空間輻照、高低溫交變、真空、振動(dòng)沖擊、電磁干擾等影響,必須采用一系列措施減少空間環(huán)境應(yīng)力的影響;除此之外,由于衛(wèi)星電子產(chǎn)品還具有不可維修的特點(diǎn)。因此,針對(duì)特殊的應(yīng)用環(huán)境開展星載高分辨率紅外觸摸屏的可靠性設(shè)計(jì)具有非常重要的意義。 4.1硬件電路可靠性設(shè)計(jì) 方法2:加熱鑒別法。取等量水樣于兩支潔凈試管中,加熱,在管壁內(nèi)留下較多水垢的水樣是硬水,水垢較少的水樣是軟水。 考慮到星載紅外觸摸屏在軌工作所處的空間環(huán)境,在其設(shè)計(jì)、加工過程中,必須對(duì)紅外觸摸屏硬件電路進(jìn)行充分的環(huán)境影響分析,并實(shí)施全面的耐環(huán)境設(shè)計(jì),包括抗力學(xué)設(shè)計(jì)、熱設(shè)計(jì)、抗輻照設(shè)計(jì)、電磁兼容性設(shè)計(jì)、故障樹分析(FTA)、失效模式與效應(yīng)分析(FMEA)等。在整個(gè)星載紅外觸摸屏系統(tǒng)中,使用滿足空間環(huán)境要求的高等級(jí)(宇航級(jí))電子元器件,可提高星載紅外觸摸屏硬件電路的可靠性。 4.2抗光干擾性設(shè)計(jì) 紅外觸摸屏通過紅外光線工作,因此它對(duì)周圍環(huán)境光照因素的變化非常敏感。在太陽光中紅外波段占其能量分布的48.3%左右,在太陽光環(huán)境下使用紅外觸摸屏?xí)艿綐O大干擾,在光照變化較大時(shí)可能會(huì)引起誤動(dòng)作。為了增強(qiáng)紅外觸摸屏防光干擾、提高紅外觸摸屏的可靠性,需采取措施使太陽光干擾對(duì)整個(gè)系統(tǒng)影響降低到可以忽略[7-9]。措施主要有以下幾種: ①在結(jié)構(gòu)方面,可以采用對(duì)傳播方向敏感的“光準(zhǔn)直溝道”,將其安裝在紅外接收管前,以提高抗干擾能力。由于紅外接收管與紅外發(fā)射管處于同一平面保持對(duì)齊,而外界光只能以一定傾角對(duì)紅外接收管造成影響,可以實(shí)現(xiàn)在水平方向上光透過率很高而對(duì)于傾斜方向入射的光衰減極大,盡可能地削減外界光對(duì)紅外接收管的影響;同時(shí),對(duì)紅外發(fā)射管發(fā)出的紅外光的衰減不影響紅外接收管的正常接收。 ②對(duì)接收管可加裝紅外濾光片或進(jìn)行環(huán)氧封裝,以濾除部分光干擾。紅外發(fā)射管前端加裝凸透鏡有利于增加接收光的強(qiáng)度,從而增加各等級(jí)信號(hào)間強(qiáng)度的差值,減弱接收信號(hào)對(duì)干擾信號(hào)的敏感度,提高抗光干擾的能力[10]。 ③脈沖方式抗干擾。紅外探測(cè)采用脈沖方式,即紅外發(fā)射管發(fā)射一個(gè)固定頻率的信號(hào),而接收方只對(duì)這一頻率進(jìn)行檢測(cè)。為提高抗干擾能力,對(duì)發(fā)射管和接收管均采用相同的固定頻率掃描,發(fā)射管發(fā)射固定頻率的信號(hào),同時(shí)以同樣頻率采集相對(duì)應(yīng)的接收管信號(hào)。 ④采用差動(dòng)輸入濾除干擾信號(hào),在接收管附近設(shè)有少量同型號(hào)紅外接收管接收環(huán)境光中的紅外信號(hào),對(duì)于采集的紅外脈沖和環(huán)境光中的紅外光混合信號(hào),采用差動(dòng)輸入的方式濾除干擾信號(hào)。 在系統(tǒng)設(shè)計(jì)中,可以考慮從原理上解決光干擾的問題。本文主要采用動(dòng)態(tài)調(diào)節(jié)閾值和安裝對(duì)傳播方向敏感的光準(zhǔn)直溝道相結(jié)合的方法,增強(qiáng)了紅外觸摸屏的抗干擾能力。 4.3軟件可靠性設(shè)計(jì) 星載高分辨率紅外觸摸屏中的FPGA軟件和DSP軟件屬于航天嵌入式軟件,為了防上單粒子翻轉(zhuǎn),必須提高軟件的可靠性。在星載紅外觸摸屏FPGA軟件中對(duì)重要數(shù)據(jù)采用“三模冗余”(triplemoduleredundancy,TMR)的處理方式,保證重要數(shù)據(jù)的正確性。在星載紅外觸摸屏DSP軟件中,對(duì)于關(guān)鍵變量需要有3個(gè)或以上的備份;安全關(guān)鍵信息不得使用1位的邏輯“1”和“0”表示,至少要使用4位;各信息應(yīng)分區(qū)存儲(chǔ)。 整機(jī)裝配完成后對(duì)紅外觸摸屏的整體性能進(jìn)行了測(cè)試,對(duì)設(shè)備的顯示界面進(jìn)行觸摸操作,處理器利用3.2節(jié)的算法表達(dá)式計(jì)算出本次觸摸坐標(biāo),GUI可正確響應(yīng)觸摸操作。 本文在詳細(xì)介紹了紅外觸摸屏工作原理的基礎(chǔ)上,提出了基于FPGA+DSP架構(gòu)的星載高分辨率紅外觸摸屏的設(shè)計(jì)實(shí)現(xiàn)方案。此方案有利于時(shí)序控制,并可以提高數(shù)據(jù)的運(yùn)算速度及觸摸事件的響應(yīng)速度。使用GUI響應(yīng)觸摸事件,可以簡化觸摸事件的處理流程。文中采用拉格朗日插值法計(jì)算觸摸坐標(biāo),可以簡化運(yùn)算模型并提高觸摸坐標(biāo)的分辨率,使最小分辨率可達(dá)到1個(gè)像素。針對(duì)航天電子產(chǎn)品特殊的應(yīng)用環(huán)境,開展了可靠性設(shè)計(jì)。試驗(yàn)結(jié)果表明,該系統(tǒng)簡單可靠、工作穩(wěn)定、屏幕分辨率高,可以滿足航天儀表產(chǎn)品的特殊需求。 [1] 張明,黃子強(qiáng).基于I2C總線的高分辨率紅外式觸摸屏設(shè)計(jì)[J].電子設(shè)計(jì)應(yīng)用,2008(7):96-97. [2]ZHENGW,WEIL.ThedesignofinfraredtouchscreenbasedonMCU[C]//ProceedingoftheIEEEInternationalConferenceonInformationandAutomation.IEEE,2011. [3]ZHANGM,HUANGZ.Busbasedhighresolutioninfraredtouchscreendesign[J].ElectronicDesign&Application, 2008(7):96-97.[4] 沈文星,張東來,龔麗雯,等.一種紅外屏電路的驅(qū)動(dòng)電流自適應(yīng)調(diào)節(jié)方案[J].紅外, 2005(6):21-25. [5] 李鈞. 一種新型紅外多點(diǎn)觸摸識(shí)別算法[J]. 計(jì)算機(jī)與現(xiàn)代化, 2012(9): 178-180, 189. [6] 宋學(xué)瑞, 蔡子裕, 段青青. 觸摸屏數(shù)據(jù)處理算法[J], 計(jì)算機(jī)工程, 2008(12):10-11. [7] 張宏偉,黃子強(qiáng).多觸點(diǎn)抗光干擾紅外觸摸屏的設(shè)計(jì)與驗(yàn)證[D].成都:電子科技大學(xué),2009. [8] 周燁.紅外觸摸屏抗強(qiáng)光干擾的研究[J].電子設(shè)計(jì)工程,2009,19(4):59-61. [9] 劉新斌,葉新林,鄒鎮(zhèn)中.用于紅外觸摸屏的組合結(jié)構(gòu)紅外濾光框:ZL01278403.6[P].2002-10-09. [10]唐云茂,王斐昊,黃世通.具有防光特性的紅外觸摸屏:ZL200720079264. 6[P].2008-03-12. Design and Implementation of the Space-borne High Resolution Infrared Touch Screen According to the special application environment of aerospace electronic products, the human-computer interaction of aerospace instrumentation products is optimized, and the design and implementation methods of space-borne high resolution infrared touch screen based on FPGA+DSP architecture are studied. The hardware design of the touch screen, the design of FPGA and GUI, and the DSP algorithm based on Lagrange interpolation are expounded in detail. For the special purposes of the space-borne infrared touch screen, its reliability design is analyzed; the systematic performance test of such touch screen completely assembled is conducted. The test results show that the system is simple and reliable, stable in operation, with high screen resolution; it can meet the special needs of aerospace instrumentation products. Spacecraft instrumentHuman-computer interactionInfrared touch screenLagrange interpolationReliabilitySystem performanceDSP algorithmFPGAGUI 李泰國(1985—),男,2010年畢業(yè)于武漢大學(xué)計(jì)算機(jī)專業(yè),獲碩士學(xué)位,工程師;主要從事空間電子科學(xué)與技術(shù)方向的研究。 TH7;TP216+.1 A 修改稿收到日期:2016-04-17。4 可靠性設(shè)計(jì)
5 試驗(yàn)驗(yàn)證
6 結(jié)束語