國(guó)產(chǎn)嵌入式操作系統(tǒng)下觸摸屏的實(shí)現(xiàn)
國(guó)產(chǎn)龍芯1A手持式計(jì)算機(jī)和ReWorks嵌入式操作系統(tǒng),通過(guò)移植觸摸中間件tslib為上層應(yīng)用提供了統(tǒng)一的接口,實(shí)現(xiàn)了觸摸屏的校準(zhǔn)和測(cè)試。
1 、綜述
龍芯系列處理器是中國(guó)自主研發(fā)的通用CPU,其中龍芯1系列處理器面向工業(yè)控制、消費(fèi)電子(手機(jī)/MP4/掌上電腦等)等嵌入式應(yīng)用。龍芯1A芯片片內(nèi)集成了32位處理器核、2D GPU、VGA和LCD顯示接口、以及南橋芯片組功能,可滿足超低價(jià)位云終端、工業(yè)控制/數(shù)據(jù)采集、網(wǎng)絡(luò)設(shè)備、消費(fèi)類電子等領(lǐng)域需求。
ReWorks嵌入式操作系統(tǒng)是中國(guó)電子科技集團(tuán)某所基于“九五”、“十五”的技術(shù)成果自行研制、擁有全部源代碼的嵌入式實(shí)時(shí)操作系統(tǒng),適用于多種目標(biāo)硬件環(huán)境(x86、mips)。
在嵌入式尤其是手持式電子設(shè)備中,觸摸屏因其友善的人機(jī)交互、操作方便靈活、輸入速度快、占用空間少等優(yōu)點(diǎn),已逐漸取代物理鍵盤成為嵌入式計(jì)算機(jī)系統(tǒng)的主流輸入設(shè)備。
目前Windows或Linux等通用操作系統(tǒng)下觸摸屏的調(diào)試方法已成熟,但尚沒(méi)有針對(duì)國(guó)產(chǎn)的嵌入式操作系統(tǒng)ReWorks下觸摸屏調(diào)試方法的研究,本文介紹基于國(guó)產(chǎn)龍芯1A處理器的手持式計(jì)算機(jī)為硬件平臺(tái),在國(guó)產(chǎn)嵌入式操作系統(tǒng)ReWorks下的觸摸屏的校準(zhǔn)和測(cè)試。
2 、觸摸屏校準(zhǔn)原理
在實(shí)際的應(yīng)用中,通常觸摸屏是作為與液晶屏配合使用的輸入設(shè)備,需要將觸摸屏采樣得到的坐標(biāo)與液晶屏的顯示坐標(biāo)做一個(gè)映射,即通常所說(shuō)的觸摸屏校準(zhǔn)。其目的就是要通過(guò)讀入幾個(gè)點(diǎn)的坐標(biāo)值后,計(jì)算出校準(zhǔn)系數(shù),將計(jì)算得到的系數(shù)保存后,以后每次點(diǎn)擊觸摸屏得到的觸摸屏坐標(biāo),再通過(guò)校準(zhǔn)系數(shù)后,得到液晶屏上的重合坐標(biāo)。
本文中手持式計(jì)算機(jī)采用四線電阻式觸摸屏,觸摸屏控制器采用ADS7843E,觸摸屏校準(zhǔn)庫(kù)tslib采用五點(diǎn)校準(zhǔn)。觸摸屏控制原理如圖2所示。
圖2 觸摸屏控制原理圖
3、 ReWorks下校準(zhǔn)及測(cè)試觸摸屏的實(shí)現(xiàn)
tslib是一個(gè)觸摸屏支持庫(kù),為不同的觸摸屏提供了一個(gè)統(tǒng)一的接口,還提供諸如濾波、去抖、校準(zhǔn)之類的功能。tslib 從觸摸屏驅(qū)動(dòng)處獲得原始的設(shè)備坐標(biāo)數(shù)據(jù),通過(guò)一系列的去噪、去抖、坐標(biāo)變換等操作,來(lái)去除噪聲并將原始的設(shè)備坐標(biāo)轉(zhuǎn)換為相應(yīng)的屏幕坐標(biāo)。本文將tslib移植到國(guó)產(chǎn)ReWorks操作系統(tǒng)+龍芯1A處理器(mips)平臺(tái),實(shí)現(xiàn)了ReWorks下觸摸屏的校準(zhǔn)、測(cè)試等功能。ReWorks系統(tǒng)下tslib層次結(jié)構(gòu)如圖3所示。
圖3 ReWorks系統(tǒng)下tslib層次結(jié)構(gòu)圖