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

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

3天内不再提示

根据时钟极性和时钟相位的不同,SPI有四个工作模式

Q4MP_gh_c472c21 来源:未知 作者:龚婷 2018-03-20 11:43 次阅读

串行外围设备接口(Serial Peripheral Interface,SPI)是由 Motorola 公司开发的,用来在微控制器和外围设备芯片之间提供一个低成本、易使用的接口(SPI 有时候也被称为4线接口)。这种接口可以用来连接存储器、AD/DA转换器实时时钟日历、LCD驱动器传感器音频芯片,甚至其他处理器。目前支持 SPI 的元件很多,并且还在不断增加。

这里需要提一下,由于专利在电子行业是很关键的,因此部分厂商可能会将 SPI 通讯协议更名以规避高昂的专利费,但其硬件处理方式是一样的,只是换了一个名称而已(或者在协议上做了一些修改),例如 TI 的 SSI(Synchronous Serial Interface)通讯协议。与标准的串行端口不同,SPI 是一个同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟信号由主机(处理器)产生。接收数据的设备(从设备)使用时钟对串行比特流的接收进行同步化。可能会有许多芯片连到主机的同一个 SPI 接口上,这是主机通过触发从设备的芯片的片选输入引脚来选择接收数据的从设备,没有被选中的外设将不会参与 SPI 传输。SPI 主要使用4个信号:主机输出/从机输入(MOSI)、主机输入/从机输出(MISO)、串行时钟(SCLK或SCK)和外设片选(nCS)。有些处理器有 SPI 接口专用的片选,称为从机选择(nSS)。MOSI 信号由主机产生,从机接收。在有些芯片上,MOSI 只被简单地标为串行输入(SI),或者串行数据输入(SDI)。MISO 信号由从机产生,不过还是在主机的控制下产生的。在一些芯片上,MISO 有时被称为串行输出(SO),或者串行数据输出(SDO)。外设片选信号通常只是由主机的备用 I/O 引脚产生。SPI 接口在内部硬件实际上是两个简单的移位寄存器,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比 I2C 总线要快,速度可达到 Mbps 级别。

根据时钟极性和时钟相位的不同,SPI 有四个工作模式。时钟极性有高、低两极:

1、时钟低电平时,空闲时时钟(SCK)处于低电平,传输时跳转到高电平;2、时钟极性为高电平时,空闲时时钟处于高电平,传输时跳转到低电平。

时钟相位有两个:相位0 和 相位1。对于时钟相位0,如果时钟极性是低电平,MOSI 和 MISO 输出在时钟(SCK)的上升沿有效(如图1所示)。

图1. 时钟极性为低电平且时钟相位0时的SPI时序图

如果时钟极性为高电平,对于时钟相位0,这些输出在 SCK 的下降沿有效(如图2所示)。

图2. 时钟极性为高电平且时钟相位0时的SPI时序图

对于时钟相位1,情况则相反。此时如果时钟极性是低电平,MOSI 和 MISO 输出在时钟(SCK)的下降沿有效(如图3所示)。

图3. 时钟极性为低电平且时钟相位1时的SPI时序图

如果时钟极性是高电平,这些输出在 SCK 的上升沿有效(如图4所示)。

图4. 时钟极性为高电平且时钟相位1时的SPI时序图

工程中一般会用 CPOL 代表时钟极性,用 CPHA 代表时钟相位,在 S5PV210 的 datasheet 中,我们可以看到相应的 SPI 接口配置寄存器(如图5所示)。

图5. S5PV210的SPI配置寄存器CH_CFGn

也就是由两个位(CPOL 和 CPHA)共同决定 SPI 的工作模式,所以有 2 * 2 = 4 种工作模式。其中,时钟极性(CPOL)决定的是时钟空闲时电平的高低状态(0:空闲时低电平,1:空闲时高电平);时钟相位(CPHA)决定的是数据在时钟的上升沿或下降沿锁存/采样(0:第一个边沿开始,1:第二个边沿开始)。

最后,SPI 接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

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

    关注

    51

    文章

    7305

    浏览量

    142916
  • 寄存器
    +关注

    关注

    30

    文章

    5027

    浏览量

    117710
  • 时钟
    +关注

    关注

    10

    文章

    1479

    浏览量

    130304
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1614

    浏览量

    89586

