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

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

3天内不再提示

SPI编程时,如何理解时钟相位和时钟极性

Q4MP_gh_c472c21 来源:嵌入式ARM 作者:刘小舒 2020-11-12 18:09 次阅读

SPI是单片机外设电路中常用的一种通讯方式,适用于近距离通信,通常用于芯片间的通讯,有四根线。在SPI通讯中总线时钟和总线相位也两个比较重要的概念,一般在使用SPI通信时都使用默认设置,所以容易把这两个参数忽略。和大家分享一下SPI通讯、时钟极性以及时钟相位的基础知识。 什么是SPI通讯总线 SPI总线的英文全称为S“Serial Periphral Interface”,意思是串行外设接口,由于通讯距离比较短,适用于芯片级别的短距离通讯。SPI的通讯分为主机和从机,属于高速全双工的总线通讯方式,SPI有四根线,分别为:

MISO:主设备输入与从设备输出线;

MOSI:主设备输出与从设备输入线;

SCK:串行同步时钟信号线;

SS:从机片选信号线,也用CS来表示。

SPI总线的主机和从机的系统连接图如下图所示。

SPI总线时钟的极性含义解释 SPI的时钟极性用CPOL来表示。SPI总线通讯的时基基准是时钟信号线SCK,SCK既有高电平,又有低电平,SPI的时钟极性用来表示时钟信号在空闲时是高电平还是低电平。情况说明如下:

当CPOL=0:SCK信号线在空闲时为低电平;

当CPOL=1:SCK信号线在空闲时为高电平;

SPI总线时钟的相位含义解释

时钟的相位用CPHA来表示,用来决定何时进行信号采样,在第一个跳变沿还是第二个跳变沿,至于是上升沿还是下降沿则由CPOL相位极性来表示。下面分两种情况来介绍。如下图所示。

上图表示CPHA=1时的情形,即在SCK时钟的第二个边沿进行数据的采样,至于是上升沿采样还是下降沿采样取决于时钟极性CPOL的值。如果CPHA=1,CPOL=1,则在SCK时钟的第二个边沿为上升沿时进行数据采样。如果CPHA=1,CPOL=0,则在SCK时钟的第二个边沿为下降沿时进行数据采样。 CPHA=0时的情形如下图所示。

上图表示CPHA=0时的情形,即在SCK时钟的第一个边沿进行数据的采样,至于是上升沿采样还是下降沿采样取决于时钟极性CPOL的值。如果CPHA=0,CPOL=1,则在SCK时钟的第一个边沿为下降沿时进行数据采样。如果CPHA=0,CPOL=0,则在SCK时钟的第一个边沿为上升沿时进行数据采样。 总结一下,SPI的时钟极性决定了SCK在空闲时是低电平还是高电平;而相位极性则决定了在第一个边沿还是第二个边沿进行数据采样。SPI的时钟极性CPOL和相位极性CPHA是相互影响相互决定的,以上概念可能很绕口难以理解,但是对SPI进行一次编程之后,所有的内容都好理解了。

责任编辑:xj

原文标题:SPI编程时,时钟相位(CPHA)和时钟极性(CPOL)怎么理解?

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

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

    关注

    10

    文章

    1479

    浏览量

    130295
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1610

    浏览量

    89538
  • 编程
    +关注

    关注

    88

    文章

    3438

    浏览量

    92317

原文标题:SPI编程时,时钟相位(CPHA)和时钟极性(CPOL)怎么理解?

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

收藏 人收藏

    评论

    相关推荐

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

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

    时钟树是什么?介绍两种时钟树结构

    今天来聊一聊时钟树。首先我先讲一下我所理解时钟树是什么,然后介绍两种时钟树结构。
    的头像 发表于 12-06 15:23 588次阅读

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

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

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

    AD7606的关于SPI通信的时钟极性时钟相位要求是什么? 我的主控芯片采用SPI有AD7606通信,我在数据手册中好像没有看到专门关于
    发表于 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 525次阅读
    <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 有四种工作模式,通过时钟极性(CPOL)和时钟相位(CPHA)的搭配来得到四种工作模式: ①、CPOL=0,串
    的头像 发表于 07-27 10:35 6864次阅读
    <b class='flag-5'>spi</b>工作模式有几种

    SPI时钟极性时钟相位

    SPI 中,主机可以选择时钟极性时钟相位。在空闲状态期间,CPOL 为设置时钟信号的极性
    的头像 发表于 07-21 10:08 3369次阅读
    <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 2166次阅读
    跨<b class='flag-5'>时钟</b>域处理方式

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

    SPI操作中,最重要的两项设置就是时钟极性(CPOL或UCCKPL)和时钟相位(CPHA或UCCKPH)。时钟
    发表于 06-14 09:12

    如何改变spi时钟频率?

    如何改变spi时钟频率? 改变SPI时钟频率需要以下步骤: 1. 选择合适的时钟源和分频器:SPI
    的头像 发表于 06-03 16:36 2290次阅读

    CH32V103基础教程46-SPI-单工通信(1条时钟线和1条双向数据线),主机发送从机接收

    · 数据顺序支持 MSB 或者 LSB 在前· 支持硬件或者软件控制 NSS 引脚· 收发支持硬件 CRC 校验· 收发缓冲器支持 DMA 传输支持修改时钟相位极性
    发表于 04-25 16:47