触摸屏驱动总结_第1页
触摸屏驱动总结_第2页
触摸屏驱动总结_第3页
触摸屏驱动总结_第4页
触摸屏驱动总结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、触摸屏驱动总结触摸屏工作原理触摸屏的工作原理概括来说就是上报坐标值,X轴、Y轴的值。电容式触摸屏不依靠手 指按力创造、改变电压值来检测坐标的,电容屏通过任何持有电荷的物体包括人体皮肤工作 (人体所带的电荷)。电容式触摸屏是由诸如合金或是金因金易氧化物(ITO )这样的材料构成, 电荷存储在一根根比头发还要细的微型静电网中。当手指点击屏幕,会从接触点吸收小量电 流,造成角落电极的压降,利用感应人体微弱电流的方式来达到触控的目的。(这是为什么 当你带上手套触摸屏幕时,没有反应的原因),下图可以清晰的说明电容屏的工作原理。上图显示了触摸屏的组成,可以看到触摸屏由IC控制电路、接口电路、触摸屏感应区

2、组合而成。当然触摸屏的工作原理我们并不需要去详细了解,我们仅需要知道如何从接口电路获取 输入信号、向接口电路输出信号即可。SPI总线总结SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工, 同步的通信总线。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个 从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共 有的,它们是SDI (数据输入)、SDO (数据输出)、SCLK(时钟)、CS(片选)。(1)SDO -主设备数据输出,从设备数据输入;(2)SDI -主设备数据输入

3、,从设备数据输出;(3)SCLK-时钟信号,由主设备产生;(4)CS-从设备使能信号,由主设备控制。其中,CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时 (高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成 为可能。structboardinfo structlist_head list;用于挂接到链表头 board_list 上unsigned n_board_info;设备信息号,spi_board_info成员的编号structspi_board_infoboard_info0;内嵌的 spi_board_info 结构;其中内嵌的描

4、述spi设备的具体信息的结构structspi_board_info为:structspi_board_info /* the device name and module name are coupled, like platform_bus;modalias is normally the driver name.* platform_data goes to spi_device.dev.platform_data,controller_data goes to spi_device.controller_data,irq is copied too*/charmodaliasSPI_N

5、AME_SIZE; /名字const void *platform_data如同注释写的指向 spi_device.dev.platform_datavoid*controller_data;指向 spi_device.controller_dataintirq;中断号/* slower signaling on noisy or low voltage boards */u32max_speed_hz;时钟速率/* bus_num is board specific and matches the bus_num of somespi_master that will probably be

6、 registered later.*chip_select reflects how this chip is wired to that master;its less than num_chipselect.*/u16bus_num;所在的spi总线编号u16chip_select;/* mode becomes spi_device.mode, and is essential for chipswhere the default of SPI_CS_HIGH = 0 is wrong.*/u8 mode;模式/* . may need additional spi_device ch

7、ip config data here.avoid stuff protocol drivers can set; but include stuffneeded to behave without being bound to a driver:-quirks like clock rate mattering when not selected*/;2.6内核典型的做法,不直接使用原始设备驱动,而是使用包装后的抽象设备驱动 spi_driver,间接与原始设备驱动建立联系,并最终通过调用driver_register来注册原始设备 驱动。以后也不会直接与原始设备打交道,而是通过spi_de

8、vice来间接操作设备。Touch Screen总体结构框架图触摸屏驱动软件结构触摸屏驱动的软件架构如下图所示:1.21.2.3.4.5.6.7.8.9.平台设备注册触摸屏驱动初始化平台驱动注册设备的探测函数电源适配分配输入设备注册成系统的输入设备 纯中断的工作函数驱动初始化的流程驱动初始化流程如下图所示:我们根据流程图可以看到驱动初始化时也同时启动电源,为触摸屏注册SPI接口。驱动的 suspend 和 resume休眠/唤醒是Android中非常重要的部分,Android手持设备尽可能的进入休眠状态来延 长电池的续航时间在Android中,休眠时会冻结用户态进程和内核态任务,调用注册设备的suspend的回 调函数,顺序是按照注册顺序。休眠核心设备和使CPU进入休眠冻结进程是内核把进程列表中所有的进程状态都设为 停止,并且保存下所有进程的上下文,当这些进程被解冻的时候,他们不知道自己被冻结过, 只是简单的继续执行。因此,在触摸屏驱动中首先需要suspend和resume两个函数。在suspend中用vreg_disable_adapt()来关闭电源,在 resume 中用 vreg_enable_adapt()来开启电源。Early suspend是Android引进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论