- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ESP32智能硬件开发案例实战;第1章 SoC基础;1.1 SOC概述;概念及定义;SoC结构与特点;SoC结构与特点;; ESP32系列芯片是集成2.4GHz WiFi和蓝牙双模的单芯片方案,采用超低功耗的40纳米工艺,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,适用于各种应用场景。
主要包括:核与存储器、RTC、WiFi、BT、RF、外部接口和密码软件加速器。其主要特点:
1.超低功耗。在低功耗物联网传感器集中应用场景中,ESP32只有在特定条件下才会被周期性地唤醒。低占空比可以极大降低ESP32芯片的能耗。射频功率放大器的输出功率也可调节,以实现通信距离、数据率和功耗之间的最佳平衡。
2.高集成度。ESP32采用CMOS工艺实现单芯片集成射频和基带,还集成了先进的自校准电路,实现了动态自动调整,可以消除外部电路的缺陷,更好地适应外部环境的变化。
;ESP32主要的功能;ESP32主要的功能;ESP32智能硬件开发案例实战;第二章 ESP32系统;2.1 ESP32系统;2.2 ESP32系统架构;系统架构概述;地址映射;;;2.3 ESP32开发板;系统复位
ESP32系统提供三种级别的复位方式,分别是CPU复位、内核复位、系统复位。所有的复位都不会影响存储器中的数据。方式如下:
?CPU复位,只复位CPU的所有寄存器。
?内核复位,除了RTC,所有数字寄存器全部复位,包括CPU、数字GPIO和外设。
?系统复位,会复位整个芯片所有的寄存器,包括RTC。
APP_CPU和PRO_CPU能被立刻复位,有些复位源只能复位其中一个。APP_CPU和PRO_CPU的复位原因也各自不同:当系统复位之后,PRO_CPU可以通过读取寄存器 RTC_CNTL_RESET_CAUSE_PROCPU获取复位源,APP_CPU则可以通过读取寄存器 RTC_CNTL_RESET_CAUSE_APPCPU获取复位源。;系统时钟
ESP32提供多种不同频率的时钟选择,可以灵活的配置CPU、外设及RTC的工作频率,以满足不同功耗和性能需求。ESP32的时钟源分别来自外部晶振、内部PLL或震荡电路。
1.时钟源
(1)快速时钟主要包括PLL_CLK、320MHz或480MHz内部PLL时钟;XTL_CLK,2~40MHz外部晶振时钟。
(2)低功耗慢速时钟主要包括XTL32K_CLK,32KHz外部晶振时钟;RTC8M_CLK,8MHz内部时钟,频率可调;RTC8M_D256_CLK由RTC8M_CLK经256分频所得,频率为(RTC8M_CLK/256),当 RTC8M_CLK的初始频率为8MHz时,该时钟以31.250KHz频率运行;RTC_CLK,150KHz 内部低功耗时钟,频率可调。
(3)音频时钟,APLL_CLK,16~28MHz内部AudioPLL时钟。
;;1.64bit通用定时器
芯片内置4个64位通用定时器,具有16位分频器和64位可自动重载的向上/向下计时器。定时器特性:16位时钟分频器,分频系数为2~65536;64位计时器;计时器方向可配置:递增或递减;软件控制计数暂停和继续;定时器超时自动重载;软件控制的即时重载;电平触发中断和边沿触发中断。
2.看门狗定时器
芯片中有3个看门狗定时器:2个定时器模块中各有1个(称作主看门狗定时器,即MWDT),RTC模块中也有1个(称作RTC看门狗定时器,即 RWDT)。意外的软件或硬件问题会导致应用程序工作失常,而看门狗定时器可以帮助系统从中恢复。如果当前程序运行超过预定时间,但没有喂狗或关闭看门狗定时器,可能引发以下动作包括:中断、CPU复位、内核复位和系统复位。其中,只有RWDT能够触发系统复位,复位包括RTC在内的整个芯片,每个阶段的超时时间长度均可单独设置。
;2.5 FreeRTOS;FreeRTOS任务状态;26;27;ESP32智能硬件开发案例实战;ESP32系统的集成开发环境
ESP32官方开发环境、ESP-IDF的安装和运行
Visual Studio Code、Arduino、MicroPython开发环境在ESP32开发板上的开发方法
MicroPython开发工具;开发ESP32程序的软、硬件资源,ESP32开发板、USB数据线(A转Micro-B)、PC(Windows、Linux或Mac OS)
;ESP-IDF开发环境;;ESP-IDF安装;命令行运行Hello world;Eclipse IDE运行Hello world;3.1.5 ESP-IDF构建系统;;;3.2.1 ESP-IDF插件安装;3.2.2 运行第一个程序;3.3 Arduino开发环境;
文档评论(0)