基于ARM微处理器的触摸屏控制器设计及实现

2015-03-30 03:25曾小波黄建华李竞雄
关键词:液晶屏触摸屏处理器

曾小波,黄建华, 李竞雄

(1.湖南理工职业技术学院,湘潭 411104;2.上海德意达电子电器设备有限公司,上海 201203)



基于ARM微处理器的触摸屏控制器设计及实现

曾小波1,黄建华1, 李竞雄2

(1.湖南理工职业技术学院,湘潭 411104;2.上海德意达电子电器设备有限公司,上海 201203)

针对当前液晶触摸屏系统屏幕尺寸大、操作简便、应用广泛的主流发展方向.提出采用ARM9处理器作为核心器件,ADS7846为触摸屏控制器和6.5寸背光源四线电阻式TFT-LCD面板构成触摸屏系统的方案.阐明了系统的总体方案,硬件组成及各部件的工作原理分析,器件的选型.阐述了ARM-Linux系统的软件应用模型及部分控制程序的实现.产品经过调试后能良好的显示,通过加载QT编写的应用程序可以较好的通过触摸屏来进行操作,达到了预期的设计要求.具有较高的实际应用价值.

微处理器;SPI;ARM9;触摸屏;控制器

触摸屏由于轻便、占用空间少、灵活等优点,已经逐渐取代键盘,成为嵌入式系统中最简单、方便和自然的一种人机交互方式[1].基于控制器和液晶显示的接口技术在日常生活、工业控制、智能家电等领域得到越来越广泛的应用.使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低微计算机信息产品的成本[2].ARM处理器经过多年的发展,速度越来越快,功能越来越强,应用领域也越来越广.

液晶触摸屏系统主要由TFT液晶屏模块、触摸屏和ARM微处理器组成.本文提出采用以ARM9作为处理器,背光源TFT-LCD薄膜晶体管型液晶显示屏模块及相关接口电路组成的液晶屏显示屏设计方案.控制处理器采用ATMEL公司的ARM9处理器AT91SAM9261为CPU;触摸屏控制器选用BB公司的ADS7846;触摸屏TFT-LCD面板选用三菱公司的6.5寸LED背光工业级AA065VD01型号宽屏高亮液晶屏,分辨率高达640*480;操作系统采用LINUX来驱动控制显示屏,并使用QT编写应用程序.该方案经过测试和实践,硬件、软件均达到了设计要求,同时具有稳定性好,可移植性强,并可根据所处环境光线强度自动调节液晶屏显示亮度等优点.

1 总体设计方案

如图1所示,处理器部分以ARM微处理器为核心,包括处理器的外部总线接口控制器、LCD控制模器、A/D输入、SPI接口、UART接口、GPIO等外围电路构成.处理器AT91SAM9261为Atmel公司生产的以ARM926EJ-S ARM Thumb处理器为核心的具有完全片上系统(SOC)的处理器,并且扩展了DSP指令集和Jazelle Java加速器;主时钟频率为190 MHz时性能高达210 MIPS;且AT91SAM9261处理器是带有LCD显示应用并优化的主机处理器,集成LCD控制器支持BW能达到16 M色彩,以及主动和被动LCD显示,能将LCD刷新对整体处理器性能上的影响减到最小.

触摸屏部分由触摸传感部件和触摸屏控制器ADS7846组成,触摸传感部件是安装在LCD液晶屏前面,用于检测用户触摸位置并将用户触摸信息送往ADS7846的传感部件[3].

触摸屏控制器ADS7846是BB公司生产的四线电阻触摸屏转换接口芯片,是一款具有同步串行接口的12位取样模数转换器.完成触摸传感部件发送来的位置信息的A/D转换工作和微处理器发送的控制命令.存储设备主要包括128 MB的SDRAM,64 MB的NAND Flash和4 MB的NOR Flash,构成大容量存储系统为复杂多变的人机交互和大量数据分析为基础的工业控制提供存储保障;人机交互模块包括多个子模块,其中USB主控制器可以连接USB鼠标、键盘等输入设备.

图1 系统总体框图

2 系统硬件设计

2.1 触摸屏控制器工作原理

