通信人家园

标题: 知识积累-SPI  [查看完整版帖子] [打印本页]

时间:  2012-10-13 11:42
作者: TXRL     标题: 知识积累-SPI

本帖最后由 TXRL 于 2012-10-13 11:46 编辑

SPI接口简介
       SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
1.jpg 多个从器件硬件连接示意图.jpg
       SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。
  SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。
编辑本段
接口包括以下四种信号:

  (1)MOSI – 主器件数据输出,从器件数据输入
  (2)MISO – 主器件数据输入,从器件数据输出
  (3)SCLK – 时钟信号,由主器件产生
  (4)NSS – 从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)
  

       在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。  多个从器件硬件连接示意图在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
  SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。

通讯时序图.jpg
通讯时序图

SPI接口内部硬件图示:

接口内部硬件连接图.jpg

  最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。






附件: 通讯时序图.jpg (2012-10-13 11:43, 6.98 KB) / 下载次数 0
https://www.txrjy.com/forum.php?mod=attachment&aid=MTkwNjQxfDU4OWI3M2QzfDE3MzE4NTAwNDB8MHww

附件: 1.jpg (2012-10-13 11:43, 14.36 KB) / 下载次数 0
https://www.txrjy.com/forum.php?mod=attachment&aid=MTkwNjQyfDI2Nzc4ODFjfDE3MzE4NTAwNDB8MHww

附件: 多个从器件硬件连接示意图.jpg (2012-10-13 11:43, 11.71 KB) / 下载次数 0
https://www.txrjy.com/forum.php?mod=attachment&aid=MTkwNjQzfDQ2ZDgzNDBlfDE3MzE4NTAwNDB8MHww

附件: 接口内部硬件连接图.jpg (2012-10-13 11:43, 11.55 KB) / 下载次数 0
https://www.txrjy.com/forum.php?mod=attachment&aid=MTkwNjQ0fGUzZTk3ZWFlfDE3MzE4NTAwNDB8MHww
时间:  2012-10-14 15:25
作者: bluesea007

不错,收藏了。
另外,建议楼主做成一个系列,放在一个帖子里面。
时间:  2012-10-15 10:44
作者: lph_2000


时间:  2012-10-15 18:56
作者: tjhwa

具体都有哪些应用




通信人家园 (https://www.txrjy.com/) Powered by C114