ARM HMS30C7202与触摸屏接口电路的设计

发布者:huanguu最新更新时间:2011-07-12 关键字:ARM  HMS30C7202  触摸屏接口 手机看文章 扫描二维码
随时随地手机看文章

1.导言

    随着现代计算机技术和互联网技术的飞速发展,嵌入式系统开始占据市场主流。因32位ARM嵌入式处理器具有高性能、低功耗的特性,它已广泛应用于科学研究、工程设计,军事技术,商业文化艺术及消费产品。而触摸屏作为一种最新的电脑输入设备,具有坚固耐用、反应速度快、节省空间、易于交流等优点。主要用于公共信息的查询、工业控制、军事指挥、旅游、电子游戏、点歌点菜、多媒体教学和房地产预售等场所。因此,本文着重讨论基于嵌入式微处理器HMS30C720与触摸屏控制器的接口设计和底层串口驱动与上层microwindows图形界面结合的编程设计方法,以实现触摸屏对嵌入式设备之间的控制。

2.系统的整体结构

    该系统的整体结构如图1所示:本系统由ARM单元,触摸屏控制单元构成。ARM单元主要接收触摸屏控制单元的位置数据信息并根据位置信息调用ARM的控制和应用程序。我们选用Hynix公司的ARM CPU HMS30C7202作为ARM系统单元的主芯片。它是基于以太网应用系统的高性价比16/32位RISC微控制器,内含一个由ARM公司设计的16/32位ARM7TDMI RISC处理器核[1,4]。触摸屏控制单元主要完成信号放大与处理、A/D。根据数字信号识别用户点击的触摸屏上的图标位置。并调用该图标应执行相应指令。我们选用深圳某公司的触摸屏控制器。该触摸屏控制器具有串行通信接口,分辨力高等特点。

图1 系统的整体结构

3.硬件电路的设计

3.1 LCD接口电路

    HMS30C7202内建LCD显示控制器,并且有专用视频DMA控制器和视频总线连接SDRAM控制器。分开的总线使LCD的刷新不需要ARM的控制,数据传送完全由DMA控制器控制,提高了整个系统的性能。HMS30C7202支持彩色、单色STN液晶显示器和TFT彩色液晶显示器,显示分辨率可达640×480,本系统平台采用16位真彩色,采用565配色方案,5位红色、6位绿色、5位蓝色。而TFT显示器都采用18根数据线,因此,将红色和蓝色数据线最低位接地。除数据线外LCD接口还有行、场同步信号、LCD时钟信号,LCD控制信号,可分别接CPU的LCD控制输出LLP,LFP,LAC。

3.2触摸屏硬件电路

3.2.1四线电阻式触摸屏

   

如图2所示是 四线电阻式触摸屏原理示意图,四线触摸屏包含两个阻性层。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线。为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VREF。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。为了 在Y轴方向进行测量,将顶部总线偏置为VREF,底部总线偏置为0V。将ADC输入端接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。对于四线触摸屏,最理想的连接方法是将偏置为VREF的总线接ADC的正参考输入端,并将设置为0V的总线接ADC的负参考输入端.                            

                                                     

3.2.2 触摸屏串口控制器接口定义

    触摸屏器接口引脚与RS232串口引脚功能关系表如表1所示。RS232串口引脚为9脚,只使用了5个脚,触摸屏电源供给由PS/2接口4脚提供。

表1 触摸屏器接口引脚与RS232串口引脚功能关系表

引脚

1

2

3

4

5

RS232串口各脚功能

数据检测

接收字符

传送字符

数据终端准备

触摸屏串口引脚功能

发送

接收

 

 

PS/2引脚功能

 

 

 

+5v

 

[page]

 

4.通信协议的确定及软件设计

