多种通信协议总结
📘 串口通信协议与模拟接口学习笔记总结
在嵌入式系统开发中,各类通信协议与模拟接口是实现外设连接与控制的基础。本文总结了常见的串口通信协议(UART、I2C、SPI、CAN、SDIO、蓝牙)和模拟/数字接口(PWM、ADC、DAC)的工作原理、特点与应用场景。
一、串口通信协议总结
1. UART(Universal Asynchronous Receiver/Transmitter)
- 类型:异步串行通信协议
- 连接线:2 根(TX发送、RX接收)
- 结构:点对点,无主从关系
- 特点:
- 不需要时钟线,靠波特率同步
- 适合短距离通信,调试、模块通信广泛使用
- 典型应用:调试串口、蓝牙模块(如HC-05)
2. I²C(Inter-Integrated Circuit)
- 类型:同步串行通信协议
- 连接线:2 根(SCL时钟线、SDA数据线)
- 结构:多主多从
- 特点:
- 每个设备有唯一地址,可挂多个外设
- 硬件资源占用少,但速率较低
- 典型应用:温湿度传感器(如 SHT30)、OLED 显示器、RTC 时钟芯片
3. SPI(Serial Peripheral Interface)
- 类型:同步串行通信协议
- 连接线:通常 4 根(SCLK时钟、MOSI主出从入、MISO主入从出、CS片选)
- 结构:主从式
- 特点:
- 速率高(数十 Mbps),全双工通信
- 不支持多主,但可挂多个从设备
- 典型应用:Flash 存储器、TFT 屏幕、加速度计等高速外设
4. CAN(Controller Area Network)
- 类型:多主串行总线
- 连接线:2 根(CAN_H、CAN_L)
- 结构:多主多从,广播式通信
- 特点:
- 强抗干扰,支持差分传输
- 适合工业控制和汽车电子场景
- 典型应用:车辆控制器之间通信、工业控制网络
5. SDIO(Secure Digital Input Output)
- 类型:同步高速串行通信协议
- 连接线:通常 6 根(CMD、CLK、DAT0~3)
- 结构:主从式
- 特点:
- 用于 SD 卡、WiFi 模块等高速数据设备
- 支持中断、DMA 等高效数据传输
- 典型应用:SD 卡、无线网卡(WiFi 模块)
6. 蓝牙(Bluetooth)
- 类型:无线串口通信协议(SPP)
- 连接线:无线(但与 MCU 通常通过 UART 连接)
- 结构:主从式
- 特点:
- 近距离无线传输,速率约 1~3 Mbps
- 常用于代替串口通信,实现无线控制
- 典型应用:蓝牙耳机、蓝牙串口模块、手机与设备交互
二、模拟与数字接口总结
1. PWM(Pulse Width Modulation)
- 类型:数字输出控制
- 功能:通过控制占空比模拟模拟电平
- 特点:
- 常用于电机调速、LED 亮度控制、蜂鸣器发声
- 周期固定,占空比可调
- 典型应用:直流电机、舵机、LED 调光
2. ADC(Analog to Digital Converter)
- 类型:模拟输入
- 功能:将模拟电压信号转换为数字值
- 特点:
- 通常内置于 MCU 中,有多通道、多分辨率选择
- 典型应用:电压检测、光照传感器、温度采样
3. DAC(Digital to Analog Converter)
- 类型:模拟输出
- 功能:将 MCU 的数字量转换为模拟电压输出
- 特点:
- 用于控制模拟设备,或音频、电压输出场景
- 典型应用:信号发生器、音频输出、电压控制
三、对比表格汇总
接口/协议 | 类型 | 通信方向 | 线数 | 结构 | 速率 | 应用场景 |
---|---|---|---|---|---|---|
UART | 异步串口 | 双向 | 2 | 点对点 | 中 | 调试、串口模块 |
I²C | 同步串口 | 双向 | 2 | 多主多从 | 中 | 传感器、显示器 |
SPI | 同步串口 | 双向 | 4 | 主从式 | 高 | 存储器、屏幕 |
CAN | 串行总线 | 双向 | 2 | 多主 | 中 | 汽车、工业控制 |
SDIO | 同步串口 | 双向 | 4~6 | 主从式 | 高 | SD卡、WiFi模块 |
蓝牙 | 无线串口 | 双向 | 无线 | 主从式 | 中 | 无线通信 |
PWM | 数字控制 | 输出 | 1 | - | - | 控速、调光 |
ADC | 模拟采集 | 输入 | 1 | - | - | 传感器输入 |
DAC | 模拟输出 | 输出 | 1 | - | - | 信号输出 |
https://hjnb1314.github.io/%E5%A4%9A%E7%A7%8D%E9%80%9A%E4%BF%A1%E5%8D%8F%E8%AE%AE%E6%80%BB%E7%BB%93/
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.