转载地址:http://blog.sina.com.cn/s/blog_50cfd0fc0101flsn.html
SPI接口介绍(转)
我的笔记:这里只需要知道SPI英文名字是Serial Peripheral Interface,是由摩托罗拉开发的,应用方面见的多了,自然就知道的多了。
我的笔记:SPI总线传输可以弥补CPU与外围设备间的速度差异。传输数据时,按位传输,高位在前,地位在后,一般频率设置为5Mbps。
时钟极性和时钟相位
主机和从机的发送数据是同时完成的,两者的接收数据也是同时完成的。所以为了保证主从机正确通信,应使得它们的SPI具有相同的时钟极性和时钟相位。
SPI接口时钟配置心得:在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据,是在时钟的下降沿还是上升沿输出数据。
我的笔记:SPI总线的两个重要属性:时钟极性和时钟相位,即SPI的工作模式,共有4种,具体使用那种方式方式需要参考芯片手册。
(1)MOSI – 主器件数据输出,从器件数据输入
(2)MISO – 主器件数据输入,从器件数据输出
(3)SCLK – 时钟信号,由主器件产生
(4)SS/CS
我的笔记:上面是SPI(主从)一对多的硬件设计,除了使能信号,其他的线可以共用。注意这里所有的从设备工作于同一模式下。
我的笔记:下面这些是SPI硬件的内部设计,可以了解,实现的话可以使用FPGA模拟一下。
SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。