Dji TT无人机扩展件ESP32芯片(D2WDQ5)

就是蓝色位置的芯片

项目使用了964036字节,占用了(74%)程序存储空间,余留346684字节,最大为1310720字节。
全局变量使用了40760字节,(14%)的动态内存,余留254152字节局部变量,最大为294912字节。 esptool.exe --chip esp32 --port COM3 --baud 921600 read_flash 0x400000 4 
Chip is ESP32D2WDQ5 (revision 1)

Features: WiFi, BT, Dual Core, Embedded Flash, VRef calibration in efuse

因为最近在做一个无人机辅助的操控装置,大的无人机不方便调试,就目光又转向了TT,所以需要不停的刷写程序,所以又燃起了对扩展件的研究欲望。上面的日志来自于烧录时,里面已经有了很多有趣的东西了,主要时芯片。

ESP32D2WDQ5

但是随便一搜索,都是自己写的东西

就是这种感觉,根本不想看自己写的东西

https://www.espressif.com/zh-hans/support/documents/technical-documents

我们下载这份文档来读

记住是系列芯片

ESP32-D2WD 为 400 MIPS

别的都是600 MIPS,这个就是400 ,不过我觉得可能就是已经够用了。

频率为160Mhz

看这个说法是自己带了flash

CS# = GPIO16,IO1/DO = GPIO17,
IO3/HOLD# = SD_CMD,CLK = SD_CLK,
IO2/WP# =SD_DATA_0,IO0/DI = SD_DATA_1

这个是芯片的引脚连接flash的定义

芯片的引脚使用图

ESP32-D2WD 的内置 flash 的工作电压是 1.8 V, 上电时需要将 MTDI 拉高

启动时使用的引脚

ESP32-D2WD 和 ESP32-U4WDH 芯片的整体工作温度为–40 °C ~ 105 °C

在特性里面看见最后一个东西,去查查是什么,是内部烧录的一个值

ADC的参考电压(VREF)<-就是它

https://github.com/espressif/esptool/wiki/espefuse

它就是一个py的脚本,一起安装了

# python $IDF_PATH/components/esptool_py/esptool/espefuse.py --port COM7 adc_info
# python $IDF_PATH/components/esptool_py/esptool/espefuse.py --port COM7 adc_infoespefuse.py v2.7-devConnecting........_____....._ADC VRef calibration: 1093mV

上面是用工具读取整个电压的值为多少

根据设计,ADC 参考电压为 1100 mV,但在不同的 ESP32 中,真实参考电压的范围可以从 1000 mV 到 1200 mV。

校准值

校准值用于生成说明特定 ESP32 芯片的 ADC 参考电压变化的特性曲线。ESP32 目前有 3 个校准值来源。这些校准值的可用性将取决于 ESP32 芯片/模块的类型和生产日期。

  • 两点值代表 ADC 在 150 mV 和 850 mV 下的每个读数。为了获得更准确的校准结果,用户应测量这些值并将其烧录到 eFuse 中BLOCK3

  • eFuse Vref代表真正的 ADC 参考电压。该值BLOCK0在工厂校准期间被测量并烧录到 eFuse中。

  • 默认 Vref是用户提供的 ADC 参考电压的估计值,作为表征期间的参数。如果两点或 eFuse Vref 值不可用,则将使用默认 Vref。

    2018 年第 1 周后生产的 ESP32-D0WD 和 ESP32-D0WDQ6 芯片已单独测量和烧录eFuse Vref。此类芯片可通过 012018 年或以后的日期代码识别(见下图第 4 行) )。

· 448 KB ROM· 520 KB SRAM· 16 KB RTC SRAM· QSPI 支持多个 flash/SRAM

这个是芯片的一些存储参数

最后出现了SPI,那这个芯片框图就不可少了

看上面写的三组SPI接口

ESP32 共有 4 个 SPI 控制器,用于连接支持 SPI协议的设备。

SPI0 控制器作为 cache 访问外部存储单元接口使用,

SPI1 作为主机使用, SPI2 和 SPI3 控制器既可作为主机使用又可作为从机使用。作主机使用时,每个 SPI 控制器可以使用多个片选信号 (CS0~CS2) 来连接多个 SPI 从机设备。SPI1 ~ SPI3 控制器共享两个 DMA 通道。

SPI 控制器在 GP-SPI 模式下,支持标准的四线全双工通信(MOSI、 MISO、 CS、 CLK)和三线半双工通信(DATA、CS、 CLK)。

SPI 控制器在 QSPI 模式下使用信号总线 D、 Q、 CS0~CS2、 CLK、 WP 和 HD 作为 4-bit 并行 SPI总线来访问外部 Flash 或 SRAM。

从左数看第三个

令人迷惑的一点是,HSPI和VSPI并不是high-speed SPI 和Very High-speed SPI,而是SPI和HSPI、VSPI是一样的,只不过是换个名字用于区分,SPI相当于SPI0或SPI1,HSPI相当于SPI2,VSPI相当于SPI3。

