关闭

SPI浅谈

标签: SPI浅谈SPI
429人阅读 评论(0) 收藏 举报
分类:

转载地址:http://blog.sina.com.cn/s/blog_50cfd0fc0101flsn.html

转载地址:http://blog.csdn.net/ce123/article/details/6897293

SPI接口介绍(转)

   SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

我的笔记:这里只需要知道SPI英文名字是Serial Peripheral Interface,是由摩托罗拉开发的,应用方面见的多了,自然就知道的多了。


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

我的笔记:SPI总线传输可以弥补CPU与外围设备间的速度差异。传输数据时,按位传输,高位在前,地位在后,一般频率设置为5Mbps。


时钟极性和时钟相位

       在SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA或UCCKPH)。时钟极性设置时钟空闲时的电平,时钟相位设置读取数据和发送数据的时钟沿。
主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。

    SPI接口时钟配置心得:在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。

我的笔记:SPI总线的两个重要属性:时钟极性和时钟相位,即SPI的工作模式,共有4种,具体使用那种方式方式需要参考芯片手册。


   SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:
(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK – 时钟信号,由主器件产生
(4)SS/CS  – 从器件使能信号,由主器件控制

SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转) - hailany - hailany 的博客

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

SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转) - hailany - hailany 的博客

我的笔记:上面是SPI(主从)一对多的硬件设计,除了使能信号,其他的线可以共用。注意这里所有的从设备工作于同一模式下。


我的笔记:下面这些是SPI硬件的内部设计,可以了解,实现的话可以使用FPGA模拟一下。

SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。

SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转) - hailany - hailany 的博客

 SPI接口内部硬件图示:

SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转) - hailany - hailany 的博客

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:18123次
    • 积分:686
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:20篇
    • 译文:0篇
    • 评论:3条
    文章分类
    最新评论