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

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

3天内不再提示

【硬见小百科】SPI总线是什么?

云创硬见 2019-01-03 12:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SPI全称是串行外设接口(Serial Peripheral Interface),是由Motorola提出的一种全双工(全双工指可以同时(瞬时)进行信号的双向传输(A→B且B→A))同步串行通信接口通信波特率可以高达5Mbps,但具体速度大小取决于SPI硬件。

SPI总线只需四条线就可以完成MCU与各种外围器件的通讯。

1)MOSI(SDI )–Master数据输出,Slave数据输入;

2)MISO (SDO)– Master数据输入,Slave数据输出;

3)SClK– 时钟信号,由Master产生;

4)/CS– Slave使能信号,由Master控制。

SPI通信就是采用这样的主从模式(Master-Slave)架构,一般为一个Master和多个Slave的应用模式。切记,谁为主,谁提供SCLK时钟信号。

SPI通讯就需要这四根线。其中,CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时,对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来再负责通讯的3根线就可以了。

SPI也是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。操作时序很简单,如下:

看见时序图了,就知道怎么通讯了。SPI接口在Master控制下产生的从器件使能信号和时钟信号,两个双向移位寄存器按位传输进行数据交换,传输数据高位在前,低位在后(MSB first)。在SCK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。

换个说法,SPI是一个环形总线结构,主要是在sck的控制下,两个双向移位寄存器进行数据交换。对于主机来说,上升沿发送、下降沿接收、高位先发送。

上升沿到来的时候,sdi上的电平将被发送到从设备的寄存器中。从M_Sbuff寄存器的7位,发送到S_Sbuff寄存器的0位;

下降沿到来的时候,sd噢上的电平将被接收到主设备的寄存器中。从S_Sbuff寄存器的7位,发送到M_Sbuff寄存器的0位;

一个完整的传送周期是16位,即两个字节,因为,首先主机要发送命令过去,然后从机根据主机的命令准备数据,主机在下一个8位时钟周期才把数据读回来。

