Pmod ESP32参考手册
Digilent Pmod ESP32支持802.11 b/g/n Wifi和双模式蓝牙。这个模块非常适合将FPGA或微控制器项目连接到家庭网络、互联网或任何蓝牙硬件。Pmod ESP32包含一个Tensilica Xtensa微处理器,它可以在UART接口的AT命令的从模式下操作。此外,Pmod ESP32可以在独立模式下操作,并运行自定义应用程序。在从属模式下,该模块可以配置为一个接入点,以托管一个Wifi网络,或一个站,以连接到现有的网络。UART上的从模式功能通过使用记录良好的AT命令集.模块顶部提供了一个额外的UART端口,用于系统调试和固件闪烁。独立模式使用户可以访问完整的API和SDK由Espressif提供通过使用Xtensa工具链进行操作。Pmod ESP32是一个伟大的和经济的方式添加WiFi和蓝牙到任何项目。
特性
-
完整的802.11 b/g/n WiFi堆栈,支持TCP, UDP,和SSL连接
-
连接到WiFi网络或广播您自己的服务器或客户端
-
蓝牙v4.2 BR/EDR和BLE兼容性
-
一个UART端口,用于系统调试和应用程序闪烁
-
一个可编程的领导
-
两个可定制的GPIO针
-
天线输出功率为20.5 dBm
-
模式切换后复位处理器的用户按钮
-
用户开关切换之间的UART和SPI通信
-
电池供电应用的低功耗睡眠模式
-
12针Pmod连接器,SPI和UART接口
-
遵循DigilentPmod接口规范
规范
引脚分配表图
销 | 信号 | 描述 |
---|---|---|
1 | RTS /党卫军 | UART请求发送/ SPI从选择 |
2 | RXD /莫西人 | UART接收数据/ SPI主出从入 |
3. | TXD /味噌 | UART传输数据/ SPI主在从出 |
4 | CTS / SCK | 清除发送/ SPI串行时钟 |
5 | 接地 | 地面电源 |
6 | VCC | 电源(3.3 v) |
7 | INT | 可配置的GPIO/ IO2 |
8 | 在 | 重新启用 |
9 | 选择 | UART或SPI模式选择 |
10 | GPIO | 可配置的GPIO/ IO32 |
11 | 接地 | 地面电源 |
12 | VCC | 电源(3.3 v) |
电源规格
参数 | 最小值 | 典型的 | 马克斯 | 单位 |
---|---|---|---|---|
VDD | 2.7 | 3.3 | 3.6 | 伏 |
UART / SPI时钟规范
参数 | 最小值 | 典型的 | 马克斯 | 单位 |
---|---|---|---|---|
串行时钟频率 | - | 2 | 8.8 | 兆赫 |
串行时钟频率 | 80 | 115200年 | 5000000年 | 波特 |
广播规范
参数 | 马克斯 | 单位 |
---|---|---|
802.11最大数据速率 | 150 | Mbps |
蓝牙HCI最大数据速率 | 4 | Mbps |
注:实际无线电吞吐量取决于许多因素,包括天线类型、工作环境、视线和电磁干扰。
物理维度
-
PCB长度:2.00 in。(5.08厘米)
-
PCB宽度:0.80英寸。(2.03厘米)
注意:尺寸不包括Pmod头引脚的长度。ESP32天线悬垂PCB 1/4 "。
功能描述
Pmod ESP32将WiFi和蓝牙4.2解决方案集成在单个芯片上,并具有双高性能核心和多个外设。ESP32具有连接现有WiFi网络或广播自己作为接入点的能力。
Pmod ESP32有能力操作在从属模式使用UART接口在引脚的顶部排。从模式下,设备响应特定的AT命令集。更多关于AT命令固件的信息可以在这里找到:ESP 32源端.设备预先配置了安装的AT命令固件。在从模式下,SPI外设和最下面一行的gpio是未使用的。
Pmod也有能力在独立模式下操作。单机模式下,用户可以为ESP 32编写自定义应用程序。自定义应用程序可以接口与其他未使用的SPI接口,并在引脚的底部排两个gpio编程。要将新的应用程序发送到ESP32,用户可以修改交换机,并使用连接到J2头的UART来闪存和监控设备。
开关
Pmod ESP32有两个开关。SW1.1(标记为“SPI”)控制Pmod的最上面一行是配置为SPI接口还是UART接口。当SW1.1处于ON位置时,Pmod的最上面一行设置为SPI接口。或者,当SW1.1设置在OFF位置时,Pmod的最上面一行被设置为UART接口。
SW1.2(标记为“BOOT”)控制ESP32是否引导到存储在内存中的应用程序,或者,在上电时,等待与一个新的应用程序闪烁。当ESP32上电时,如果SW1.2处于on位置,ESP32将进入一个模式,在那里它将等待一个新的应用程序闪烁。如果SW1.2处于关闭位置,ESP32将启动并开始运行它存储在内存中的任何应用程序。
SW1.1的行为可以通过主机板使用“选择”引脚(Pmod头J1的引脚9)来控制。无论SW1.1的值是多少,将Select引脚推高将导致Pmod连接器的最上面一行具有SPI功能。类似地,无论SW1.1的值是多少,将Select引脚压低将导致Pmod连接器的第一行具有UART功能。
Pmod ESP32切换行为
开关 | 价值 | 行为 |
---|---|---|
SW1.1 (SPI) | 从 | UART接口出现在Pmod头J1的引脚1 - 4上 |
SW1.1 (SPI) | 在 | SPI接口出现在Pmod头J1的引脚1 - 4上 |
SW1.2(引导) | 从 | 在启动时,ESP32将加载当前在内存中的应用程序 |
SW1.2(引导) | 在 | 在启动时,ESP32将不会加载任何应用程序,并将等待一个新的应用程序被编程 |
重置按钮
在用新的应用程序刷新设备后,或者在SW1.2指定的启动模式之间切换时,需要复位ESP32。一个简单的按下BTN1将导致ESP32复位,无论启用引脚的状态,如下所述。
BTN1的行为可以通过主机板使用“Enable”引脚(Pmod头J1的引脚8)来控制。将使能引脚低将禁用ESP32。当“Enable”再次被驱动高时,ESP32将复位并启动到所选的操作模式。
车载领导
Pmod ESP32包含一个板载领导可以由用户直接编程。的领导(LD0)与ESP32的IO12相连。使用AT固件时,用户不能直接控制LD0。然而,LD0可以编写自定义应用程序,并闪烁,ESP32。
AT命令(从)模式
Pmod ESP32以从模式下发给用户。在从属模式下,顶行引脚映射到它们的UART功能。重要的是,当设备上电时,SW1.1和SW1.2开关都处于关闭位置。一旦通电,SW1.2的值是任意的。然而,在从模式操作期间,SW1.1必须保持关闭位置。
在从属模式下,特定格式的命令(以下简称AT命令)通过顶端排引脚的UART接口传递给Pmod。Pmod上的UART接口最初设置为115200波特率,8个数据位,1个停止位,没有奇偶校验或硬件流控制。UART接口的设置可以在以后使用特定的AT命令进行修改。
AT命令必须始终按照这个顺序,后跟一个回车符和换行符。例如,在串行终端中输入AT命令“AT”为“AT
下面显示了一些AT命令的一个非常稀疏的表。有关受支持的AT命令的完整列表,请访问官方AT命令集文档,由espresso提供。
为了清楚起见,省略了回车和换行字节。
命令 | 行为 | 例子 | 响应 |
---|---|---|---|
在 | 验证设备是否处于AT模式并工作 | 在 | 好吧 |
在+ RST | 重置设备 | 在+ RST | 好吧 |
在+ GMR | 检查版本信息 | 在+ GMR | |
在+ CWMODE | 设置WiFi模式 | 在+ CWMODE = <模式> | 好吧 |
在+ CWMODE | 获取WiFi模式 | 在+ CWMODE吗? | + CWMODE: <模式> |
在+ CWJAP | 连接WiFi接入点 | 在+ CWJAP =“网络”,“密码” | 好吧或误差+ CWJAP: < > |
在+ CWJAP | 获取有关已连接WiFi接入点的信息 | 在+ CWJAP吗? | + CWJAP: <名称>,< bssid >, <频道>,< rssi > |
在+ CWLAP | 显示可用网络的信息 | 在+ CWLAP | + CWLAP: < ecn >, <名称>,< rssi >, < mac >, <频道> |
独立模式
Pmod ESP32采用Xtensa双核32位LX5微处理器。Pmod交付给客户时,预先加载了AT指令固件。但是,用户可以为ESP32编写自定义应用程序,将其flash到Pmod中,或者在从模式之外操作设备。
使用自定义固件而不是AT固件的一些原因可能是:
-
用户希望不受UART波特率限制的功能和行为
-
用户想要使用SPI外设
-
用户希望使用可编程的gpio和领导
-
用户希望使用Espressif提供的SDK而不是AT命令集
-
用户希望使用ESP32上的组件,如PWM,ADC、DMA、I2CDAC等
由Espressif提供的SDK包含了在从属模式下AT命令集的所有功能,但是有更多的时间和操作控制,以及在从属模式下无法访问的额外的外围设备控制。
为了编写Pmod的自定义应用程序,需要以下几个工具:
-
的Xtensa工具链
-
的Espressif ESP-IDF
-
Python
-
一种USB-UART桥接设备,如Pmod USB UART
要开始设置用于构建Pmod ESP32项目的工具,请参考意式咖啡入门指南.
当连接到Pmod以将一个自定义应用程序flash到它时,使用Pmod顶部的UART端口(Pmod报头J2),而不是Pmod报头J1上的UART接口。此外,当闪烁到设备,确保设备已经重置SW1.2在“开启”位置之前,试图发送应用程序到ESP32。重置设备的最快方法是按Pmod上的BTN1。在按下BTN1时,将发生硬件复位。
快速启动
先决条件
-
带有AT固件的Pmod ESP32
-
一个串行终端程序,如minicom、screen、CoolTerm或Putty
-
与Pmod接口的UART控制器。这个UART控制器可以是任何类似Digilent FPGA板与UART控制器实例化在FPGA,或树莓派或BeagleBone Black。
-
UART控制器TX线连接到引脚2
-
UART控制器RX线连接到引脚3
-
一个共享的接地Pmod和UART控制器之间的连接
-
3.3v连接Pmod电源
一步一步
-
完成上面描述的硬件连接
-
给Pmod ESP32上电
-
请注意Pmod所连接的端口
-
对于Linux,这将是/dev/ttyUSB*或/dev/ttyS*
-
对于MacOS,这将是/dev/tty.usbserial-***
-
对于Windows,这将是COM*
-
如果您使用FPGA作为您的UART控制器,忽略这一步,但是如果在您的设计中有多个UART控制器,请注意哪个UART控制器连接到Pmod ESP32
-
-
设置串口终端(Putty、Minicom、CoolTerm)使用115200波特率,8位数据位、1位停止位、无奇偶校验
-
发送字符“AT”,后面跟着
和 字符。您可以设置串口终端软件,使其在任何传输结束时自动添加 和 字符 -
在你的终端,你应该看到Pmod回显你的“AT”命令给你,也响应“OK”
-
您现在设置发送AT命令到您的Pmod ESP32。尝试通过发送命令AT+CWJAP= "您的网络名称","您的网络密码"将其连接到您的本地无线网络
额外的信息
已获取Pmod ESP32的原理图在这里.
在它的资源中心可以找到一些以Pmod ESP32为特色的示例项目的链接在这里.
如果你有任何关于Pmod ESP32的问题或评论,请把它们发布在适当的部分(“附加板”)Digilent论坛.