ESP32-S2 是乐鑫去年推出的 SOC,它可以看作是 ESP32 的低成本简化改进版本,在保持了 ESP32 的主要特点下,去掉了以太网、BLE、CAN、霍尔传感器等功能,但是增加了 USB OTG、摄像头接口、LCD接口 和 更多GPIO,进一步降低了成本,更加适合做通用控制。
ESP8266、ESP32 和 ESP32-S2 对比
(来自:https://maker.pro/esp8266/tutorial/a-comparison-of-the-new-esp32-s2-to-the-esp32)
- | ESP8266 | ESP32 | ESP32-S2 |
---|---|---|---|
发布时间 | 2014 | 2016 | 2019 |
内核 | Xtensa single-core 32-bit L106 | Xtensa single/dual-core 32-bit LX6 | Xtensa single-core 32-bit LX7 |
主频 |
80 MHz | 160/240 MHz | 240 MHz |
协处理器 | No | ULP | ULP (RISC-V) |
SRAM | 160 KB | 520 KB | 320 KB |
ROM | No | 448 KB | 128 KB |
RTC Memory | No | 16 KB | 16 KB |
扩展SPIRAM | Up to 16MB | Up to 16MB | Up to 128MB |
扩展 Flash | No | No | Up to 1G |
Wi-Fi (802.11 b/g/n) | HT20 | HT20 | HT20 |
ESP-MESH | Yes | Yes | Yes |
蓝牙 | No | BT 4.2 BR/EDR & BLE | No |
以太网 | No | 10/100 Mbps | No |
CAN | No | 2.0 | No |
Time of Flight | No | No | Yes |
GPIO (total) | 16 | 34 | 43 |
触摸 | No | 10 | 14 |
SPI | 2 | 4 | 4 (OSPI) |
I2C | 1 (soft) | 2 | 2 |
I2S | 2 | 2 | 1 |
UART | 2 (1 ½ actually) | 3 | 2 |
ADC | 1 (10-bit) | 18 (12-bit) | 20 (12-bit) |
DAC | No | 2 (8-bit) | 2 (8-bit) |
PWM (soft) | 8 | 16 | 8 |
SDMMC | No | Yes | No |
RMT | No | Yes | Yes |
USB OTG | No | No | Yes |
LCD 接口 | No | No | Yes |
Camera 接口 | No | No | Yes |
温度传感器 | No | Yes | Yes |
霍尔传感器 | No | Yes | No |
Security | No | Secure boot Flash encryption 1024-bit OTP | Secure boot Flash encryption 4096-bit OTP |
Crypto | No | AES, SHA-2, RSA, ECC, RNG | AES-128/192/256, SHA-2, RSA, RNG, HMAC, Digital Signature |
低功耗 | 20uA | 10uA deep sleep | Automatic RF power management 5uA in idle mode 24uA at 1% duty cycle |
支持 USB 是 ESP32-S2的一大特点,这意味着我们可以像 pyboard 一样直接复制文件到 ESP32,而不用串口或者wifi方式,使用更加简单。以后甚至可以通过 webusb,实现浏览器直接进行编程和下载,无需任何其它软件。
ESP32-S2到现在已经推出一年了,但是因为各种原因,市面上 ESP32-S2 的开发板并不多,目前主要是乐鑫官方的 ESP32-S2-Saola-1 和 ESP32-S2-Kaluga-1 开发板,以及安信可刚推出的 NODEMCU-32-S2。NODEMCU-32-S2的外观和ESP32-S2-Saola-1几乎一样,大小也基本相同(宽度少了 100mil),而价格只有ESP32-S2-Saola-1的一半。
(图中上面是NODEMCU-32-S2,下面是ESP32-S2-Saola-1)
稍有遗憾的是,NODEMCU-32-S2 开发板的LED焊接反了,在连接USB后发现LED不亮,仔细检测发现 LED 焊接问题,希望后续版本可以修正。此外开发板的引脚排列和 ESP32-S2-Saola-1并不完全相同,因此不能直接替换。
虽然现在MicroPython还不支持ESP32-S2,但这也是迟早的事情。在EEWorld社区上,已有 RCSN 发表的 ESP32-S2开发之坑系列。而在前几天刚发布的 CircuitPython 6.0.0 Alpha 1 中,已经正式支持 ESP32-S2。从 circuitpython网站上下载固件后,用esptool或flash download tool将固件下载到开发板(方法请见社区CircuitPython版块的相关帖子),然后使用一个 USB 转 DIP 座,将 ESP32-S2的 USB 端口(GPIO19/D-和GPIO20/D+)引出来,就可以先体验一下了。
通过microUSB连接到计算机后(注意不是板载的USB,而是上图所示的外扩USB),就会出现一个CIRCUITPY磁盘,大小约2M。
通过MU(https://codewith.mu/)软件,就可以方便的编写程序、在REPL下调试。
用圆周率做性能测试:
from time import monotonic
def calc_pi(places=100):
extra = 8
one = 10 ** (places+extra)
t, c, n, na, d, da = 3*one, 3*one, 1, 0, 0, 24
while t > 1:
n, na, d, da = n+na, na+8, d+da, da+32
t = t * n // d
c += t
return c // (10 ** extra)
def pi_t(n = 500):
t1 = monotonic()
calc_pi(n)
t2 = monotonic()
return t2 - t1
print('calc pi 100 bits:', pi_t(100), 's')
print('calc pi 1000 bits:', pi_t(1000), 's')
print('calc pi 5000 bits:', pi_t(5000), 's')
运行结果,计算1000位比ESP32快一点,计算5000位慢一点,感觉目前固件没有完全发挥出ESP32-S2性能,内存部分还有待优化。
本文分享自微信公众号 - MicroPython中文社区(MicroPython_cn)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/609160/blog/4400392