【单片机通信技术】串口通信的几种方式与比较,详细解释SPI通信

【单片机通信技术】串口通信的几种方式与比较,详细解释SPI通信

一、介绍

串口通信是一种通过串行接口逐位传输数据的通信方式,广泛应用于嵌入式系统、工业控制、传感器网络等领域。

二、以下是几种常见的串口通信方式及其对比:

1.UART(Universal Asynchronous Receiver/Transmitter)

特点:

异步通信:无时钟信号,依赖预定义的波特率(Baud Rate)同步数据。

全双工:支持同时发送和接收(需独立的TX和RX线)。

点对点:通常用于两个设备之间的通信。

帧格式:数据帧包含起始位、数据位(5-9位)、校验位(可选)和停止位。

优点:

简单易用,硬件成本低。

支持长距离通信(配合RS-232/RS-485等电平转换芯片)。

缺点:

依赖精确的波特率匹配,抗干扰能力较弱。

仅支持点对点,无法直接连接多设备。

典型应用:单片机与PC通信、GPS模块、蓝牙模块等。

2. I2C(Inter-Integrated Circuit)

特点:

同步通信:需时钟信号(SCL)和数据线(SDA)。

半双工:同一时间只能发送或接收。

多主多从:支持多个主设备和从设备共享总线。

地址寻址:每个设备有唯一地址,主设备通过地址选择从设备。

低速传输:标准模式(100kbps)、快速模式(400kbps)、高速模式(3.4Mbps)。

优点:

引脚少(仅需两根线),适合多设备场景。

支持总线仲裁和冲突检测。

缺点:

速度较慢,协议复杂度较高。

长距离通信需额外电路(如电平转换器)。

典型应用:温度传感器、RTC(实时时钟)、低速率外设。

3. RS-232

特点:

物理层标准:定义电平、连接器(如DB9)和电气特性。

异步通信:基于UART协议,需波特率匹配。

单端信号:使用正负电压表示逻辑(-3V~-15V为1,+3V~+15V为0)。

优点:

抗干扰能力较强(相比TTL电平)。

支持较长距离(典型15米以内)。

缺点:

速度较低(通常<115.2kbps)。

仅支持点对点通信。

典型应用:老式计算机外设(鼠标、调制解调器)、工控设备。

4. RS-485

特点:

差分信号:使用两条线(A和B)传输差分电压,抗干扰能力强。

多设备通信:支持总线拓扑,最多32个设备(通过中继器扩展)。

半双工:需方向控制(如RE/DE引脚)。

高速长距离:传输距离可达1200米(低速时),速率最高10Mbps(短距离)。

优点:

抗干扰强,适合工业环境。

支持多节点网络。

缺点:

需协议层管理(如Modbus),硬件复杂度较高。

典型应用:工业自动化、楼宇控制、多节点传感器网络。

5. USB(Universal Serial Bus)

特点:

复杂协议:支持热插拔、即插即用、电源供电。

高速传输:USB 2.0(480Mbps)、USB 3.0(5Gbps)。

主从架构:主机(如PC)控制所有数据传输。

优点:

高带宽,支持多种设备类型。

广泛兼容,即插即用。

缺点:

协议复杂,需专用控制器。

传输距离短(一般<5米)。

典型应用:外设连接(键盘、存储设备)、高速数据采集。

6. SPI(Serial Peripheral Interface)

1. 基本特性:

同步通信:依赖时钟信号(SCLK)控制数据传输时序,主设备生成时钟。

全双工:数据可同时发送(MOSI)和接收(MISO)。

主从架构:一个主设备控制多个从设备,通过片选信号(SS/CS)选择从机。

高速传输:理论速率可达几十Mbps(如STM32的SPI支持50Mbps以上)。

灵活性:数据位宽可配置(通常8位或16位),时钟极性和相位可调。

2. 信号线

SCLK(Serial Clock):主设备输出的时钟信号,控制数据传输节奏。

MOSI(Master Out Slave In):主设备发送数据到从设备的线路。

MISO(Master In Slave Out):从设备发送数据到主设备的线路。

SS/CS(Slave Select/Chip Select):主设备通过拉低对应从机的片选信号激活通信。

3. 通信过程

主设备初始化:配置时钟极性(CPOL)和相位(CPHA),确定数据采样边沿。

选择从设备:拉低目标从机的SS/CS引脚。

数据传输:

主设备通过MOSI发送数据,同时通过MISO接收从机数据。

