惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
The Register - Security
The Register - Security
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美
罗磊的独立博客
U
Unit 42
S
SegmentFault 最新的问题
Y
Y Combinator Blog
博客园_首页
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
Schneier on Security
Schneier on Security
Know Your Adversary
Know Your Adversary
C
Check Point Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
博客园 - 叶小钗
C
Cybersecurity and Infrastructure Security Agency CISA
Spread Privacy
Spread Privacy
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
L
Lohrmann on Cybersecurity
A
About on SuperTechFans
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
S
Securelist
A
Arctic Wolf
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Threatpost
Scott Helme
Scott Helme
博客园 - 聂微东
博客园 - 【当耐特】
T
Tenable Blog
I
Intezer
D
DataBreaches.Net
B
Blog RSS Feed
Security Latest
Security Latest
C
Cisco Blogs
T
Tor Project blog
N
Netflix TechBlog - Medium

Eson Wong's Blog

我为什么开发 AI 英语听力生成器:Im-Listening Playwright E2E 测试框架入门教程 如何使用 LlamaIndex 构建一个 RAG 检索系统 批评 Milvus 入门教程 怎么在网页中实现自动调整视频的清晰度 什么是检索增强生成(Retrieval-Augmented Generation)? Phonics 自然拼读常见规则 - 辅音字母的发音规律 浅聊 esp8266 墨水屏 Todo List 制作教程 2023 年我买过的最好用的商品 转变自我的密码:《Atomic Habits》读后感 Phonics 自然拼读常见规则 - 音节和元音字母的发音规律 怎么用 Github Actions 部署 Next.js 项目到服务器 使用 v4l 采集摄像头 怎么解决 Prettier 和 ESLint 在 VSCode 里的冲突? 《微习惯》 - 读书笔记 在 iPad 使用 VS Code 写代码 在 Macbook 上运行 ChatGLM-6B
ESP8266EX 自动下载电路
本文作者: Eson Wong · 2024-07-07 · via Eson Wong's Blog

ESP-12F 自动下载电路

ESP-12F 是一款集成了 ESP8266EX 芯片的模块,在 ESP-12F 上 GPIO0 引脚 在 EN 引脚上升沿(从低电平到高电平)时,如果 GPIO0 引脚为低电平,ESP-12F 将进入下载模式。

在电子设备中,EN 引脚(Enable Pin),也称为使能引脚,是一个控制信号引脚,用于控制芯片或模块的使能状态。当 EN 引脚为高电平时,芯片或模块处于工作状态;当 EN 引脚为低电平时,芯片或模块处于待机或关断状态。

所以可以用 USB 转 TTL 串口芯片通过控制 GPIO0 和 EN 引脚的电平,来实现自动下载固件和进入运行模式,而不需要增加一个下载按键。

USB 转 TTL 串口芯片

USB 转 TTL 串口芯片通常有 DTR, RTS, TXD, RXD 等引脚,其中 DTR 和 RTS 引脚则可以用来控制 ESP12F 的 GPIO0 和 EN 引脚。TXD 和 RXD 用于串口通信,下载固件时传输固件数据。

DTR: Data Terminal Ready,数据终端就绪,用于控制数据终端设备是否准备好接收数据,当 DTR 为高电平时,表示数据终端设备准备好接收数据。

RTS: Request To Send,请求发送,用于控制数据终端设备发送数据的请求,当 RTS 为高电平时,表示数据终端设备请求发送数据。

TXD: Transmit Data,发送数据,用于发送数据。

RXD: Receive Data,接收数据,用于接收数据。

自动下载电路

以 USB 转 TTL 串口芯片 CH340C 为例 GPIO0 和 EN 与 DTR 和 RTS 的连接方式如下:

自动下载电路

  • EN 和 GPIO0 通过两个上拉电阻连接到 VCC,默认为高电平
  • EN 连接一个电容,让 EN 引脚在电平变化时有一个延时
  • EN 连接到 NPN 三极管 Q1 的发射极
  • DTR 连接到 Q1 的基极
  • RTS 连接到 Q1 的发射极,和 DTR 共同控制 EN 的电平
  • GPIO0 连接到 NPN 三极管 Q2 的发射极
  • RTS 连接到 Q2 的基极
  • DTR 连接到 Q2 的发射极,和 RTS 共同控制 GPIO0 的电平

自动下载过程中电路的状态变化

  1. 初始状态 DTR 和 RTS、EN 和 GPIO0 均为高电平

    • Q1 和 Q2 导通
    • ESP-12F 处于运行模式

    运行模式

  2. 当我们用 esptool 开时下载固件时,esptool 会先拉低串口芯片的 RTS

    • Q1: 维持导通
    • EN: 通过 Q1 连接到低电平的 RTS,被拉为低电平
    • Q2: 因为连接到 Q2 的基极的 RTS 为低电平,不导通
    • GPIO0: 维持高电平

    ESP-12F 停止工作

    EN 会在电容放完电之后被拉低,ESP-12F 停止工作。

  3. 然后 esptool 会拉低 DTR, 拉高 RTS

    • Q1: 不导通
    • Q2: 导通
    • GPIO0: 通过 Q2 连接到低电平的 DTR,被拉为低电平
    • EN: 通过 Q1 连接到高电平的 RTS,给电容充电的同时,逐渐拉为高电平

    ESP-12F 进入下载模式

    此时 ESP-12F 进入下载模式

  4. esptool 会让串口芯片发送固件

参考

广告

本文由我在制作 E-ink Todo List 墨水屏待办 DIY 的 PCB 板时总结的,我还写了一篇《墨水屏 Todo List 制作教程》

👋 E-ink Todo List 墨水屏待办 DIY 的 PCB 现已上架售卖 😇,此 PCB 板可代替教程中的开发板和屏幕转接板。爱好 DIY 的朋友们可以下单购买制作。

E-ink Todo List 墨水屏待办的成品正在起来的路上!!!

下面是 PCB 板的购买途径。

EsonWong 的微信小店

E-ink Todo List PCB