嵌入式ARM下的触摸屏驱动系统设计
基于ARM的触摸屏控制系统设计
基于ARM的触摸屏控制系统设计作者:周宇来源:《电子技术与软件工程》2018年第03期摘要自改革开放以来,我国的科学技术得到了快速的发展,在高科技技术发展如此之快的同时,高科技产物也在不断的出现,ARM微处理器就是一项现代化高科技产物,在计算机或手机上都得到了很广泛的应用,使计算机手机的系统性能得到很大程度的提升,而且现在对ARM微处理器的研究是国家的重点发展项目,但是就从我国现在的科学技术水平来看,我国相比于一些发达国家还存在很大的差距,在对ARM微处理器的研究上还存在一些问题,要想使我国的ARM微处理器能够有一个更好的开发,我们就需要对ARM微处理器进行不断的研究和探讨。
【关键词】ARM微处理器触摸屏控制系统设计分析ARM触摸屏就是以ARM微处理器为核心系统新发明的一种触摸屏,ARM触摸屏相比于传统的触摸屏来讲,操作更加简单直观,而且功耗非常的小,在功能上更加的使用,而且最大的特点就是取代了键盘鼠标,在实际运用中更加的方便,在二十一世纪,ARM触摸屏控制系统的应用越来越普遍,而且也是当今时代触摸屏的主流配置,更重要的是ARM触摸屏在我们的生活中也发挥着很大的作用,但是由于我国发展起步较晚,自行生产的ARM微处理器还存在功耗大,占用空间多等问题,这些问题严重制约我国ARM微处理器的发展,下面我们就对ARM的触摸屏控制系统进行全面的分析探讨。
1 ARM的触摸控制系统的总体框架ARM微处理器体积小,功耗低,成本低,高性能,在使用过程中支持十六位,三十二位双指令集,能很好的兼容八位或十六位器件,而且ARM微处理器的寻址方式非常简单,执行效率还很高,这一系列特点都能够很好应用于触摸控制系统,在这里我们以最为常见的彩色液晶屏为例,彩色液晶屏的ARM触摸屏控制系统的整体框架主要由五部分组成,分别是ARM 微处理器,液晶屏控制器,触摸屏控制器,彩色液晶屏以及触摸屏,彩色液晶屏作为人机交换的最直接的交互画面,通过内部的液晶控制屏和ARM微处理器相连接,触摸屏控制器通过模数转换对信息进行处理,将转换完成后的信息传递到ARM微处理器,ARM微处理器对这些信息进行处理,然后控制液晶显示器进行相应的画面更新动作,实现人机交换功能,在这里需要注意的是,微处理器的型号为LPC2290,触摸屏控制器选择FM7843,液晶屏控制器选择SID13503。
嵌入式实验报告_触摸屏驱动实验
贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间05.06 指导教师余佩嘉成绩实验项目名称触摸屏驱动实验实验目的1.了解触摸屏基本概念与原理。
2.理解触摸屏与 LCD 的密切配合。
3.编程实现对触摸屏的控制。
实验原理1.触摸屏原理触摸屏按其工作原理的不同分为表面声波屏、电容屏、电阻屏和红外屏几种。
常见的又数电阻触摸屏。
如图 3-20 所示,电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。
如图 3-21 所示,当手指或笔触摸屏幕时(图 c),平常相互绝缘的两层导电层就在触摸点位置有了一个接触,因其中一面导电层(顶层)接通 X 轴方向的 5V 均匀电压场(图a),使得检测层(底层)的电压由零变为非零,控制器侦测到这个接通后,进行 A/D 转换,并将得到的电压值与 5V 相比即可得触摸点的 X 轴坐标为(原点在靠近接地点的那端): Xi=Lx*Vi / V(即分压原理)同理得出 Y 轴的坐标,这就是所有电阻触摸屏共同的最基本原理。
2.电阻触摸屏的有关技术电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层叫 ITO 的透明导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层,它的内表面也涂有一层导电层(ITO 或镍金)。
电阻触摸屏的两层 ITO 工作面必须是完整的,在每个工作面的两条边线上各涂一条银胶,一端加 5V 电压,一端加 0V,就能在工作面的一个方向上形成均匀连续的平行电压分布。
在侦测到有触摸后,立刻 A/D 转换测量接触点的模拟量电压值,根据5V 电压下的等比例公式就能计算出触摸点在这个方向上的位置。
嵌入式ARM下的触摸屏驱动系统设计研究
嵌入式ARM下的触摸屏驱动系统设计研究
文章首先介绍了触摸屏的实现原理,然后介绍了触摸屏芯片AD7873的特性,在此基础上设计了ad7873与i.MX27和触摸屏的连接PCB图,最后依照硬件连接图设计了嵌入式Linux下的驱动,并成功通过了tclib触摸屏专业测试软件的测试,在家庭智能网关系统的测试中也成功运行,实现了从硬件到软件的嵌入式下触摸屏的驱动系统设计。
1引言
随着计算机技术的发展和普及,触摸屏技术得到了越来越广泛应用,在各种手持设备中,如手机、MP4、掌上游戏机、掌上PDA等,由于其方便、舒适,使其完全摆脱了键盘和鼠标的束缚,使人机交互更为直截了当。
而在微软最新开发的windows7操作系统中,就有其值得骄傲并加以推广的多点触摸技术,并成为一大卖点。
可见,触摸屏技术引起了上到微软,下到普通老百姓的关注。
而在我们的日常生活中,无论你是在商场购物,还是在银行存取款,触摸式的自动服务器将能为你提供了方便快捷的服务。
这里通过对触摸屏原理的理解和分析,成功的设计出了CPU与触摸屏芯片之间的硬件连接,并依照硬件和驱
动设计的原理,设计出了基于嵌入式Linux和飞思卡尔i.MX27芯片以及
AD7873触摸屏芯片的驱动程序,并成功移植到内核中,实现了家庭控制器系
统的触摸技术。
2硬件系统的构成
2.1电阻式触摸屏原理。
电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转
换为代表X坐标和Y坐标的电压。
当触摸屏表面受到的压力(如通过笔尖或
手指进行按压)足够大时,顶层与底层之间会产生接触。
所有的电阻式触摸屏。
基于ARM的LCD触摸屏系统设计策
基于ARM的LCD触摸屏系统设计策
随着嵌入式系统技术的飞速发展,工业设备产品也越来越现代化,普遍要求可视化操作。
LCD触摸屏低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。
使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。
而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品的上市周期。
本文设计的基于
S3C44BOX的人机交互界面是一种可定制、简单易用、性能优良的通用型人机交互界面,能很好地解决上述问题。
1 系统结构
系统主要包括三个部分,分别为PC机、S3C4480X微处理器和LCD 触摸屏模块。
系统结构框图如图1所示。
一款基于ARM的LCD触摸屏系统设计.
一款基于ARM的LCD触摸屏系统设计引言工业设备产品越来越现代化与嵌入式系统技术的飞速发展是分不开的,并且目前的工业设备产品普遍都要求可视化操作。
LCD触摸屏优点众多:低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。
使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。
而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品引言工业设备产品越来越现代化与嵌入式系统技术的飞速发展是分不开的,并且目前的工业设备产品普遍都要求可视化操作。
LCD触摸屏优点众多:低耗能.散热小,成本低,纤薄轻巧,外形尺寸小,安装容易。
使用LCD触摸屏作为工业设备的输入输出设备既能达到可视化的要求,方便现场操作,又能降低产品的成本。
而在产品的整体设计过程中,人机交互界面的设计往往占据着很大一部分工作,这样,不但极大地增加了产品的开发成本瓶且延长了产品的上市周期。
本文设计的基于S3C44BOX的人机交互界面很好地解决上述问题,该设计是一种可定制、简单易用、性能优良的通用型人机交互界面,非常便于操作。
1 系统结构LCD触摸屏系统主要包括三个部分,分别为PC机、S3C4480X微处理器和LCD触摸屏模块。
系统结构框图如图1所示。
图1 系统结构框图本系统为基于S3C44BOX的工业设备提供交互接口,通过该系统可以给工业设备提供一个可视化的人机界面。
来自PC机的定制好的界面信息存储在ARM的FLASH存储器内。
在应用当中,当微处理器接收到触摸屏按键信息时,对工业设备进行控制。
同时微处理器也对LCD进行界面的刷新,这样以完成人机交互。
2 系统硬件设计系统硬件电路原理如图2所示。
其中S3C4480X为CPU内核,320x240点阵LCD 触摸屏为主要的输入输出设备。
图2 系统硬件电路原理图2.1 LCD触摸屏模块OCMJ15x20D介绍本系统显示部分采用的是OCMJ15x20D (320x240点阵)D系列中文液晶湿示模块,其中OCMJ表示奥可拉中文集成模块。
带触摸屏的ARM开发板驱动基于AS3992芯片的RFM-x系.
带触摸屏的ARM开发板驱动基于AS3992芯片的RFM-x系列RFID读写模块凡夫RFM-x模块是高集成度的RFID读写模块,软件功能强大,有关EPC协议的电子标签的所有操作以及标签防碰撞算法都已封包在软件中了,用户应用层软件无需深入了解RFM-x模块与电子标签之间的具体通信协议,驱动模块的软件很简单,只要掌握几个基本指令,就能开发出应用层软件。
我设计的这个演示程序运行在STM32F107平台上,ARM主程序是一个图形菜单界面,其中有一个RFID图标。
点击“RFID”图标,进入RFID扫描界面,点击“开始”,开始扫描并显示标签。
点选其中一个标签号,反显,再次点击,可以进入写标签界面。
进入写标签界面,输入新标签号,点“确定”就OK了。
还有一个RFID设置的界面。
后附ARM开发板直接驱动RFM-x模块的相关程序和函数节选。
在STM32F107开发板上调试运行通过。
演示程序已经支持4.3’LCD触摸屏、8GMicroSD卡、EEPROM、2M的Flash SST25VF016B,支持两个串口、一个SPI,还有按键、LED,有实时时钟等,软件功能有文本浏览、图片浏览、画板,以及RFID读写。
需要完整程序的可以联系我,QQ:542968281。
============================================================ ========= 5.3.1 头文件/*COMMANDS */#define OUT_INVENTORY_ID 0x31#define IN_INVENTORY_ID 0x32#define OUT_SELECT_TAG_ID 0x33#define IN_SELECT_TAG_ID 0x34#define OUT_WRITE_TO_TAG_ID 0x35#define IN_WRITE_TO_TAG_ID 0x36#define OUT_READ_FROM_TAG_ID 0x37#define IN_READ_FROM_TAG_ID 0x38#define OUT_WRITE_REG_ID 0x1A#define IN_WRITE_REG_ID 0x1B#define OUT_READ_REG_ID 0x1C#define IN_READ_REG_ID 0x1D#define OUT_INVENTORY_IDSize 0x02#define IN_INVENTORY_IDSize 0x3f#define OUT_WRITE_TO_TAG_IDSize 0x3f#define IN_WRITE_TO_TAG_IDSize 0x03#define OUT_READ_FROM_TAG_IDSize 0x07 #define IN_READ_FROM_TAG_IDSize 0x3f #define OUT_WRITE_REG_IDSize 0x05#define IN_WRITE_REG_IDSize 0x02#define OUT_READ_REG_IDSize 0x02#define IN_READ_REG_IDSize 0x055.3.2 节选主程序中盘点标签的例程//发inventory Tag命令if((RFID_START&0xC0==0xC0{LED3=1;USART1_TX_BUF[0]=OUT_INVENTORY_ID;USART1_TX_BUF[1]=OUT_INVENTORY_IDSize+1;USART1_TX_BUF[2]=0x01;USART1_SEND(USART1_TX_BUF;USART1_RX_STA=0; //意外掉包时清零timer=0;RFID_START&=0x80; //清除循环计数bit[5:0],清bit6为usart1忙状态 } else{if((RFID_START&0xC0==0x80{timer++;if(timer>65534{RFID_START++; //意外掉包时循环计数bit[5:0],溢出进位到bit6,inventory可以再次发送timer=0;#ifdef debugprintf("\nRFID_START:%x\n",RFID_START;#endif}}}5.3.3 Select标签的函数//Select Tag//sel---Select Tag的Tag_Buffer[]指针void Select_tag(u8 sel{u8 i,j;u32 temp;USART1_TX_BUF[0]=OUT_SELECT_TAG_ID;USART1_TX_BUF[2]=0x0C;USART1_TX_BUF[1]=USART1_TX_BUF[2]+3;for(i=3;i>0;i--{temp=Tag_Buffer[3*sel-i];for(j=0;j<4;j++{//temp=temp>>j;//USART1_TX_BUF[3+j]&=0x00;USART1_TX_BUF[3+j+4*(3-i]=temp>>8*(3-j;#ifdef debugprintf("\nSelect Tag:%x\n",USART1_TX_BUF[3+j+4*(3-i]; #endif }}USART1_SEND(USART1_TX_BUF;}5.3.4 Write标签的函数//Write Tag//data---Write Tag的数据void Write_tag(u32 *data{u8 i,j;USART1_TX_BUF[0]=OUT_WRITE_TO_TAG_ID;USART1_TX_BUF[2]=0x01;//EPCUSART1_TX_BUF[3]=0x02;//EPC addressUSART1_TX_BUF[4]=0x00;//Pass WordUSART1_TX_BUF[5]=0x00;//Pass WordUSART1_TX_BUF[6]=0x00;//Pass WordUSART1_TX_BUF[7]=0x00;//Pass WordUSART1_TX_BUF[8]=0x06;//EPC Word lengthUSART1_TX_BUF[1]=2*USART1_TX_BUF[8]+9;//EPC Word length for(i=0;i<3;i++{for(j=0;j<4;j++{USART1_TX_BUF[9+j+4*i]=data[i]>>8*(3-j;#ifdef debugprintf("\nWrite Tag:%x\n",USART1_TX_BUF[9+j+4*i]; #endif}}USART1_SEND(USART1_TX_BUF;}5.3.5 调整模块的输出功率和灵敏度的函数void Save_RFID_Set(u8 PA_val,u8 Sensi_val{u8 len,temp=0;u8 data0,data1,data2;/*-----------保存功率设置-------------*///读Modulator Control Register[23:0]USART1_TX_BUF[0]=OUT_READ_REG_ID;USART1_TX_BUF[1]=OUT_READ_REG_IDSize+1;USART1_TX_BUF[2]=0x15; USART1_SEND(USART1_TX_BUF; while(!(USART1_RX_STA&0x8000{delay_ms(5;temp++;if (temp>20break;}if(USART1_RX_STA&0x8000{len=USART1_RX_STA&0x0FFF;len++; //得到此次接收到的数据长度#ifdef debugprintf("\nlen=%x\n",len;#endifif((len==6&&(USART1_RX_BUF[5]==0x00{data0=USART1_RX_BUF[2];data1=USART1_RX_BUF[3];data2=USART1_RX_BUF[4];}else{LCD_Fill(0,260,240,280,LGRAY;//填充灰色Show_Str(10,260,"获取功率失败!",16,0x01; //叠加模式,非自动换行 } USART1_RX_STA=0;}else{LCD_Fill(0,260,240,280,LGRAY;//填充灰色Show_Str(10,260,"获取功率超时!",16,0x01; //叠加模式,非自动换行}//改变功率data0 = (data0&0xE0|PA_table[27-PA_val];//写Modulator Control Register[23:0]USART1_TX_BUF[0]=OUT_WRITE_REG_ID;USART1_TX_BUF[1]=OUT_WRITE_REG_IDSize+1;USART1_TX_BUF[2]=0x15;USART1_TX_BUF[3]=data0;USART1_TX_BUF[4]=data1;USART1_TX_BUF[5]=data2;USART1_SEND(USART1_TX_BUF;while(!(USART1_RX_STA&0x8000{delay_ms(5;temp++;if (temp>20break;}if(USART1_RX_STA&0x8000{len=USART1_RX_STA&0x0FFF;len++; //得到此次接收到的数据长度#ifdef debugprintf("\nlen=%x\n",len;#endifif((len==3&&(USART1_RX_BUF[2]==0x00;else{LCD_Fill(0,260,240,280,LGRAY;//填充灰色Show_Str(10,260,"设置功率失败!",16,0x01; //叠加模式,非自动换行 } USART1_RX_STA=0;}else{LCD_Fill(0,260,240,280,LGRAY;//填充灰色Show_Str(10,260,"设置功率超时!",16,0x01; //叠加模式,非自动换行 } /*-----------保存灵敏度设置-------------*///读Register0x0A[7:0]data0 = Read_RFIDModule(0x0A;//改变灵敏度data0 = (data0&0x04|Sensitivity_table[Sensi_val][1];//写Register0x0A[7:0]Write_RFIDModule(0x0A,data0;//读Register0x05[7:0]data0 = Read_RFIDModule(0x05;//改变灵敏度data0 = (data0&0x7F|Sensitivity_table[Sensi_val][0];//写Register0x05[7:0]Write_RFIDModule(0x05,data0;/*-----------保存Q值设置-------------*/LCD_Fill(0,260,240,280,LGRAY;//填充灰色Show_Str(10,260,"初始化完成!",16,0x01; //叠加模式,非自动换行}5.3.6 读模块寄存器的函数u8 Read_RFIDModule(u8 addr{u8 len,temp=0;u8 data0;USART1_TX_BUF[0]=OUT_READ_REG_ID;USART1_TX_BUF[1]=OUT_READ_REG_IDSize+1;USART1_TX_BUF[2]=addr; USART1_SEND(USART1_TX_BUF;while(!(USART1_RX_STA&0x8000{delay_ms(5;temp++;if (temp>20break;} if(USART1_RX_STA&0x8000 { len=USART1_RX_STA&0x0FFF; len++; //得到此次接收到的数据长度 if((len==6&&(USART1_RX_BUF[5]==0x00{ data0=USART1_RX_BUF[2]; USART1_RX_STA=0; return data0; } else{LCD_Fill(0,260,240,280,LGRAY;Show_Str(10,260,"获取失败!",16,0x01;USART1_RX_STA=0;return 0xff;} //叠加模式,非自动换行 } else{LCD_Fill(0,260,240,280,LGRAY;Show_Str(10,260,"获取超时!",16,0x01;return 0xff;} //叠加模式,非自动换行 } 5.3.7 写模块寄存器的函数 void Write_RFIDModule(u8 addr,u8 data { u8 len,temp=0; USART1_TX_BUF[0]=OUT_WRITE_REG_ID;USART1_TX_BUF[1]=OUT_WRITE_REG_IDSize-1; USART1_TX_BUF[2]=addr; USART1_TX_BUF[3]=data; USART1_SEND(USART1_TX_BUF;while(!(USART1_RX_STA&0x8000 { delay_ms(5; temp++;if (temp>20break; } if(USART1_RX_STA&0x8000{ len=USART1_RX_STA&0x0FFF; len++; //得到此次接收到的数据长度if((len==3&&(USART1_RX_BUF[2]==0x00; else{LCD_Fill(0,260,240,280,LGRAY;Show_Str(10,260,"设置失败!",16,0x01;} // 叠加模式,非自动换行 USART1_RX_STA=0; } else{LCD_Fill(0,260,240,280,LGRAY;Show_Str(10,260,"设置超时!",16,0x01;} //叠加模式, 非自动换行 } 5.3.8 串口接收中断服务函数 //串口 1 中断服务程序 u8USART1_RX_BUF[3060]; //接收状态 //bit15,接收完成标志 //bit14,接收到 0x0d//bit11~0,接收到的有效字节数目,最多 3060,0xBF4 u16 USART1_RX_STA=0; //接收状态标记 //接收缓冲,最大 3060 个字节. void USART1_IRQHandler(void { u8 res; if(USART1->SR&(1<<5//接收到数据 { res=USART1->DR;USART1_RX_BUF[USART1_RX_STA&0x0FFF]=res; switch(USART1_RX_BUF[0] {case IN_CHECK_ON_LINE_ID: //返回两字节包处理if((USART1_RX_STA&0x0FFF==1 { //USART1_RX_STA|=0x8000;; 接收完成标志USART1_RX_STA=0; return; } break; case IN_FIRM_HARDW_ID: caseIN_READ_REG_ID: case IN_WRITE_REG_ID: case IN_SELECT_TAG_ID: caseIN_WRITE_TO_TAG_ID: //返回变长字节包处理 //返回六字节包处理 //返回三字节包处理 //返回三字节包处理 //返回四字节包处理 //收到两字节命令,if((USART1_RX_STA&0x0FFF>1{ if((USART1_RX_STA&0x0FFF==(USART1_RX_BUF[1]-1 //接收完成{ USART1_RX_STA|=0x8000; return; } } break; case IN_INVENTORY_ID: //返回变长字节包或四字节包处理 //接收完成标志 if((USART1_RX_STA&0x0FFF>16{ if((USART1_RX_STA&0x0FFF==(USART1_RX_BUF[1]*USA RT1_RX_BUF[2]-1//接收完成 { USART1_RX_STA|=0x8000; return; } }if((USART1_RX_STA&0x0FFF==0x03 && (USART1_RX_BUF[2]==0{ USART1_RX_STA|=0x8000; 无标签,接收完成标志 return; //收到 4 字节命令, //接收完成标志} break; default: USART1_RX_STA=0; return; } USART1_RX_STA++;if((USART1_RX_STA&0x0FFF>3059USART1_RX_STA|=0x8000;//接收数据错误,重新开始接收 }return; } 需要完整程序的可以联系我,QQ:542968281。
嵌入式系统触摸屏设计(需要仔细品读)
嵌入式系统触摸屏设计(需要仔细品读)触摸屏工作原理与结构触摸屏附着在显示器的表面,根据触摸点在显示屏上对应坐标点的显示内容或图形符号,进行相应的操作。
触摸屏按其工作原理可分为矢量压力传感式、电阻式、电容式、红外线式和表面声波式5类。
在嵌入式系统中常用的是电阻式触摸屏。
电阻触摸屏结构如图5.6.1(c)所示,最上层是一层外表面经过硬化处理、光滑防刮的塑料层,内表面也涂有一层导电层(ITO或镍金);基层采用一层玻璃或薄膜,内表面涂有叫作ITO的透明导电层;在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘。
在每个工作面的两条边线上各涂一条银胶,称为该工作面的一对电极,一端加5V电压,一端加0V,在工作面的一个方向上形成均匀连续的平行电压分布。
当给X方向的电极对施加一确定的电压,而Y方向电极对不加电压时,在x平行电压场中,触点处的电压值可以在Y+(或Y—)电极上反映出来,通过测量Y+电极对地的电压大小,通过A/D转换,便可得知触点的X坐标值。
同理,当给Y 电极对施加电压,而X电极对不加电压时,通过测量X+电极的电压,通过A/D转换便可得知触点的Y坐标。
当手指或笔触摸屏幕时(如图5.6.1(c)所示),两个相互绝缘的导电层在触摸点处接触,因其中一面导电层(顶层)接通X轴方向的5V均匀电压场(如图5.6.1(a)所示),使得检测层(底层)的电压由零变为非零,控制器检测到这个接通后,进行A/D转换,并将得到的电压值与5V相比,即可得触摸点的X轴坐标为(原点在靠近接地点的那端):同理也可以得出Y轴的坐标。
电阻式触摸屏有四线式和五线式两种。
四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有4根引出线:X+、X-,Y +、Y-分别连到触摸屏的X电极对和Y电极对上。
四线电阻屏触摸寿命小于100万次。
五线式触摸屏是四线式触摸屏的改进型。
五线式触摸屏把X工作面和Y工作面都加在玻璃基层的导电涂层上,工作时采用分时加电,即让两个方向的电压场分时工作在同一工作面上,而外导电层则仅仅用来充当导体和电压测量电极。
实验四_触摸屏驱动程序设计
实验四触摸屏驱动程序设计一、实验目的以一个简单字符设备驱动程序为原型,剖析其基本结构。
进行部分改写之后并编译实现其相应功能。
了解在UP-NETARM2410-S 平台上实现触摸屏Linux 驱动程序的基本原理。
了解Linux 驱动开发的基本过程。
二、触摸屏的工作原理1.硬件设计SPI接口是Motorola推出的一种同步串行接口,采用全双工、四线通信系统,S3C2410X是三星推出的自带触摸屏">触摸屏接口的ARM920T内核芯片,ADS7843为Burr-Brown生产的一款性能优异的触摸屏">触摸屏控制器。
ADS7843与S3C2410的硬件连接如图1所示,鉴于ADS7843差分工作模式的优点,在硬件电路中将其配置为差分模式。
图1触摸屏输入系统示意图2.嵌入式Linux系统下的驱动程序设备驱动程序是Linux内核的重要组成部分,控制了操作系统和硬件设备之间的交互。
Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,成为设备文件。
应用程序可以打开、关闭、读写这些设备文件,对设备的操作就像操作普通的数据文件一样简便。
为开发便利、提高效率,本设计采用可安装模块方式开发调试触摸屏驱动程序。
设备驱动在加载时首先需要调用入口函数init_module(),该函数完成设备驱动的初始化工作。
其中最重要的工作就是向内核注册该设备,对于字符设备调用register_chrdev()完成注册,对于块设备需要调用register_blkdev()完成注册。
但是,应用程序却还不能“看见”它,因而还不能通过系统调用它。
要使应用程序能“看见”这个模块或者它所驱动的设备,就要在文件系统中为其创建一个代表它的节点。
通过系统调用mknod()创建代表此项设备的文件节点——设备入口点,就可使一项设备在系统中可见,成为应用程序可以访问的设备。
另外,设备驱动在卸载时需要回收相应的资源,令设备的相应寄存器值复位并从系统中注销该设备。
嵌入式系统中的电容触摸屏驱动开发
从接触点吸走一个很小的电流 。这个电流从触摸屏四个角上的 电极中流出, 并且流经这四个电极的电流与手指到四角的距离 成正比, 触摸屏控制器通过对这四个电流比例的精确计算, 得出 触摸点的位置。 与电阻式触摸屏相比, 电容式触摸屏表现出了更加良好的 性能。由于轻触就能感应, 使用十分方便; 而且手指与触摸屏的 使用寿命长。 接触几乎没有磨损,
其中结构 input_dev 定义在 < Linux / input. h > 中, 用于描述 输入设备的驱动结构, 主要包括响应的事件类型 、 按键内容、 数 据相对值的范围及一些处理函数 。 利用输入子系统实现触摸屏驱动, 要做的主要工作在以下 函数中完成。 3. 4. 1 pixcir_i2c_ts_probe 函数
图1
—MX51 与 ATmega168 芯片连接示意图
收稿日期: 2010 - 08 - 29 。 郭小梅, 副教授, 主研领域: 计算机软件 与理论, 嵌入式应用技术。
第 10 期
郭小梅: 嵌入式系统中的电容触摸屏驱动开发
probe, 该函数原型如下:
265
I2 C 接口只需要 SCL 时钟和 SDA 数据两根信号线, 另外, 当 ATmega168 采样到坐标值后, 有手指点击电容触摸屏时, 会产生 ATTb 连 到 MX51 的 一 个 一个中 断 信 号 ( ATTb ) 通 知 MX51 , GPIO 中断管脚上。 ATmega168 的 采 样 速 度 非 常 快, I2 C 总 线 的 速 度 高 达 2 400KHz, 支持 7 位寻址, 中断模式可通过 I C 写操作设置为低电 平中断, 只有在 finger moving 即手指移动时才产生中断, 手指第 之后, 如果手指位置没有变化, 一次点击触摸屏时有中断产生, AT不再有新的中断产生, 只有在手指移动 ( 有位置变化) 时, mega168 才产生新的中断。 这种中断模式有利于驱动程序的 处理。
嵌入式触摸屏驱动开发设计
嵌入式触摸屏驱动开发设计【摘要】嵌入式系统设计中,使用触摸屏是重要的一环,在使用它之前要添加驱动程序才能使用,同时也要根据触摸屏的大小和种类进行修改对应的驱动,才能使触摸屏正确发挥功能。
【关键词】嵌入式触摸屏驱动当前,随着人们对多媒体信息查询的不断增加,人们逐渐越来越多地谈到触摸屏,因为它不仅适用于多媒体信息查询,而且具有坚固耐用、反应速度快、节省空间、易于交流等许多优点。
利用触摸屏技术,用户只要用手指轻轻地碰触显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。
触摸屏作为一种新的电脑输入设备,它是目前简单、方便、自然的一种人机交互方式。
它的应用范围非常广阔,主要在公共信息的查询方面;如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。
预计将来,触摸屏还要走入家庭。
在嵌入式系统中,经常要使用到触摸屏,然而它不是一连接就能使用的器件,需要添加驱动程序,才能使触摸有效,下面是触摸屏驱动程序添加的过程。
首先找到源文件,然后按照下列步骤进行操作。
s3c2410_ts.hs3c2410_ts.ccp s3c2410_ts.h include/asm-arm/cp s3c2410_ts.c drivers/char/修改drivers/char/目录下的Kconfig,Makefile文件。
添加ts驱动选项:Makefile1043 +obj-$(CONFIG_S3C2410_TS) +=s3c2410ts.oKconfig在config S4C2410_RTC选项下添加:choiceprompt “s3c2410 touchscreen”default S3C2410_TSdepends on ARCH_S3C2410config S3C2410_TStristate “normal touchscreeen “config S3C2410_TS_ADStristate “touchscreen ads”endchoic修改arch/arm/mach-s3c2410下的四个文件:devs.hdevs.cmach-smdk2410.cs3c2410.c1.devs.h添加如下:extern struct platform_device s3c_device_ts;2.devs.c添加如下:#include………./* Touchscreen */static struct s3c2410_ts_mach_info s3c2410ts_info;void __init set_s3c2410ts_info(struct s3c2410_ts_mach_info *hard_s3c2410ts_info)memcpy(&s3c2410ts_info,hard_s3c2410ts_info,sizeof(structs3c2410_ts_mach_info));EXPORT_SYMBOL(set_s3c2410ts_info);struct platform_device s3c_device_ts = {.name = “s3c2410-ts”,.id = -1,.dev= {.platform_data = &s3c2410ts_info,}};EXPORT_SYMBOL(s3c_device_ts);/* USB Device (Gadget)*/3.mach-smdk2410.c添加如下:#include…….//ts flastatic struct s3c2410_ts_mach_info gec2410_ts __initdata = {.delay = 10000,.presc = 49,.oversampling_shift = 2,}static struct platform_device *smdk2410_devices[] __initdata = {&s3c_device_usb,&s3c_device_lcd,&s3c_device_wdt,&s3c_device_i2c,&s3c_device_iis,&s3c_device_nand,&s3c_device_ts, //add here};void __init smdk2410_map_io(void){s3c24xx_init_io(smdk2410_iodesc, ARRAY_SIZE(smdk2410_iodesc));s3c24xx_init_clocks(0);s3c24xx_init_uarts(smdk2410_uartcfgs, ARRAY_SIZE(smdk2410_uartcfgs));s3c24xx_set_board(&smdk2410_board);set_s3c2410fb_info(&smdk2410_lcd_platdata);set_s3c2410ts_info(&gec2410_ts);小结:本设计对嵌入式系统的触摸屏的驱动进行了开发,选取了典型的ARM 处理器S3C2410作为处理对象,驱动添加成功后,触摸屏的效果正常发挥,达到了目的。
ARM7嵌入式触摸屏的设计
连 ,通 过 设 置 P ON 控 制 寄存 器可 以使 P 、0口工 作 在 I- C G 03 n
I tOu p t EN 3等 不 同 的模 式 下 。 p / t u/ I T u 3 液 晶 显 示 控 制器 S D1 3 E 35
触 摸 检 测 部 件 安 装 在 L 液 晶 屏 前 面 ,用 于 检 测 用 户 触 摸 位 CD 置 , 用户触摸信息送往触摸屏控制器 , 转换成触 点坐标 , 把 并 送 给 MCU(P 2 O 。MC 在 接 收 到触 摸 信 息 后 进 行 相 应 画 面 L C2 9 ) U 的更 新 。L CD液 晶 屏用 于显 示 用 户 画 面和 数 据 。
关键 词 : M 8 3 触 摸 屏 , E 1 3 F 74 , S D35
Absr t tac
Ths ape it i p r nr odu es t e o hn s e n r c i FM7 4 c h tuc ig cren co tol hp 8 3 p icpl o wor as rn i e f k. wel as t ARM 7 l wih mir c tol co onr l er L C2 O o e inTh l i c y t bo u e bewe n he SED1 3 c tol r nd h LP 2 nn c i el ti ci P 29 c nn ct . e i d r sal x s s o qu t e t 3 5 on r l a te e C2 90 co e t on ecrc r — cutM oeo eralo ito l 。 r v s n rduc s t e t u ig c e pr ci e o r .n el r ts t e t u ig c e an te i i c s e h o chn s r en i pl f wo ka d abo ae h o chn s r en n d h l d r — qu y t l iply a ds a mo e n e a e al r h wi m ph si。 dul it grt d go i m t e t h a s Ke wors: y d FM78 3. c n s e , 4 t hig crenSED1 3 ou 3 5
嵌入式系统触摸屏驱动程序设计
ARM9嵌入式系统课程设计--嵌入式系统触摸屏驱动程序设计班级:学号:姓名:指导老师:课程设计时间:目录第一章引言 (1)1.1 课程设计目的 (1)1.2 课程设计任务与要求 (1)第二章课程设计平台构建与流程 (2)2.1 嵌入式系统开发平台构建 (2)2.2 触摸屏课程设计流程 (2)2.3 课程设计硬件结构与工作原理 (2)2.3.1硬件结构概述 (2)2.3.2触摸屏工作原理 (4)3.1 Vivi源代码安装 (5)3.2 Vivi源代码分析与移植 (5)3.3 Vivi编译与下载 (6)3.3.1 Vivi的编译 (6)3.3.2 Vivi的下载 (6)第四章 Linux内核移植与下载 (10)4.1 Linux内核源代码安装 (10)4.2 Linux内核源代码分析与移植 (10)4.3 Linux内核编译与下载 (11)4.3.1 Linux内核编译 (11)4.3.2 Linux内核下载 (11)第五章触摸屏功能模块程序设计与交叉编译 (13)5.1 触摸屏模块功能 (13)5.2 功能模块驱动程序设计 (13)第六章根文件系统建立与文件系统下载 (17)6.1 根文件系统分析 (17)6.2 文件系统映像文件生成 (17)6.3 文件系统下载 (18)6.4 功能模块运行与调试 (20)第七章课程设计总结与体会 (21)参考文献 (22)第一章引言1.1 课程设计目的在开发基于Linux的嵌入式系统前需要首先建立嵌入式系统的开发环境,并制定嵌入式系统上的Linux内核。
本课程设计的主要目的是:(1)进一步了解嵌入式开发工具链的构造过程;(2)掌握开发主机与嵌入式系统通信的方法;(3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术,提高阅读和修改程序的能力;(4)通过完成一个嵌入式linux系统开发的完整过程,使我们了解开发嵌入式linux应用系统的全过程,为今后学习打下基础,积累实际操作的经验。
基于ARM单片机的触摸屏嵌入式系统设计分析与研究
基于ARM单片机的触摸屏嵌入式系统设计分析与研究摘要:触摸屏是现代数字化产品的主流技术之一,触摸屏嵌入式系统丰富了人机交互界面,提升了设备的总体性能,也对支持技术提出了高要求。
本文基于ARM单片机作为重点,对其触摸屏嵌入式系统设计思路、方法进行分析,给出控制部分设计、触摸部分设计、显示与存储设计等内容,为后续产品研发工作提供参考。
关键词:ARM单片机;触摸屏;嵌入式系统;控制部分前言:ARM单片机是以ARM处理器为核心的一种单片微型计算机,是近年来随着电子设备智能化水平和网络化程度不断提高而出现的新兴芯片族群,以其低功耗和高性价比的优势逐渐步入高端市场,成为了时下的主流产品,特别是在家用电器、消费电子产品等领域。
以ARM单片机为核心的触摸屏嵌入式系统,具有同样优势,故本文针对其设计思路和方法进行探讨与分析。
1.基于ARM单片机的触摸屏嵌入式系统设计思路1.1强调优势最大化ARM单片机的主要优势在于指令响应速度快、可靠性高,为民生产与工业品应用带来丰富的可实现性。
系统处理器为32位ARM核处理器,以集成技术为基础,芯片内部集成了大量的片内外设,功能得到丰富的同时,也降低了整机系统的成本,为商品化、市场化的应用和推广提供了先天条件。
进行触摸屏嵌入式系统设计时,上述优势为需要考虑的重点,如应用于移动电话中的触摸屏,可能出现频繁下达指令时系统反应较慢的问题,以51单片机为例,指令数目为达到20000个/s时,系统工作将出现明显的延迟,约1%-5%的指令无法在2s内得到响应。
在硬件性能接近的情况下,ARM单片机可以实现200000个指令的一秒内处理,计算能力更强,可提升大部分移动手机的反应速度[1]。
1.2系统的功能性功能性是ARM单片机应用、触摸屏嵌入式系统设计需要考虑的重点问题是:因大部分单片机是系统的核心构件,出现不兼容等问题的场合,可能大大降低设备的使用价值,甚至导致死机、设计失败、各种应用BUG出现等。
嵌入式系统中的电容触摸屏驱动开发
嵌入式系统中的电容触摸屏驱动开发郭小梅南京晓庄学院 江苏南京210001 以飞思卡尔半导体的MX51为系统硬件平台,给出嵌入式产品中支持多点触摸的电容式触摸屏实现方案;通过PIXCIR公司的ATmega168芯片采样触摸屏数据,经处理后由I2C总线传入系统;运用Linux中的输入子系统、中断、队列等技术,详细讨论linux2.6 31内核下开发电容武触摸屏驱动程序的流程及方法。
该设计应用于智能手机、MID、上网本等产品中,效果良好。
Linux;设备驱动 ; 电容式触摸屏 ; 多点触摸;MX51TP316.5AELECTRIC CAPACITY TOUCH SCREEN DRIVER DEVELOPMENT FOR EMBEDDED SYSTEMSGuo Xiaomei2010-08-29郭小梅,副教授,主研领域:计算机软件与理论,嵌入式应用技术。
265266@@[ 1 ] Smith JM, Van Ness HC, Abbott MM. Introduction to Chemical Engi neering Thermodynamics [ M ]. 6th ed. Beijing: Chemical Industry press, 2002.@@[2]冯积社,张万生,胡浩斌.基于Excel的化学计算方法[J].化学通 报,2006( 11):865 -868.@@[3]刘敏,邱翠青,翟立海,等.EXCEL在化工计算中的应用[J].聊城 大学学报:自然科学版,2004,17(2):46 -48.@@[4]陈洪钫,刘家祺.化工分离过程[M].北京:化学工业出版社,2007@@[5]郑丹星.化工热力学教程[M].北京:中国石化出版社,2002.@@[1] LINUX 设备驱动程序[M].魏永明,译.3版.中国电力出版 社,2006.@@[2]毛德操,等.嵌入式系统[M].浙江大学出版社,2003.@@[3]IINUX内核编程指南[M].张瑜,等译.3版清华大学出版 社,2004@@[4]冯国进,等.嵌入式Linux驱动程序设计[M].清华大学出版 社,2008.@@[ 5 ] linux.2.6.31/documentation/input/Multi-touch-protocol. txt,Henrik Ryd berg.嵌入式系统中的电容触摸屏驱动开发作者:郭小梅, Guo Xiaomei作者单位:南京晓庄学院 江苏南京210001刊名:计算机应用与软件英文刊名:Computer Applications and Software年,卷(期):2011,28(10)本文链接:/Periodical_jsjyyyrj201110076.aspx。
基于嵌入式linux系统下的AD7873触摸屏驱动系统设计详解
基于嵌入式linux系统下的AD7873触摸屏驱动系统设计详解1 引言随着计算机技术的发展和普及,触摸屏技术得到了越来越广泛应用,在各种手持设备中,如手机、MP4、掌上游戏机、掌上PDA 等,由于其方便、舒适,使其完全摆脱了键盘和鼠标的束缚,使人机交互更为直截了当。
而在微软最新开发的windows 7 操作系统中,就有其值得骄傲并加以推广的多点触摸技术,并成为一大卖点。
可见,触摸屏技术引起了上到微软,下到普通老百姓的关注。
而在我们的日常生活中,无论你是在商场购物,还是在银行存取款,触摸式的自动服务器将能为你提供了方便快捷的服务。
这里通过对触摸屏原理的理解和分析,成功的设计出了CPU 与触摸屏芯片之间的硬件连接,并依照硬件和驱动设计的原理,设计出了基于嵌入式Linux 和飞思卡尔i.MX27芯片以及AD7873 触摸屏芯片的驱动程序,并成功移植到内核中,实现了家庭控制器系统的触摸技术。
2 硬件系统的构成2.1 电阻式触摸屏原理。
电阻式触摸屏是一种传感器,它将矩形区域中触摸点(X,Y)的物理位置转换为代表X 坐标和Y 坐标的电压。
当触摸屏表面受到的压力(如通过笔尖或手指进行按压)足够大时,顶层与底层之间会产生接触。
所有的电阻式触摸屏都采用分压器原理来产生代表X 坐标和Y 坐标的电压。
如图1 所示,分压器是通过将两个电阻进行串联来实现的。
上面的电阻(R1)连接正参考电压(VREF),下面的电阻(R2)接地。
两个电阻连接点处的电压测量值与下面那个电阻的阻值成正比。
为了在电阻式触摸屏上的特定方向测量一个坐标,需要对一个阻性层进行偏置:将它的一边接VREF,另一边接地。
同时,将未偏置的那一层连接到一个ADC 的高阻抗输入端。
当触摸屏上的压力足够大,使两层之间发生接触时,电阻性表面被分隔为两个电阻。
它们的阻值与触摸点到偏置边缘的距离成正比。
触摸点与接地边缘之间的电阻相当于分压器中下面的那个电阻。
因此,在未偏置层上测得的电压与触摸点到接地边之间的距离成正比。
ARM嵌入式系统的LCD驱动设计
ARM嵌入式系统的LCD驱动设计关键词:ARM;LCD嵌入式系统;驱动设计文章编号:1009-2374#8197;(2010)27- 0065-02 0 引言随着信息技术的不断发展,嵌入式系统正在越来越广泛地应用到航空航天、消费类电子、通信设备等领域。
而在嵌入式系统中丄CD作为人机交互的主要设备之一,显示系统又是不可缺少的一部分。
近年来,随着微处理器性能的不断提高,特别是ARM处理器系列的出现,嵌入式系统的功能也变得越来越强大。
液晶显示器由于具有功耗低、外形尺寸小、价格低、驱动电压低等特点以及其优越的字符和图形的显示功能,已经成为嵌入式系统使用中的首选的输出设备。
S3C2410是三星公司生产的基于32位ARM920内核的RISC微处理器,其主频可达202MHz。
1256彩色LCD屏显示原理320X 240像素的8位数据的256彩色LCD屏,显示一屏所需的显示缓存为320X 240X 8bit,即76800字节,在显示中每个字节,对应着屏上的一个像素点, 因此,8位256彩色显示的显示缓存与LCD屏上的像素点是字节对应的。
每个字节中又有RGB格式的区分,既有332位的RGB又有233的格式,这因硬件而定。
在彩色图象显示时,首先要给显示缓存区一个首地址,这个地址要在4字节对齐的边界上,而且,需要在SDRA的4MB字节控制之内。
它是通过配置相应的寄存器来实现的。
之后,接下来的76800字节,就为显示缓存区,这里的数据会直接显示到LCD屏上去。
屏上图像的变换是由于该显示缓存区数据的变换而产生的。
2 驱动程序的设计和实现通常我们常用的LCD显示模块,有两种,一是带有驱动电路的LCD显示模块,一是不带驱动电路的LCD显示屏。
大部分ARM处理器中都集成了LCD的控制器,所以, 针对ARM芯片,一般不使用带驱动电路的LCD显示模块。
S3C4210中具有内置的LCD驱动器,它能将显示缓存(在SDARI存储器中)中的LCD 图像传输到外部的LCD驱动电路上的逻辑功能。
基于ARM9的嵌入式操作系统的设备驱动设计的开题报告
基于ARM9的嵌入式操作系统的设备驱动设计的开题报告一、研究背景随着嵌入式系统的广泛应用和发展,操作系统的需求越来越高,嵌入式设备的驱动也成为了一个研究热点。
ARM9作为一种先进的微处理器核心,在嵌入式领域得到了广泛的应用。
嵌入式操作系统必须要与硬件设备紧密配合,使嵌入式设备能够更好地运作。
因此,设计一种基于ARM9的嵌入式操作系统设备驱动具有重要的现实意义。
二、研究目的本研究的目的是设计一种基于ARM9的嵌入式操作系统设备驱动,使该操作系统更加适用于嵌入式系统中各种不同的硬件设备。
具体目标包括:1. 分析ARM9的架构和指令系统,了解ARM9的特点和优势。
2. 研究嵌入式操作系统的基本原理和设计思路,了解设备驱动的基本概念和实现方式。
3. 针对不同硬件设备,设计相应的设备驱动程序,保证其与嵌入式操作系统的兼容性和稳定性。
4. 测试并评估所设计的设备驱动的性能和稳定性,为嵌入式操作系统的应用提供支持。
三、研究内容和方法本研究的内容包括:ARM9架构和指令系统的研究,嵌入式操作系统的基本原理和设计思路的研究,不同硬件设备驱动的设计,性能和稳定性测试评估等。
本研究的方法主要包括文献资料法、理论研究法、软件开发法和实验法等。
通过查阅相关文献资料,掌握ARM9架构和指令系统的相关知识,深入研究嵌入式操作系统的基本原理和设计思路;根据硬件设备的特点和需要,设计相应的设备驱动程序;通过软件开发过程中的方案设计、代码编写、调试和验证等步骤,完成设备驱动的开发工作;最后进行性能和稳定性测试评估,对所开发的设备驱动程序进行完整性检验。
四、预期成果本研究的预期成果包括:1. 设计一种基于ARM9的嵌入式操作系统设备驱动程序,支持不同硬件设备的应用需求。
2. 验证所设计的设备驱动程序的稳定性和可靠性。
3. 评估所设计的设备驱动程序的性能和效果,为嵌入式设备的开发提供支持。
4. 以论文的形式汇报本研究的过程和结果,为相关领域的研究提供参考资料。
基于ARM单片机的触摸屏控制器的设计
基于ARM单片机的触摸屏控制器的设计班级:学号:姓名:日期:第1章绪论1.1触摸屏简介触摸屏又称为“触控屏”、“触控面板“,是一个可接收触头等输入讯号的感应式显示装置,当接触了屏幕上的某位置时,屏幕上的触觉反馈系统可根据预先编程的程序给出操作者所触压的点,可用以取代机械式的按钮面板,并通过LCD 液晶显示模块制造出生动的界面效果。
触摸屏作为一种新的电脑输入设备,它是目前最简单、方便、自然的一种人机交互方式。
随着多媒体信息查询的与日俱增,人们越来越多地使用触摸屏,而且触摸屏具有坚固耐用、反应速度快、节省空间、易于人机交互等许多优点。
利用这种技术,用户只要用手指轻轻地触摸计算机显示屏上的图符或文字就能实现对主机操作,从而使人机交互更为直截了当,这种技术大大方便了那些不懂电脑操作的用户。
1.2 触摸屏的主要类型及特点从技术原理来区别触摸屏,可分为五个基本种类:矢量压力传感技术触摸屏、电阻技术触摸屏、电容技术触摸屏、红外线技术触摸屏、表面声波技术触摸屏。
其中矢量压力传感技术触摸屏已退出历史舞台;红外线技术触摸屏价格低廉,但其外框易碎,容易产生光干扰,曲面情况下失真;电容技术触摸屏设计构思合理,但其图像失真问题很难得到根本解决;电阻技术触摸屏的定位准,但怕刮易损;表面声波触摸屏解决了以往触摸屏的各种缺陷,清晰不容易被损坏,适于各种场合,缺点是屏幕表面如果有水滴和尘土会使触摸屏变的迟钝,甚至不工作。
按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。
每一类触摸屏都有其各自的优缺点,要了解哪种触摸屏适用于哪种场合,关键就在于要懂得每一类触摸屏技术的工作原理和特点。
1.3触摸屏的应用与发展趋势触摸屏起源于20 世纪70 年代,早期多被装于工控计算机、POS 机终端等工业或商用备之中。
2007 年iPhone 手机的推出,成为触控行业发展的一个里程碑。