4.1触摸屏串口控制器的通信协议的具体分析

    由于公司的商业原因,不提供源程序和通信协议,也没有HMS30C7202的驱动程序,我们借助串口调试助手和存储示波器分析,得出了串口触摸屏控制器的通信协议,其传输速率为9600,一帧数据为10位,起始位为1,8位数据位,停止位为0,无校验位。先发低位再发高位。每一个数据包传送5个字节数据,第一个字节为控制位,第二、第三字节为触摸屏得到的X轴坐标值,第四、第五字节为得到的Y轴坐标。这样我们就获得了触摸屏控制器的通信协议,为在linux系统下编写相应的触摸屏程序提供了基础.

4.2  触摸屏串口通信程序的设计

    首先在linux系统下编写一个对应于触摸屏的串口通信程序,用交叉编译器编译后,下载至目标板ARM,运行之后,点击触摸屏得到触摸屏输出数据。在这个程序中,我们的目的是建立触摸屏串口控制器和ARM7 串口1之间的通信,使其读取的数据显示在对应的LCD显示器屏幕上,设置好相应的波特率,数据位,奇偶校验位和停止位,便可对触摸屏串口控制器发送过来的数据进行读取操作。主程序流程图如图3所示[3]

 

图3  主程序流程图

4.3 触摸屏与LCD显示器坐标的换算和Microwindows编程实现

    本设计采用microwindows0.90版本,编写程序时,不必关心底层的驱动,直接调用上层的API.而不需编写底层的驱动.这里采用的方法是在microwindows中编写对应于触摸屏串口接收程序,然后比较microwindows窗口坐标和串口数据中的坐标值,如果在一定范围内,则产生一个相应的事件[2]。 用一个数组来接收串口送过来的数据,再从数组中取出触摸屏的位置信息。触摸屏的坐标原点及分辨率都不同,这也需要进行转换。具体转换的公式为:

我们设触摸屏如下:右下角为原点坐标(x1,y1),横轴为x轴,竖轴为y轴,右上角坐标(x1,y2),左上角坐标(x2,y2),右上角坐标(x2,y1),分辨率为4096×4096;ARM7所接LCD的坐标原点在左上角,横轴为x轴,竖轴为y轴分辨率为640×480,则我们的坐标转换公式为:

    xLCD=640-[640×(x-x1)/(x2-x1)]       (4-1)

    yLCD=480-[480×(y-y1)/(y2-y1)]        (4-2)

    因触摸屏的分辨率为4096×4096,则x2-x1和y2-y1的值均为4096;坐标转换公式为:

XLCD=640-640×z1/4096;        (4-3)

YLCD=480-480×z2/4096;        (4-4)

    其中,公式中的z1,z2坐标为触摸屏坐标,它的获取方法:由数组buffer[ ]接收串口送来的数据,我们要从数组中取出有用的坐标信息。

    x1=buffer[6];    x2=buffer[7];       x3=buffer[3];     x4=buffer[4];

    这里我们用四个8位元素来获得两个16位坐标信息。那么就需要将两个8位的坐标数据,转换为一个16位的数据,具体转换如下:

     y1=x1<<8;         y1 |=x2;      /*两个8位数据移位成16位数据*/

     y2=x3<<8;         y2 |=x4;

    那么此时的y1,y2便是我们触摸屏的坐标信号了。转换之后,显示器和触摸屏的坐标就对应起来了,在microwindows下建立一个窗口,设定它的坐标值及大小,这时在用microwindows的消息处理函数,如果触摸范围(触摸屏在屏幕上对应坐标)在窗口的坐标范围内,则产生一个相应的事件,我这是在窗口上打印一条Touched信息的事件,在窗口范围外触摸触摸屏时,打印Nottouched信息。编写一个程序点触触摸屏上相应的位置,就会在屏幕上的对应位置上输出一个新的窗口,且位置比较准确。如图4-9所示为点触摸屏时LCD显示器显示的触点响应位置。        

                       

图7  点触摸屏时LCD显示器显示的位置

