你是否曾遇到过?
在无线视频监控设备上,使用ESP32-WROVER-IE-N16R8模组,ESP-IDF版本为idf5.0.1时,模组需与PHY芯片通信,主板在待机未断电的情况下,通过主板的MCU来控制模块的供电电源通断来控制模块开机,MCU首次控制模块通电时,模块无反应,模块上电启动失败,为什么呢?
这是咋回事呢?
(1)针对启动失败这个问题,首先检查了客户的原理图,发现模块的GPIO0脚接到了PHY芯片的时钟脚,因此测量了GPIO0脚启动失败时的电平,使用电容替换GPIO脚串连的电阻后现象消失,因此把问题定位到模块的GPIO0脚上。
(2)根据反馈判断模块的GPIO0脚是受到了PHY芯片的影响,查看了PHY芯片IP101GRI和模块ESP32芯片的产品手册,发现IP101GRI的RESET_N脚是默认下拉的,这样可以在上电时使IP101GRI置于复位状态,但是客户把它上拉了,因此一上电IP101GRI芯片就处于工作状态,这样就使GPIO0受到了PHY时钟输出的影响。
(3)在ESP32芯片的推荐设计中发现,针对EMAC接口的设计,要求ESP32先上电,再通过ESP32芯片的GPIO5脚控制RESET_N脚来启动IP101GRI时钟输出,通过不同的上电时序来避免PHY时钟输出影响到ESP32的启动。
(4)改完模块和PHY芯片的上电时序后模块启动正常。
(5)综上过程确认模块启动失败的原因是因为GPIO0脚受到了PHY芯片时钟输出的影响所导致的。
这时该咋整?
SO easy!去掉PHY芯片RESET_N脚上的上拉电阻,并且在RESET_N脚上添加一个下拉电阻,通过ESP32的GPIO5脚来控制PHY芯片的时钟输出,避免PHY时钟输出干扰模块启动。
全部0条评论
快来发表一下你的评论吧 !