# SPI 概述 **SPI(Serial Peripheral Interface Bus,串行外设接口总线)** 是一种同步串行通信协议,由 Motorola 公司在 1970 年代开发。SPI 的设计初衷是取代并行总线,提供一种适用于短距离的高速数据传输解决方案。 作为一种高效、灵活的通信协议,SPI 被广泛应用于嵌入式系统、传感器接口、存储器模块(如 Flash 存储器)以及各种外围设备之间的数据传输。 --- ## SPI 的特点 ### 1. **全双工通信** SPI 是一种全双工通信协议,允许数据在主设备与从设备之间**同时发送和接收**,极大地提高了通信效率。 ### 2. **简单硬件接口** SPI 需要以下四条信号线来完成通信: - **SCLK(Serial Clock,时钟信号)**:由主设备生成,提供数据传输的同步时钟。 - **MOSI(Master Out Slave In,主输出/从输入)**:主设备向从设备发送数据。 - **MISO(Master In Slave Out,主输入/从输出)**:从设备向主设备发送数据。 - **SS/CS(Slave Select/Chip Select,从设备选择)**:由主设备控制,用于选择当前活动的从设备。低电平激活。 ### 3. **灵活的多从设备架构** - **单主多从结构**:单个主设备可通过多条独立的从设备选择线(SS)与多个从设备通信。 ### 4. **同步传输** SPI 的数据传输由时钟信号同步,不依赖额外的起始或停止位,因此具有低通信开销和高效率的优点。 --- ## SPI 的典型应用 1. **存储设备**:如 EEPROM、Flash 存储器等。 2. **传感器接口**:包括温度传感器、压力传感器等。 3. **显示模块**:如 OLED 和 LCD 显示屏。 4. **音频设备**:如 DAC(数字 - 模拟转换器)和 ADC(模拟 - 数字转换器)。 5. **通信模块**:如无线通信模块、以太网芯片等。