嵌入式通讯协议
串口通讯
UART
UART:Universal Asynchronous Receiver/Transmitter 通用异步收发器
- RX 接收
- TX 发送
USART
USART:Universal Synchronous/Asynchronous Receiver/Transmitter 通用同步/异步收发器,UART 升级版
- 时钟线(CLK)
- RX 接收
- TX 发送
I2C
时钟频率:常见的传感器(如 MPUs, OLED)多用400 kHz频率,100 kHz最基础的速率,几乎所有设备都支持,新型号芯片支持1MHz,或特殊电路设计达到3.4MHz。
- SDA 数据
- SCL 时钟
I2S
I2S “数字音频传输协议“(Digital Audio Interface),专用于音频,I2S 传输的是PCM数据
PCM 音频数据(已经解码好的采样值)
例如:44.1kHz / 16bit(每秒44100 个采样点,每采样点有2^16=65536个电压采样可能性)
算一下单声道数据率:
$$
44100 \times 16 = 705600 \ \text{bit/s}
$$
👉 ≈ 706 kbps(单声道)
🎧 双声道(立体声)
$$
44100 \times 16 \times 2 = 1{,}411{,}200 \ \text{bit/s}
$$
👉 ≈ 1.4 Mbps
可理解为,I2S = 按时间顺序传输“电压采样点”
1 | 音频文件(MP3) |
SPI
时钟频率:
| 场景 | 典型时钟频率范围 | 常见应用 |
|---|---|---|
| 低速设备 | 1 MHz - 5 MHz | 简单的传感器、电位计。 |
| 普通设备 | 10 MHz - 25 MHz | 128x64 显示屏、SD 卡读写、外部 Flash。 |
| 高速设备 | 50 MHz - 100 MHz+ | 高清 TFT 屏幕、高速 FPGA 间通信。 |
引脚描述:
| 引脚名称 | 功能描述 | 主设备 (Master) | 从设备 (Slave) |
|---|---|---|---|
| SCLK | 串行时钟(Serial Clock):由主设备生成的时钟信号,用于同步数据传输。 | 输出 | 输入 |
| MOSI | 主输出从输入(Master Out Slave In):主设备向从设备发送数据的信号线。 | 输出 | 输入 |
| MISO | 主输入从输出(Master In Slave Out):从设备向主设备发送数据的信号线。 | 输入 | 输出 |
| CS/SS | 片选(Chip Select)/从属选择(Slave Select):用于选择从设备的信号,通常为低电平有效。 | 输出 | 输入 |
调试协议
JTAG
信号线
- TMS(Test Mode Select) 模式选择信号,引导 TAP 进入不同的状态,如 Shift-DR、Shift-IR、Capture 或 Update 等状态
- TCK(Test Clock) 时钟信号
- TDI(Test Data In) 数据流向:调试器 → 被调试设备(Target)
- TDO(Test Data Out) 数据流向:被调试设备(Target) → 调试器。
SWD
调试STM32设备协议,由JTAG转化而来的升级版;
信号线
- SWDIO:双向数据传输线,用于发送和接收数据。
- SWCLK:时钟信号。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 铸鼎-BuildDing!
评论




![JBCT12焊台项目[9号开源]](/images/2026-04-07-JBCT12%E7%84%8A%E5%8F%B0%E9%A1%B9%E7%9B%AE-9%E5%8F%B7%E5%BC%80%E6%BA%90/543717820590162.png)


