問題描述
在使用ESP32-C3芯片/模組,AT版本為Release/v3.0.0.0時(shí),客戶在使用常規(guī)AT通信時(shí),速率達(dá)不到需求,需要換成SPI-AT,測(cè)試中遇到問題,這是為什么呢?
解決思路
在ESP-AT中重新選擇編譯目標(biāo)為SPI-AT,見下圖:
相關(guān)引腳使用ESP-AT默認(rèn)引腳,將SPI主機(jī)的引腳與之對(duì)應(yīng)上,上電后發(fā)現(xiàn)AT無法通信,隨后展開分析。
單獨(dú)拿一個(gè)模組使用示例examples/peripherals/spi_slave/sender模擬了一個(gè)spi的主機(jī)進(jìn)行測(cè)試,通過示波器的查看,確認(rèn)數(shù)據(jù)是發(fā)送出去了的,而且發(fā)送不同的指令波形都會(huì)出現(xiàn)不同的變化,但是SPI-AT始終沒有反應(yīng)。查看文檔介紹,從機(jī)給主機(jī)回復(fù)的時(shí)候,握手信號(hào)應(yīng)該會(huì)有一個(gè)中斷信號(hào),也就會(huì)把電平拉高,但在示波器上沒有抓到握手線發(fā)出的中斷信號(hào)。
通過研發(fā)同事檢查確認(rèn)后,問題得到定位:原來是之前應(yīng)用的IDF的示例是不行的,ESP-AT里面的SPI協(xié)議做了封裝的,需要參考esp32_c_series示例。
啟明云端/03
解決方案
首先使用esp32_c_series示例作為SPI主機(jī),第二個(gè)模塊燒錄SPI-AT作為從機(jī),將通信所需的引腳進(jìn)行連接。
模塊內(nèi)部做了UART轉(zhuǎn)SPI信號(hào),所以在測(cè)試時(shí)可用串口監(jiān)視器作為測(cè)試(實(shí)際使用時(shí)為SPI信號(hào)),此時(shí)AT通信成功,指令測(cè)試完成。
此時(shí)有兩種方案:
1、如果需要使用標(biāo)準(zhǔn)SPI協(xié)議做主機(jī),可以參考esp32_c_series中的在eadme其中包含了交互說明https://github.com/espressif/esp-at/tree/master/examples/at_spi_master/spi/esp32_c_series#communication-sample
如果通過邏輯分析儀包抓了數(shù)據(jù)信號(hào),可以與鏈接中的信號(hào)進(jìn)行比對(duì),確保發(fā)的數(shù)據(jù)是正確的。
2、直接移植esp32_c_series示例到mcu完成AT通信。
-
芯片
+關(guān)注
關(guān)注
455文章
50714瀏覽量
423138 -
AI
+關(guān)注
關(guān)注
87文章
30728瀏覽量
268886 -
ESP32
+關(guān)注
關(guān)注
18文章
971瀏覽量
17201
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論