还是 “月饼” 后续,玩转炫彩 “月饼” 之 问题说明
前言
本文有纯理论玩家是永远不会经历的实际问题,嵌入式工程师不动手永远出不了作品!
说明一下问题出现的开发板,其实就是前面“月饼”的那个板子:
画一个 “月饼” 陪我过中秋,使用 ESP32-C3 制作炫彩月饼(我为嵌入式工程师争取月饼)
https://xie.infoq.cn/article/f45eb5954b9418ee0e8d2ce79
当时基本测试的文章:
画一个 “月饼” 陪我过中秋,玩转炫彩 “月饼” 之 基本测试
https://xie.infoq.cn/article/0e7146641bb2531ad2bd9b064
其实在当时基本测试 Wifi 的时候,我就发现了一个问题,但是我没有写出来,因为我没解决= = !
这么多天我想到点眉目,于是特地来记录一下。
一、出现问题
还记得当时测试天线的时候,说当初的天线性能不是很好,但是后来自己也确实发现了问题,提出了解决办法。
但是在那之前,我其实还测试了一下 Wifi 的链接,使用的示例就是:
ESP32-C3 入门教程 网络 篇(一、 Wi-Fi 使用入门 — 初始化及 STA、AP 模式)
https://xie.infoq.cn/article/a58c6477ff266ab2392c31042
文档中的 STA 模式,因为是测试,所以就选了一个简单的,看看能不能正常的顺利的连接上 WiFi ,于是就烧录了 STATION
程序:
烧录后,就出现了问题,具体情况如下,就是一直重启,因为 SHA-256 comparison failed :
具体的错误提示行如下图:
这…… 这是什么个意思?于是开始疯狂搜索了……
能够在某度搜索到的与SHA-256 comparison failed
有关的大多跳转到了乐鑫的官方论坛,但是实际上也没有一个完全的解决办法,C 站还有个收费专栏博主自己说换一个 USB 接口解决了,提到了供电问题,实际上我换了也没用。
当时我还特意写了一段话,准备在基本测试的文章中说明,后来还是想想算了:
这种疑难杂症遇到了,就很麻烦,我当时想着是不是得解决了记录一下,但是我画了 2 个多小时,还是没有解决,而且我换一个例程,就不会重启了,所以暂时就搁置在这里,以后如果真的找到解决办法,会来更新 。
二、寻求办法
上面也说了花了一段时间测试,并不知道问题在哪里,测试一段时间发现,只有用到 WiFi 的例子会有这种问题。
我还去乐鑫官方论坛提问了:
在提问的第二天官方就有工程师回复了,
当然当时的使用论坛工程师回复的方式进行测试并没有效果,然后一段时间没有处理这个问题,忙其他事情去了。
这段时间忙下来,等到最近两天想了下,还是心里面有个问题不舒服。
因为如果有问题那么产品就是有问题的,以后这种方案也不能用,但是自己一直觉得没有道理,就是不应该啊!
然后再次去看了下论坛的后续回答:
在上图中提到一个问题,供电问题!
这里说明一下,为什么我关注了这个芯片供电电压的问题而不是第一时间根据该工程师的回复修改代码进行测试:
因为在以前找问题的时候看到过有关 电源不稳定会出现 SHA-256 comparison failed 问题的情况;
相同的芯片,第一次做的开发板完全没有问题,所以程序修改也无非是测试为了定位问题,不是解决问题。
两块板子的供电部分方案确实不一样!!
三、若有所思
我们回过头来看看,两块板子的电源部分 LDO,一个用的是 1117 ,一个用的是 ME6211C33M5G :
我们很方便的可以查询到, AMS1117 的输出电流可以达到 1A ,而 ME6211C33M5G 的出书电流最大 500 mA :
但是这里还是有一个问题得说明,在设计之初就考虑到了的, 电脑的 USB 的最大输出电流也不过是 500mA ,所以对于上面 2 个 LDO 来说,应该都没问题!!!!
从理论上来说,供电不稳定的问题应该不存在,可是实际上就是出问题了,而且有可能是供电网问题引起的,但是注意还是不能确定,需要测试。
那么既然确定可能是某种问题,那么就来验证一下,给他稳定的电源,看一看是否还会无限重启!
四、问题测试
那么今天抽了个空就开始测试一下,想确定一下是否是 LDO 供电的问题。
但是测试的时候,我烧录测试程序,他居然正常了:
这 ... ...
......
难道产品开发是看运气的吗?
这个时候我就尴尬了,他居然好了,那么我折腾半天分析个毛啊?
...
继续一系列的折腾
这个板子经过一下午的测试折腾,发现 “越来越稳定”,基本不会复位了 …… 我还是很无语啊
如下图每次都能正常获取 IP 连接上网络,图中重启是我手动按了复位按键:
现在我怎么确定是不是电源不稳定导致的呢?
忽然我想起来,我当时出现一直复位的问题的时候,我为了排除板子的问题,我焊接了 2 块板子,发现 2 块板子都是有复位的问题!
那么这里就得说明一下,一般做产品的样品,出现疑难杂症的问题以后最好是多测试几块板子,看看是否都是相同的问题,还是说说是单个样品的问题,从而更好的找到问题。
这时候我就想到了,我看一下另外一块板子,发现果然还是和以前一样,无限重启。
这里再提一下,虽然第一块板子莫名其妙好了,我确实也不能确定是什么问题,如今也没法通过从第一块板子判断问题了,但是我们还是有机会通过有问题的第二块板子排除问题的。
那么对于上面我们推测的问题,我们还是有机会验证的,我在第二块的 3.3V 电源处从别处并了 3.3V 电源过来,这样绝对不会存在 供电不稳定功率不够的问题:
看看测试否好了…… ,发现还是无限重启,如下图:
这样应该就能确定并不是电源供电不稳定的问题了。
那这问题如何解决呢?
其实真的有点无从下手啊,当然可以从代码一点点调试,只是自己没那个精力,这个我先放着,向兄弟们请教了。
结语
本次问题我没有解决,也是因为自己对 ESP-IDF 框架的了解不够深入,以及对芯片内部细节不够了解,所以感觉无从下手。
附上我在乐鑫官方论坛的提问的帖子: 我在乐鑫官方论坛的提问帖子
开发板如果不跑 WiFI 的示例,其他基本示例在我的文章:
画一个 “月饼” 陪我过中秋,玩转炫彩 “月饼” 之 基本测试
https://xie.infoq.cn/article/0e7146641bb2531ad2bd9b064
写的都正常,虽然现在看是无线重启,但是换其他的例程,都能够正常工作。
更新说明:
最后某些朋友的指点,我直接更新最新版本而定 SDK 就好了,
说是可能 ESP-IDF 官方的 DEMO 也是可能有一些潜在的 bug 的,
这下问题都不知道是什么问题了,也不知道以后产品设计上是不是哪里需要注意。
就先这样吧,更新最新版本的 SDK esp-idf-v4.4.2 版本,问题就没有了……
版权声明: 本文为 InfoQ 作者【矜辰所致】的原创文章。
原文链接:【http://xie.infoq.cn/article/b6a315c18f4f068f1c804724f】。文章转载请联系作者。
评论