ESP8266+CH340下载电路+LCD显示屏显示天气时钟

0.前言

之前一直进行软件编程方面的学习与应用,但所有软件都是基于一定的硬件基础,所以想通过做些比较有意思的小项目来入门硬件的设计与应用。看到ESP模块在物联网方面的应用比较多,于是准备设计一个许多人都开源的ESP+显示屏的天气时钟。

这个小项目主要涉及到ESPWIFI模块、CH340自动下载电路、显示屏显示等。因此这里我把设计这些电路有关的资料和个人理解整理分享一下,过程中有错误也希望各位大神指点。

1.硬件部分

1.1ESP-12F WIFI模块

我选择的是安信可的ESP-12F,这个模块基于乐鑫ESP8266EX的低功耗UART-WiFi芯片模组中的一员。
模块的一些特点:
1、核心处理器是超低功耗 32 位微型 MCU。
2、主频支持 80 MHz 和 160 MHz。
3、支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。
4、等等
(详细可见链接

我们最关注的也就是这个模块的每个引脚及其功能

在这里插入图片描述
在这里插入图片描述
硬件原理图设计的过程中需要注意的是:
1、VCC引脚接3v3,EN引脚注意使能。
2、该模块的下载模式以下有两种 :
(分别对应的相应模式的引脚状态)在这里插入图片描述
因为这个小项目涉及到的引脚数量较少,所以为了避免引脚上的冲突,我在其他外设连接的设计过程中避开了这两种下载模式涉及到的引脚。
3、内存情况
(1)、ESP8266EX片上没有programmable ROM,用户程序存放在SPI Flash中。
(2)、目前该模组外接的是4MB的SPI Flash。
4MB的Flash对于我们这个小项目的存储是足够的了,所以选择不外加存储。

最终该部分的原理图为:在这里插入图片描述
在这里插入图片描述
这里GPIO0加了BOOT按键是为了防止下面设计的CH340模块有问题。

1.2 CH340下载电路

CH340是一个USB总线的转接芯片,实现USB转串口或者USB转打印口。

1.2.1 CH340选型

CH340总共有CH340G、CH340C、CH340B、CH340K、CH340N、CH340E、CH340T、CH340R八种型号,
不同型号区别:
CH340C、CH340N、CH340K和CH340E以及CH340B内置时钟,无需外部晶振。
CH340B 内置EEPROM用于配置序列号,以及部分功能可定制等。
CH340K 内置三只二极管用于减少独立供电时与MCU的I/O引脚之间的电流倒灌。
CH340K 的底板是0#引脚GND,是可选连接;3#引脚GND是必要连接。
CH340E 如果批号末3 位大于等于B40,则可为6#引脚加4.7KΩ下拉电阻将其改为DTR#。
CH340C 如果批号4开头且末3位大于B40,则可为8#引脚加4.7KΩ 下拉电阻将其改为DTR#。
CH340R 提供反极性TXD和MODEM信号,已停产。

我在这里因为之前用过CH340C,选择的是CH340C,其它型号的芯片也可以自行选用。

      CH340 的USB收发器按 USB2.0 全内置设计,UD+和UD-引脚建议不要额外串接电阻。

这个下载电路的设计是我做这个小项目中花费时间最长的原因有以下几点:
1、前面说到ESP-12F有两种下载模式。
2、下载过程中每次都需要去匹配ESP的下载时序。

所以怎么规划这个下载过程中的时序就成了解决这个下载电路的关键。根据ESP8266芯片手册及资料显示的下载流程,要保证必须在GPIO0为低电平的状态下,复位芯片,才会进入USART下载模式。
所以整个电路的时序逻辑就是:
GPIO0引脚拉低——>RST引脚拉低——>短时间延时——>
RST引脚拉高——>进入BOOT模式——>下载固件——>
下载完成——>GPIO引脚拉高——>RST引脚拉低——>
延时——>进入FLASH运行模式

可以看到数据手册中的引脚描述:DTR#引脚是MODEM联络输出信号,数据终端就绪,低(高)有效,在USB配置完成之前作为配置输入引脚,可以外接4.7KΩ的下拉电阻在USB枚举期间产生默认的低电平。RTS#引脚MODEM联络输出信号,请求发送,低(高)有效。这两个MODEM联络信号是由计算机应用程序控制并定义其用途的,在软件下发点击下载按钮后,通常会给DTR#拉低、RTS拉高,然后延时一段时间后,拉高DTR#,RTS#恢复到低电平。(见引脚号15、16)
在这里插入图片描述
所以得到四个引脚连接的逻辑电路如下:
在这里插入图片描述
及当DTR=1,RTS=0时,RST复位引脚拉低,反之GPIO0引脚拉低。这样,在点击下载按钮后,CH340C芯片的DTR处于低电平,RTS处于高电平,此时ESP8266的GPIO0被拉低,复位RST信号为高,ESP8266进入下载模式,CH340C的DTR和RTS电平翻转后,RST为0,GPIO0变1,ESP8266进入Flash运行模式,程序正常运行。这样就实现了ESP8266自动下载。

我的下载电路模块设计为:
在这里插入图片描述

1.3 屏幕

屏幕的选择就有很多种选法了,这里借鉴了别人的屏幕选择,选择的是晶力泰公司型号为JLT1501A的1.54寸屏幕。
其引脚与功能为:
在这里插入图片描述
在这里插入图片描述
这里每个引脚的功能已经很详细了,就不再说明了。
最后屏幕模块的引脚接线图如下:
在这里插入图片描述

2.软件部分

待更新。

3. 参考的相关资料与文献

CH340芯片手册
ESP8266芯片手册
安信可ESP12F模块手册
大阡的CSDN相关文章-ESP8266自动下载电路分析
以及其他相关博客

版权声明:本文为CSDN博主「山山归川」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45905098/article/details/122460505

生成海报
点赞 0

山山归川

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

OpenMV与单片机串口通信交互

示例器件: OpenMV英飞凌TC264单片机 简介 OpenMV与TC264虽然都可以作为单独的微控制器来使用,但OpenMV是集成了摄像头的控制器,专门用于摄像头识别等作用,涉及

萝莉遥控乐高电机

文章背景: 前段时间买了一辆积木拼搭的玩具车,春节几天把他组装好了,拥有遥控控制转向以及前进后退的功能。但自带的电池以及遥控感觉不太好用,特别是电池,充电两小时&#xff0