SPI概念
SPI是全双工三线/四线同步串行总线 采用主从模式架构;支持多slave模式应用 一般仅支持单Master,多从机 时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后
SPI通信协议
起始信号:NSS信号线由高变低,是SPI通讯的起始信号 结束信号:NSS信号由低变高,是SPI通讯的停止信号 数据传输:SPI使用MOSI及MISO信号线来传输数据,使用SCK信号线进行数据同步。MOSI及MISO数据线在SCK的每个时钟周期传输一位数据,且数据输入输出是同时进行的。SPI每次数据传输可以8位或16位为单位,每次传输的单位数不受限制。
SPI通信模式
时钟极性CPOL:设置时钟空闲时的电平 当CPOL =0 ,SCK引脚在空闲状态保持低电平; 当CPOL =1, SCK引脚在空闲状态保持高电平。
时钟相位CPHA:设置数据采样时的时钟沿 当CPHA=0时,MOSI或 MISO数据线上的信号将会在SCK时钟线的奇数边沿被采样 当CPHA=1时,MOSI或 MISO数据线上的信号将会在SCK时钟线的偶数边沿被采样
SPI与i2c的区别
相同:
采用串行、同步总线 采用的是TTL电平 采用主从模式
不同:
IIC总线是半双工,SPI总线是全双工 IIC总线有应答机制,SPI总线无应答机制 IIC总线通过从机地址选择和哪一个从机进行通信,SPI总线通过片选线选择和哪一个从机进行通信 SPI总线有多少硬件设备,就需要多少片选线,比较浪费硬件资源 IIC总线通信协议是通过SCL高低电平决定读写,SPI总线通过时钟极性和时钟相位决定读写 IIC总线是高低电平进行数据传输,SPI总线是边沿触发,边沿采样
|