美文网首页
I2c设备-tp驱动分析(二)

I2c设备-tp驱动分析(二)

作者: SayidZhong | 来源:发表于2017-11-25 16:58 被阅读0次

    转载请注明出处 !!

    流程:

    module_init → i2c 注册 → 驱动注册 → 驱动初始化 → 设备的注册→ 上电(硬件初始化) → 固件下载(软件初始化) → 中断申请 → 结束

    TP 无触摸分析:

    1. TP 无触摸的现象: 主要变现为触摸 TP 无反应,或者一部分区域无反应。

    2. TP 无触摸的分类 由于触摸 TP 无反应有很多原因,有可能是没有中断,也有可能是有中断但 是不能准确触摸,所以 TP 无反应主要分为两种:

    1、有中断性质;2、无中断性质;

    1. TP 无触摸的确认 TP 无触摸的可以通过 adb信息查看:1、adb shell cat proc/kmsg2、adb shell getevent

    2. 导致没有中断的原因

    软件方面的原因:

    • ① 中断的模式,中断引脚是否正确 ----- 中断引脚一般出现问题的 概率性很大

    • ② TP 的固件是否正确 ---- 即.h 有没有下载正确,主要的办法就是将 (3.0)里的数据打印出来跟正确测试 OK 的.h 对比来判断。

    • ③ I2C 是否能正常通讯 ---- 没有中断很多原因都是 i2c 不通导致,所 以优先考虑

    1. I2C 不通:如何判断驱动 i2c 是否通讯成功?
    • 1、硬件方面:用示波器查看波形,测试每个 GPIO 的电压。 1/每个 GPIO 的电压:VCC 电压 2.8V----3.3V,SDA,SCL 电压 1.8V 或 2.8V,主要是指芯片的 VDDIO 的电压。RST 电压 1.8V 或者 2.8V IRQ 电压 1.8V 或者 2.8V2/ 通过示波器查看 SDA 跟 SCL 的波形

    • 2、软件方面:通过读写某些的寄存器,读写的方法主要有两种: 1/ 读 0xfc 或者 0xb0 的值。 2/ 向某个寄存器写入一个数据,然后再将该地址里的数据读出来, 对比读前后两个数据是否相同。

    软件方面:

    • 1、检查 i2c 是否注册成功 ls sys/bus/i2c/devices/主要是通过 adb shell 来查看,在 sys/bus/i2c/devices/下有没有 1-0040 或 者 0-0040 这个地址,并且在该目录下有我们 i2c 设备的相关信息, if no 则说明i2c 没有注册成功

    • 2、GPIO 的配置 i2c 总线的配置

    硬件方面:

    主要考虑每个 GPIO 的电压 通过万用表可以测试开机后 IC 每个引脚的电压,主要就是 VCC、SDA、 SCL、RST 的电压。这里重点测试 VCC 电压跟 SDA、SCL 电压是否达到要求。

    image image image image

    [图片上传中...(image-887d98-1511600277619-0)]

    相关文章

      网友评论

          本文标题:I2c设备-tp驱动分析(二)

          本文链接:https://www.haomeiwen.com/subject/lkmcbxtx.html