SPI串行总线协议
一、SPI接口简介
SPI(Serial Peripheral interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出线(MISO)、主机输出/从机输入线(MOSI)和从机选择线SS。
SPI是一个环形总线结构,由SS(CS)、SCK、SDI、SDO构成,其时序比较简单,主要是在SCK的控制下,两个双向移位寄存器进行数据交换。
主要概括为:
上升沿发送、下降沿接受,高位在前、低位在后;
上升沿到来时,SDO电平将被送到从设备的寄存器中;下降沿到来时,SDI电平将被接收到主设备的寄存器中。
下面是主从机准备就绪,主机sbuff=0xaa(1010101010),从机sbuff=0x55(01010101),数据根据SPI协议传输过程:
---------------------------------------------------
脉冲 主机sbuff 从机sbuff sdi sdo
---------------------------------------------------
0 00-0 10101010 01010101 0 0
---------------------------------------------------
1 0--1 0101010x 10101011 0 1
1 1--0 01010100 10101011 0 1
---------------------------------------------------
2 0--1 1010100x