【AI技术支持】ESP32-C3芯片/模组SPI-AT问题处理

描述

 

 

问题描述

在使用ESP32-C3芯片/模组,AT版本为Release/v3.0.0.0时,客户在使用常规AT通信时,速率达不到需求,需要换成SPI-AT,测试中遇到问题,这是为什么呢?

 

解决思路
 

ESP-AT中重新选择编译目标为SPI-AT,见下图:

AI

相关引脚使用ESP-AT默认引脚,将SPI主机的引脚与之对应上,上电后发现AT无法通信,随后展开分析。


 

单独拿一个模组使用示例examples/peripherals/spi_slave/sender模拟了一个spi的主机进行测试,通过示波器的查看,确认数据是发送出去了的,而且发送不同的指令波形都会出现不同的变化,但是SPI-AT始终没有反应。查看文档介绍,从机给主机回复的时候,握手信号应该会有一个中断信号,也就会把电平拉高,但在示波器上没有抓到握手线发出的中断信号。

AI

通过研发同事检查确认后,问题得到定位:原来是之前应用的IDF的示例是不行的,ESP-AT里面的SPI协议做了封装的,需要参考esp32_c_series示例

 

 

启明云端/ 03

 

解决方案

首先使用esp32_c_series示例作为SPI主机,第二个模块烧录SPI-AT作为从机,将通信所需的引脚进行连接。

AI

 

模块内部做了UART转SPI信号,所以在测试时可用串口监视器作为测试(实际使用时为SPI信号),此时AT通信成功,指令测试完成。


 

此时有两种方案:

1、如果需要使用标准SPI协议做主机,可以参考esp32_c_series中的在eadme其中包含了交互说明https://github.com/espressif/esp-at/tree/master/examples/at_spi_master/spi/esp32_c_series#communication-sample

如果通过逻辑分析仪包抓了数据信号,可以与链接中的信号进行比对,确保发的数据是正确的。

 

2、直接移植esp32_c_series示例到mcu完成AT通信。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分