资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,勇敢,让未知更美,勇敢,让未知更美,主要内容,:,常见的触摸屏技术:电阻式、表面电容式,(surface capacitive touch panel),、投射电容式,(project capacitive touch panel),、电磁式、红外感应式等等;如今应用于手机、平板产品的主要是,投射电容式,、电磁式,(,主要突出的是手写笔功能,如三星的,Galaxy Note,系列,),。,目前,生产触控,IC,的厂家有,新思、赛普拉斯、,ATMEL,、,敦泰,、,汇顶,、奕力、义隆、,晨星,、美发思、矽创等。,国内的模组厂有欧菲、信利、胜华、帝晶、华意、,TPK,、合力泰、超声、创维等。,一、触摸屏简介,投射式电容触控技术就是利用了平行板电容的基本原理,,,在两层,ITO,(,锡氧化铟),导电玻璃涂层上蚀刻出不同的,ITO,导电线路模块。两个模块上蚀刻的图形相互垂直,可以把它们看作是,X,和,Y,方向连续变化的通道。由于,X,、,Y,架构,在不同表面,其相交处形成一节点电容,根据平行板电容计算公式有:,C=e*S/(4,兀,KD),,,其中:,S,为正对面积,,D,为正对距离,,e,为材料的介电常数,。,其中一个通道可以当成驱动线,另外一个通道当成是侦测线。当电流经过驱动线中的一条导线时,如果外界有电容变化的信号,那么就会引起另一层导线上电容节点的变化。侦测电容值的变化可以通过与之相连的电子回路测量得到,再经由,A/D,控制器转为数字讯号让计算机做运算处理取得(,X,,,Y,)轴位置,进而达到定位的目地。,操作时,控制器先后提供电流给驱动线,因而使各节点与导线间形成一特定电场。然后逐列扫描感应线测量其电极间的电容变化量,从而达成多点定位。当手指或触动媒介接近时,控制器迅速测知触控节点与导线间的电容值改变,进而确认触控的位置。这种一根轴通过一套,AC,信号来驱动,而穿过触摸屏的响应则通过其它轴上的电极感测出来。使用者们把这称为“横穿式”感应,也可称为投射式感应。传感器上镀有,X,,,Y,轴的,ITO,图案,当手指触摸触控屏幕表面时,触碰点下方的电容值根据触控点的远近而增加,传感器上连续性的扫描探测到电容值的变化,控制芯片计算出触控点并回报给处理器。,二、电容触摸屏,(CTP),工作原理,(1),用特殊的导电体如,ITO,(,氧化铟锡,透明、高导电性、高稳定性、高灵敏度,),按照设计好的,X,、,Y,交互图案电镀在基材上(如,Glass,或者,Film,板)组成感应器,公差一般,0.01mm,。,(2),驱动,IC,可以感应到行、列通道的模拟信号量。,Sensor,设计:,常见,ITO,图案:,IC,对原始信号进行处理,转化为触摸点重心的坐标信息,ITO,做成”菱形,/,矩形,/,六边形,/,三角形”,分割为驱动和接受通道,感应原理,手指与,CTP,形成耦合电容,耦合电容使得,CTP,寄生电容,Cp,改变,通过检测,Cp,是否变化,从而感知”被触摸”,1.CTP,按照驱动方式分类,:,自电容,(Self capacitor),检测每个感应单元自身电容,(,对,GND),的变化。当手指靠近或触摸到触摸屏时,手指的电容叠加到屏体电容上,是屏体电容增加。在触摸检测时,一次分别检测,M,个,X,轴和,N,个,Y,轴点击阵列。跟进触摸前后所有自电容量的变化,确定手指所在的,X,坐标和,Y,坐标,最后组合成平面的触摸坐标。,互电容,(Mutual capacitor),检测两个交叉感应块之间形成的电容,两个感应块分别构成电容的两级。互电容测量方法,横向电极以此提供激励信号,纵向所有电极同时接受信号,这样可以得到所有横向和纵向点击交汇点的电容大小,即整个触摸屏的二维平面大小。根据触摸屏的二维电容变化量资料,可以计算出每一个触摸点的坐标。因此,即使评上有多个触摸点,也能计算出每个触摸点的真实坐标,基于这种测量方法,可以准确测量多点绝对坐标,。,2.,自电容驱动模式,:,3.,互电容驱动模式,:,Cover LENS,固态,/,液态,OCA,Film/Glass sensor,FPC,1.,基本结构,:,三、电容触摸屏结构,2.CTP,按照,Sensor,结构分类,:,3.,常见,CTP,结构:,叠构图,OGS,结构:,One Glass Solution,,单层玻璃集成,LENS,跟,Sensor,功能,Sensor,图,G+G,结构模型图,又分为,SITO(,单面,ITO),和,DITO(,双面,ITO),两种,早期,iphone,用,DITO,结构,G+G,结构:,2.GG(DITO),结构:,LENS+OCA+ITO-GLASS+TAC+FPC,-,单层玻璃双面走线结构,又叫,GGD,,,TAC,层用于消除底影、保护,ITO,图案和金属走线。,G+F,结构:,GF,结构:,LENS+OCA+ITO-FILM+FPC,单层菲林图案结构,可以做,GF(,单点加手势触摸功能,),,也可以做,GFM(,多点触摸功能,),,,ITO,面朝上。,G+F+F,结构:,电容,触控,IC,用到的基本通讯接口有三种:,IIC,、,UART,、,SPI,,目前一般只用,IIC,接口,主要的接口引脚有:,VDD,、,GND,、,SCL,、,SDA,、,INT,、,RESET,。,定义,描述,VDD,TP,电源端口,为,TP,供电,一般为,3.3V/2.8V,GND,TP,的地线,SCL,IIC,通讯接口时钟线,控制,IIC,总线传输速率,SDA,IIC,通讯接口数据线,传输主机与,TP,之间的数据,INT,TP,中断信号接口,由,TP,端发出,用于通知主机读取坐标数据,一般为低电平触发,RESET,TP,的复位信号,由有主机端发出,一般为低电平时,TP,会复位,VDDIO,TP,的,IO,口电压,一般为,2.8V/1.8V,,须低于,VDD,,,四、电容触摸屏硬件接口,电气连接框图:,TP,端,主机端,VDD,GND,SCL,SDA,INT,RESET,VDDIO,硬件原理图,1.TP,的软件,基本,操作流程,:,主机,端,初始化,TP,的接口,方式,(I2C,端口初始化,),;,TP IC,初始化,(,主要是为,TP,上电、复位及下发配置参数,让,TP,工作起来,,不同,厂家,的,IC,初,始化,方式,不同,有些,TP,不需要主机端下发配置参数,),;,设置,TP INT,引脚,(,中断,方式:,低,/,高,电平中断、下降沿,/,上升沿,中断,),,装载中断向量表;,等待,中断信号,读取手指触摸坐标,数据,,并上报给系统。,五、,MTK,平台驱动实现,2.TP,驱动流程,3.,驱动移植,:,(1),在,kernel-3.10driversinputtouchscreenmediatek,目录下,新建,ft6x36_sp603,文件夹,把厂家提供的驱动文件放在该文件夹下。,(2),修改,TP,驱动的,Kconfig,配置文件,修改,kernel-3.10driversinputtouchscreenKconfig,文件,增加配置项“,config TPD_CUSTOM_FT6X36_SP603,”,如下图所示:,(4),修改配置文件,修改,/kernel-3.18/arch/arm64/configs/lava6750_sp603_th_debug_defconfig,与,lava6750_sp603_th_defconfig,文件,配置,CONFIG_INPUT_TOUCHSCREEN=y,CONFIG_TOUCHSCREEN_MTK=y,增加配置项:,CONFIG_TPD_CUSTOM_FT6X36_SP603=y,把新增的,TP,驱动文件夹编译进内核,(3),修改,TP,驱动的,makefile,编译文件,修改,kernel-3.10driversinputtouchscreenmediatekmakefile,文件,增加编译选项,obj-$(CONFIG_MSG5846_SP466)+=msg5846_sp466/,(5),配置,codegen.,dws,文件,I2C,相关配置,电源配置,如,TP,采用了内部,ldo,供电,则需要配置,PMIC,GPIO,相关配置,按原理图配置,I2C,、,INT,、,RESET,引脚,(6)dts,文件配置,修改,/kernel-3.18/arch/arm64/boot/dts/mt6755.dtsi,,配置节点,compatible=“mediatek,mt6755-touch”;,修改,/kernel-3.18/arch/arm64/boot/dts/cust_i2c.dtsi,,配置,I2C,节点,compatible=“mediatek,cap_touch”;,5d,为触摸屏,I2C,地址,修改,/kernel-3.18/arch/arm64/boot/dts/mt6755.dtsi,,配置,TP,的分辨率、虚拟按键、引脚等信息,Name,Description,tpd-resolution,分辨率,use-tpd-button,如果,TP,有带按键,则定义值为,1,TPD_BUTTON_HEIGH,按键的高度,tpd-key-num,按键的数量,tpd-key-local,按键的编码,一般为,KEY_MENU,KEY_HOMEPAGE,KEY_BACK,的键值,tpd-key-dim-local,按键的布局信息,包含按键的宽度、高度、中心点的坐标,tpd-max-touch-num,支持的最大触摸点数,其中,代表了,KEY_MENU,的坐标信息,,(90,833),是该,key center,的坐标,,100,是该键的宽度,,40,是该键的高度。,例如:,MENU,HOME,BACK,720 x1280,tpd-key-dim-local=;,参数说明,4.,驱动流程:,5.,驱动函数分析:,mtk_tpd.c,文件,注册,INPUT,子系统驱动设备,注册平台驱动,驱动探测函数,分配,input,设备存储空间,特定,TP,初始化,input,设备注册,把设备加入,input,设备链表,生成“,dev/input/eventX,”,节点,按键初始化,注册,call back,回调,,LCD ON/OFF,时调用,亮屏,resume,灭屏,suspend,Focaltech_driver.c,文件,注册,I2C,总线从设备驱动,获取,TP,节点信息,添加,TP,驱动到链表,注册,I2C,从设备驱动,设置按键,电源设置,上电,启动中断线程,复位脚设置,读,chip ID,中断注册,报点事件处理函数,读取坐标,上报按压事件,上报抬手事件,调用,i2c,函数读取报点信息,解析(,X,,,Y,)坐标,抬手处理函数,给系统上报按键,给系统上报坐标,(3),相关调用函数说明,手指按压处理函数,同步事件,通知系统本次报点已全部完成,同步事件,通知系统单次报点事件已完成,6.,问题排查:,(1)adb,查看系统节点是否挂载。,如果节点没有生成,则核查,dws,配置,驱动代码里面用到的的,of_device_id,节点名称是否一致,(2),查看开机,log,,看,i2c,通讯是否,OK,,读,chip ID,是否成功。,如果查看到读,ID,成功或者设备挂载成功,说明,I2C,已经通讯成功。,如果读,chip,ID,不成功,则排查,I2C,硬件连接和软件配置,i2c bus num,、,addr,是否正确,,rst,是否正常复位。,I2c,通讯成功后,,tp,还是不能使用,这继续排查,EINT,中断问题,软件上,eint,管脚是否配置正确,以及和,FAE,确认,CTP,固件是否正确,
展开阅读全文