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 接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

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

    关注

    54

    文章

    9111

    浏览量

    156441
  • 寄存器
    +关注

    关注

    31

    文章

    5618

    浏览量

    130389
  • 时钟
    +关注

    关注

    11

    文章

    1999

    浏览量

    135225
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1898

    浏览量

    102093

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CDC2516:高性能锁相环时钟驱动器的深度解析

    : cdc2516.pdf 一、CDC2516概述 CDC2516是一款高性能、低偏斜、低抖动的锁相环(PLL)时钟驱动器,专为同步DRAM应用而设计。它工作在3.3V的VCC电压下,能将一
    的头像 发表于 02-10 14:50 231次阅读

    迅通科技模块PTR7002的SPI时钟能跑多高

    工作模式下)。 此外,在类似嵌入式 SPI 应用场景中(如参考 [4] 中杰理芯片的 SPI 配置经验),若主控和模块均支持,SPI
    发表于 12-17 16:07

    SPI的最高时钟频率是多少?

    SPI的最高时钟频率是多少?对于这个问题芯源MCU的SPI的最高时钟频率是12MHz。虽然主机模式下,S
    发表于 12-16 07:54

    蜂鸟SOC的SPI外设:如何修改SPI时钟相位时钟极性

    如标题所示,我们分享关于蜂鸟SOC的SPI外设中,SPI时钟相位时钟极性 SPI
    发表于 10-20 09:36

    ‌LMK02002精密时钟调节器技术文档摘要

    LMK02002精密时钟调节器结合了抖动清理/调节、乘法和参考时钟分配的功能。该器件集成了高性能 Integer-N 锁相环 (PLL) 和四个 LVPECL 时钟输出分配模块。
    的头像 发表于 09-18 15:18 788次阅读
    ‌LMK02002精密<b class='flag-5'>时钟</b>调节器技术文档摘要

    ‌LMH2190 通道27MHz时钟树驱动器技术文档总结

    该LMH2190是一通道可配置时钟树驱动器,提供数字 系统时钟到手机或其他应用中的外围设备。它提供了一解决方案
    的头像 发表于 09-18 11:29 821次阅读
    ‌LMH2190 <b class='flag-5'>四</b>通道27MHz<b class='flag-5'>时钟</b>树驱动器技术文档总结

    ‌CDC3S04 通道正弦波时钟缓冲器技术文档总结

    该CDC3S04是一款通道低功耗低抖动正弦波时钟缓冲器。它可以使用 将单个主时钟缓冲到多个外设。四个正弦波输出 (CLK1–CLK4) 设计用于最小的通道间偏移和超低附加输出抖动。
    的头像 发表于 09-17 10:02 856次阅读
    ‌CDC3S04 <b class='flag-5'>四</b>通道正弦波<b class='flag-5'>时钟</b>缓冲器技术文档总结

    ‌CDC3RL02 低相位噪声双通道时钟扇出缓冲器总结

    ))缓冲到多个外设。该器件时钟请求输入(CLK_REQ1和CLK_REQ2),每个输入可以启用单个时钟输出。
    的头像 发表于 09-17 09:57 981次阅读
    ‌CDC3RL02 低<b class='flag-5'>相位</b>噪声双通道<b class='flag-5'>时钟</b>扇出缓冲器总结

    ‌CDC1104 1至4可配置时钟缓冲器技术文档摘要

    CDC1104是一 1 到 4 可配置的时钟缓冲器。该器件接受输入参考时钟,并创建 4 缓冲输出时钟,输出频率等于输入
    的头像 发表于 09-16 09:37 888次阅读
    ‌CDC1104 1至4可配置<b class='flag-5'>时钟</b>缓冲器技术文档摘要

    嵌入式接口通识知识之SPI接口

    。3.2 工作模式SPI通常有工作模式(0、1、2、3),主要区别在于
    发表于 08-14 14:45

    当波特率设置为高时,SPI 时钟延长,数据丢失问题怎么解决?

    我在TRAVEO™ II (CYT4BF) MCU 上遇到了 SPI 通信问题。 设置详细信息: SPI模式:主控 时钟频率:5 MHz 时钟
    发表于 07-28 06:59

    TI的ADS129x器件SPI 时钟极性CPOL和时钟相位 CPHA的正确设置模式

    TI的ADS129x器件SPI 时钟极性CPOL和时钟相位 CPHA的正确设置模式
    的头像 发表于 06-18 16:36 1358次阅读
    TI的ADS129x器件<b class='flag-5'>SPI</b> <b class='flag-5'>时钟</b><b class='flag-5'>极性</b>CPOL和<b class='flag-5'>时钟相位</b> CPHA的正确设置<b class='flag-5'>模式</b>

    如何让SPI额外发出一时钟

    现将2ADC芯片进行菊花链式连接,手册上给的时序图中,两芯片读数中间需要额外插入一时钟时序,要怎样控制SPI输出单个
    发表于 06-13 07:30

    第十七章 SPI

    本篇文章介绍了W55MH32的SPI接口,可工作SPI或I2S模式,支持半 / 全双工、主从操作,具可编程时钟
    的头像 发表于 05-28 17:29 1357次阅读
    第十七章 <b class='flag-5'>SPI</b>

    FPGA时序约束之设置时钟

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_groups命令可以使时序分析工具不分析时钟组中时钟
    的头像 发表于 04-23 09:50 1620次阅读
    FPGA时序约束之设置<b class='flag-5'>时钟</b>组