北京時間06月03日消息,中國觸摸屏網訊, 目前Windows或Linux等通用操作系統下觸摸屏的調試方法已成熟,但尚沒有針對國產的嵌入式操作系統ReWorks下觸摸屏調試方法的研究,本文介紹基于國產龍芯1A處理器的手持式計算機為硬件平臺,在國產嵌入式操作系統ReWorks下的觸摸屏的校準和測試。
本文來自:http://www.zc28898.cn/touchscreen/news/front/201306/03-22535.html
國產龍芯1A手持式計算機和ReWorks嵌入式操作系統,通過移植觸摸中間件tslib為上層應用提供了統一的接口,實現了觸摸屏的校準和測試。
1 、綜述
龍芯系列處理器是中國自主研發的通用CPU,其中龍芯1系列處理器面向工業控制、消費電子(手機/MP4/掌上電腦等)等嵌入式應用。龍芯1A芯片片內集成了32位處理器核、2D GPU、VGA和LCD顯示接口、以及南橋芯片組功能,可滿足超低價位云終端、工業控制/數據采集、網絡設備、消費類電子等領域需求。
ReWorks嵌入式操作系統是中國電子科技集團某所基于“九五”、“十五”的技術成果自行研制、擁有全部源代碼的嵌入式實時操作系統,適用于多種目標硬件環境(x86、mips)。
在嵌入式尤其是手持式電子設備中,觸摸屏因其友善的人機交互、操作方便靈活、輸入速度快、占用空間少等優點,已逐漸取代物理鍵盤成為嵌入式計算機系統的主流輸入設備。
圖1 典型手持設備觸摸屏應用
目前Windows或Linux等通用操作系統下觸摸屏的調試方法已成熟,但尚沒有針對國產的嵌入式操作系統ReWorks下觸摸屏調試方法的研究,本文介紹基于國產龍芯1A處理器的手持式計算機為硬件平臺,在國產嵌入式操作系統ReWorks下的觸摸屏的校準和測試。
2 、觸摸屏校準原理
在實際的應用中,通常觸摸屏是作為與液晶屏配合使用的輸入設備,需要將觸摸屏采樣得到的坐標與液晶屏的顯示坐標做一個映射,即通常所說的觸摸屏校準。其目的就是要通過讀入幾個點的坐標值后,計算出校準系數,將計算得到的系數保存后,以后每次點擊觸摸屏得到的觸摸屏坐標,再通過校準系數后,得到液晶屏上的重合坐標。
本文中手持式計算機采用四線電阻式觸摸屏,觸摸屏控制器采用ADS7843E,觸摸屏校準庫tslib采用五點校準。觸摸屏控制原理如圖2所示。
圖2 觸摸屏控制原理圖
3、 ReWorks下校準及測試觸摸屏的實現
tslib是一個觸摸屏支持庫,為不同的觸摸屏提供了一個統一的接口,還提供諸如濾波、去抖、校準之類的功能。tslib 從觸摸屏驅動處獲得原始的設備坐標數據,通過一系列的去噪、去抖、坐標變換等操作,來去除噪聲并將原始的設備坐標轉換為相應的屏幕坐標。本文將tslib移植到國產ReWorks操作系統+龍芯1A處理器(mips)平臺,實現了ReWorks下觸摸屏的校準、測試等功能。ReWorks系統下tslib層次結構如圖3所示。
圖3 ReWorks系統下tslib層次結構圖
tslib 從觸摸屏驅動采樣到設備坐標進行處理再提供給應用端的過程如下:raw device --> variance --> dejitter --> linear --> application。tslib對驅動采樣到的數據進行處理的過程如下:讀取屏上5個點的坐標(Top Left,Top Right,Bottom Left,Bottom Right,Center),再進行一系列的變換,取樣的5個點,實際上是包含3個不同的X坐標值,3個不同的Y坐標值,和scaling 值一共7個值,一起保存到pointercal文件中。
將tslib移植到ReWorks系統后,運行ts_calibrate校準觸摸屏,用觸摸筆點擊觸摸屏四個角及中央五個點,tslib進行坐標換算,觸摸屏校準界面如圖4所示。
圖4 ReWorks下tslib校準觸摸屏截圖
完成五點校準后,會自動生成pointercal校準文件保存在手持式計算機Flash根目錄/ffx0下。本文中手持式計算機液晶屏的分辨率為480x640,校準時ReWorks終端輸出信息如下。
------calibrate starting-------
xres = 480, yres = 640
## Fri Mar 22 09:29:24 CST 2013 ##
Took 5 samples...
Top left : X = 3428 Y = 516
Took 4 samples...
Top right : X = 616 Y = 528
Took 3 samples...
Bot right : X = 629 Y = 3562
Took 3 samples...
Bot left : X = 3456 Y = 3558
Took 3 samples...
Center : X = 2031 Y = 2036
ts_calibrate: 4368.914062 -1.150175 0.007765
ts_calibrate: -279.180664 0.003222 1.137564
Calibration constants: 286321152 -75377 508 -18296384 211 74551 65536
Linear calibration constants: -75377 508 286321152 211 74551 -18296384 65536
lin->bRawMode: 0
reworks>
reworks>cd /ffx0
reworks>ll
type size modify time name
--- ---- ------- -----
file 62 2013-03-22 09:30 pointercal
----------------
1 files 62 bytes occupied
校準完成后,可用ts_test測試一下校準效果,如圖5所示。
圖5 ReWorks下觸摸屏測試截圖
4、 總結
本文以浪潮研制的國產手持式計算機為硬件平臺,將觸摸中間件tslib移植到國產嵌入式操作系統ReWorks下,實現了ReWorks系統下觸摸屏的校準和測試,并改進了處理采樣數據的方法,使觸摸屏的校準和測試滿足應用需求。