SPI的通信原理是以主从方式工作,这种模式通常有一个主设备和一个或多个从设备。SPI接口经常被称为4线串行总线,分别是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(a)SDO/MOSI–主设备数据输出,从设备数据输入;
(b)SDI/MISO–主设备数据输入,从设备数据输出;
(c)SCLK–时钟信号,由主设备产生;
(d)CS/SS–从设备使能信号,由主设备控制。
在SPI总线上,某一时刻可以出现多个从设备,但只能存在一个主设备,主设备通过片选线来确定要通信的从设备。这就要求从设备的MISO口具有三态特性,使得该口线在设备未被选通时表现为高阻抗。
3、数据传输
在一个SPI时钟周期内,会完成如下 *** 作:
1)主设备通过MOSI线发送1位数据,从设备通过该线读取这1位数据;
2)从设备通过MISO线发送1位数据,主设备通过该线读取这1位数据。
这是通过移位寄存器来实现的。如图所示,主设备和从设备各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主设备寄存器和从机寄存器,并且依次移入从设备寄存器和主设备寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
4、内部工作机制
SSPSR是SPI设备内部的移位寄存器(ShiftRegister)。它的主要作用是根据SPI时钟信号状态,往SSPBUF里移入或者移出数据,每次移动的数据大小由Bus-Width以及Channel-Width所决定。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)