每个时钟周期传输一个数据位(上升沿或下降沿采样,由CPOL和CPHA决定)。

结束通信:拉高SS/CS引脚,释放从机。

4. 时钟模式(CPOL和CPHA)

CPOL(Clock Polarity):

CPOL=0:时钟空闲时为低电平。

CPOL=1:时钟空闲时为高电平。

CPHA(Clock Phase):

CPHA=0:数据在时钟的第一个边沿(上升或下降)采样。

CPHA=1:数据在时钟的第二个边沿采样。

5. 多从机连接方式

独立片选(SS/CS):每个从机有独立的片选信号,主设备通过多个SS引脚控制。

优点:简单直接,各从机独立工作。

缺点:占用主设备较多引脚。

菊花链(Daisy Chain):多个从机共用同一片选信号,数据依次传递。

优点:节省主设备引脚。

缺点:所有从机需支持菊花链模式,协议复杂度高。

6. 优缺点总结

优点:

高速传输,适合实时性要求高的场景。

全双工通信,数据传输效率高。

硬件简单,无复杂协议(如地址寻址)。

缺点:

引脚占用多(每个从机需单独SS线)。

无硬件错误检测机制(依赖软件校验)。

通信距离短(通常<1米)。

7. 典型应用

存储器:Flash、EEPROM(如W25Q128)。

传感器:加速度计、陀螺仪(如MPU6050)。

显示屏:OLED、TFT屏幕(通过SPI传输图像数据)。

ADC/DAC:高速模数/数模转换芯片。

三、SPI多从机通信的连线方法

若主机需连接多个从机,常见连线方式有两种:

1. ​独立片选(CS)法

硬件连接:每个从机独占一条CS线,主机通过拉低对应CS线选中从机。

优点:逻辑简单,各从机独立操作,无冲突。

缺点:占用主机较多GPIO引脚,从机数量受限于可用CS线数量。

连线示意图:

复制代码

主机 从机1 从机2

SCLK ──┬─────SCLK─────SCLK

MOSI ──┼─────MOSI─────MOSI

MISO ──┼─────MISO─────MISO

CS1 ──┴─────CS

CS2 ────────┴───────CS

2.菊花链(Daisy Chain)法

硬件连接:所有从机的MOSI/MISO串联,数据依次传递。

工作方式:主机发送数据包,各从机依次截取自身所需数据段。

优点:仅需一条CS线,节省主机引脚。

缺点:所有从机需支持菊花链协议,且数据需按顺序处理。

适用场景:LED驱动芯片(如移位寄存器)等需要级联的设备。

四、SPI多从机通信的注意事项

时序同步:所有从机的时钟模式(CPOL/CPHA)需与主机一致。

抗干扰设计:长距离通信时,可加入终端电阻或使用差分信号(如RS-485兼容SPI)。

软件调度:主机需通过轮询或优先级策略管理多从机通信,避免总线冲突。

五、STM32F103单片机中默认SPI引脚是哪个

1.SPI1(高速SPI,APB2总线)​

默认引脚 (无需重映射):

SCK(时钟)​ :PA5(引脚PA5,复用功能SPI1_SCK)

MOSI(主机输出)​ :PA7(引脚PA7,复用功能SPI1_MOSI)

MISO(主机输入)​ :PA6(引脚PA6,复用功能SPI1_MISO)

NSS(片选,可选硬件控制)​ :PA4(引脚PA4,复用功能SPI1_NSS)

2.SPI2(低速SPI,APB1总线)​

默认引脚 (无需重映射):

SCK(时钟)​ :PB13(引脚PB13,复用功能SPI2_SCK)

MOSI(主机输出)​ :PB15(引脚PB15,复用功能SPI2_MOSI)

MISO(主机输入)​ :PB14(引脚PB14,复用功能SPI2_MISO)

NSS(片选,可选硬件控制)​ :PB12(引脚PB12,复用功能SPI2_NSS)

相关推荐

学美工怎么学?新手必看的超实用指南
beat365在线体育访问不了

学美工怎么学?新手必看的超实用指南

⌛ 2025-12-16 👁️ 5268
比利时vs丹麦:欧洲杯比分剖析
beta365体育

比利时vs丹麦:欧洲杯比分剖析

⌛ 2025-09-27 👁️ 8690
Premiere Pro CC 视频过渡效果应用指南
beta365体育

Premiere Pro CC 视频过渡效果应用指南

⌛ 2025-11-01 👁️ 2738