SPI总线接口
来源:互联网 发布:sql库位库存分配 编辑:程序博客网 时间:2024/06/06 01:50
SPI(Serial PeripheralInterface,串行外设接口):
Motorola公司提出的一种同步串行数据传输标准,是一种高速的,全双工,同步的通信总线,在很多器件中被广泛应用。
SPI的硬件接口如下所示:
(1)CLK –时钟信号,该信号频率可由Master内部分频调整,以适应不同从设备;
(2)/CS – 片选信号,由主器件控制,可以使用SPI模块的片选,也可以用GPIO;
(3)MOSI –主器件数据输出,从器件数据输入;
(4)MISO –主器件数据输入,从器件数据输出。
由于片选信号/CS的存在,SPI接口不需要进行寻址操作,只需要对从设备进行片选使能,因为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。
SPI时序详解:
SPI有四种模式,可以为不同的从设备提供不同的模式,具体模式由CPOL和CPHA信号决定,两个信号的含义如下:
CPOL:时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平
CPHA:时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样
模式0:
当CPHA=0、CPOL=0时SPI总线工作在方式1。MISO引脚上的数据在第一个SPSCK沿跳变之前已经上线了,而为了保证正确传输,MOSI引脚的MSB位必须与SPSCK的第一个边沿同步,在SPI传输过程中,首先将数据上线,然后在同步时钟信号的上升沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束时(下降沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。
模式1:
当CPHA=0、CPOL=1时SPI总线工作在方式2。与前者唯一不同之处只是在同步时钟信号的下降沿时捕捉位信号,上升沿时下一位数据上线。
模式2:
当CPHA=1、CPOL=0时SPI总线工作在方式3。MISO引脚和MOSI引脚上的数据的MSB位必须与SPSCK的第一个边沿同步,在SPI传输过程中,在同步时钟信号周期开始时(上升沿)数据上线,然后在同步时钟信号的下降沿时,SPI的接收方捕捉位信号,在时钟信号的一个周期结束时(上升沿),下一位数据信号上线,再重复上述过程,直到一个字节的8位信号传输结束。
模式3:
当CPHA=1、CPOL=1时SPI总线工作在方式4。与前者唯一不同之处只是在同步时钟信号的上升沿时捕捉位信号,下降沿时下一位数据上线。
数据传输
在一个SPI时钟周期内,会完成如下操作:
1) 主机通过MOSI线发送1位数据,从机通过该线读取这1位数据;
2) 从机通过MISO线发送1位数据,主机通过该线读取这1位数据。
这是通过移位寄存器来实现的。主机和从机各有一个移位寄存器,且二者连接成环。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
- SPI总线接口
- SPI总线接口
- SPI总线接口与简单配置
- SPI总线接口的基本含义
- ARM学习笔记--SPI总线接口
- 总线接口
- L3总线接口
- 什么是总线接口
- L3总线接口
- s3c2410 iic总线接口编程
- S3C2440 IIC总线接口
- CAN总线接口电路设计注意事项
- FPGA 实现1553总线接口
- Spark事件总线接口ListenerBus
- i2c驱动--i2c总线接口
- SPI
- SPI
- SPI
- HDU
- 数据结构思维 第三章 `ArrayList`
- QToolButton 工具按钮
- 2017/9/2 离线赛
- C# IEnumerable、IEnumerator和yield关键字详解
- SPI总线接口
- doxygen的安装与配置
- 统计学习方法五 决策树分类
- WOJ1133-Candies
- 慕课:Linux达人养成计划I—命令
- python---字典
- VC编译问题:0xC0000005
- Android关键字persistent
- Keras中文文档知识点整理