二十、SWM341系列I2C模块 20.1、I2C端口上拉应用 现象: 客户测试过程中会出现卡死的现象但是卡死过程中不会有hardfault出现。 分析与解决:经过排查,客户测试过程中会碰到CTP的排线,仿真结果是在I2C_stop卡住,stop信号没有发送出去,在等待发送完成。有可能由于排线松动导致stop没法发出高电平清0寄存器。经过复查客户I2C没有外部上拉电阻,可能会有没法清零stop的寄存器导致芯片一直在轮询标志位等待。
20.2、CTP 触摸的地址问题 现象:客户需要调试FT6336G的触摸IC; 分析与解决:与FT6336U的区别在于器件地址,把0x90改成0x70,正常触摸;
20.3、电容屏触摸不良时排查方向 现象:客户反馈样板在测试时触摸有概率会卡死不动。 分析与解决:现场测试发现确实能重现不良,与客户沟通得知触摸出现异常卡死时可以通过软件复位I2C与触摸IC之后恢复正常,也可以通过改变I2C的硬件上拉电阻的大小来减少卡死的概率发生,通过示波器测试观察I2C的通讯波形发现触摸卡死时,SDA信号线的电平一直为低,无法被拉高,而触摸时CT-INT仍有信号,此时用镊子去手动复位CT-RST后,I2C恢复通讯,触摸恢复正常,将I2C通讯所串连的电阻断开通过飞线接到一起,在出现异常时将I2C断开与触摸IC的连接再测试主控IC波形发现仍可输出信号, 从而推断触摸IC出了问题。 经验 收获:电容屏触摸不良时优先察看硬件I2C是否有接上拉,接了多大的上拉,一般接(4.7-10k)的上拉电阻,之后再看CT_INT的波形,在CT_INT信号正常时再去看I2C信号,之后可断开触摸IC与主控IC之间的I2C通讯来排查哪边出了问题,若没有CT_INT信号优先怀疑触摸面板或者触摸IC。
20.4、I2C通讯端口上拉电阻和使用GT9x无法触控问题 问 题:代理商九杨,项目使用触摸IC-GT911,多次触摸后,触摸没反应。 分析和解决:刚开始客户怀疑硬件I2C问题,但换成软件I2C也会复现,以及改优化等级和keil版本也有影响,目前通过把上拉电阻改成2K有很大改善。
二十一、SWM341系列晶振应用
21.1、外部晶振不起振问题 --WUT 2023-7-17现象:客户使用SWM34S反馈使用外部晶振时,程序卡在 while(SYS->PLLLOCK == 0); 并且使用内部晶振时程序可以正常运行。 分析与解决:程序配置为外部晶振时无法正常运行,debug仿真通常停在 while(SYS->PLLLOCK == 0); 中,此时使用内部晶振时程序运行正常,此时建议客户排查外部晶振,博一电子是由于物料的型号不匹配,导致无法正常起振,更换正确物料后程序正常运行。
|