嵌入式

嵌入式的知识 规格 元件 具体的代码在rust的esp库中.

PCB

PCB电路板上的元器件的介绍

  • GND: 地线

  • PWN: 脉冲宽度调制 用数字信号近似连续信号

  • 模拟信号: 连续信号

  • 数字信号: 01的离散信号

  • GPIO: 通用输入输出

  • SPI: 串行外设接口

  • I2C: 集成电路内置总线

  • I2S: 集成电路内置音频总线

  • ADC: 模数转换器 把连续的模拟电压量化为离散信号

  • UART: 通用异步收发传输器 最经典的串口通讯

  • LEDC: ESP的LED控制器 也是PWM发生器

  • RMT: ESP的红外遥控收发器

  • DAC: 数模转换器 把离散的数字信号转换为连续的模拟电压

WS

世界半导体

  • WS2812: 内置控制IC的智能控制LED光源

ESP32

ESP32包含多种常见变体

  • ESP32

  • ESP32-S系列

  • ESP32-C系列

  • ESP32-H系列

  • ESP32-P系列

其中 ESP32-C6,ESP32-H2,ESP32-P4都是专用于新的无线电标准的

特征

ESP32

S2

S3

C3

C6

H2

P4

ESP8266

发射

2016

2019

2020

2020

2021

2021

2024

2014

核心类型

LX6

LX7

LX7

RISC-V

RISC-V

RISC-V

RISC-V

L106

核心

2

1

2

1

1

1

2

1

频率

240

240

240

160

160

96

400

160

电压

2.3-3.6

3.0-3.6

3.0-3.6

3.0-3.6

3.0-3.6

3.3-3.6

3.0-3.6

2.5-3.6

GPIO

34

43

45

22

30

19

50+

17

SRAM KB

520

320

512

400

320

256

768

160

RTC/LP SRAM KB

16

16

16

8

16

4

16

1

闪存 MB

0/2/4

0/2/4

0/8

0/4

0/4

2/4

0/4/8

4

缓存 KB

64

8/16

16

16

16

16

32

32

ROM KB

448

128

384

384

320

128

384

0

USB JTAG

❌

✅

✅

✅

✅

✅

✅

❌

USB OTG

❌

✅

✅

❌

❌

❌

✅

❌

ADC

2x12位 18通道

2x13位 20通道

2x12位 20通道

1x12位 6通道

1x12位 7通道

1x12位 5通道

2x12位 20通道

1x10位 1通道

DAC

2x8位

2x8位

❌

❌

❌

❌

2x8位

❌

数字视频接口

❌

✅

✅

❌

❌

❌

❌

❌

定时器

4x64位

4x64位

4x64位

2x54位

2x54位

2x54位

4x64位

2x23位

监督机构

3

3

3

3

3

3

3

1

I2C

2

2

2

1

2

2

4

1

I2S

2

1

2

1

1

1

2

1

SPI

4

4

4

3

2

3

4

2

以太网

1

❌

❌

❌

❌

❌

❌

❌

LCD接口

✅

✅

✅

❌

❌

❌

✅

❌

MCU温度

❌

✅

✅

✅

✅

✅

✅

❌

触碰

10

14

14

❌

❌

❌

14

❌

UART

3

2

3

2

3

2

4

2

红外/RMT

8

4

8

4

4

4

8

1

霍尔传感器

1

❌

❌

❌

❌

❌

❌

❌

LED PWM

16

8

8

6

6

6

16

5

电机脉宽调制

6

❌

2

❌

❌

1

6

❌

无线上网

4/6

4

4

4

4/6

❌

4/5

4

无线网络速度

150

150

150

150

150

❌

150@2GHz, 433@5GHz

72.2

WiFi 5GHz

❌

❌

❌

❌

❌

❌

✅

❌

蓝牙经典版

✅

❌

❌

❌

❌

❌

❌

❌

蓝牙低功耗 (BLE)

BLE4.2

❌

BLE5.0

BLE5.0

BLE5.3

BLE5.3

BLE5.2

❌

线程 1.3

❌

❌

❌

❌

✅

✅

❌

❌

Zigbee 3.0

❌

❌

❌

❌

✅

✅

❌

❌

事情 (Matter)

❌

❌

❌

❌

✅

✅

❌

❌

HomeKit、MQTT 等

❌

❌

❌

❌

✅

✅

✅

❌

相机接口

✅

✅

✅

❌

❌

❌

❌

❌

TWAI(CAN 2.0)

✅

✅

✅

✅

✅(2)

✅

✅

❌

SD主机

✅

❌

✅(2)

❌

❌

❌

✅

❌

SD 从设备

✅

❌

❌

❌

✅

❌

❌

✅

JTAG

✅

✅

✅

✅

✅

❌

✅

❌

飞行时间

❌

✅

❌

❌

❌

❌

❌

❌

AI加速支持

❌

❌

✅

❌

❌

❌

✅

❌

深度睡眠

10µA

20µA

7µA

5µA

7µA

8µA

10µA

20µA

尺寸(毫米)

5x5/6x6

7x7

7x7

5x5

5x5

4x4

7x7

5x5

orangepi zero2w

首先 修改内核启动参数 /boot/orangepiEnv.txt

开启USB的从机模式

verbosity=1
bootlogo=false
console=both
disp_mode=1920x1080p60
overlay_prefix=sun50i-h616
rootdev=UUID=90e39537-8dde-46da-8588-e030a2e198a3
rootfstype=ext4
overlays=usb-gadget
extraargs=modules-load=dwc2,g_serial console=ttyS0,115200 console=ttyGS0,115200

然后在Getty开启GS0的监听

ln -sf lib/systemd/system/serial-getty@.service \
       etc/systemd/system/getty.target.wants/serial-getty@ttyGS0.service