版本2011-8-15作者crifan.PDFVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
版本2011-8-15作者crifan

【详解】SPI 中的极性CPOL 和相位CPHA 是什么以及如何设置 版本:2011-08-15 作者:crifan 联系方式:green-waste (at) 163.com 【背景】 最近在看关于Silicon Labs 的C8051F347 的某个驱动中,关于SPI 部分初始化的代码,看到 其对于SPI 的设置为CPOL=1,CPHA=0,对于CPOL 及CPHA 的含义不了解,想要搞懂,这 两个参数到底是什么意思,以及为何要这么设置。所以才去找了SPI 的极性和相位的相关 资料,整理如下。 【SPI 基础知识简介】 设备与设备之间通过某种硬件接口通讯,目前存在很多种接口,SPI 接口是其中的一种。 SPI 中分Master 主设备和Slave 从设备,数据发送都是由Master 控制。 一个master 可以接一个或多个slave 。 常见用法是一个Master 接一个slave,只需要4 根线: SCLK :Serial Clock , (串行)时钟 MISO:Master In Slave Out,主设备输入,从设备输出 MOSI:Master Out Slave In,主设备输出,从设备输入 SS: Slave Select,选中从设备,片选 SPI 由于接口相对简单(只需要4 根线),用途算是比较广泛,主要应用在EEPROM, FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。 即一个SPI 的Master 通过SPI 与一个从设备,即上述的那些Flash,ADC 等,进行通讯。 而主从设备之间通过SPI 进行通讯,首先要保证两者之间时钟SCLK 要一致,互相要商量好 了,要匹配,否则,就没法正常通讯了,即保证时序上的一致才可正常讯。 而这里的SPI 中的时钟和相位,指的就是SCLk 时钟的特性,即保证主从设备两者的时钟的 特性一致了,以保证两者可以正常实现SPI 通讯。 【SPI 相关的缩写或说法】 先简单说一下,关于SPI 中一些常见的说法: SPI 的极性Polarity 和相位 Phase,最常见的写法是CPOL 和CPHA,不过也有一些其他写法, 简单总结如下: (1) CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性 (2) CKPHA (Clock Phase) = CPHA = PHA = Phase = (时钟)相位 (3) SCK=SCLK=SPI 的时钟 (4) Edge=边沿,即时钟电平变化的时刻,即上升沿(rising edge)或者下降沿(falling edge) 对于一个时钟周期内,有两个edge,分别称为: Leading edge=前一个边沿=第一个边沿,对于开始电压是1,那么就是1 变成0 的时候,对 于开始电压是0,那么就是0 变成1 的时候; Trailing edge=后一个边沿=第二个边沿,对于开始电压是1,那么就是0 变成1 的时候 (即 在第一次1 变成0 之后,才可能有后面的0 变成1),对于开始电压是0,那么就是1 变 成0 的时候; 本文采用如下用法: 极性=CPOL 相位=CPHA SCLK=时钟 第一个边沿和第二个边沿 【SPI 的相位和极性】 CPOL 和CPHA,分别都可以是0 或时1,对应的四种组合就是: Mode 0 CPOL=0,CPHA=0 Mode 1 CPOL=0,CPHA=1 Mode 2 CPOL=1,CPHA=0 Mode 3 CPOL=1,CPHA=1 单独看这张图,的确很难明白具体含义,所以下面会有更详细的解释。 【CPOL 极性】 先说什么是SCLK 时钟的空闲时刻,其就是当SCLK 在数发送8 个bit 比特数据之前和之后 的状态,于此对应的,SCLK 在发送数据的时候,就是正常的工作的时候,有效active 的时 刻了。 先说英文,其精简解释为:Clock Polarity = IDLE state of SCK。 再用中文详解: SPI 的CPOL,表示当SC

文档评论(0)

xyl118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档