模拟对话52-09,2018年9月
1
analog.com/cn/analogdialogue
串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、
移位寄存器、SRAM等)之间使用最广泛的接口之一。本文先简
要说明SPI接口,然后介绍ADI公司支持SPI的模拟开关与多路转换
器,以及它们如何帮助减少系统电路板设计中的数字GPIO数量。
SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在
时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接
口可以是3线式或4线式。本文重点介绍常用的4线SPI接口。
接口
数据传输
要开始SPI通信,主机必须发送时钟信号,并通过使能CS信号选择
从机。片选通常是低电平有效信号。因此,主机必须在该信号上
发送逻辑0以选择从机。SPI是全双工接口,主机和从机可以分别
通过MOSI和MISO线路同时发送数据。在SPI通信期间,数据的发送
(串行移出到MOSI/SDO总线上)和接收(采样或读入总线(MISO/
SDI)上的数据)同时进行。串行时钟沿同步数据的移位和采样。SPI
接口允许用户灵活选择时钟的上升沿或下降沿来采样和/或移位数
据。欲确定使用SPI接口传输的数据位数,请参阅器件数据手册。
时钟极性和时钟相位
在SPI中,主机可以选择时钟极性和时钟相位。在空闲状态期
间,CPOL位设置时钟信号的极性。空闲状态是指传输开始时CS为
高电平且在向低电平转变的期间,以及传输结束时CS为低电平且
在向高电平转变的期间。CPHA位选择时钟相位。根据CPHA位的状
态,使用时钟上升沿或下降沿来采样和/或移位数据。主机必须根
据从机的要求选择时钟极性和时钟相位。根据CPOL和CPHA位的选
择,有四种SPI模式可用。表1显示了这4种SPI模式。
表1. 通过CPOL和CPHA选择SPI模式
图2至图5显示了四种SPI模式下的通信示例。在这些示例中,数据
显示在MOSI和MISO线上。传输的开始和结束用绿色虚线表示,采
样边沿用橙色虚线表示,移位边沿用蓝色虚线表示。请注意,这
些图形仅供参考。要成功进行SPI通信,用户须参阅产品数据手册
并确保满足器件的时序规格。
4线SPI器件有四个信号:
�时钟(SPI CLK, SCLK)
�片选(CS)
�主机输出、从机输入(MOSI)
�主机输入、从机输出(MISO)
产生时钟信号的器件称为主机。主机和从机之间传输的数据与
主机产生的时钟同步。同I
2
C接口相比,SPI器件支持更高的时钟
频率。用户应查阅产品数据手册以了解SPI接口的时钟频率规格。
SPI接口只能有一个主机,但可以有一个或多个从机。图1显示了
主机和从机之间的SPI连接。
来自主机的片选信号用于选择从机。这通常是一个低电平有效信
号,拉高时从机与SPI总线断开连接。当使用多个从机时,主机需
要为每个从机提供单独的片选信号。本文中的片选信号始终是低
电平有效信号。
MOSI和MISO是数据线。MOSI将数据从主机发送到从机,MISO将数
据从从机发送到主机。
共享
SPI接口简介
作者:Piyu Dhaker
SPI
Master
CS
SCLK
MOSI
MISO
CS
SCLK
SDI
SDO
SPI
Slave
图
1.
含主机和从机的
SPI
配置。
SPIఇ๕ CPOL CPHA
ᆩᇀ֑ᄣࢅ/ᅎ࿋ຕڦ
้ዓ၎࿋
00
0
இگۉೝ
ຕሞฉืᄂ֑ᄣLj
ሞူইᄂᅎ
ຕሞူইᄂ֑ᄣLj
ሞฉืᄂᅎ
ຕሞူইᄂ֑ᄣLj
ሞฉืᄂᅎ
ຕሞฉืᄂ֑ᄣLj
ሞူইᄂᅎ
101 இگۉೝ
211 ߛۉೝ
31
0
ߛۉೝ
ှጒༀ
ူڦ้ዓ
Ⴀ
评论0