- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.4串行外设接口(SPI)协议汇编
4.9 通用串行通信接口(USCI) — SPI模式
主要内容
SPI总线协议
总线结构
工作模式
数据传输时序
MSP430 SPI模块
模块的特性
主从机模式
SPI模块寄存器
应用示例
SPI总线介绍
SPI接口是Motorola首先提出的全双工三/四线同步串行外围接口,采用主从模式架构,支持多从设备应用,一般只支持单主设备。
利用3~4条线完成两个芯片之间的双工高速通信。两条数据线用于收发数据,一条时钟线用于同步,一条作为从机选择。
时钟由主设备控制,当主机发送一字节数据(通过主出从入MOSI引脚)的同时,从机返回一字节数据(通过主入从出MISO引脚)。
总线上允许连接多个设备,在同一时刻只允许一个主机操作总线,并且同时只能与一个从机通信。主机控制数据的传输过程。
目前应用中的数据速率可达Mbps级。
SPI总线可在软件的控制下构成各种简单的或复杂的系统:
1个主MCU和几个从MCU
几个从MCU相互连接构成多主机系统(分布式系统)
1个主MCU和1个或几个从I/O设备 常用
SPI总线结构
SPI典型结构如下:
SPI工作模式
主机模式:
当器件作为主机时,使用一个IO引脚拉低相应从机的选择引脚(STE),传输的起始由主机发送数据来启动,时钟(SCK)信号由主机产生。通过MOSI发送数据,同时通过MISO引脚接收从机发出的数据。
从机模式:
当器件作为从机时,传输在从机选择引脚(STE)被主机拉低后开始,接收主机输出的时钟信号,在读取主机数据的同时通过MISO引脚输出数据。
SPI电气连接
以4线SPI为例,其通信时需要的4个引脚分别为:
引脚名称
类型
描述
SCK
输入/输出
串行时钟,用于同步SPI接口间数据传输的时钟信号。该时钟信号总是由主机驱动,并且从机接收
STE
输入
从机选择,SPI从机选择信号是一个低有效信号,用于指示被选择参与数据传输的从机。每个从机都有各自特定的从机选择输入信号。
MISO
输入/输出
主入从出,MISO信号是一个单向的信号,它将数据由从机传输到主机。
MOSI
输入/输出
主出从入,MOSI信号是一个单向的信号,它将数据从主机传输到从机。
作SPI主机时,STE要接上拉电阻
STE引脚作用
STE:从机模式发送接收允许控制引脚,控制多主从系统中的多个从机。该引脚不用于3线SPI操作,可以在4线SPI操作中使多主机共享总线,避免发生冲突。
4线SPI操作主模式中,STE的含义如下:
SIMO和SCLK被强制进入输入状态
SIMO和SCLK正常操作
4线SPI操作从模式中,STE的含义如下:
允许从机发送接收数据,SIMO正常操作
禁止从机发送接收数据,SIMO被强制进入输入状态
SPI数据传输
数据传输格式:
通常是高位(MSB)在前,低位(LSB)在后。一些增强型MCU中可以通过软件设置高位在前或低位在前。
下面以8位数据的传输为例,看一下4种不同数据传输格式的时序。首先介绍两个概念:
1.时钟极性:表示时钟信号在空闲时是高电平还是低电平。
2.时钟相位:决定数据是在SCK的上升沿采样还是在SCK的结束沿采样。
SPI传输时序
传输模式
根据时钟极性(CPOL)及相位(CPHA)不同可以组合成4种工作模式:SPI0,SPI1,SP2,SP3.
(1)SPI0:CPOL=0,CPHA=0
(2)SPI1:CPOL=0,CPHA=1
(3)SPI2:CPOL=1,CPHA=0
(4)SPI3:CPOL=1,CPHA=1
传输模式
时钟极性(CPOL)定义了时钟空闲状态电平,对传输协议没有重大影响。
CPOL=0:时钟空闲状态为低电平。
CPOL=1:时钟空闲状态为高电平。
传输模式
时钟相位(CPHA)定义数据的采样时间。
CPHA=0:在时钟的第一个跳变沿(上升沿或下降沿)进行数据采样。
CPHA=1:在时钟的第二个跳变沿(上升沿或下降沿)进行数据采样。
SPI接口内部结构
特点
优点:
(1)接口简单,利于硬件设计与实现。
(2)时钟速度快,且没有系统开销。
(3)相对抗干扰能力强,传输稳定。
特点
缺点:
(1)缺乏流控制机制,无论主器件还是从器件均不对消息进行确认,主器件无法知道从器件是否繁忙。因此,需要软件弥补,增加了软件开发工作量。
(2)没有多主器件协议,必须采用很复杂的软件和外部逻辑来实现多主器件架构。
通用串行通信接口(USCI)模块
通用串行通信接口(USCI)模块支持多种串行通信模式。不同的USCI 模块支持不同的模式
USCI_Ax 模块支持:
UART 模式
IrDA 通信的脉冲整形
LIN 通信的自动波特率检测
SPI 模式
USCI_Bx 模块支持:
I2C 模式
SPI 模式
MSP4
文档评论(0)