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”,其中CR表示回车,LF表示换行或换行。如果在命令的末尾没有包含回车符或换行符,Pmod将不会响应该命令。此外,AT命令可以用大写或小写发送到Pmod。Pmod最初被设置为将它接收到的任何UART数据回显给发送方。在启动时,当处于从属模式时,Pmod将通过UART接口发送单词“ready”。

下面显示了一些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电源

一步一步

  1. 完成上面描述的硬件连接
  2. 给Pmod ESP32上电
  3. 请注意Pmod所连接的端口
    1. 对于Linux,这将是/dev/ttyUSB*或/dev/ttyS*
    2. 对于MacOS,这将是/dev/tty.usbserial-***
    3. 对于Windows,这将是COM*
    4. 如果您使用FPGA作为您的UART控制器,忽略这一步,但是如果在您的设计中有多个UART控制器,请注意哪个UART控制器连接到Pmod ESP32
  4. 设置串口终端(Putty、Minicom、CoolTerm)使用115200波特率,8位数据位、1位停止位、无奇偶校验
  5. 发送字符“AT”,后面跟着字符。您可以设置串口终端软件,使其在任何传输结束时自动添加字符
  6. 在你的终端,你应该看到Pmod回显你的“AT”命令给你,也响应“OK”
  7. 您现在设置发送AT命令到您的Pmod ESP32。尝试通过发送命令AT+CWJAP= "您的网络名称","您的网络密码"将其连接到您的本地无线网络

额外的信息

已获取Pmod ESP32的原理图在这里

在它的资源中心可以找到一些以Pmod ESP32为特色的示例项目的链接在这里

如果你有任何关于Pmod ESP32的问题或评论,请把它们发布在适当的部分(“附加板”)Digilent论坛