#esp32 & esp8266
##功能框圖
- ESP32的功能原理圖
esp32 | esp8266 | esp32-s2 | ||
CPU | 型号 | 低功耗[email protected] 32-bit 單/雙核處理器 | 超低功耗 Tensilica L106 32-bit RISC處理器 | [email protected] 32-bit LX7單核處理器 |
頻率 | 高達240MHZ | 160MHZ | 高達240MHZ | |
性能 | 運算能力高達600MIPS | 較弱 | ||
存儲 | 片上 | 448kB的ROM,用于程式啟動和核心功能調用 | ||
520KB片上SRAM | 使用者可用SRAM空間高度為50KB | 320KB SRAM | ||
RTC快速存儲器,為8KB的SRAM;RTC慢速存儲器,為8KB的SRAM | RTC快速存儲器,為8KB的SRAM;RTC慢速存儲器,為8KB的SRAM | |||
1Kbit的eFuse | 4Kbit的eFuse | |||
Wi-Fi | 資料率高達150Mbps支援TCPIP協定 完全遵循802.11 b/g/n WiFi MAC協定棧 | 資料率高達72.2Mbps支援TCPIP協定 完全遵循802.11 b/g/n WiFi MAC協定棧 | ||
Bluetooth | 支援藍牙v4.2 BR/EDR和BLE标準提供 | |||
外設 | UART | 3個UART接口速度可達5Mbps即 UART0、UART1 和 UART2 | 2個UART序列槽速度可達5MBPS | |
I2C | 2個I2C接口 | 可用用軟體程式設計模拟1個I2C接口口 | ||
SPI | 4個SPI(有 3 組 SPI(SPI、HSPI 和 VSPI)接口) | 1 個通用用從機/主機 SPI 和 1 個通用用從機 HSPI | ||
ADC | 內建了 12-bit SAR ADC,共支援 18 個模拟通道輸入 | 内置一個 10-bit 精度的 SAR ADC | ||
DAC | 有 2 個 8-bit DAC 通道 | |||
GPIO | 有 34 個 GPIO 管腳 | 有 17 個 GPIO 管腳 | ||
CAN | ESP32的外圍裝置包含一個CAN控制器,支援CAN2.0B規範的标準幀格式(11位ID)和擴充幀格式(29位ID) | |||
定時器 | 内置 4 個 64-bit 通用定時器,具有 16-bit 分頻器和 64-bit 可自動重載的向上/向下計時器 | PWM定時器,看門狗定時器 | ||
I2S | 有 2 個标準 I2S 接口,2 個 I2S 接口都有專用的 DMA 控制器 | 有 1 個 I2S 輸入入接口和 1 個 I2S 輸出接口,支援連結清單 DMA | ||
PWM | 脈沖寬度調制 (PWM)和LED PWM | 有 4 個 PWM 輸出接口 | ||
SD/SDIO/MMC | ESP32 內建一個 SD/SDIO/MMC 主機控制器和用作 SDIO 總線上的從機 | 1 個從機 SDIO 接口 | ||
IR遙控接口 | 8 路 IR 收發器,支援不同波形标準 | 目前定義了了 1 個 IR 紅外遙控接口,IR 紅外遙控接口口由軟體實作 | ||
硬體加速器 | AES (FIPS PUB 197)、SHA (FIPS PUB 180-4)、RSA 和 ECC 等,還支援大數乘法、大數模乘等獨立運算 |
詳細資料可以看晶片對比
1.ESP32采用兩個哈佛結構Xtensa LX6 CPU 構成雙核系統,兩個 CPU 的位址映射呈對稱結構,兩個 CPU 的名稱分别是“PRO_CPU”和“APP_CPU”。
2.位址映射結構
片上存儲器分為 Internal ROM、Internal SRAM、RTC FAST Memory、RTC SLOW Memory 四個部分。DMA 功能的子產品總共有 13 個。
ESP32 将 External Flash 與 External SRAM 作為片外存儲器。
ESP32 共有 41 個外設子產品,除了 PID Controller 以外,其餘外設子產品都可以被兩個 CPU 用相同位址通路到。注意:PRO_CPU 和 APP_CPU 都隻能通路自己的PID Controller,不能通路對方的 PID Controller。
3.中斷矩陣
主要特點:
- 接受 71 個外部中斷源作為輸入
- 為兩個 CPU 分别生成 26 個外部中斷(總共 52 個)作為輸出
- 屏蔽 CPU 的 NMI 類型中斷
- 查詢外部中斷源目前的中斷狀态
4.複位和時鐘
系統提供三種級别的複位方式,分别是 CPU 複位,核心複位,系統複位。
- CPU 複位:隻複位 CPU 的所有寄存器。
- 核心複位:除了 RTC,會把整個 digital 的寄存器全部複位,包括 CPU、所有外設和數字 GPIO。
- 系統複位:會複位整個晶片所有的寄存器,包括 RTC。
系統時鐘:
系統時鐘