打印

正点原子4.3寸电容液晶屏IIC驱动 GT9147 死机问题

[复制链接]
301|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰糖炖雪梨|  楼主 | 2018-7-16 09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
朋友找我调试一款采集电路 ucosII+stemwin+24C02+stm32F4
问题是第一批产品运行了一个星期之后 死机
死机分析
第一步:将驱动模块化之后 单独调试跑裸机 会不会死机
            结果发现单独调试触摸屏的时候运行了5个小时之后 死机了
第二步:将不必要的代码去除掉
            结果发现原理图上使用的是SPI驱动 但证实情况是IIC驱动
第三步:使用逻辑分析仪查看 触摸屏有触摸的时候波形与无触摸时候的波形差异,然后在此基础上分析死机之后各自的情况
            结果发现死机之后逻辑分析仪始终检测不到有触摸的波形,但是单片机的模拟IIC代码确实是在运行的
第四步:由以上分析可以判断触摸屏的IIC被挂起了
            解决办法:每次读写触摸屏的之前先判断IIC是否被挂起 如果挂起了在scl引脚上发送9个连续电平翻转即可解除挂起
第五步:24C02也是使用模拟IIC 也有可能出现以上情况 读写之前也要判读IIC是否挂起。
            结论:建议使用硬件IIC stm32F103系列不推荐 本人推荐stm32F107系列
                     因为本人调试ublox的IIC 就是用的stm32F107系列调通的


分析为什么stm32F103的模拟IIC这么难用呢
第一步:查看stm32F103引脚电平翻转的情况 做如下实验:while{scl=0;scl=1;}跑裸机
            结果发现示波器调成自动 显示并无异常就像晶振的波形一样不过只要1.8M
第二步:使用逻辑分析仪分析观察该波形
            结果发现发现每次在第四个周期都会出现波形异常
结论:   这可能就是模拟IIC在高速情况下比如100K-400K 的时候难用正真原因

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

430

主题

436

帖子

0

粉丝