李泰國 李文新 董義鵬 馬 文 夏加高
(蘭州空間技術(shù)物理研究所,甘肅 蘭州 730000)
?
星載高分辨率紅外觸摸屏的設(shè)計與實(shí)現(xiàn)
李泰國李文新董義鵬馬文夏加高
(蘭州空間技術(shù)物理研究所,甘肅 蘭州730000)
針對航天電子產(chǎn)品特殊的應(yīng)用環(huán)境,為優(yōu)化航天儀表產(chǎn)品人機(jī)交互方式,研究了基于現(xiàn)場可編程門陣列(FPGA)+數(shù)字信號處理(DSP)架構(gòu)的星載高分辨率紅外觸摸屏的設(shè)計與實(shí)現(xiàn)方法。在介紹了星載紅外觸摸屏系統(tǒng)整體架構(gòu)的基礎(chǔ)上,詳細(xì)闡述了星載紅外觸摸屏的硬件設(shè)計、FPGA設(shè)計、圖形用戶界面(GUI)設(shè)計以及基于拉格朗日插值的DSP算法設(shè)計。針對星載紅外觸摸屏的特殊用途,分析了星載紅外觸摸屏的可靠性設(shè)計;對裝配完成后的星載紅外觸摸屏進(jìn)行了系統(tǒng)性能測試。測試結(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)勢是完全透光,不影響顯示器的清晰度,而且不受電流、電壓和靜電干擾,能適應(yīng)惡劣的電磁工作環(huán)境。由于太空環(huán)境是一個微重力、高真空、超高或超低溫、強(qiáng)輻射和等離子體的環(huán)境,航天電子產(chǎn)品不但要適應(yīng)苛刻的太空環(huán)境,還要經(jīng)過嚴(yán)格的沖擊、振動、熱真空及高低溫試驗(yàn)的考核。因此,紅外觸摸屏在航天儀表產(chǎn)品領(lǐng)域中具有很好的應(yīng)用前景。本文設(shè)計的紅外觸摸屏可靠穩(wěn)定、分辨率高,可以滿足載人航天儀表產(chǎn)品的特殊需求。
1.1系統(tǒng)描述
星載高分辨率紅外觸摸屏采用現(xiàn)場可編程門陣列(field programmable gate array,FPGA)+數(shù)字信號處理(digital signal processing,DSP)架構(gòu),由FPGA對紅外觸摸屏硬件進(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)觸摸時,由紅外觸摸運(yùn)算器對觸摸區(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)換電路、紅外對管選通電路、濾波電路等。FPGA采用Xilinx Virtex-II(TM)產(chǎn)品,型號為XQR2V3000-4BG728V。DSP采用TI的SMJ320C6415。紅外觸摸屏系統(tǒng)總體框圖如圖1所示。

