网站大量收购独家精品文档,联系QQ:2885784924

ARM微控制器与嵌入式系统 课件 34 STM32--I2C.ppt

ARM微控制器与嵌入式系统 课件 34 STM32--I2C.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

**ARM微控制器与嵌入式系统

STM32-I2C主讲人:景妮琴北京电子科技职业学院内容STM32的I2C特性及架构STM32的I2C框图STM32的I2C通信STM32的I2C特性I2C(内部集成电路)总线接口用作微控制器和I2C串行总线之间的接口。它提供多主模式功能,可以控制所有I2C总线特定的序列、协议、仲裁和时序。它支持标准和快速模式。它还与SMBus2.0兼容。STM32的I2C特性并行总线/I2C协议转换器多主模式功能:同一接口既可用作主模式也可用作从模式I2C主模式特性:时钟生成起始位和停止位生成I2C从模式特性:可编程I2C地址检测双寻址模式,可对2个从地址应答停止位检测STM32的I2C特性7位/10位寻址以及广播呼叫的生成和检测支持不同的通信速度:标准速度(高达100kHz)快速速度(高达400kHz)状态标志:发送/接收模式标志字节传输结束标志I2C忙碌标志STM32的I2C特性错误标志:主模式下的仲裁丢失情况地址/数据传输完成后的应答失败检测误放的起始位和停止位禁止时钟延长后出现的上溢/下溢2个中断向量:一个中断由成功的地址/数据字节传输事件触发一个中断由错误状态触发STM32的I2C特性及架构软件模拟协议:使用CPU直接控制通信引脚的电平,产生出符合通信协议标准的逻辑。硬件实现协议:由STM32的I2C片上外设专门负责实现I2C通信协议,只要配置好该外设,它就会自动根据协议要求产生通信信号,收发数据并缓存起来,CPU只要检测该外设的状态和访问数据寄存器,就能完成数据收发。这种由硬件外设处理I2C协议的方式减轻了CPU的工作,且使软件设计更加简单。STM32的I2C框图通信引脚时钟控制逻辑数据控制逻辑整体控制逻辑STM32的I2C框图1.通信引脚STM32芯片有多个I2C外设,它们的I2C通信信号引出到不同的GPIO引脚上,使用时必须配置到这些指定的引脚。引脚I2C编号I2C1I2C2I2C3SCLPB6/PB8PF1/PB10/PH4PA8/PH7SDAPB7/PB9PF0/PB11/PH5PC9/PH8STM32的I2C框图2.时钟控制逻辑SCL线的时钟信号,由I2C接口根据时钟控制寄存器(CCR)控制,控制的参数主要为时钟频率。可选择I2C通信的“标准/快速”模式,这两个模式分别I2C对应100K/400Kbit/s的通信速率。在快速模式下可选择SCL时钟的占空比,可选Tlow/Thigh=2或Tlow/Thigh=16/9模式。CCR寄存器中12位的配置因子CCR,它与I2C外设的输入时钟源共同作用,产生SCL时钟。STM32的I2C外设输入时钟源为PCLK1。STM32的I2C框图2.时钟控制逻辑计算时钟频率:标准模式: Thigh=CCR*TPCKL1Tlow=CCR*TPCLK1快速模式中Tlow/Thigh=2时: Thigh=CCR*TPCKL1Tlow=2*CCR*TPCKL1快速模式中Tlow/Thigh=16/9时: Thigh=9*CCR*TPCKL1 Tlow=16*CCR*TPCKL1STM32的I2C框图2.时钟控制逻辑计算时钟频率:例如,我们的PCLK1=42MHz,想要配置400Kbit/s的速率,计算方式如下: PCLK时钟周期: TPCLK1=1 目标SCL时钟周期: TSCL=1/400000 SCL时钟周期内的高电平时间: THIGH=TSCL/3 SCL时钟周期内的低电平时间: TLOW=2*TSCL/3 计算CCR的值: CCR=THIGH/TPCLK1=35该结果刚好为整数,所以我们可直接把CCR取值为35,这样I2C的SCL实际频率即为400KHz。STM32的I2C框图3.数据控制逻辑I2C的SDA信号主要连接到数据移位寄存器上,数据移位寄存器的数据来源及目标是数据寄存器(DR)、地址寄存器(OAR)、PEC寄存器以及SDA数据线。当向外发送数据的时候,数据移位寄存器以“数据寄存器”为数据源,把数据一位一位地通过SDA信号线发送出去;当从外部接收数据的时候,数据移位寄存器把SDA信号线采样到的数据一位一位地存储到“数据寄存器”中。STM32的I2C框图4.整体控制逻辑整体控制逻辑负责协调整个I2C外设,控制逻辑的工作模式根据我们配置的“控制寄存器(CR1/CR2)”的参数而改变。在外设

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档