浅谈SPI总线
概念
SPI接口是Motorola首先提出的同步串行全双工外围接口总线。采用主从模式架构,支持多从机模式应用,一般仅支持单主机。时钟由主机控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后。SPI接口有两根单向数据线,为全双工通信,目前应用中的数据传输速率可达几Mbps的水平。
SPI总线被广泛的使用在Flash、ADC、LCD等设备中与MCU间,要求通信速率较高的场合。
SPI共有4根信号线,分别是:片选线、时钟线、串行输出数据线、串行输入数据线。
片选线:低电平有效,从机使能信号,由主机控制;
时钟线:主机产生时钟信号;
串行输出数据线:MOSI,主机输出从机输入
串行输入数据线:MISO,主机输入从机输出
SPI总线时序
起始信号:片选线由高电平变为低电平;
停止信号:片选线由低电平变为高电平;
数据传输:SPI使用MOSI和MISO信号线来传输数据,使用SCK时钟线进行数据同步。MOSI和MISO数据线在SCK的每一个始终周期传输一位数据,且数据输入输出是同时进行的。SPI每次数据传输可以8位或者16位位单位,每次传输的单位数不受限制。