精品文档
精品文档
基于
ISE
?/p>
SPI
接口的仿真设?/p>
一?/p>
SPI
介绍
SPI
总线系统是一种同步串行外设接口,它可以使
MCU
与各种外围设备以
串行方式进行通信以交换信息。外围设?/p>
FLASHRAM
、网络控制器?/p>
LCD
显示
驱动器?/p>
A/D
转换器和
MCU
等?/p>
SPI
总线系统可直接与各个厂家生产的多种标
准外围器件直接接口,该接口一般使?/p>
4
条线:串行时钟线?/p>
SCK
?/p>
、主机输?/p>
/
从机输出数据?/p>
MISO
?/p>
主机输出
/
从机输入数据?/p>
MOST
和低电平有效的从?/p>
选择?/p>
SS(
有的
SPI
接口芯片带有中断信号?/p>
INT
?/p>
INT
、有?/p>
SPI
接口芯片
没有主机输出
/
从机输入数据?/p>
MOSI)
?/p>
SPI
的通信原理很简单,
它以主从方式工作?/p>
这种模式通常有一个主设备?/p>
一个或多个从设备,需要至?/p>
4
根线,事实上
3
根也可以(单向传输时?/p>
。也?/p>
所有基?/p>
SPI
的设备共有的?/p>
它们?/p>
SDI
(数据输入)
?/p>
SDO
(数据输出)
?/p>
SCK
(时钟)
?/p>
CS
(片选)
?/p>
?/p>
1
?/p>
MOSI
?/p>
主设备数据输出,从设备数据输?/p>
?/p>
2
?/p>
MISO
?/p>
主设备数据输入,从设备数据输?/p>
?/p>
3
?/p>
SCLK
?/p>
时钟信号,由主设备产?/p>
?/p>
4
?/p>
CS
?/p>
从设备使能信号,由主设备控制
其中
CS
是控制芯片是否被选中的,
也就是说只有片选信号为预先规定的使
能信号时(高电位或低电位?/p>
,对此芯片的操作才有效。这就允许在同一总线?/p>
连接多个
SPI
设备成为可能?/p>
接下来就负责通讯?/p>
3
根线了?/p>
通讯是通过数据交换完成的,
这里先要知道
SPI
是串行通讯协议,也就是说数据是一位一位的传输的。这就是
SCK
时钟?/p>
存在的原因,?/p>
SCK
提供时钟脉冲?/p>
SDI
?/p>
SDO
则基于此脉冲完成数据传输?/p>
数据输出通过
SDO
线,
数据在时钟上升沿或下降沿时改变,
在紧接着的下降沿
或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至?/p>
8
次时钟信号的改变(上沿和下沿为一次)
,就可以完成
8
位数据的传输?/p>
要注意的是,
SCK
信号线只由主设备控制,从设备不能控制信号线。同样,
在一个基?/p>
SPI
的设备中,至少有一个主控设备。这样传输的特点:这样的?/p>
输方式有一个优点,
与普通的串行通讯不同?/p>
普通的串行通讯一次连续传送至?/p>
8
位数据,?/p>
SPI
允许数据一位一位的传送,甚至允许暂停,因?/p>
SCK
时钟?/p>
由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,?/p>
设备通过?/p>
SCK
时钟线的控制可以完成对通讯的控制?/p>
SPI
还是一个数据交?/p>
协议:因?/p>
SPI
的数据输入和输出线独立,所以允许同时完成数据的输入和输
出。不同的
SPI
设备的实现方式不尽相同,主要是数据改变和采集的时间不同,
在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档?/p>
在点对点的通信中,
SPI
接口不需要进行寻址操作,且为全双工通信,显?/p>
简单高效?/p>
在多个从设备的系统中?/p>
每个从设备需要独立的使能信号?/p>
硬件上比
I2C
系统要稍微复杂一些?/p>
二?/p>
SPI
工作模式