资讯详情

使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集

文章目录

  • 一、IIC
    • 1.1介绍
    • 1.2原理
  • 二、实现温度采集
    • 三丶总结
    • 四丶参考

一、IIC

1.1介绍

即I2C,总线结构。 例如:内存中的SPD信息,通过IIC,与BX芯片组联系,IIC 存在于英特尔PIIX在结构体系中。 随着大规模集成电路技术的发展CPU单独工作系统所必需的ROM、RAM、I/O端口、A/D、D/A单片机或微控制器等外围电路集成在单片中越来越方便。目前,世界上许多公司生产各种单片机。包括各种字长CPU,各种容量的ROM、RAM还有不同的功能I/O接口电路等,但单片机的品种规格仍然有限,因此只能选择单片机进行扩展。有两种扩展方法:一种是并行总线,另一种是串行总线。由于串行总线连接较少,结构简单,通常不使用特殊的母板和插座,而是直接与各设备连接。因此,串行线的使用可以大大简化系统的硬件设计。PHILIPS公司早在十几年前就推出了I2C串行总线可实现多主机系统所需的裁决和高低速设备同步。因此,这是一条高性能的串行总线。 飞利浦电子公司最近推出了新的二选一I2C主选择器可以使两个I2C主设备中的任何一个与共享资源连接,广泛应用于MP从播放器到服务器等计算、通信和网络应用领域,使制造商和终端用户受益。PCA9541可以使两个I2C主相互连接的情况下,主设备与同一设备相连,从而简化了设计的复杂性。此外,新产品被单个设备所取代I2C多主设备应用中的多芯片,有效节约了系统成本。

1.2原理

在I2C在总线传输过程中,将两种特定情况定义为开始和停止条件(见图3):SCL保持高,SDA从高到低为起点;SCL保持高SDA停止条件从低变为高。主控制器产生开始和停止条件。使用硬件接口可以很容易地检测到开始和停止条件。没有此接口的微机必须每小时至少两次SDA取样以检测这种变化。 SDA在时钟高期间,在线数据必须稳定,只有当SCL当在线时钟信号较低时,可以改变数据在线的高或低状态。输出到SDA每个字节在线必须是8位,每个字节不受限制,但每个字节必须有响应ACK。如果一个接收器在完成其他功能(如内部中断)之前不能接收另一个数据的完整字节,它可以保持时钟线SCL当接收器准备接收数据的其他字节并释放时钟时,促使发送器进入等待状态SCL后,数据传输继续进行。I2C数据总线传输时序。有必要回应数据传输。与响应对应的时钟脉冲由主控制器产生,发送器必须在响应期间下拉SDA线。当被控器件无法响应时,数据保持在较高水平,导致主控器停止并终止传输。在传输过程中,当使用主控制接收器时,主控制接收器必须向被控制发送器发结束信号,使被控发送器释放数据线,以允许主控制器产生停止条件。合法的数据传输格式如下: I2C总线开始条件后的首字节决定了哪个被控制器将被控制器选择。例外,通用访问地址可以在所有时间内找到。当主控制器输出一个地址时,系统中的每个设备将开始条件后的前7个地址与自己的地址进行比较。如果相同,该设备认为它被主控制器搜索,而被控接收器或被控发送器则取决于R/W位。

二、实现温度采集

下载给出的文件 链接:https://pan.baidu.com/s/1hzUldR3IL98osBcwRf9-9w 提取码:1234 程序烧录后,使用野火调试助手可以看到结果 在这里插入图片描述

三丶总结

收集和输出温度和湿度相对简单。只需注意传感器的连接方法。包装文件夹中可以看到传感器的连接方法

四丶参考

IIC

标签: 高性能连接器传感器成必需

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台