简介
在上一篇文章中我们有提到过ESP32-P4并没有WIFI的功能,所以如果想要ESP32-P4连接WIFI的话是需要一个协处理器来处理网络请求的。 而这块开发板上面的协处理器是ESP32-C6. 其中两者通讯的库采用的是ESP-HOSTED MCU。如下原理图所示两者的连接关系。

在开始之前我们先介绍一下ESP-HOSTED。ESP-Hosted 是乐鑫官方提供的一个方案,让 ESP32 系列芯片作为 Wi-Fi/BT 外设模块,而主机(Host MCU)通过 SPI / SDIO / UART 与 ESP 通信,从而让没有 Wi-Fi、BT 的主控具备联网能力。

三者之前不同的区别是:ESP-Hosted-NG 是最新、功能最完整的架构,由 ESP 负责全部 Wi-Fi/BT 与 TCP/IP,主机只需用 SPI/SDIO/UART 通信;ESP-Hosted-FG 则是老方案,网络栈跑在 Linux 主机上,ESP 仅当无线调制解调器使用,无法支持 MCU;而 ESP-Hosted-MCU 是专为资源受限 MCU 优化的轻量版,实现方式类似 NG,但功能裁剪、占用更小,更适合 STM32/GD32 这类微控制器。
上文中介绍过,开发P4的时候最好ESP-IDF的版本在5.5.1之后,这是因为如果使用5.5.1之后的话,在创建wifi station的项目的时候,其中所需要的组件,比如说esp-hosted (MCU)和 esp_wifi_remote 已经被默认的集成了,并且项目中已经有对应的Kconfig.projbuild 这就意味着我们可以直接在menuconfig中配置项目和example信息。

这个config配置文件中已经默认的配置好了SDIO的连接方式,正如上述图片中展示的一致。通过SDIO来传输数据,通过PIN54来重启从机(ESP32-C6)从而实现了网络的连接。同样可以从上图中看到,其UART也被连接到了ESP32C6上了。这就意味着,如果我们想要重新烧录ESP-HOSTED for esp32-c6的话只需要修改对应的PIN即可切换到UART通讯。(不建议、因为速率比较慢,但是可行。 我已经使用ESP32-P4 + esp32-S3测试过了)。 所以对于我们需要配置的就非常简单了。 只需要在wifi连接信息中填好自己的WIFI信息即可。这个ESP32-C6已经出厂自带了ESP-HOSTED (MCU)的固件,并且配置了SDIO模式。所以不需要重新烧录。

然后将固件烧录到P4中,此时打开控制台。可以看到P4已经向从机发送了数据包,同时对从机进行重制。最终通过从机来实现了WIFI的连接功能。而对于P4而言,完全无感(和其他支持WIFI的esp32模组一样的使用wifi)

总结
可能是我本身硬件水平较低,每次购买开发板的时候都是能够通过原理图来学习到新的知识。通过参考他们的设计来获取自己的灵感,然后当设计核心板或者功能电路的时候可以参考之前的设计。这也是我一直坚持买感兴趣的开发板的原因之一。
我要赚赏金
