問題描述
在使用ESP32-C3芯片/模組,AT版本為Release/v3.0.0.0時,客戶在使用常規AT通信時,速率達不到需求,需要換成SPI-AT,測試中遇到問題,這是為什么呢?
解決思路
在ESP-AT中重新選擇編譯目標為SPI-AT,見下圖:
相關引腳使用ESP-AT默認引腳,將SPI主機的引腳與之對應上,上電后發現AT無法通信,隨后展開分析。
單獨拿一個模組使用示例examples/peripherals/spi_slave/sender模擬了一個spi的主機進行測試,通過示波器的查看,確認數據是發送出去了的,而且發送不同的指令波形都會出現不同的變化,但是SPI-AT始終沒有反應。查看文檔介紹,從機給主機回復的時候,握手信號應該會有一個中斷信號,也就會把電平拉高,但在示波器上沒有抓到握手線發出的中斷信號。
通過研發同事檢查確認后,問題得到定位:原來是之前應用的IDF的示例是不行的,ESP-AT里面的SPI協議做了封裝的,需要參考esp32_c_series示例。
啟明云端/03
解決方案
首先使用esp32_c_series示例作為SPI主機,第二個模塊燒錄SPI-AT作為從機,將通信所需的引腳進行連接。
模塊內部做了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通信。
-
芯片
+關注
關注
454文章
50438瀏覽量
421904 -
AI
+關注
關注
87文章
30191瀏覽量
268444 -
ESP32
+關注
關注
18文章
959瀏覽量
17102
發布評論請先 登錄
相關推薦
評論