[经验分享] 分享 SPI接口

[复制链接]
3697|8
 楼主| laslison 发表于 2009-10-2 13:54 | 显示全部楼层 |阅读模式
SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

   SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,地位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

   SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:

(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK – 时钟信号,由主器件产生
(4)/SS  – 从器件使能信号,由主器件控制



      在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。
      在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。



    SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。
   
     SPI接口内部硬件图示:
         
     最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。
suoma 发表于 2009-10-4 22:44 | 显示全部楼层
谢谢楼主!国庆论坛人真少
thf2008 发表于 2009-10-4 23:24 | 显示全部楼层
看LZ对SPI比较了解,想请教你一个很简单的问题,就是数据在发送的时候时钟信号才有吗?还是时钟信号一直有?
hhtseng 发表于 2009-10-5 08:45 | 显示全部楼层
顶一个.........................
 楼主| laslison 发表于 2009-10-5 13:22 | 显示全部楼层
3#,时钟信号当然一直有有啊
thf2008 发表于 2009-10-5 22:54 | 显示全部楼层
谢谢LZ
hhtseng 发表于 2009-10-6 10:04 | 显示全部楼层
哪位大虾知道,SPI接口,用在哪些应用?

串行flash,Sigma-Delta ADC..........
huamunv 发表于 2009-10-8 22:18 | 显示全部楼层
7#的问话奇怪,自问自答?
 楼主| laslison 发表于 2009-10-8 22:21 | 显示全部楼层
SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。
SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理
器和数字信号解码器之间
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

791

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部