1、电容触摸屏原理及其驱动实现电容触摸屏原理及其驱动实现主要内容主要内容:常见的触摸屏技术:电阻式、表面电容式(surface capacitive touch panel)、投射电容式(project capacitive touch panel)、电磁式、红外感应式等等;如今应用于手机、平板产品的主要是投射电容式投射电容式、电磁式(主要突出的是手写笔功能,如三星的Galaxy Note系列)。目前生产触控IC的厂家有新思、赛普拉斯、ATMEL、敦泰、汇顶、奕力、义隆、晨星、美发思、矽创等。国内的模组厂有欧菲、信利、胜华、帝晶、华意、TPK、合力泰、超声、创维等。一、触摸屏简介一、触摸屏简介 投
2、射式电容触控技术就是利用了平行板电容的基本原理,在两层ITO(锡氧化铟)导电玻璃涂层上蚀刻出不同的ITO导电线路模块。两个模块上蚀刻的图形相互垂直,可以把它们看作是X和Y方向连续变化的通道。由于X、Y架构在不同表面,其相交处形成一节点电容,根据平行板电容计算公式有:C=eC=e*S/(4S/(4兀兀KD)KD),其中:S为正对面积,D为正对距离,e为材料的介电常数。其中一个通道可以当成驱动线,另外一个通道当成是侦测线。当电流经过驱动线中的一条导线时,如果外界有电容变化的信号,那么就会引起另一层导线上电容节点的变化。侦测电容值的变化可以通过与之相连的电子回路测量得到,再经由A/D控制器转为数字讯
3、号让计算机做运算处理取得(X,Y)轴位置,进而达到定位的目地。操作时,控制器先后提供电流给驱动线,因而使各节点与导线间形成一特定电场。然后逐列扫描感应线测量其电极间的电容变化量,从而达成多点定位。当手指或触动媒介接近时,控制器迅速测知触控节点与导线间的电容值改变,进而确认触控的位置。这种一根轴通过一套AC 信号来驱动,而穿过触摸屏的响应则通过其它轴上的电极感测出来。使用者们把这称为“横穿式”感应,也可称为投射式感应。传感器上镀有X,Y轴的ITO图案,当手指触摸触控屏幕表面时,触碰点下方的电容值根据触控点的远近而增加,传感器上连续性的扫描探测到电容值的变化,控制芯片计算出触控点并回报给处理器。二
4、、电容触摸屏二、电容触摸屏(CTP)工作原理工作原理(1)用特殊的导电体如ITOITO(氧化铟锡,透明、高导电性、高稳定性、高灵敏度)按照设计好的X、Y交互图案电镀在基材上(如Glass或者Film板)组成感应器,公差一般0.01mm。(2)驱动IC可以感应到行、列通道的模拟信号量。Sensor设计:常见ITO图案:IC对原始信号进行处理,转化为触摸点重心的坐标信息对原始信号进行处理,转化为触摸点重心的坐标信息ITO做成做成”菱形菱形/矩形矩形/六边形六边形/三角形三角形”,分割为驱动和接受通道分割为驱动和接受通道感应原理感应原理手指与手指与CTP形成形成耦合电容耦合电容耦合电容使得耦合电容使
5、得CTP寄生电容寄生电容Cp改改变,通过检测变,通过检测Cp是否变化,从而是否变化,从而感知感知”被触摸被触摸”1.CTP 按照驱动方式分类:自电容(Self capacitor)检测每个感应单元自身电容(对GND)的变化。当手指靠近或触摸到触摸屏时,手指的电容叠加到屏体电容上,是屏体电容增加。在触摸检测时,一次分别检测M个X轴和N个Y轴点击阵列。跟进触摸前后所有自电容量的变化,确定手指所在的X坐标和Y坐标,最后组合成平面的触摸坐标。互电容(Mutual capacitor)检测两个交叉感应块之间形成的电容,两个感应块分别构成电容的两级。互电容测量方法,横向电极以此提供激励信号,纵向所有电极同
6、时接受信号,这样可以得到所有横向和纵向点击交汇点的电容大小,即整个触摸屏的二维平面大小。根据触摸屏的二维电容变化量资料,可以计算出每一个触摸点的坐标。因此,即使评上有多个触摸点,也能计算出每个触摸点的真实坐标,基于这种测量方法,可以准确测量多点绝对坐标。2.自电容驱动模式:3.互电容驱动模式:Cover LENS固态/液态OCAFilm/Glass sensorFPC1.基本结构:三、电容触摸屏结构三、电容触摸屏结构2.CTP 按照Sensor结构分类:3.常见CTP结构:叠构图 OGS结构:结构:One Glass Solution,单层玻璃集成,单层玻璃集成LENS跟跟Sensor功能功能
7、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接口,主要的接口引脚有:
8、VDD、GND、SCL、SDA、INT、RESET。定义定义描述描述VDDTP电源端口,为TP供电,一般为3.3V/2.8VGNDTP的地线SCLIIC通讯接口时钟线,控制IIC总线传输速率SDAIIC通讯接口数据线,传输主机与TP之间的数据INTTP中断信号接口,由TP端发出,用于通知主机读取坐标数据,一般为低电平触发RESETTP的复位信号,由有主机端发出,一般为低电平时TP会复位VDDIOTP的IO口电压,一般为2.8V/1.8V,须低于VDD,四、电容触摸屏硬件接口四、电容触摸屏硬件接口电气连接框图:TP端主机端VDDGNDSCLSDAINTRESETVDDIO硬件原理图1.TP的软件
9、基本操作流程:主机端初始化TP的接口方式(I2C端口初始化);TP IC初始化(主要是为TP上电、复位及下发配置参数,让TP工作起来,不同厂家的IC初 始化方式不同,有些TP不需要主机端下发配置参数);设置TP INT引脚(中断方式:低/高电平中断、下降沿/上升沿中断),装载中断向量表;等待中断信号,读取手指触摸坐标数据,并上报给系统。五、五、MTK平台驱动实现平台驱动实现2.TP驱动流程3.驱动移植:(1)在 kernel-3.10driversinputtouchscreenmediatek 目录下,新建 ft6x36_sp603 文件夹,把厂家提供的驱动文件放在该文件夹下。(2)修改TP
10、驱动的 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=yCONFIG_TOUCHSCREEN_MTK=y增加配置项:CONFIG_TPD_CUSTOM_FT6
11、X36_SP603=y把新增的TP驱动文件夹编译进内核(3)修改TP驱动的makefile编译文件 修改kernel-3.10driversinputtouchscreenmediatekmakefile文件,增加编译选项 obj-$(CONFIG_MSG5846_SP466)+=msg5846_sp466/(5)配置 codegen.dws文件 I2C相关配置 电源配置,如 TP 采用了内部 ldo 供电,则需要配置 PMICGPIO相关配置,按原理图配置I2C、INT、RESET引脚(6)dts文件配置 修改/kernel-3.18/arch/arm64/boot/dts/mt6755.d
12、tsi,配置节点 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的分辨率、虚拟按键、引脚等信息NameDescriptiontpd-resolution分辨率use-tpd-button如果TP有带按键,则定义值为1TPD_BUTTON_HEIGH按键的高度tpd-ke
13、y-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是该键的高度。例如:MENUHOMEBACK720 x1280tpd-key-dim-local=;参数说明4.驱动流程:5.驱动函数分析:mtk_tpd.c文件,注册INPUT子系统驱动设备注册平台驱动驱动探测函数分
14、配input设备存储空间特定TP初始化input设备注册,把设备加入input设备链表,生成“dev/input/eventX”节点按键初始化注册call back回调,LCD ON/OFF时调用亮屏resume灭屏suspendFocaltech_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固件是否正确
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。