国产嵌入式操作系统下触摸屏的实现

   日期:2013-05-20    
核心提示:目前Windows或Linux等通用操作系统下触摸屏的调试方法已成熟,但尚没有针对国产的嵌入式操作系统ReWorks下触摸屏调试方法的研究,本文介绍基于国产龙芯1A处理器的手持式计算机为硬件平台,在国产嵌入式操作系统ReWorks下的触摸屏的校准和测试。

国产龙芯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系统下触摸屏的校准和测试,并改进了处理采样数据的方法,使触摸屏的校准和测试满足应用需求。

 
  
  
  
  
 
更多>同类企业资讯
 
全年征稿 / 资讯合作
 
 
 
推荐图文
推荐企业资讯
可能喜欢