SPI0和SPI1通过总线仲裁器共享一条信号总线,用于在模组内部访问FLASH(SoC FLASH),不对用户开放。

SPI2和SPI3是通用SPI控制器,也被称为HSPI和VSPI。它们拥有独立的信号总线,每条总线都有三条片选(CS)信号,也就是说每个控制器都能驱动最多3个SPI从器件。这两个SPI控制器对用户开放

SPI SPI0或SPI1
HSPI SPI2
VSPI SPI3

所有SPI相关的API都不能在中断服务函数或上下文切换期间使用,因为SPI相关的API都调用了互斥量,可能会造成系统错误,这个是编写程序时要注意的。

在使用IDF编程时:

#include "driver/spi_master.h#include "driver/spi_slave.h

调用设备的头文件为

这些事来自于官方的文档,具体使用时要比对再确认

翻译自官网

https://blog.csdn.net/qq_40500005/article/details/113966067

作者在此

SPI和对应的GPIO的表,也叫映射

最后给出一个命名表来结束文章

(0)

相关推荐

  • iMX8MQ如何在SPI总线上添加设备-飞凌嵌入式干货分享

    SPI接口设备是一款使用率较高的设备,在用户使用OKMX8MQ-C时可能需要添加新的SPI设备,或者将现有的SPI设备从当前的总线上更换到别的总线上,或更换片选. 对于SPI驱动不熟悉的人可能不是很了 ...

  • 【学习笔记】嵌入式技术(20):一种基于芯片的离散量接口解决方案

    2016年电子技术应用第3期 作者:杨 峰1,2,索高华3,解亚龙3 摘  要: 传统的离散量处理方案采用分立器件搭建,面积体积及重量较大,可靠性较低,BIT占用硬件资源较多,已不能满足系统小型化.高 ...

  • 如何给ESP32选择外接SPI Flash

    给ESP32选择外接SPI Flash[前言]:  许多用户在使用 ESP32 做开发的时候,都会碰到如何选择外接 Flash 的难题,因为不同厂商的 Flash 存在很多差异,Flash 支持的工作 ...

  • Dji TT扩展件与TT使用USB端串口通讯.下

    void setup() { Serial.begin(115200); delay(100); Serial.println(); Serial1.begin(0, SERIAL_8N1, -1, ...

  • Dji TT扩展件与TT使用USB端串口通讯.上

    我觉得这个+应该是= 不然这个句子我一直读不通 好,我们具体的发送方式拿到了 来搜索 发送命令的C++版本,这个是最重要的 串口的定义,是用了这个两个引脚来控制和接受飞机回传的信息 特别的,在一个de ...

  • TT扩展件microPython实现.1

    这边选择mPy,会自动上传安装mPy的固件 可以看到tt扩展件内部有什么 这边也可以从本地来加载二进制的固件 可以看到文件后缀是bin文件 这边有几个二进制文件 这个地方也可以看到固件的版本,是0.0 ...

  • TT扩展件microPython实现.2

    TT扩展件microPython实现.1,这个是上篇,下面是下篇 GCC的目录,只为ESP芯片编译 C:\Program Files (x86)\Mind+\Arduino\hardware\tool ...

  • 7,999元,2S百公里加速 大疆DJI FPV无人机评测

    大疆DJI FPV无人机评测大疆刚发布的DJI FPV穿越机已经到手,我们今天给大家带来评测.大疆官方称DJI FPV为沉浸式飞行无人机,其实就是穿越机的概念.在评测之前,我们先来看看这款产品的核心优 ...

  • 创举!首个可扩展的多芯片量子处理器诞生

        当地时间6月29日,成立于2013年的美国全栈量子计算公司Rigetti Computing (以下简称"Rigetti") 宣布推出世界上第一个多芯片量子处理器[1]. ...

  • TT无人机扩展模块库分析(default.ino)补篇2

    这个简单 请对照 因为源码在这里出现了和手柄相关的源码 设置tof传感器的超时时间(500)什么单位? 没有搜索到,我用SI了 搜索到了~有很多函数 定位位置 在这里 找到了,为什么我又回去了code ...

  • TT无人机扩展模块库分析(default.ino)补篇1

    昨天文章的最后着急的发表,没有好好分析最后这一个 我决定今天继续写一下 因为在具体的语句里面使用预处理命令是我第一次见的 平时都是在文件首有,今天在内部.值得说说 这个地方我在截图一下 在一个{ }内 ...

  • TT无人机扩展模块库分析(default.ino)补篇3

    处理有关矩阵的命令: 自定义回调函数的模板,先定义三个参数 下面写处理函数就行 WiFi更新功能 先定义一个cnt变量 注释写:将您的设置代码放在此处,即可运行一次 先设置一个串口波特率,开启的是Se ...