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

最新更新时间:2013-09-30来源: 互联网关键字:嵌入式  操作系统  触摸屏 手机看文章 扫描二维码
随时随地手机看文章

国产龙芯1A手持式计算机和ReWorks嵌入式操作系统,通过移植触摸中间件tslib为上层应用提供了统一的接口,实现了触摸屏的校准和测试。

  1 、综述

  龙芯系列处理器是中国自主研发的通用CPU,其中龙芯1系列处理器面向工业控制、消费电子(手机/MP4/掌上电脑等)等嵌入式应用。龙芯1A芯片片内集成了32位处理器核、2D GPU、VGA和LCD显示接口、以及南桥芯片组功能,可满足超低价位云终端、工业控制/数据采集、网络设备、消费类电子等领域需求。

  ReWorks嵌入式操作系统是中国电子科技集团某所基于“九五”、“十五”的技术成果自行研制、拥有全部源代码的嵌入式实时操作系统,适用于多种目标硬件环境(x86、mips)。

  在嵌入式尤其是手持式电子设备中,触摸屏因其友善的人机交互、操作方便灵活、输入速度快、占用空间少等优点,已逐渐取代物理键盘成为嵌入式计算机系统的主流输入设备。

  目前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层次结构图

slib 从触摸屏驱动采样到设备坐标进行处理再提供给应用端的过程如下: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系统下触摸屏的校准和测试,并改进了处理采样数据的方法,使触摸屏的校准和测试满足应用需求。

关键字:嵌入式  操作系统  触摸屏 编辑:神话 引用地址:国产嵌入式操作系统下触摸屏的实现

上一篇:NFC刷卡手机支付优缺点
下一篇:电容式触摸屏的的主要应用及缺陷

推荐阅读最新更新时间:2023-10-12 20:49

DSP嵌入式系统人机接口设计
  引言   人机接口是嵌入式控制系统的重要组成部分,用于人机之间实时交换控制系统并返回系统状态。嵌入式系统大都采用液晶屏和键盘作为人机接口的输入、输出设备。这里设计的人机接口作为数据采集系统的组成部分,为系统控制和运行监测提供方便,而其本身在各种嵌入式控制系统中又具有广泛的实用性。   2 液晶屏显示功能的实现   这里采用的液晶显示器为RT320240B。该显示器的控制器使用SEIKO EPSON公司生产的SED1335型控制器。DSP访问SED1335时,无需判断其是否空闲,SED1335能够随时准备接受DSP的访问并按照内部时序及时正确传输DSP发送的指令、数据。考虑到RT320240B是大屏幕液晶显示器,显示数
[嵌入式]
适合STM32的三大嵌入式操作系统
基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。 1、μClinux μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。
[单片机]
动态内存管理在面向嵌入式实时系统中的研究
动态内存管理的基本任务就是有效地对动态内存进行分配、回收,并同时保证系统的快速性、可靠性和稳定性。当系统请求分配内存时,系统需要从所有空闲块中找到一个合适的空闲块进行分配;当用户不再使用而将某块内存释放时,系统需要回收这一内存块,以备在新的请求产生时重新进行分配。为此,系统需要建立一个与内存当前使用情况相对应的内存描述,用来记录所有与内存分配、回收相关的信息。而如何记录这些信息并进行分配与回收,便成为各种算法的最根本区别。   1 嵌入式系统中内存管理技术的特点   实时系统分为硬实时系统和软实时系统。硬实时系统是指系统中各任务不仅要执行无误而且要做到准时;软实时系统是指系统中各任务运行的越快越好,并不要求限定某一
[工业控制]
Linux 2.6 内核的嵌入式系统应用
  随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC 时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。   操作系统为用户使用计算机及其外部设备提供最基本的接口程序,管理计算机上的资源。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统——嵌入式操作系统随之延生。   Linux 操作系统是一种性能优良、源码公开
[嵌入式]
ARM9系列处理器—嵌入式处理器
  ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器,主要包括ARM9TDMI和ARM9E-S等系列。   新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。   1 时钟频率的提高   ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。   2 指令周期的改
[单片机]
基于Linux系统的触摸屏驱动方案
  引言   触摸屏作为一种输入设备,具有坚固耐用、反应速度快、节省空间、易于交流等优点,提供简单、方便、自然的人机交互方式,目前被广泛应用于工业控制、电子查询、消费性电产品领域。   Linux作为是目前最流行的操作系统之一,在桌面系统、服务器领域有大量用户,具有源代码开放,支持的硬件丰富、高可移植等优点,在嵌入式领域也备受青睐。Linux根据不同设备,将驱动程序分为字符设备驱动、块设备驱动、网络设备驱动三种,Linux输入子系统u是对字符类型输入设备驱动实现方式的抽象,是对分散的、多种不同类别的输入设备进行统一处理的内核驱动模型。输入子系统具高效、无Bug和可重用等优点。本文对基于Linux输入子系统的触摸屏驱动进行深
[电源管理]
基于Linux系统的<font color='red'>触摸屏</font>驱动方案
嵌入式应用对微处理器的需求
  嵌入式产品的生产商总是期待能使自己的产品成本更低、更快地走向市场的微处理器解决方案。高性价比、高集成度、高度灵活的微处理器能帮助终端产品在性能、价格竞争日益激烈的市场环境中脱颖而出。   更高的集成度   高集成度不仅意味着有更丰富的功能、更小的封装尺寸,还能有效地降低系统功耗,简化工程师的设计。随着对集成度更高的要求,微处理器片上不但要集成高性能内核、大容量内存、大量灵活的I/O和外设接口,还可能要有加密、定时和系统保护等高级功能模块。例如,看门狗电路能够让器件识别跑飞代码并复位处理器,从而避免锁死状态;加密码增速单元(CAU)可支持DES、AES、MD5和SHA-1等加密算法。   以Freescale的ColdFir
[单片机]
<font color='red'>嵌入式</font>应用对微处理器的需求
基于嵌入式STM32的智能手表设计实现
一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DHT11,RTC,LED,KEY等器件实现高度智能化一体化操作。 后期自己打板设计结构,可以衍生为智能手表等小玩意。目前,项目属于裸机状态(CPU占用率100%),后期可能会加上RTOS系统。 二、硬件实物图 温度计: 游戏机: 三、硬件引脚图 OLED模块: VCC -- 3.3V GND -- GND SCL -- PB10
[单片机]
基于<font color='red'>嵌入式</font>STM32的智能手表设计实现
小广播
最新模拟电子文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved