0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

串行外围设备接口总线的特点以及它的基本配置

嵌入式星球 来源:嵌入式星球 作者:嵌入式星球 2020-09-24 15:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

几十年来使用的三种最常见的多线串行数据传输格式是I2CUART和SPI。本文着眼于串行外设接口(SPI)总线,该总线已摆脱了显式的标准化,因此在实现协议之前,请始终检查要使用的集成电路的数据表。

能力和特点

串行外围设备接口总线使用四个数据线在主设备和从设备之间提供全双工同步通信

基本主从配置

串行外设接口允许将数据位从主设备移出到从设备中,同时,还可以将位从从设备移出到主设备中。

动画1显示了数据从Microchip A移入Microchip B,又从Microchip B移入MicrochipA。

动画2显示了两个微芯片之间SPI事务的虚拟4通道示波器轨迹。由马克·休斯(Mark Hughes)用Mathematica创建

由于SPI尚未标准化,因此可能会遇到先传输最高有效位(MSb)或最低有效位(LSb)的情况。检查设备的数据表并相应地设置数据处理例程。如果您使用的是Arduino,则可以参考此页面以获取有关配置SPI端口的信息。

时钟极性和相位

时钟转换控制数据的移位和采样。SPI具有四种模式(0、1、2、3),分别对应四种可能的时钟配置。

在时钟周期的上升沿采样的位在时钟周期的下降沿移出,反之亦然。

当从选择线被驱动至逻辑低电平(从选择通常为低电平有效信号)时,每个事务开始。从选择线,数据线和时钟线之间的确切关系取决于如何配置时钟极性(CPOL)和时钟相位(CPHA)。

在时钟极性不变的情况下(即,当从器件选择转换为逻辑低电平时,时钟处于逻辑低电平):

模式0:配置时钟相位,以便在时钟脉冲的上升沿采样数据,并在时钟脉冲的下降沿移出数据。这对应于上图中的第一个蓝色时钟轨迹。注意,数据必须在时钟的第一个上升沿之前可用。

模式1:配置时钟相位,以便在时钟脉冲的下降沿采样数据,并在时钟脉冲的上升沿移出数据。这对应于上图中的第二条蓝色时钟轨迹。

在时钟极性反转的情况下(即,当从器件选择转换为逻辑低电平时,时钟处于逻辑高电平):

模式2:配置时钟相位,以便在时钟脉冲的下降沿采样数据,并在时钟脉冲的上升沿移出数据。这对应于上图中的第一个橙色时钟轨迹。注意,数据必须在时钟的第一个下降沿之前可用。

模式3:配置时钟相位,以便在时钟脉冲的上升沿采样数据,并在时钟脉冲的下降沿移出数据。这对应于上图中的第二个橙色时钟轨迹。

关键参数

CLK:串行时钟。由主设备控制。每个时钟周期都会移出一个新的数据位。

SSN:从机选择(“ N”将其标识为低电平有效信号)。由主设备控制。激活的从设备选择线指示主机正在向相应的从设备发送数据或从其请求数据。

MOSI:主输出⇒从输入。数据离开主设备并进入从设备。芯片A上的MOSI线连接到芯片B上的MOSI线。

MISO:主机输入⇐从机输出。数据离开从设备并进入主设备(或以菊花链配置的另一个从设备;请参阅下一节)。芯片A上的MISO线连接到芯片B上的MISO线。

CPOL:时钟极性。这支配时钟信号的初始逻辑状态。有关更多信息,请参考上一节。

CPHA:时钟相位。这支配了数据转换和时钟转换之间的关系。有关更多信息,请参考上一节。

从选择和菊花链

多从选择配置

在标准的SPI安排中,主设备可以通过启用设备(即,将相应设备的从选择线设置为逻辑低电平)向共享公共数据线的单个设备写入数据或向其请求数据。注意不要同时启用多个从站,因为返回到主站的数据将由于MISO线之间的驱动程序争用而损坏。某些应用程序不需要将数据返回给主服务器;在这种情况下,如果主机希望将相同的数据发送到多个从机,则可以同时寻址多个从机。

在多从站选择配置中,每个从站都需要来自主站的唯一从站选择线。如果主站没有足够的I / O引脚来满足所需数量的从站,则可以通过合并解码器/多路分解器来实现I / O扩展,例如74HC(T)238(PDF)(3至8行)解码器/解复用器)。

菊花链配置

在此配置中,数据从一台设备移动到另一台设备。最终的从设备可以将数据返回给主设备。

在菊花链配置中,所有从机共享一条公共的从机选择线。数据从主机转移到第一个从机,然后从第一个从机转移到第二个,依此类推。数据沿线级联直至该系列中的最后一个从机,然后可以使用其MISO线将数据发送到主设备。

这种配置非常适合节日期间流行的可单独寻址的LED灯串。

结论

串行外设接口已经存在了数十年,没有理由期望它会很快消失。虽然I2C和UART可能会更受欢迎,但SPI是一种通用且直接的串行通信接口,非常适合某些应用。

fqj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1866

    浏览量

    99816
  • 串行数据传输

    关注

    0

    文章

    4

    浏览量

    6937
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Air8000 BLE外围模式全解析:数据收发实战指南!

    Air8000的BLE外围设备模式(peripheral)是实现低功耗蓝牙通信的关键功能,既能主动向中心设备发送通知数据,也能接收中心设备传回的信息。本文将通过具体示例,详细拆解这一
    的头像 发表于 11-24 14:26 1582次阅读
    Air8000 BLE<b class='flag-5'>外围</b>模式全解析:数据收发实战指南!

    蜂鸟E203 SoC的私有设备总线的简单使用

    、FLASH等。而私有外设接口连接的是私有设备总线,可以访问UART、GPIO等。 在设计和扩展E203 SoC功能的过程中,我们一般都会为系统需要添加外设到私有设备
    发表于 10-30 07:51

    ElfBoard嵌入式教育科普|USB接口全面解析

    USB的全称是Universal Serial Bus,译为通用串行总线,是一种用于连接计算机及其外部设备的标准接口的设计旨在标准化连接计算机与外部
    的头像 发表于 07-16 11:38 4176次阅读
    ElfBoard嵌入式教育科普|USB<b class='flag-5'>接口</b>全面解析

    外围设备通过手机连接到BLE应用程序,为什么不能连接到Infineaon BLE?

    ; key_ch06_ex01_ \" observer 项目创建了 BLE 中央应用程序。 但是无法扫描附近蓝牙中的任何设备进入高扫描模式 5 秒钟,进入低扫描模式 5 秒钟然后停止。 不显示任何主机 ID,包括我的
    发表于 07-07 08:06

    是否有可能使用CYSPP配置文件连接到外围设备

    我们的现有系统使用中央和外围设备,使用基于 Microchip RN4020 的中央和外围设备。 由于供应限制的原因,我们希望将英飞凌 CYBT-483056 SoC 用于 BLE central。 我们想知道是否有可能使用CYSPP
    发表于 07-07 06:17

    嵌入式学习-飞凌嵌入式ElfBoard ELF 2板卡-Platform总线简介

    是将特定平台的设备抽象为一个个的平台设备(Platform Device),并提供与设备相关的配置和控制接口。这些平台
    发表于 04-01 14:45

    Platform总线简介

    特定平台的设备抽象为一个个的平台设备(Platform Device),并提供与设备相关的配置和控制接口。这些平台
    发表于 03-31 16:43

    STM32学习笔记_I2C详解(可下载)

    I2C 是一种简单的双向二线制同步串行总线只需要两根线即可在连接于总线 上的器件之间传送信息I2C 总线能够支持多个
    发表于 03-14 17:33 3次下载

    SPI通信总线概述和Verilog实现

    SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线
    的头像 发表于 02-07 14:28 1987次阅读
    SPI通信<b class='flag-5'>总线</b>概述和Verilog实现

    你知道什么是SPI吗?一文入门,简单易懂

    在现代电子设备中,数据传输的速度和效率至关重要。SPI(SerialPeripheralInterface,串行外围接口),作为一种同步串行
    的头像 发表于 02-05 17:22 8264次阅读
    你知道什么是SPI吗?一文入门,简单易懂

    I2C总线数据包结构详解

    I2C(Inter-Integrated Circuit)总线是一种用于连接微控制器和各种外围设备的通信协议。使用两条线:串行数据线(SDA)和
    的头像 发表于 01-17 15:46 1391次阅读

    车辆总线接口设备 - VCI

    TESTBASE-VCI(Vehicle Communication Interface)系列产品是经纬恒润自主研发的一组用于汽车或工业等应用领域的便携式现场通信总线接口设备,可与PC端INTEWORK系列软件配合使用,实现
    的头像 发表于 01-03 11:05 1011次阅读
    车辆<b class='flag-5'>总线</b><b class='flag-5'>接口</b><b class='flag-5'>设备</b> - VCI

    总线接口的类型与选择指南

    ) 类型:异步、全双工串口总线。 特性:有两根线,一根TXD用于发送,一根RXD用于接收。不需要时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。 I2C
    的头像 发表于 12-31 10:06 2247次阅读

    KeyStone架构串行外设接口(SPI)手册

    SPI(Serial Peripheral Interface)是一种高速、全双工、同步的串行通信协议,允许微控制器与一个或多个外围设备进行通信。SPI通信通常使用四根线:SCK(时钟线
    发表于 12-16 10:33 0次下载