SPI通信协议深度解析
SPI(Serial Peripheral Interface)是一种广泛应用的高速、全双工、同步串行通信协议。本质上是主从结构的总线协议,适用于MCU与各种外设间的短距离高速通信。 SPI协议基础 硬件连接 SPI通信需要四根信号线: 信号 全称 方向 说明 SCLK Serial Clock Master→Slave 时钟信号,由主机产生 MOSI Master Out Slave In Master→Slave 主机发送数据 MISO Master In Slave Out Slave→Master 主机接收数据 CS/SS Chip Select / Slave Select Master→Slave 片选信号,选择通信的从设备 MCU (Master) Slave Device ========== ============= +-------------+ +-------------+ | SCLK|------------->|SCLK | | MOSI|------------->|MOSI | | MISO|<-------------|MISO | | CS |------------->|CS | +-------------+ +-------------+ 多从设备连接 MCU (Master) ========== +---------------+ | SCLK|-----------------------------------+ | MOSI|-----------------------------------+ | MISO|<----------------------------------+ | CS0 |-------------------+ | | CS1 |--------------------------+ | | CS2 |-----------------------------+ | +---------------+ | | | | | | | | v v v v v v +-----+-----+-----+ +-----+-----+-----+ | CS0 | CS1 | CS2 | | SS0 | SS1 | SS2 | +-----+-----+-----+ +-----+-----+-----+ 独立片选模式:每从设备独占一个CS引脚,最多可连接n个从设备 级联模式:多个从设备共享同一CS,数据线串联 SPI工作模式 SPI有四种工作模式,由时钟极性(CPOL)和时钟相位(CPHA)共同决定: ...