FPGA的触摸屏控制系统

时间:2022-08-12 10:44:20

FPGA的触摸屏控制系统

摘 要 本系统选用电阻式触摸屏作为触摸显示装置,采用FPGA作为主控制器,与NIOS嵌入式处理器和电路结合起来,不仅大大加快了系统响应时间,并且缩短了系统开发周期。

关键词 FPGA;电阻式触摸屏;NIOS

中图分类号TP39 文献标识码A 文章编号 1674-6708(2014)109-0200-02

1 概述

触摸屏操作简单,控制方便,越来越成为手机及平板电脑的主流输入和显示设备。目前,世界上常用的触摸屏有电阻式触摸屏和电感式触摸屏。由于电阻式触摸屏具备结构简单、制造便捷、各项功能易被大多数设备所兼容的特点,故本系统选用电阻式触摸屏作为输入设备。

FPGA具有性能高速、控制精准、实时性好的特点,当把FPGA设置为ASIC,性能和效率将大大提升,功耗得到大幅降低。

2 总体设计

本系统选用FPGA为主控制器,从触摸数据采集模块中读取触摸点数据,对数据进行处理得到相应点的坐标值,然后在显示器上显示相应的数据,同时LED指示完成相应的操作,系统的总体框图如图1。

图1 触摸屏控制系统框图

触摸屏接受外部触摸信号,触摸坐标点的偏置电压随着屏幕水平和垂直方向的滑变电阻而变化。触摸屏控制器主要完成触摸屏和FPGA控制器间的数据传输,对触摸数据进行实施采样,一旦发生触摸操作,即将中断信号发送至FPGA,由FPGA进行数据采集,发送指令启动AD转换,并将转换信号传输至FPGA控制器,完成数据转换。 显示控制器接受FPGA发送的控制数据,在TFT屏幕上进行显示。

在这里,FGPA选用ALTERA公司的EP2C8Q208,触摸屏控制器选用四线式电阻控制器XPT2046,便于实现触摸点压力测量,TFT控制器选用通用的LCD控制器ILI9325。

3 硬件电路设计

系统电源需要5V、3.3V和1.2V电压,由于TFT背光需要较高的亮度,故采用5V供电;3.3V电压主要提供给TFT显示控制器、触摸屏控制器、FPGA芯片IO接口、SDRAM等,选用LM1085稳压芯片;1.2V作为FPGA芯片核心工作电压,采用AMS117-1.2稳压芯片。为保证系统稳定工作,在各电源输入输出部分均使用滤波电容。

FPGA系统由时钟电路、复位电路和FPGA芯片构成。本系统选用50MHz晶振作为FPGA的工作时钟,晶振输出的时钟信号送至FPGA的第23引脚,即CLK0。复位电路输出到FPGA的CLKUSR引脚上。复位电路采用电容充电放电方式,当按下按键时,CLKUSR被拉低至地,电容被放电,进入复位状态;松开按键时,电容经过充电恢复至VCC,复位完成,复位时间与电容容值有关。

FPGA内部RAM较小,运行NIOS系统时,需大量内存配合程序运行,这里选用K4S641632H SDRAM芯片作为NIOS的内部存储器。由于SDRAM地址线和数据线分离,使数据读写速度快,适合RAM进行扩展。在与NIOS系统连接方面,ALTERA公司SOPC Builder提供了SDRAM控制的IP核。

触摸采集芯片选用XPT2046,该IC需3.3V供电。XPT2046共有四个输入及水平方向的X+、X—和垂直方向的Y+、Y—。此外PEN是芯片输出给控制器的中断信号,当发生触摸或数据传输完成即产生一次下降沿。

TFT显示接口电路选用ILI9325控制器的i80总线16位传输模式,该总线数据线与地址线复用,通过RD端确定传输的是数据还是命令,RST端为该芯片的复位端。模块带触摸屏电路,通过X+、X-、Y+、Y-信号线输出至触摸屏控制器。

4软件设计

软件系统由触摸数据采集模块、PLL锁相环模块、NIOS处理器模块和复位模块组成。触摸采集模块完成全部触摸部分功能,直接输出经过滤波的触摸数据;PLL锁相环模块根据系统需求产生不同的时钟信号;NIOS处理器模块作为控制系统的核心,完成数据读取、显示控制以及SDRAM控制等功能;复位模块监视PLL锁相环是否正常工作,根据需要对CPU进行复位操作。

触摸数据采集模块采用Verilog编程,以完成写触摸控制器命令、触摸中断检测、触摸数据获取、算术平均值滤波等功能,复位模块由两部分构成,分别是延时复位模块和二与门。复位延时模块在收到复位信号或上电复位信号后延时输出低电平复位信号,与门的另一个输入是PLL的locked信号。当延时时间到达并且PLL正常工作时,复位完成,与门的输出连接到NIOS处理器和触摸采集单元电路上。

设计NIOS程序时,首先初始化TFT控制器,然后TFT显示模块上显示系统正常工作,进入循环控制状态;在循环中查询是否有触摸采集模块的数据输入,如果没有采集到信号,结束一次循环;如果采集到信号,则将接收到水平和垂直位置的12位数据通过坐标变换转换为屏幕上的对应点坐标值,然后判断是在TFT区还是LED区;如果在TFT区,则接着判断是在菜单区还是在操作显示区;如果在菜单区,则清屏。如果在控制显示区,则以当前坐标值为中心,在相应位置画一个半径为20个坐标的圆。接着,屏幕显示清屏区域,并查询触摸是否在清屏区域内,若在则执行清屏程序,不在则执行后续程序,屏幕左上角显示当前坐标,TFT控制显示操作完成;如果判断在LED区,则再判断是否在控制显示区,如是将显示区域编码为相应数据,然后解码输出至TFT显示,同时对应数据传输给LED显示,最后清除触摸标志,完成一次循环。

5 仿真实验

本系统的主要功能为触摸信号采集,实现系统控制功能,屏幕设置了一个简单的界面来完成触摸操作。显示由两个菜单构成:菜单一显示当前坐标、以坐标为原点画圆、清屏操作;菜单二实现LED控制操作,同时实时显示当前LED状态。经过实操验证,系统稳定,数据显示正确,能够很好的完成触摸屏控制系统的基本功能。

6 结论

本系统的最大优点是将硬件语言和软件语言有效结合,对采集的触摸数据滤波采用了特别的方法,不但可以使控制比较准确,还能无需设置直接检测单次和连接触摸数据,为电阻式触摸屏系统提出切实可行的解决方案。

参考文献

[1]姚爱红,张国印,吴俊鹏.基于FPGA的硬件系统设计实验与实践教程[M]. 北京:清华大学出版社,2011.

[2]李宏,张家田.液晶显示器件应用技术[M].北京:机械工业出版社,2004.

上一篇:场地土方工程测量中应用GPS RTK的作用以及其具... 下一篇:探讨智能配电网的发展及应用