SPI、I²C与UART通信协议详解与应用 1. 常用通信协议原理图解1.1 SPI通信协议SPI(Serial Peripheral Interface)是一种高速、全双工的同步串行通信协议采用主从架构设计。其核心特点是通过四线制实现高效数据传输SCLK时钟信号线由主设备产生MOSI主设备输出/从设备输入MISO主设备输入/从设备输出SS片选信号低电平有效数据传输时主设备通过SCLK提供时钟信号数据在时钟边沿上升沿或下降沿进行采样。典型工作时序显示主设备拉低SS信号选择从设备时钟信号开始振荡数据在时钟边沿保持稳定在相反边沿变化传输完成后SS信号恢复高电平SPI协议的优势在于硬件实现简单无需复杂的地址处理时钟速率可达数十MHz支持全双工通信可通过多SS线实现多从机扩展1.2 I²C通信协议I²C(Inter-Integrated Circuit)是Philips开发的双线制串行总线采用开漏输出设计需外接上拉电阻SDA串行数据线SCL串行时钟线协议关键特性包括起始条件SCL高电平时SDA由高变低地址帧7位或10位从机地址读写位应答机制每字节传输后接收方产生ACK停止条件SCL高电平时SDA由低变高典型传输过程主设备发起起始条件发送从机地址含读写位接收ACK应答传输数据字节每字节后跟ACK主设备发起停止条件1.3 UART通信协议UART(Universal Asynchronous Receiver/Transmitter)是最基础的异步串行通信协议核心参数包括波特率常见9600/115200等数据位5-9位停止位1/1.5/2位校验位奇/偶/无电平标准转换MCU端通常使用TTL电平0-3.3V/5V通过CH340等转换芯片实现USB转串口远距离通信使用RS-232±12V或RS-485差分1.4 红外通信原理红外通信采用38kHz载波调制技术典型电路组成发射端编码信号驱动红外LED接收端红外接收管如VS1838B带通滤波放大器中心频率38kHz解调输出原始数字信号应用实例使用555定时器产生38kHz载波单片机输出控制信号调制载波接收端解调后控制继电器等执行机构1.5 串并转换技术1.5.1 移位寄存器原理74HC595是典型的串入并出移位寄存器工作流程串行数据通过SER引脚输入每个SCK上升沿移入1位数据填满后通过RCK锁存到输出端输出使能(OE)控制输出状态1.5.2 D触发器实现使用D触发器构建移位寄存器时钟信号驱动下数据逐级传递每个时钟周期数据移动一位可实现串行到并行的转换也可实现并行到串行的转换1.6 其他关键波形1.6.1 PWM调制PWM(Pulse Width Modulation)通过调节占空比控制功率应用特点固定频率调节脉冲宽度用于LED调光、电机调速等硬件PWM由定时器模块产生1.6.2 调制技术对比模拟调制方式比较AM载波幅度随信号变化FM载波频率随信号变化PM载波相位随信号变化1.6.3 信号完整性方波边沿抖动现象影响因素信号反射串扰电源噪声阻抗不匹配