SPI总线比IIC总线传输数据省事。之前用过的IIC通讯,又有起始位,又有停止位的。SPI比较豪爽,对于主机来说,有上升沿就写一位,有下降沿就读一位。因为这样,SPI能够不等8位数据都传完就停止。没有了主机发出的SCLK脉冲,就不再有数据交换了。需要注意的是:我们的主设备能够控制时钟,因为我们的SPI通信并不像UART或者IIC通信那样有专门的通信周期,有专门的通信起始信号,有专门的通信结束信号;所以我们的SPI协议能够通过控制时钟信号线,当没有数据交流的时候我们的时钟线要么是保持高电平要么是保持低电平。

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

    关注

    4

    文章

    104

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    搞不定示波器SPI解码?这几步就行!

    SPI总线是为芯片间的数据通信而设计的,因此,在大多数情况下,由于传输数据的不同使得信号并非周期性信号。这就要求在对该总线进行测试时,要能准确地触发到数据帧的“头”,并将其“稳定”显示在仪器上,便于
    的头像 发表于 11-19 17:32 491次阅读
    搞不定示波器<b class='flag-5'>SPI</b>解码?这几步就行!

    UV三防漆是什么?UV三防漆百科

    在追求极致效率的现代电子制造中,一种“不见光不固化”的保护材料正成为行业新宠——它就是UV三防漆。本文将化身一本全面的“UV三防漆百科”,并携手电子胶粘剂解决方案专家施奈仕,为您深度解析这款“光速固化”黑科技如何提升生产效率与产品可靠性。
    的头像 发表于 11-14 14:22 102次阅读
    UV三防漆是什么?UV三防漆<b class='flag-5'>百科</b>

    SGS授予特QTL认可实验室资质

    近日,国际公认的测试、检验与认证机构SGS授予杭州特过滤器材有限公司(以下简称“特”)QTL认可实验室资质。SGS微电子服务部总监康小丽、
    的头像 发表于 11-10 09:29 445次阅读

    深入剖析SPI协议

    SPI,全称(Serial Peripheral interface)是由摩托罗拉公司首先定义的协议,中文名为串型外围设备接口。SPI是一种高速全双工的总线协议。
    的头像 发表于 08-21 15:04 3505次阅读
    深入剖析<b class='flag-5'>SPI</b>协议

    看点:商汤“日日新”拟接入小米AI眼镜 鸿利智汇:部分产品已应用于小米汽车

    用户在生活与工作的真实场景中,实现“看、说、记、想”一体化。 凭借具备全双工实时音视频交互能力;构建了类似人与人对话的自然、流畅、不间断的交互闭环,例如逛街逛展进行实时识别,化身问答小百科;出国旅游又能成为翻译助手。
    的头像 发表于 08-07 14:47 784次阅读

    百科全书:贴片电阻

    片式固定电阻器,英文称呼:Chip Fixed Resistor,又称贴片电阻(SMD Resistor),是金属玻璃铀电阻器中的一种。是将金属粉和玻璃铀粉很合,采用丝网印刷法印在基板上支撑的电阻器。耐潮湿,高温,温度系数小。
    的头像 发表于 07-29 16:54 998次阅读

    刷知识也能上瘾,活力百科对年轻人做了什么?

    放下短视频刷起了百科,谁悄悄改写了年轻人的内容消费习惯?
    的头像 发表于 07-09 10:09 857次阅读
    刷知识也能上瘾,活力<b class='flag-5'>百科</b>对年轻人做了什么?

    第十七章 SPI——读写串行FLASH

    本章介绍SPI协议,其为高速全双工通信总线,含物理层、协议层内容,还讲解W55MH32的SPI特性、初始化及DMA相关配置。
    的头像 发表于 06-19 17:06 1045次阅读
    第十七章 <b class='flag-5'>SPI</b>——读写串行FLASH

    电子电路百科全书

    资料会有点老,但是可以用于学习~内容提要本书共收编富有实用价值的98类1300个典型电子电路,包括基础电路和近年来新出现的各种应用电路。所收入的电路除给出电路图外,一·般还附有简要说明、可供电子科技工作者、高等院校和中等专科学校师生、广大电子爱好者参阅。
    发表于 04-16 13:27

    看完这篇,SPI其实也很简单嘛(可下载)

    首先我们来简单介绍一下SPISPI是串行外设接口(SerialPeripheralInterface)简单来讲就是它一种高速的,全双工,同步的通信总线被各种总线搞的晕头转向的人来说就
    发表于 03-26 14:29 2次下载

    对于一款新的BSP如何添加SPI驱动

    介绍SPI总线由开发,是一种,由四个IO口组成:CS、SCLK、MISO、MOSI;通常用于CPU和外设之间进行通信,常见的SPI总线设备有:TFTLCD、QSPIFLASH、时钟模块
    的头像 发表于 02-26 19:00 875次阅读
    对于一款新的BSP如何添加<b class='flag-5'>SPI</b>驱动

    SPI通信总线概述和Verilog实现

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

    I2C总线SPI总线的比较

    在现代电子系统中,微控制器与各种外设之间的通信是必不可少的。I2C和SPI是两种流行的串行通信协议,它们各自具有独特的特点和应用场景。 I2C总线 I2C是一种多主机、多从机的同步通信协议,广泛应用
    的头像 发表于 01-17 15:08 1712次阅读

    百科启动“繁星计划”

    近日,百科携手中国科协、中国科学院大学共同举办了史记2024·科学百科100词发布会,并在此盛会上正式启动了“繁星计划”。这一计划的核心目标在于利用前沿的AI技术,包括数字人、智能体等,以及
    的头像 发表于 12-31 10:26 1146次阅读

    LMP91200评估板上的两组spi可以挂在同一spi总线上吗?

    评估板上的两组spi可以挂在同一spi总线上吗?ADC部分没有mosi,怎么搞?我把两个挂在了同一spi上,进行片选,adc只接了miso,在采集ADC数据时,
    发表于 12-31 06:20