原文标题:浅谈串行外围设备接口(Serial Peripheral Interface)SPI总线

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何根据SPI最大时钟18MHz计算AD7980能工作的最大采样率是多少?

    您好: 我现在使用的一微处理器的SPI最大时钟18MHz,如果用一AD7980工作在CS模式
    发表于 12-21 06:29

    请问FPGA PLL产生的时钟信号和AD9779A的数据时钟信号的相位关系?

    打出,请问FPGA PLL产生的时钟信号和AD9779A的数据时钟信号的相位关系? (2) AD9779A使用双端口模式,请问FPGA发送数据的时候,只要把AD9779A的TXENA
    发表于 12-20 07:12

    关于AD7779 DOUT模式下的时钟问题

    您好,我利用NXP K10芯片(M4内核)硬件SPI 从机模式与AD7779 主机模式进行通讯读取AD7779 DOUT模式下第0,1两
    发表于 12-07 06:30

    请问2AD9576之间怎么实现同步来保证16AD输出时钟相位都同步?

    的0-8输出时钟之间可以实现相位同步,那2AD9576之间怎么实现同步来保证16AD输出时钟相位都同步?
    发表于 12-05 08:16

    AD7606 SPI通信的时钟极性时钟相位要求是什么?

    AD7606的关于SPI通信的时钟极性时钟相位要求是什么? 我的主控芯片采用SPIAD760
    发表于 12-01 06:56

    大型多GHz时钟树中的相位偏差设计

    电子发烧友网站提供《大型多GHz时钟树中的相位偏差设计.pdf》资料免费下载
    发表于 11-22 16:56 0次下载
    大型多GHz<b class='flag-5'>时钟</b>树中的<b class='flag-5'>相位</b>偏差设计

    LTC6915的采样时钟是多少?与FPGA系统时钟相同吗?

    LTC6915的采样时钟是多少,与FPGA 系统时钟相同吗
    发表于 11-14 07:55

    SPI通信协议介绍

    Master 设备会根据将要交换的数据来产生相应的时钟脉冲(Clock Pulse), 时钟脉冲组成了时钟信号(Clock Signal) , 时钟
    的头像 发表于 10-16 16:52 555次阅读
    <b class='flag-5'>SPI</b>通信协议介绍

    HbirdV2-SoC中如何配置QSPI1和QSPI2的时钟极性CPOL和时钟相位CPHA?

    HbirdV2-SoC中QSPI0的时钟极性CPOL和时钟相位CPHA可以通过SPI_SCKMODE寄存器来配置;在QSPI1和QSPI2中没有找到相关寄存器,如何配置QSPI1和QS
    发表于 08-12 06:17

    SPI IP用户指南

    的协议版本。安路的 SPI IP 核具有极高的灵活性,用户可通过配置 SPIIP 核的主/从类型,时钟极性时钟相位,数据宽度,数据传输顺序,从设备数量以及部分接收阈值等,使
    发表于 08-09 06:19

    spi工作模式有几种

    SPI 四种工作模式 SPI 有四种工作模式,通过时钟
    的头像 发表于 07-27 10:35 7239次阅读
    <b class='flag-5'>spi</b><b class='flag-5'>工作</b><b class='flag-5'>模式</b>有几种

    SPI时钟极性时钟相位

    且在向高电平转变的期间。CPHA 为选择时钟相位根据CPHA位的状态,使用时钟上升沿或下降沿来采样和/或移位数据。主机必须根据从机的要求选择时钟
    的头像 发表于 07-21 10:08 3446次阅读
    <b class='flag-5'>SPI</b><b class='flag-5'>时钟</b><b class='flag-5'>极性</b>和<b class='flag-5'>时钟相位</b>

    时钟域处理方式

      类似于电源域(电源规划与时钟规划亦是对应的),假如设计中所有的 D 触发器都使用一个全局网络 GCLK ,比如 FPGA 的主时钟输入,那么我们说这个设计只有一个时钟域。假如设计有两个输入
    的头像 发表于 06-21 11:53 2205次阅读
    跨<b class='flag-5'>时钟</b>域处理方式

    SPI中主机和从机模式的区别是什么?

    。随着时钟脉冲,数据按照从高位到低位的方式依次移出主机寄存器和从机寄存器,并且依次移入从机寄存器和主机寄存器。当寄存器中的内容全部移出时,相当于完成了两寄存器内容的交换。 3. 时钟极性
    发表于 06-14 09:12

    如何改变spi时钟频率?

    ,选择合适的分频器。 2. 配置寄存器:根据所选的时钟源和分频器,配置SPI控制寄存器中的位。有些MCU可能需要配置多个寄存器,需要根据具体情况选择。 3. 启动
    的头像 发表于 06-03 16:36 2325次阅读