STM32F0培训:17. I2C.pdf
需积分: 0 69 浏览量
更新于2019-09-15
收藏 1.43MB PDF 举报
STM32F0培训课程中关于I2C通信外设部分的知识点涵盖了I2C接口的特性、配置以及其在STM32F0微控制器中的实现方式。以下详细解析这些知识点:
1. I2C特性
I2C(内部集成电路接口)是一种多主机、多从机的串行通信总线,具有以下特点:
- 兼容I2C 3.0标准,支持硬件处理I2C总线的时序、协议和仲裁。
- 支持SMBus 2.0和PMBus 1.1,使***0可以与各种兼容的设备通信。
- 提供硬件支持,能够处理I2C总线的特有时序、协议和仲裁问题。
- 支持标准总线速度100KHz,快速总线速度400KHz和新增的Fast+总线速度1MHz。
- I2C具有20mA的驱动能力,保证了长距离和多设备连接的稳定性。
- 支持多主机和多从机模式,允许总线上的设备可以同时控制总线。
- 提供7位或10位的寻址模式,使总线能够寻址多达1024个设备。
- 通过配置掩码,可以寻址多个7位地址,增强了设备的寻址灵活性。
- 总线建立和保持时间是可配置的,为不同通信要求提供了灵活性。
- 可配置的数字和模拟滤波器用于抑制噪声,确保信号质量。
- 支持时钟延展功能,允许时钟的延长,以满足某些从设备的要求。
- 提供简单易用的事件管理功能,简化了软件编程的复杂性。
- 模块双时钟域意味着可以在不干扰其他部分的情况下,独立配置I2C模块的时钟。
- 当设备被寻址时,MCU可以从停止模式唤醒,增强了功耗管理能力。
2. I2C模块的实现
- STM32F0系列微控制器根据其片上闪存的大小,可能带有不同数量的I2C外设。拥有64KB闪存的F0带有2个I2C接口(I2C1和I2C2),而32KB闪存版本仅带有1个I2C(I2C1)。
- I2C2的硬件支持功能比I2C1少,不支持SMBus硬件,且其驱动能力为20mA。
- I2C1和I2C2均支持模块双时钟域,以及MCU在停止模式下通过被寻址来唤醒的功能。
- I2C接口的引脚通过不同的GPIO端口进行分配,例如在64KB闪存版本中,I2C1和I2C2的SCL/SDA分别对应于PB6/PB7、PB8/PB9和PB10/PB11以及PF6/PF7。
3. I2C总线上的噪声滤波
- 噪声滤波器的配置必须在使能I2C之前完成。
- 可以在SCL和SDA线上配置数字和模拟滤波器,用以抑制电路上的尖峰干扰。
- 默认情况下,模拟滤波器是使能的,可以被软件关闭。数字滤波器是关闭的,也可以被软件使能。
- 噪声滤波功能会在停止模式下关闭;一旦启用了停止模式唤醒功能,即使在运行模式下,该功能也会自动关闭。
- 所带来的时序延迟需要被计算在总线时序中。
4. I2C总线的时序配置
- 在启用I2C前,需要配置时序寄存器I2C_TIMINGR,其内容影响到SCL时钟的高低电平周期。
- 主设备/从设备在发送数据时,数据的建立时间与保持时间是I2C通信的关键参数,必须满足I2C协议的要求。
- 时序参数的配置涉及预分频器(PRESC)、SCL延迟(SCLDEL)、SDA延迟(SDADEL)、SCL高电平周期(SCLH)、SCL低电平周期(SCLL)等。
- 时序配置对于确保数据正确传输、避免数据冲突和总线效率至关重要。
5. I2C功能框图及时序分析
- I2C功能框图显示了I2C模块与微控制器其它组件的连接方式,以及在不同时钟域下的配置选项。
- I2C时序配置和滤波器的设置需要考虑I2C总线的物理特性和电气参数,以保证通信的可靠性和效率。
以上内容提供了对STM32F0培训材料中关于I2C通信外设的详细介绍,对于深入理解STM32F0微控制器的I2C接口使用和配置,以及在实际应用中处理各种I2C相关问题具有指导意义。
weixin_38743602
- 粉丝: 396
- 资源: 2万+
最新资源
- 机械设计双工位贴提拉手胶纸机sw18可编辑非常好的设计图纸100%好用.zip
- C++实现高并发webserver项目
- 教育领域通用型大学物理/化学实验报告范本,指导实验教学与学生实验技能提升
- simulink仿真,一种用于三电平并网逆变器的简化模型预测控制(MPC)(矢量,合成矢量),采用了三种控制模式
- 云计算领域云手机私有化搭建指南:从零开始的企业级部署与管理方案
- 微信小程序从前端开发视角的完整开发流程与指南
- Mysql监视器资源包
- 该模型采用龙贝格观测器进行无传感器控制 其利用 PMSM 数学模型构造观测器模型,根据输出的偏差反馈信号来修正状态变量 当观测的电流实现与实际电流跟随时, 可以从观测的反电势计算得到电机的转子位置信
- Windographer 4.2.25 官方版
- 基于FPGA的FOC控制器,用于驱动BLDC/PMSM电机
- mqtt通讯调试工具win32,测试/调试软件工具,很好用.
- 基于FPGA的轻量级CAN总线控制器
- Java开发:简易命令行求和项目的构建与运行流程解析
- RPCRPCRPCRPCRPCRPC 远程解密
- 含分布式电源配电网潮流计算,IEEE33节点系统进行仿真 牛顿拉夫逊法,前推回代法算例程序 加入无功补偿装置,并可改变分布式电源的接入位置
- 全量mp-html组件