4877| 0
|
[ESP8266/ESP32] FireBeetle ESP32-E活动:你好,硬件 |
本帖最后由 王高腾 于 2021-6-7 20:37 编辑 收到DFROBOT的FireBeetle ESP32-E赠板,很是欣喜 这块板子使用乐鑫的ESP-WROOM-32E模组,注意后缀字母“E”表示该模组的主控芯片是增强型(Enhanced)的,其在晶圆层面修正了某些bug。 DFROBOT专门为它写了详细的教程。 但是作为一个电子爱好者,感觉还是得先从硬件入手。在上述教程的最后,有“更多”栏,从中可下载用户手册和原理图: 需要注意的是,用户手册是基于FireBeetle Board-ESP32和Arduino撰写的,与FireBeetle ESP32-E有稍微的差别,不过影响不大。 在了解FireBeetle ESP32-E端口定义的基础上可快速上手,用arduino方式开发的巨大好处是语法、函数一致性好,不依赖板卡,程序一通百通。 下载原理图,FireBeetle ESP32-E主要由七个模块构成: 一、供电模块 U1即是近几年火热的USB Type C接口,它在使用上最大的好处是正反插无所谓,不妨将板子上的USB Type C母座接口定义贴出来作为一个小知识: U3是一颗锂电池充电芯片,这表明该板子既可以使用USB供电,也可以使用外接锂电池供电。在原理图中,使用USB供电时,网络标号是VUSB,使用外接锂电池供电时,网络标号是VBAT。U3的位置: 二、电平转换 板子使用一颗RT9080进行5V-3.3V电平转换,输入电压来自USB供电或锂电池供电。比较有趣的是PMOS管Q3,根据PMOS的特性,只要VUSB有电压值,则无论VBAT是否有电压值,Q3都将截止VBAT至RT9080的通路,只有VUSB进入RT9080。只有VUSB没有电压值时,VBAT才能进入RT9080。这就用一个PMOS管决定了供电优先级,USB和锂电池同时连接也无妨,电路决定了优先采用USB供电。 三、通信 这里所述之通信,是指主机与板子的USB-UART通信,采用一颗CH340K作为通信桥接芯片,主机D+、D-接至CH340K的D+、D-,CH340K的RXD接至ESP32-WROOM-32E模组的TXD0(35脚),CH340K的TXD接至ESP32-WROOM-32E模组的RXD0(34脚)。另外,使用了无晶振芯片CH340K的RTS、DTR信号使ESP32-WROOM-32E模组能自动复位,这带来一个好处,就是下载程序后不必再按RST引脚程序就能自动运行。 四、主控模组 ESP32-WROOM-32E模组采用的是ESP32D0WD-V3芯片,这是一个修复了晶圆级bug的改进增强型号。它是一颗Xtensa双核32位LX6 MCU,LX6类比于arm的cortex-m3,更新的是LX7,用在ESP32-S2、ESP32-S3上,类比于arm的cortex-m4,这仅仅是个类比,不必较真。除了WIFI和蓝牙,该芯片还有UART、SPI、I2C、PWM、Timer、ADC等,该有的都有,几乎可以将ESP32当个通用MCU了。 五、对外接口 P1、P3就是板子上的两个排母,板子背面可以清晰看到相关的丝印说明。而P2,就是DGI接口,可以配套DFROBOT自家的DGI屏,arduino方式开发,非常方便。 六、外围电路 除了复位按键,还有一个用户按键,一个用户单色LED灯,一个用户三色RGB灯。用户按键与用户但是LED灯,就是操作GPIO,这牵涉到一个消抖问题,想省物料就使用软件延时消抖,或者从github借来软件消抖的高级玩法。不想费脑筋就并上一个1uF电容,硬件消抖,也很稳定。对于用户三色RGB灯,使用arduino FastLED库。 总之,FireBeetle ESP32-E作为一个核心板,该有的都有。根据我的经验,使用arduino方式开发,就教学效果来看,能显著避免“从入门到放弃”的尴尬局面。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed