SPI总线结构
SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。
SPI接口共有4根信号线,分别是:设备选择线(SS)、时钟线(SCK)、串行输出数据线(MOSI)、串行输入数据线(MISO)。
数据传输过程:
主节点通过MOSI(Master output Slave input) 线输出数据,从节点在SIMO(Slave input Master output) 处从主节点读取数据。同时,也在通过SOMI(Slave output Master input) 输出MSB(最高位),主节点会在MISO(Master input Slave output)处读取从节点的数据,整个过程将一直持续,直至交换完所有数据。
总线时序
CPOL极性:决定时钟空闲时为高电平还是低电平
CPOL=0:CLK空闲时是低电平,CLK有效时是高电平
CPOL=1: CLK空闲时是高电平,CLK有效时是低电平
CPHA相位:决定何时进行数据采样(读取)
CPHA=0:第一个边沿采样
CPHA=0:第一个边沿采样
根据CPOL和CPHA的不同组合,SPI被分为4种模式