结论

    通过调试和测试,完全达到设计要求。本设计创新之处是:成功将深圳某公司的触摸屏控制器运用到HMS32C7202嵌入式控制系统中,在对方没有提供通信协议和驱动程序情况下,分析了该控制器的通信协议,编写了ARM的驱动程序。分析了LCD与触摸屏的物理换算关系,然后编写上层程序,通过microwindows的API进行相关调用,使底层数据与上层图形界面建立了联系。最后编写相应的事件处理和响应程序,通过点触触摸屏的图形界面完成对ARM的操作。该接口已应用于本人开发的基于Internet网络通信的嵌入式系统平台中。

参考文献
[1] Hynix Semiconductor Inc.HMS30C7202·www.hynix.com
[2]吴明晖等.基于ARM的嵌入式系统开发与应用.人民邮电出版社.2004.6
[3]李中奇.嵌入式Linux系统中触摸屏控制的研究与实现.现代显示.2005.2.19-22[4]杨光友等.嵌入式微处理器ARM7202触摸屏接口设计.微计算机信息.2004.4,2004.4.75-76

作者简介:王洪、男、1963.4、高级工程师、湖南省教育厅科学研究资助项目(03C211),主要从事数字电视与嵌入式系统研究与开发

关键字:ARM  HMS30C7202  触摸屏接口 引用地址:ARM HMS30C7202与触摸屏接口电路的设计

上一篇:基于ARM的直流电机调速系统的设计与实现
下一篇:ARM HMS30C7202与触摸屏接口电路的设计

推荐阅读最新更新时间:2024-03-16 12:38

