SPI总线介绍 PPT
- 格式:ppt
- 大小:1.86 MB
- 文档页数:32
SPI总线
综述:SPI(Serial Peripheral interface):高速同步串行口。
是一种标准的四线同步
双向串行总线。
Motorola首先在其MC68HCXX系列处理器上定义的在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间。
SPI 接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
速率:目前应用中的数据速率可达几Mbps。
通信原理:SPI接口共有4根线:设备选择线SS、时钟线SCLK、串行输出
数据线MISO、传行输入数据线MOSI。
SPI由主机的片选信号SS以低电平选中从机,通过主机控制时钟SCLK同步传输数据。
扩展时只要增加主机的片选信号线如图2所示。
图2
下图为SPI结构图,通过移位寄存器左移输出数据,右移输入数据。
SPI的时序模式:由时钟极性选择位CPOL和时钟相位选择位控制CPHA。
CPOL用于选择空闲状态电平,CPHA选择数据接收端的采样时刻。
具体时序如图3。
图3
SPI接口必须根据具体情况设置匹配的传续时序模式,时序只有匹配,数据传输才能正常进行,如果设置的不匹配,可能导致数据接收方和发送方在同一时钟沿作用,导致数据传输失败。
I2CVSSPI。
SPI - Serial Peripheral Interface同步串行外设接口(S PI)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。
SPI(Serial Peripheral Interface)是一种串行串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。
SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。
通讯时,数据由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在紧接着的下降或上升沿由SDI 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。
总线协议该总线通信基于主-从(所有的串行的总线均是这样,USB,IIC,SPI等)配置,而且下面提到的方向性的操作合指代全部从主设备的角度说得。
它有以下4个信号:MOSI:主出/从入MISO:主入/从出SCK:串行时钟SS:从属选择;芯片上“从属选择”(slave-select)的引脚数决定了可连到总线上的器件数量。
在SPI传输中,数据是同步进行发送和接收的。
数据传输的时钟基于来自主处理器的时钟脉冲(好像也可以是IO上的电平的模拟时钟),摩托罗拉没有定义任何通用SPI的时钟规范。
然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个参数,CPOL 定义SPI串行时钟的活动状态,而CPHA定义相对于SO-数据位的时钟相位。
CPOL和CPHA的设置决定了数据取样的时钟沿。
数据方向和通信速度SPI传输串行数据时首先传输最高位。
波特率可以高达5Mbps,具体速度大小取决于SPI硬件。
例如,Xicor公司的SPI串行器件传输速度能达到5MHz。
SPI总线详细解析关键字:SPI串行通讯主从时钟一.SPI总线简介串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。
SPI用于CPU与各种外围器件进行全双工、同步串行通讯。
它只需四条线就可以完成MCU与各种外围器件的通讯,这四条线是:串行时钟线(CSK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)、低电平有效从机选择线CS。
当SPI工作时,在移位寄存器中的数据逐位从输出引脚(MOSI)输出(高位在前),同时从输入引脚(MISO)接收的数据逐位移到移位寄存器(高位在前)。
发送一个字节后,从另一个外围器件接收的字节数据进入移位寄存器中。
即完成一个字节数据传输的实质是两个器件寄存器内容的交换。
主SPI的时钟信号(SCK)使传输同步。
其典型系统框图如下图所示。
二.SPI总线主要特点·全双工;·可以当作主机或从机工作;·提供频率可编程时钟;·发送结束中断标志;·写冲突保护;.总线竞争保护等。
三.SPI总线工作方式SPI总线有四种工作方式,其中使用的最为广泛的是SPI0和SPI3方式(实线表示):四种工作方式时序分别为:时序详解:CPOL:时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平CPHA:时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样工作方式1:当CPHA=0、CPOL=0时SPI总线工作在方式1。
MISO引脚上的数据在第一个SPSCK沿跳变之前已经上线了,而为了保证正确传输,MOSI引脚的MSB位必须与SPSCK的第一个边沿同步,在SPI传输过程中,首先将数据上线,然后在同步时钟信号的上升沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。
SPI总线通俗易懂讲解SPI总线MOTOROLA公司的SPI总线的基本信号线为3根传输线,即SI、SO、SCK。
传输的速率由时钟信号SCK决定,SI为数据输入、SO为数据输出。
采用SPI总线的系统如图8-27所示,它包含了一个主片和多个从片,主片通过发出片选信号-CS来控制对哪个从片进行通信,当某个从片的-CS信号有效时,能通过SI接收指令、数据,并通过SO发回数据。
而未被选中的从片的SO端处于高阻状态。
图8-27 SPI总线的系统主片在访问某一从片时,必须使该从片的片选信号有效;主片在SCK信号的同步下,通过SI线发出指令、地址信息;如需将数据输出,则接着写指令,由SCK同步在SI线上发出数据;如需读回数据,则接着读指令,由主片发出SCK,从片根据SCK的节拍通过SO发回数据。
因而对具有SPI接口的从片器件来讲,SCK、SI是输入信号,SO是输出信号。
SCK 用于主片和从片通信的同步。
SI用于将信息传输到器件,输入的信息包括指令、地址和数据,指令、地址和数据的变化在SCK的低电平期间进行,并由SCK信号的上升沿锁存。
SO用于将信息从器件传出,传出的信息包括状态和数据,信息在SCK信号的下降沿移出。
Microchip公司的25XX系列的串行E2PROM采用了SPI总线,该系列器件的性能如表8-2所示。
表8-2 Microchip公司的25XX系列的串行E2PROM型号25XX04025XX08025XX16025XX320容量4K(512 X 8bit)8K(1024 X 8bit)16K(4096 X 8bit)32K(4096 X 8bit)地址信号A0~A8A0~A9A0~A10A0~A11以25XX320为例,该器件是4K字节的E2PROM,结构如图8-28所示,接口信号为SCK、SI和SO,此外还具有-CS、-WP、-HOLD信号线。
其中-CS为器件选中信号,当此信号为低电平时器件被选中,高电平时器件处于等待状态。