在这个国庆假期前后,有关ESP32系列芯片的射频ADDA的I/Q收发相关的工厂测试用(可能是) dump 引擎寄存器被逆向了出来,使得芯片可以直接收发采样率最高80MSPS的任意 I/Q 信号。具体来说,样本来自 Wi-Fi/Bluetooth 无线电内部接收路径在射频下变频之后。所选的无线电转储格式提供带符号的 10 位 I 和 10 位 Q。一个未公开的硬件样本转储引擎将这些对直接写入内部 SRAM。发射也是相似,不过目前的发现认为接收侧 dump 跨越两个SRAM bank,可以实现双缓冲的流式接收而没有gap,但是发射所占用的 bank 只有一个,且在 dump 引擎工作时对其 bank 进行额外的读写会造成部分数据的损坏,因此难以做到无gap的连续发射。
拿来做图传什么的,感觉发 802.11 帧也是一样的,片内的modem还更快速稳定,做通用 SDR 又受限于调谐范围和通信带宽,思来想去拿来玩雷达也许是个有趣的方向。
ESP32-C5 的可调谐范围大概可达 4.8GHz 到 6GHz 且价格较低、资料相对完整,因此具备作为 C 波段 SDR 实验平台的能力。
![image.jpg]()
(图片来自XXXXXXXXXXXXXXXXXXXXXXXXXXXX)
作为通用SDR平台的问题在于其不具备足够高速的通信接口,导致其空有80M的采样率却难以把数据传出来。目前只有S31有千兆以太网和USB HS,其他想要高速通信就只能外挂FPGA之类的从IO口拓展总线出来了。
![image.jpg]()
(图片来自XXXXXXXXXXXXXXXXXXXXXXXXXXXX)
硬件限制
ESP32-C5 射频前端高度集成,T/R 开关、LNA、PA 都在片内。主要限制如下:
半双工:同一时刻只能发射或接收,不能同时收发。
T/R 切换速度在百纳秒级。对于 5–15 米目标,回波延迟约 33–100 ns,切换盲区会覆盖近距回波。
标称发射功率约 +19.5 dBm,接收灵敏度约 -100 dBm。
天线端口共享,内部 LNA 、PA无法旁路,直接外接 LNA、PA 不现实。
可能的方案(脑洞)
单芯片脉冲多普勒
单芯片可以按脉冲多普勒体制工作:发射短脉冲,切换到接收,采集回波,做距离门和多普勒滤波。适合演示雷达基本原理,但近距盲区明显,探测距离和分辨率有限。
而且其发射功率和接收灵敏度都不算高,T/R切换也存在延迟(我在S3上尝试压缩到了约两百纳秒,这还是只考虑软件,死区还是挺大的),恐怕不一定能做出来。
双芯片 FMCW
FMCW 需要边发边收,单芯片半双工无法直接实现。可以用两片 ESP32-C5 共用时钟,一片专职发射,一片专职接收,在系统层面实现连续波收发,还能外挂LNA、PA等。乐鑫 ESP-CRAB 方案验证过共晶振相位同步的路径,可以参考。
再多芯片可以考虑相控阵之类的,玩起来就要复杂一些了。
![image.jpg]()
(XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 的天线阵列,用于接收和解析WIFI CSI)
![image.jpg]()
(图为ESP32S3实测发射和接收线性扫频信号,带宽40MHz)