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

转载请注明出处 !!

流程:

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 通信可以说是最被广泛使用和采纳的协议之一,采用 I2C 协议可以占用更少的资源,链接...
    noparkinghere阅读 2,289评论 0 8
  • 什么是嵌入式 IEEE(Institute of Electrical and Electronics Engin...
    Leon_Geo阅读 3,782评论 1 20
  • ​​​本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。 嵌入式系统基础 1、嵌入式系统的定义 (1)定义:...
    OpenJetson阅读 3,354评论 0 13
  • I2C几乎是嵌入系统中最为通用串行总线,MCU周边的各种器件只要对速度要求不高都可以使用。优点是兼容性好(几乎所有...
    熊小宇阅读 26,000评论 7 23
  • 看到“抑郁是爱的附属品”这句话让我觉得意味深长。 很多人把悲伤当成抑郁,但是两者是不一样的,悲伤要叠加叠加n倍。 ...
    驭临风阅读 716评论 0 5