简述ARM的启动过程
基于ARM的芯片多数为复杂的片上系统,这种复杂系统里的多数硬件模块都是可配置的,需要由软件来设置其需要的工作状态。因此在用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。由于这类代码直接面对处理器内核和硬件控制器进行编程,一般都是用汇编语言。一般通用的内容包括: 中断向量表 初始化存储器系统 初始化堆栈 初始化有特殊要求的断口,设备 初始化用户程序执行环境 改变处理器模式 呼叫主应用程序 中断向量表 ARM要求中断向量表必须放置在从0地址开始,连续8X4字节的空间内。 每当一个中断发生以后,ARM处理器便强制把PC指针置为向量表中对应中断类型的地址值。因为每个中断只占据向量表中1个字的存储空间,只能
[单片机]
意法半导体(ST)推出全新32位 ARM® Cortex™微控制器
中国,2012年9月13日 —— 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)已开始向主要OEM厂商供应最新 STM32 F3微控制器系列的样片,让客户能对意法半导体这一重量级的ARM® Cortex™-M微控制器产品进行早期评估。 STM32 F3微控制器系列是以内置FPU(浮点单元)的Cortex-M4处理器内核的系统级芯片为基础,其优化的系统架构使其能有效控制并处理电路板内的混合信号,如三相电机控制、生物识别和工业传感器输出或音频滤波器等。在消费电子、医疗仪器、便携健身器材、系统监控和电表产品中,STM32 F3有助于简化电路板设计,降
[单片机]
从0开始学ARM-MRS、MSR、寻址操作、原子操作原理
一、程序状态寄存器访问指令 ARM微处理器支持程序状态寄存器访问指令,用于在程序状态寄存器和通用寄存器之间传送数据。 MRS MRS{条件} 通用寄存器,程序状态寄存器(CPSR或SPSR) MRS指令用于将程序状态寄存器的内容传送到通用寄存器中。 该指令一般用在以下几种情况: 当需要改变程序状态寄存器的内容时,可用MRS将程序状态寄存器的内容读入通用寄存器,修改后再写回程序状态寄存器。 当在异常处理或进程切换时,需要保存程序状态寄存器的值,可先用该指令读出程序状态寄存器的值,然后保存。 如: MRS R0,CPSR ;传送CPSR的内容到R0 MRS R0,SPSR ;传送SPSR的内容到R0
[单片机]
从0开始学<font color='red'>ARM</font>-MRS、MSR、寻址操作、原子操作原理
搭载全新ARM Cortex-A73处理器智能手机设计能效及性能再获优化
首先,让我们回顾一下:2009 年发展至今,几乎所有智能手机都已经搭载了 ARM 处理器,性能提升达100倍。想想看,短短七年的时间,100 倍,多么惊人的数字!得益于性能的大幅提升,全新的功能、超高速的用户界面响应、以及沉浸式用户体验已成为现实,而功耗却依旧保持不变,移动设备设计领域的种种难题都得以攻克。毋庸置疑,这是工程技术史上一次空前的壮举。 高性能、全新功能以及优化的用户体验不断推动市场的快速成长,据预测,2016 年全球智能手机销量将突破15亿部。 伴随消费趋势的推动,智能手机设计已在诸多方面成为未来创新的重要平台。增强现实(AR)、虚拟现实(VR)、超高清视觉化、基于对象的音频处理技术和计算机视觉,都对系统性能
[手机便携]
搭载全新<font color='red'>ARM</font> Cortex-A73处理器智能手机设计能效及性能再获优化
嵌入式ARM系统中OpenCV的移植
◆(在ubuntu中编译): 安装依赖库:sudo apt-get install build-essential manpages-dev pkg-config 安装libpng: sudo apt-get install zlib1g-dev sudo wget http://downloads.sourceforge.net/libpng/libpng-1.2.18.tar.gz?modtime=1179259677&big_mirror=0 sudo tar -xvzf libpng-1.2.18.tar.gz cd libpng-1.2.18 sudo ./configure --prefix=/usr/local/l
[单片机]
基于FPGA与ARM进行遥测数据网络转发的流程剖析
以太网接口通信速度快,传输可靠,使用和配置方便,对于20 Mb/s以下的码速率,100 Mb/s的网卡可以进行不丢包转发,采用TCP包格式还可使设备小型化,便于数据的转发,因此有必要扩展设备的以太网功能。 1 整体模块设计 1.1 系统设计 系统设计框图如图1所示。其中,采编器或接收机解调输出的PCM信号及时钟输入到FPGA中进行帧同步,IRIG—B码信息也送到FPGA中进行解调,得到时间信息。数据与时间一起存入SRAM乒乓缓冲区中,达到一定大小后,FPGA向ARM处理器发器中断,ARM中运行的Linux系统,将数据取走,进行TCP/IP打包,发送给接收计算机。 在设备开始工作前,需要在计算机端进行参数设置,计算机TCP/
[单片机]
基于FPGA与<font color='red'>ARM</font>进行遥测数据网络转发的流程剖析
ARM映像文件的组成
ARM映像文件的组成 所谓ARM映像文件就是指烧录到ROM中的bin文件,也成为image文件。以下用Image 文件来称呼它。Image文件包含了RO和RW数据。之所以Image文件不包含ZI数据,是因 为ZI数据都是0,没必要包含,只要程序运行之前将ZI数据所在的区域一律清零即可。 包含进去反而浪费存储空间。 烧录到ROM中的image文件与实际运行时的ARM程序之间并不是完全一样的。因此就有 必要了解ARM程序是如何从ROM中的image到达实际运行状态的。 RO == ReadOnly 只读的代码段和常量 RW == ReadWrite 可读写的全局变量和静态变量 ZI == ZeroInit RW
[单片机]
<font color='red'>ARM</font>映像文件的组成
Actel为嵌入ARM7功能的FPGA推出开发工具套装
Actel公司宣布推出CoreMP7开发工具套装,这是完整的软、硬件开发环境,针对该公司CoreMP7软ARM7处理器内核的执行而设。CoreMP7开发工具套装包含屡获殊荣的CoreMP7、具Actel ARM7功能的M7 ProASIC3器件和FPGA开发工具,为用户提供了一切所需工具,可以快速和简便地评估及设计以FPGA为基础的系统级芯片 (SoC) 应用。 Actel IP市务经理Mike Thompson称:“CoreMP7开发工具充分发挥了FPGA的灵活性结合快速推向市场和业界标准ARM7处理器技术的优势,简化了复杂SoC芯片的评估和开发工作。这套开发工具是一个完善的开发环境,包含构件组装、行为仿真、电路综合、布局、编
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved