基于S3C2410的触摸屏应用技术

 

 
摘  要 S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,是当前32位嵌入式市场中应用较多的微控制器,基于S3C2410嵌入式微处理器的触摸屏应用技术有较高的工程应用价值。介绍了S3C2410处理器的技术特点、触摸屏的工作原理,阐述了基于S3C2410系统的触摸屏接口设计方法和程序配置。
关键词:S3C2410;嵌入式;触摸屏;
1  S3C2410 嵌入式处理器 技术特点
    嵌入式微处理器与工业控制计算机相比,具有体积小、重量轻、成本低、可靠性高的优点,其中ARM体系处理器占据了目前各种嵌入式处理器最大的市场份额,S3C2410处理器是ARM体系中的一员,应用广泛。S3C2410处理器的技术特点有:
(1)S3C2410处理器是Samsung公司基于ARM公司ARM920T内核设计的ARM9系列32位微控制器统处理器,采用0.18um制造工艺。
(2)拥有独立的16KB指令Cache和16KB数据Cache,支持TFT的LCD及控制器。
(3)接口丰富,有多达117个通用I/O口线,集成有3路UART、4路DMA、4路带PWM的Timer、RTC,8路10位ADC,Touch Screen接口等。
(4)速度较快,S3C2410处理器最高可运行在203MHz。
2   触摸屏原理及应用
    触摸屏由触摸检测部件和触摸屏控制器组成;触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接受后送触摸屏控制器;而触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标,再送给微控制器(CPU),它同时能接收CPU发来的命令并加以执行。
    触摸屏按其技术原理可分为五类:矢量压力传感式、电阻式、电容式、红外线式、表面声波式,其中电阻式触摸屏在嵌入式系统中用的较多。电阻触摸屏是一块4层的透明的复合薄膜屏,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,中间是两层金属导电层,分别在基层之上和塑料层内表面,在两导电层之间有许多细小的透明隔离点把它们隔开。当手指触摸屏幕时,两导电层在触摸点处接触。如图1所示。
    电阻式触摸屏有四线和五线两种。应用较多的是四线式,其触摸屏的X工作面和Y工作面分别加在两个导电层上,共有四根引出线:X+、X-、Y+、Y-,分别连到触摸屏的X电极对和Y电极对上。触摸屏的两个金属导电层是触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,称为该工作面的一对电极,若给一个工作面的电极对施加电压,则在该工作面上就会形成均匀连续的平行电压分布。当给X方向的电极对施加一确定的电压,而Y方向电极对不加电压时,在X平行电压场中,触点处的电压值可以在Y+(或Y-)电极上反映出来,通过测量Y+电极对地的电压大小,通过A/D转换,便可得知触点的X坐标值。
3  S3C2410 微处理器与触摸屏的接口设计
    S3C2410内置ADC和触摸屏控制器接口,S3C2410处理器与触摸屏的接口设计如图1所示:
 
1  S3C2410 与触摸屏接口连线
    图中XP与CPU的A[7]口相连,YP与CPU的A[5]口相连。触摸屏通过触笔点击,引发S3C2410处理器中断,控制nYPON,YMON,nXPON,XMON输出相应电平。当S3C2410的nYPON、YMON、nXPON、XMON口线输出不同电平时,外部晶体管的导通状况如下表1所示:
表1 晶体管导通及位置输入状况
YMON
nYPON
XMON
nXPON
结果
0
1
1
0
Q1、Q2导通,
X的位置通过A[7]输入
1
0
0
1
Q3、Q4导通,
Y的位置通过A[5]输入
 
 
 
 
 
    触摸屏接口设计模式共有5种。
    第一种模式是普通的AD转换。
    第二种模式是X与Y分别转换模式,这种模式由两种模式组成:X位置转换模式和Y位置转换模式。当S3C2410内部ADCTSC寄存器的AUTO_PST = 0和XY_PST = 1时进入X位置转换模式,这种模式将X的位置写入ADCDAT0寄存器的XPDATA位。当ADCTSC寄存器的AUTO_PST = 0和XY_PST = 2时进入Y位置转换模式,这种模式将Y的位置写入ADCDAT1寄存器的YPDATA位。
    第三种模式是XY位置自动转换模式。当ADCTSC寄存器的AUTO_PST = 1和XY_PST = 0时进入这种模式。转换信号与第二种相同。
    第四种模式是等待中断模式。当ADCTSC寄存器的XY_PST = 3时进入这种模式。进入这种模式后,它等待触笔点击。
    第五种模式是闲置模式( Standby Mode),当进入这种模式后,AD转换停止,S3C2410内部ADCDAT0和ADCDAT1寄存器的XPDATA和YPDATA保持上次转换的值。
4  ADC 和触摸屏寄存器的设置及编程
    S3C2440微处理器要实现对触摸屏X、Y位置的读取,需要对AD转换控制寄存器(ADCCON)、AD转换触摸屏控制寄存器(ADCTSC)、AD转换开始延时寄存器(ADCDLY)进行设置,两个只读的数据寄存器ADCDAT0和ADCDAT1用于存储转换状态和转换结果。AD转换控制寄存器ADCCON的设置方法如表2所示。
 
表2 ADCCON的设置方法
ADCCON
功能描述
ECFLG
[15]
ADC转换完成标志位(只读)
为1:ADC转换结束  为0:ADC转换进行中
PRSCEN
[14]
ADC转换时钟使能
PRSCVL
[13:6]
ADC转换时钟预分频参数
SEL_MUX
[5:3]
选择需要进行转换的ADC信道
STDBM
[2]
置1:将ADC置为闲置状态(模式)
置0:将ADC置为正常操作状态
READ_START
[1]
置1:允许读操作启动ADC转换
置0:禁止读操作启动ADC转换
ENABLE_START
[0]
置1:启动ADC转换 置0:无操作
触摸屏寄存器初始化代码举例如下:
rADCDLY   = (0x5000); // ADC Start
rADCTSC   = (0<<8)|(1<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(0<<2)|(3);
                                   //设置成为等待中断模式:1101
    rADCCON = (1<<14)|(49<<6)|(7<<3)|(0<<2)|(1<<1)|(0);
                                  //设置ADC控制寄存器
下面的代码为X转换模式部分关键程序:
    rGPGUP = 0xffff; //设置GPIO,禁止GPG上拉
    rADCTSC=(0<<8)|(0<<7)|(1<<6)|(1<<5)|(0<<4)|(1<<3)|(0<<2)|(1);
//设置转换X的位置
    for(i = 0; i < Count; i++) //开始转换X,共Count次
{ rADCCON = (1<<14)|(49<<6)|(7<<3)|(0<<2)|(0<<1)|(1);
        while(rADCCON & 0x1); //测试转换开始位
        while(!(0x8000 & rADCCON)); // 测试ECFLG位,转换是否结束
        Delay(200);
        Dat0 += (rADCDAT0) & 0x3ff; } //转换结果累加,最后取平均
结束语
    嵌入式智能设备系统设计工作中,用液晶触摸屏取代传统的键盘等人机对话部件,具有操作简便、界面友好等优点,基于S3C2410处理器的触摸屏接口设计有较强的实时性,具有较高的工程应用价值。
参考文献:
[1] 郭改枝等.基于嵌入式系统触摸屏接口电路的实现[J]. 内蒙古师范大学学报,2009,(1):55-57
[2] Samsung. S3C2410X - 32-Bit RISC Microprocessor user’s manual.
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值