arm spi 接口概述

ARM 231浏览

原文地址:http://baike.baidu.com/link?url=fc5KkK7PSEwN_k41avHRLH6RgrH1qD9JF8stDmo68QIzHg-2UNrH78hx8vGeGOOiyef5dEU400vxRbCIH5Bfe_

SPI接口

SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,

它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:

控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。

SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:

串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI

低电平有效的从机选择线NSS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)

 

SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,Motorola首先在其MC68HCXX系列处理器上定义的。

SPI接口主要应用在EEPROMFLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,低位在前,高位在后,为全双工通信,

数据传输速度总体来说比I2C总线要快,速度可达到几Mbps

 

特点:

信号线少,协议简单,相对数据速率高

缺点:

没有指定的流控制,没有应答机制确认是否接收到数据。

 

接口信号:

1MOSI
– 主器件数据输出,从器件数据输入

2MISO
– 主器件数据输入,从器件数据输出

3SCLK
–时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2

4NSS
– 从器件使能信号,由主器件控制,有的IC会标注为CS(Chip
select)

 

在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,

每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。

SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,

按位传输,高位在前,低位在后。

如下图所示,在SCLK的上升沿上数据改变,同时一位数据被存入移位寄存器。