You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux i2c-at91驱动下I2C SCL线异常毛刺/脉冲问题求助

Goodix GT911 I2C通信SCL毛刺故障排查修复建议(Linux 3.10内核)

硬件层面排查

  • 检查I2C总线的上拉电阻:确认SDA/SCL线上拉电阻阻值符合GT911 datasheet要求(通常4.7k~10k),阻值过小易引发信号边沿过陡产生毛刺,过大则会导致信号上升过慢触发误判。
  • 排查走线干扰:查看SCL/SDA走线是否靠近高频信号(如PWM、时钟线),是否存在过长走线或过孔过多的情况,尝试缩短走线、增加接地屏蔽层。
  • 验证电源稳定性:用示波器测量GT911的VCC引脚电压,确认多次传输过程中电压纹波是否超过50mV,必要时在VCC与GND之间并联100nF陶瓷电容加强滤波。
  • 检查复位电路:确认GT911的RST引脚复位逻辑正常,多次传输后无异常复位导致的通信紊乱,复位电平持续时间需符合datasheet要求。

驱动代码层面优化

  • 增加I2C传输重试机制:在读写函数中添加重试逻辑,传输失败后可尝试重置I2C控制器再重试,示例代码:
#define I2C_RETRY_CNT 3

int gt911_i2c_read(struct i2c_client *client, u16 reg, u8 *buf, u16 len)
{
    int ret;
    int retry = 0;
    do {
        ret = i2c_smbus_read_i2c_block_data(client, reg, len, buf);
        if (ret >= 0)
            break;
        msleep(10);
        // 重置I2C设备连接
        i2c_unregister_device(client);
        i2c_register_device(client);
    } while (retry++ < I2C_RETRY_CNT);
    return ret;
}
  • 降低I2C传输速率:将设备树中的I2C速率从默认400kHz降至100kHz,旧内核对高速率I2C的兼容性可能存在缺陷。
  • 优化中断处理逻辑:简化触摸中断处理函数,将耗时操作移至工作队列(workqueue)执行,避免中断阻塞导致I2C通信时序异常。
  • 禁用I2C DMA传输:若当前驱动启用了DMA,尝试切换为PIO模式,部分Linux 3.10内核的I2C DMA驱动存在兼容性问题,易引发信号毛刺。

设备树配置检查

  • 确认GT911节点的引脚配置正确性,重点检查中断、复位引脚的电平极性:
gt911@5d {
    compatible = "goodix,gt911";
    reg = <0x5d>;
    interrupt-parent = <&gpio1>;
    interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
    reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
    touchscreen-size-x = <1080>;
    touchscreen-size-y = <2340>;
    pinctrl-names = "default";
    pinctrl-0 = <&gt911_pins>;
};
  • 检查I2C控制器节点的时钟配置,确保时钟源稳定无漂移:
i2c1: i2c@xxxxxx {
    compatible = "xxxx,i2c-controller";
    reg = <0xxxxxx 0x1000>;
    clocks = <&clk 20>;
    clock-frequency = <100000>; // 调整为100kHz
    pinctrl-names = "default";
    pinctrl-0 = <&i2c1_pins>;
    status = "okay";
};

内核I2C子系统参数调整

  • 调整I2C传输超时时间:在驱动初始化时设置合适的超时值,避免因超时导致的异常信号:
client->timeout = msecs_to_jiffies(50); // 设置为50ms超时
  • 禁用I2C快速Ack特性:部分SoC的I2C控制器快速Ack特性可能与GT911不兼容,参考对应SoC的I2C驱动文档禁用该功能。

内容的提问来源于stack exchange,提问作者EEALNT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 12:46:15