按照触摸屏技术原理上分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏,其中最常见的是电阻式触摸屏.电阻式触摸屏的主要部分是一块与显示器表面非常配合的复合电阻薄膜,以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理的光滑防擦塑料层,内表面也涂有一层涂层在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘,当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,送到触摸屏控制器,控制器侦测到接触信号并进行A/D转换确定接触点的坐标(X,Y).

触摸屏控制器ADS7846是BB公司生产的四线电阻触摸屏转换接口芯片,是一款具有同步串行

接口的12位取样模数转换器,工作电压在2.2 ~5.25 V之间,功耗小于0.75 mW.

由于AT91SAM9261芯片集成了同步串行外部接口SPI,故可设计AD7846与ARM芯片AT91SAM9261的连接图如图2所示,图中ADS7846 的X+、Y+、X-、Y-是4线制触摸屏模拟信号输入端, DCLK是外部时钟输入;CS是片选端;DIN是串行输入,控制数据通过该引脚输入;DOUT是串行数据输出,用于输出转换后的触摸位置数据,最大数为二进制的4095;IN3、IN4是辅助输入;PENIRQ是PEN中断引脚,当按下触摸屏时,ADS7846向AT91SAM926发中断请求,AT91SAM926的GPF5在下降沿触发的情况下检测PENIRQ是否为低电平,若为低电平则认为有按下触摸屏,否则认为没有接触到[4],实现微处理器的SPI接口和ADS7846进行通信目的.

图2 ADS7846和AT91SAM9261的接线图

图3为ADS7846的工作时序图.此图说明标准的一次A/D转换需要24个时钟周期,从AT91SAM9261的MOSI口向ADS7846的DIN发送控制字,当ADS7846接收到控制字的前5位后,A/D转换器进入采样阶段.控制字节输入完毕后,等待BUSY为低电平后,在每个DCLK的下降沿,A/D转换的坐标值从高位到低位逐位从DOUT引脚向微处理器输出.这样为了获得一个坐标值,ADS7846与AT91SAM9261之间需要经过3个SPI时钟传送,即经过3×8=24个DCLK时钟周期[5].

图3 ADS7846时序图

2.2 LCD显示控制器设计

LCD显示控制器采用AT91SAM9261内部集成的LCD控制器作为LCD的控制单元.AT91SAM9261处理器内部集成的LCD控制器能支持单、双扫描模式的黑白或者彩色STN屏,也支持单扫描模式的TFT屏.LCD控制器支持4位单扫描和8位单或双扫描及16位双扫描STN屏,彩色STN显示时多达4096色,单色STN每像素为4位,彩色STN每像素为16位,TFT每像素为16和24位,分辨率支持达2048*2048的高分辨率.本文使用处理器来驱动640*480的TFT显示器.

LCD控制器框图如图4所示,LCD控制器与外部以及ARM内核的连接图,通过以下的信号来控制显示,其中LCDVSYNC为LCD垂直同步,LCDHSYNC为LCD水平同步,LCDDOTCK为LCD点阵数据时钟,LCDDEN为LCD数据使能,LCDCC为LCD对比度控制,LCDD0-LCDD23为数据总线.且本文中的控制器为DMA控制器,可以不经处理器直接读取显示缓存中的数据,加速LCD的显示[6][7].

图4 LCD显示控制电路图

2.3 TFT面板硬件接口设计

触摸屏AA065VD01是一个6.5寸的LED背光源的工业级显示屏,分辨率为640*480,每个像素点由红绿蓝三基色组成,每种基色由6位的数据宽度,刷新频率60 Hz.采用DB9B-31-1V接插件,工作时序如图5所示.

图5 AA065VD01扫描时序图

2.4 环境光监测电路设计

为了更好的监测环境光线的强弱,系统选用TSL250RD专用芯片,TSL250RD是一款高速、低功耗、宽量程、光强传感器芯片.具有电路简单、测试敏感的特点,能根据光线的强度,输出相应的电压,只需要将电压测量出来就可以知道环境光的强度.即将测量的光强度电压值送到处理器,显示处理器根据电压值的大小调节触摸屏的显示亮度.

3 系统软件设计

3.1 程序流程图

系统的架构如图6所示,软件系统可以看作有3层结构,最上层是用户的应用程序层,用户编写的程序就是显示在显示器上面的内容.应用程序通过调用Linux内核里面的fb_read(),fb_write()等函数来处理需要显示的内容,到最后将数据交给LCD控制器,最终在显示器上面显示相关的内容[8].

图6 系统程序结构图

3.2 部分程序

触摸屏控制系统的软件采用Linux系统开发,在Linux里面是作为一个平台设备来管理,针对不同型号的显示屏,只需要在Linux下的linux-2.6.23.1archarmmach-at91里面board-sam9261ek.c文件内配置和显示屏相关的参数即可,具体如下:

/* LCD Controller */

#if defined (CONFIG_FB_ATMEL) || defined (CONFIG_FB_ATMEL_MODULE)

Static struck fb_videomode at91_tft_vga_modes[]={

{

.name = “TX09D50VM1CCA@60”,

.refresh= 60,

.xres = 640,

.yres = 480,

.picklock = 40000,

.left_margin = 130,

.right_margin = 170,

.upper_margin = 17,

.lower_margin = 9,

.hsync_len = 20,

.vsync_len = 17,

.sync = 0,

.vmode = FB_VMODE_NONINTERLACED,

}, };

4 结 语

本文研究了采用ARM9内核AT91SAM9261微处理器实现6.5寸TFT-LCD触摸屏控制系统的硬件方案、工作原理、软件设计及实现的过程,包括硬件电路的设计和软件设计.创新点在于提出基于ARM9微处理器的触摸屏系统,分析从底层硬件设计、设备驱动、显示系统的移植以及GUI应用,并构建一个完整的触摸屏系统.产品经过调试后能正常地显示,通过加载QT编写的应用程序可以正常的通过触摸屏来进行操作,达到了预期的设计要求,并可根据环境光线强度具有自动调节液晶屏显示亮度的功能.可以广泛的应用于工业控制、移动输入设备、智能家电等领域.

[1] 吴青萍,沈 凯.基于ARM处理器的TSC2046触摸屏控制器的应用[J].现代电子技术,2011,34(23):195-197.

[2] 刘晓芳,刘建群,张海雄,等.基于ARM的LCD触摸屏系统设计[J].微计算机信息,2009,25(4-2):170-171.

[3] 梁明亮,张惠敏,徐 冰.基于ARM微处理器的液晶触摸屏的接口设计[J].计算机测量与控制,2011,19(3):691-693.

[4] [5]李春萍,李颉思.嵌入式Linux中对触摸屏驱动的设计[J].计算机工程与设计,2007,28(6):1387-1389.

[6] 陆 林.基于ARM9的大型触摸屏控制器的研究与开发[D].江南大学硕士学位论文,2008:9-12.

[7] 张未名,宗国仕.基ARM-Linux的触摸屏驱动及其应用研究[J].长春师范学院学报(自然科学版), 2011,30(3):30-33.

[8] 刘荣林,刘亚坤,武 华,等.基于ARM嵌入式触摸屏的设计与研究[J].内蒙古大学学报(自然科学版),2009,40(6):708-711.

Touch-screen Controller Design and Implementation Based on ARM Microprocessor

ZENG Xiao-bo1,HUANG Jian-hua1,LI Jing-xiong2

(1. Hunan Vocational Institute of Technology, Xiangtan 411104, China;

2. Shanghai DEUTA Electronic & Electrical Equipment Co., Ltd, Shanghai 201203, China )

In view of the development direction of liquid crystal touch screen system with large screen size, simple operation and wide application,this paper adopts ARM9 processor as the core device, ADS7846 as touch screen controller and 6.5 inch backlight four wire resistive TFT-LCD panel as touch screen system scheme.The overall scheme of the system,the working principle of hardware components and parts and the selection of devices are given. Describes the implementation of application model of ARM-Linux system and control program are described. The product can display well after the debugging.Through the application of loading QT preparation,it is easy to aperate the touchsureen,which meets the requirement of the design and has high practical application value.

Microprocessor; SPI; ARM9; controller; touch screen;

2014-11-04

湖南省教育厅科研资助项目(12C1097).

曾小波(1979- ),男,讲师,硕士研究生,研究方向:电力电子技术、嵌入式技术.

TP302,TP391

A

1671-119X(2015)01-0037-04

猜你喜欢
液晶屏触摸屏处理器
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
一种消除液晶屏高温MURA的工艺研究
基于机器视觉的液晶屏字符缺陷检测系统设计
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
基于图像处理的电能表液晶屏质量检测方法
触摸屏项目移植在自动化系统升级中的应用