圖1 系統(tǒng)總體框圖Fig.1 Overall block diagram of system
星載高分辨率紅外觸摸屏硬件的設(shè)計目標(biāo)是:按照一定順序?qū)崿F(xiàn)紅外對管的發(fā)射和接收控制。由于紅外發(fā)射管在發(fā)射紅外線時有一定的發(fā)散角度,在紅外對管排列較為緊密時,同時檢測多個紅外對管會對相鄰管間產(chǎn)生干擾。因此,在設(shè)計時需考慮某一時刻僅允許有1個對管工作[4]。
本文設(shè)計的紅外觸摸屏使用歐司朗公司的紅外發(fā)射管SFH4255和紅外接收管SFH325FA。根據(jù)屏幕的觸摸區(qū)域和紅外對管的尺寸,確定X方向共使用47個對管(序號為0到46),Y方向共使用35個對管(序號從0到34)。利用邏輯電路和分立器件構(gòu)成的開關(guān)電路,控制發(fā)射管正極與電源,以及負(fù)極與地端的通斷,達(dá)到控制燈陣中發(fā)射管的目的。同理,控制接收管集電極與電阻,以及發(fā)射極與地端的通斷,使發(fā)射管對應(yīng)的接收管的電壓被采集。
紅外發(fā)射管和光敏接收管分別組成“燈陣”,由54AC138、54HC238和RGCC4051這3種具有有效輸出唯一性的集成電路組成控制電路,保證在同一時刻僅有1個對管工作。
受紅外觸摸屏電路板尺寸和布局限制,在滿足要求的情況下,其與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的功能是紅外屏硬件電路的控制、時序控制以及A/D數(shù)據(jù)的采集與存儲。首先,F(xiàn)PGA控制紅外發(fā)射管驅(qū)動電路,當(dāng)紅外發(fā)射管關(guān)閉時,采集紅外接收管電極電壓Ug并保存到指定的存儲區(qū)域。然后控制紅外發(fā)射管驅(qū)動電路打開紅外發(fā)射管,采集紅外接收管電極電壓Uad并保存到指定存儲區(qū)域。按照先Y軸(M對紅外管)后X軸(N對紅外管)的順序,依次采集在紅外發(fā)射關(guān)閉和打開情況下U1和U2的A/D值并進(jìn)行保存。在采集完成后,F(xiàn)PGA向DSP產(chǎn)生中斷,由DSP讀取采集后的數(shù)據(jù)。
3.2DSP算法設(shè)計
紅外觸摸屏在整屏掃描的過程中,由FPGA對同一組對管接收管電極電壓采集2次,分別是紅外發(fā)射管關(guān)閉時的電壓Ug和打開時的電壓Uad。當(dāng)有觸摸操作時,紅外發(fā)射管發(fā)射的紅外光被遮擋,Ug和Uad的差值ΔU很小,理想情況下為0。當(dāng)無觸摸操作時,紅外發(fā)射管發(fā)射的紅外光線照射在接收管上。假定紅外發(fā)射管發(fā)射的紅外光在接收管的基極產(chǎn)生光電流ib,外界環(huán)境光在基極產(chǎn)生的電流為ib1,則二者疊加后在集電極產(chǎn)生的電壓降為(ib+ib1)×β×R2。此時Δ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ù)采集后,會產(chǎn)生DSP中斷,DSP響應(yīng)中斷后從指定存儲區(qū)域讀取數(shù)據(jù)。DSP將紅外發(fā)射管關(guān)閉時的A/D采集值保存至數(shù)組Ug[M],將紅外發(fā)射管打開時的A/D采集值保存至數(shù)組Uad[N]。在X軸方向,根據(jù)式(1)的觸摸屏坐標(biāo)定位算法,判斷在該對紅外管之間是否發(fā)生了觸摸事件,在整個軸方向判斷是單點(diǎn)觸摸或者是多點(diǎn)觸摸。當(dāng)判斷為單點(diǎn)觸摸時,通過算法確定本次觸摸的觸摸位置區(qū)間。在觸摸區(qū)間內(nèi),將ΔU根據(jù)式(2)作拉格朗日插值,通過插值法找出觸摸區(qū)間內(nèi)的最小值所對應(yīng)的軸方向的坐標(biāo)X_Coordinate,將X_Coordinate代入式(3)計算出本次觸摸操作對應(yīng)的LCD的屏幕坐標(biāo)[5-6]。Y軸方向的觸摸坐標(biāo)計算與X軸方向的計算方法類似。算法在計算坐標(biāo)的同時,判斷本次觸摸操作的狀態(tài)是按下、彈起還是無效。GUI根據(jù)坐標(biāo)定位算法計算的屏幕坐標(biāo)及觸摸操作狀態(tài),對本次觸摸操作作出響應(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軸方向相鄰紅外對管的中心距;Bx為X軸方向第一個紅外管與外框之間的距離;X_Coordinate為通過插值法在觸摸區(qū)間內(nèi)的最小ΔU所對應(yīng)的坐標(biāo);X_LCD為LCD在X軸方向的像素點(diǎn);X_LEN為LCD在X軸方向的物理長度;Dx_LCD為觸摸點(diǎn)的物理坐標(biāo)與算法計算出的坐標(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)的方法動態(tài)調(diào)整閾值。在觸摸屏打開前,將ΔV初值設(shè)為0。觸摸屏打開后利用式(1)判斷:如果當(dāng)前的ΔU滿足式(1)的條件,則認(rèn)為本次有觸摸;否則認(rèn)為無觸摸。當(dāng)無觸摸時,就將ΔU值保存起來。當(dāng)有30(可以調(diào)整)組無觸摸的ΔU值,就對此30組ΔU值取平均值,并將該平均值作為更新閾值的依據(jù)。 3.3GUI 星載高分辨率紅外觸摸屏系統(tǒng)中移植了Micrium公司μC/GUI3.2.4。μC/GUI有完整的觸摸屏響應(yīng)機(jī)制,觸摸屏坐標(biāo)定位算法只需將計算出的觸摸坐標(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)觸摸事件有效時,應(yīng)用程序會查找觸摸位置所對應(yīng)的控件句柄。如果返回值為0,說明沒有對應(yīng)的控件,不產(chǎn)生觸摸消息;如果觸摸控件的句柄不為0,則會對控件發(fā)出觸摸消息。控件接收到消息后將會重繪控件并調(diào)用控件中要執(zhí)行的程序模塊。觸摸事件處理流程如圖3所示。 圖3 觸摸事件處理流程圖Fig.3 Flowchart of touch event processing 星載紅外觸摸屏屬于航天電子產(chǎn)品,它與普通地面電子產(chǎn)品有很大的區(qū)別。首先,它的設(shè)計指標(biāo)更為苛刻,要求質(zhì)量輕、體積小;其次,它的應(yīng)用環(huán)境極為惡劣,受到空間輻照、高低溫交變、真空、振動沖擊、電磁干擾等影響,必須采用一系列措施減少空間環(huán)境應(yīng)力的影響;除此之外,由于衛(wèi)星電子產(chǎn)品還具有不可維修的特點(diǎn)。因此,針對特殊的應(yīng)用環(huán)境開展星載高分辨率紅外觸摸屏的可靠性設(shè)計具有非常重要的意義。 4.1硬件電路可靠性設(shè)計 方法2:加熱鑒別法。取等量水樣于兩支潔凈試管中,加熱,在管壁內(nèi)留下較多水垢的水樣是硬水,水垢較少的水樣是軟水。 考慮到星載紅外觸摸屏在軌工作所處的空間環(huán)境,在其設(shè)計、加工過程中,必須對紅外觸摸屏硬件電路進(jìn)行充分的環(huán)境影響分析,并實(shí)施全面的耐環(huán)境設(shè)計,包括抗力學(xué)設(shè)計、熱設(shè)計、抗輻照設(shè)計、電磁兼容性設(shè)計、故障樹分析(FTA)、失效模式與效應(yīng)分析(FMEA)等。在整個星載紅外觸摸屏系統(tǒng)中,使用滿足空間環(huán)境要求的高等級(宇航級)電子元器件,可提高星載紅外觸摸屏硬件電路的可靠性。 4.2抗光干擾性設(shè)計 紅外觸摸屏通過紅外光線工作,因此它對周圍環(huán)境光照因素的變化非常敏感。在太陽光中紅外波段占其能量分布的48.3%左右,在太陽光環(huán)境下使用紅外觸摸屏?xí)艿綐O大干擾,在光照變化較大時可能會引起誤動作。為了增強(qiáng)紅外觸摸屏防光干擾、提高紅外觸摸屏的可靠性,需采取措施使太陽光干擾對整個系統(tǒng)影響降低到可以忽略[7-9]。措施主要有以下幾種: ①在結(jié)構(gòu)方面,可以采用對傳播方向敏感的“光準(zhǔn)直溝道”,將其安裝在紅外接收管前,以提高抗干擾能力。由于紅外接收管與紅外發(fā)射管處于同一平面保持對齊,而外界光只能以一定傾角對紅外接收管造成影響,可以實(shí)現(xiàn)在水平方向上光透過率很高而對于傾斜方向入射的光衰減極大,盡可能地削減外界光對紅外接收管的影響;同時,對紅外發(fā)射管發(fā)出的紅外光的衰減不影響紅外接收管的正常接收。 ②對接收管可加裝紅外濾光片或進(jìn)行環(huán)氧封裝,以濾除部分光干擾。紅外發(fā)射管前端加裝凸透鏡有利于增加接收光的強(qiáng)度,從而增加各等級信號間強(qiáng)度的差值,減弱接收信號對干擾信號的敏感度,提高抗光干擾的能力[10]。 ③脈沖方式抗干擾。紅外探測采用脈沖方式,即紅外發(fā)射管發(fā)射一個固定頻率的信號,而接收方只對這一頻率進(jìn)行檢測。為提高抗干擾能力,對發(fā)射管和接收管均采用相同的固定頻率掃描,發(fā)射管發(fā)射固定頻率的信號,同時以同樣頻率采集相對應(yīng)的接收管信號。 ④采用差動輸入濾除干擾信號,在接收管附近設(shè)有少量同型號紅外接收管接收環(huán)境光中的紅外信號,對于采集的紅外脈沖和環(huán)境光中的紅外光混合信號,采用差動輸入的方式濾除干擾信號。 在系統(tǒng)設(shè)計中,可以考慮從原理上解決光干擾的問題。本文主要采用動態(tài)調(diào)節(jié)閾值和安裝對傳播方向敏感的光準(zhǔn)直溝道相結(jié)合的方法,增強(qiáng)了紅外觸摸屏的抗干擾能力。 4.3軟件可靠性設(shè)計 星載高分辨率紅外觸摸屏中的FPGA軟件和DSP軟件屬于航天嵌入式軟件,為了防上單粒子翻轉(zhuǎn),必須提高軟件的可靠性。在星載紅外觸摸屏FPGA軟件中對重要數(shù)據(jù)采用“三模冗余”(triplemoduleredundancy,TMR)的處理方式,保證重要數(shù)據(jù)的正確性。在星載紅外觸摸屏DSP軟件中,對于關(guān)鍵變量需要有3個或以上的備份;安全關(guān)鍵信息不得使用1位的邏輯“1”和“0”表示,至少要使用4位;各信息應(yīng)分區(qū)存儲。 整機(jī)裝配完成后對紅外觸摸屏的整體性能進(jìn)行了測試,對設(shè)備的顯示界面進(jìn)行觸摸操作,處理器利用3.2節(jié)的算法表達(dá)式計算出本次觸摸坐標(biāo),GUI可正確響應(yīng)觸摸操作。 本文在詳細(xì)介紹了紅外觸摸屏工作原理的基礎(chǔ)上,提出了基于FPGA+DSP架構(gòu)的星載高分辨率紅外觸摸屏的設(shè)計實(shí)現(xiàn)方案。此方案有利于時序控制,并可以提高數(shù)據(jù)的運(yùn)算速度及觸摸事件的響應(yīng)速度。使用GUI響應(yīng)觸摸事件,可以簡化觸摸事件的處理流程。文中采用拉格朗日插值法計算觸摸坐標(biāo),可以簡化運(yùn)算模型并提高觸摸坐標(biāo)的分辨率,使最小分辨率可達(dá)到1個像素。針對航天電子產(chǎn)品特殊的應(yīng)用環(huán)境,開展了可靠性設(shè)計。試驗(yàn)結(jié)果表明,該系統(tǒng)簡單可靠、工作穩(wěn)定、屏幕分辨率高,可以滿足航天儀表產(chǎn)品的特殊需求。 [1] 張明,黃子強(qiáng).基于I2C總線的高分辨率紅外式觸摸屏設(shè)計[J].電子設(shè)計應(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ū)動電流自適應(yīng)調(diào)節(jié)方案[J].紅外, 2005(6):21-25. [5] 李鈞. 一種新型紅外多點(diǎn)觸摸識別算法[J]. 計算機(jī)與現(xiàn)代化, 2012(9): 178-180, 189. [6] 宋學(xué)瑞, 蔡子裕, 段青青. 觸摸屏數(shù)據(jù)處理算法[J], 計算機(jī)工程, 2008(12):10-11. [7] 張宏偉,黃子強(qiáng).多觸點(diǎn)抗光干擾紅外觸摸屏的設(shè)計與驗(yàn)證[D].成都:電子科技大學(xué),2009. [8] 周燁.紅外觸摸屏抗強(qiáng)光干擾的研究[J].電子設(shè)計工程,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ī)專業(yè),獲碩士學(xué)位,工程師;主要從事空間電子科學(xué)與技術(shù)方向的研究。 TH7;TP216+.1 A 修改稿收到日期:2016-04-17。

4 可靠性設(shè)計
5 試驗(yàn)驗(yàn)證
6 結(jié)束語