欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 10.IIC和BH1750

10.IIC和BH1750

2025/5/23 9:01:19 来源:https://blog.csdn.net/m0_52356707/article/details/148150777  浏览:    关键词:10.IIC和BH1750

目录

IIC

常见的通信接口

IIC(I2C)的初识

IIC 通信的结构图

IIC 的时序基本单元

        开始信号 

        结束信号 

        发送一个字节 -- 主机-->从机 

        接收一个字节 -- 从机-->主机 

        发送应答 -- 收到数据,可以发送下个数据了

        接收应答 -- 主机检测从机是否发送应答,用来判断从机是否收到数据 

        注意的细节 

IIC 的写完整时序 STM32-->从设备

        发送 1 个字节 

        发送 2 个字节 

        IIC 的读完整时序 -- 先写在读 

IIC 器件地址如何确定

STM32 上如何实现 IIC 时序

光照传感器的讲解 

常见的 IIC 接口的设备

IIC 和光照传感器的关系

光照传感器

光照传感器和开发板的连接

光照传感器

        光照测量步骤 

        指令集合 

        器件地址确定 

        数据的处理 

STM32 中硬件 IIC 的讲解 

硬件 IIC

STM32F103ZET6 的硬件 IIC 资源

STM32 的 IIC 特点

STM32 的框图

STM32 的硬件 IIC 的 IO 口配置

主发送器传送序列图

主接收器传送序列图 


IIC

常见的通信接口

        常见的数字通信接口:UART SPI 单总线 IIC CAN 485 

        常见的模拟通信接口:电压型 电流型 – 通过 ADC 采集 

IIC(I2C)的初识

        IIC 历史 

                I2C(Inter IC Bus)是由 Philips 公司开发的一种通用数据总线 

        IIC 的通信线 

                SCL -- 时钟引脚 -- 时钟引脚一般由主机控制 

                SDA-- 数据引脚 -- 数据引脚可由主机或从机控制 

        IIC 的通信特点 

                单端同步串行半双工通信 主从通信

        IIC 的速率 

                IIC 总线的传输速率可以分为三种模式: 

                        标准模式(S 模式):最大传输速率为 100Kbps,即12.5KByte/s。 

                        快速模式(F 模式):最大传输速率为400Kbps,即50KByte/s。 

                        高速模式(HS 模式):最大传输速率为3.4Mbps,即435KByte/s。 

IIC 通信的结构图

        所有 I2C 设备的 SCL 连在一起,SDA 连在一起 

        设备的 SCL 和 SDA 均要配置成开漏输出模式 

                开漏输出:只能输出低电平,不能输出高电平,结合上拉电阻使用 

                推挽模式也可以,但是需要输入输出模式切换,比较麻烦 

        SCL 和 SDA 各添加一个上拉电阻,阻值一般为 4.7KΩ/10KΩ 左右具有”线与”特性,当没有设备拉低这跟线的时候,这根线就是高电平,所以 SCL 和 SDA 空闲是高电平。

IIC 的时序基本单元

        开始信号 

                SCL 高电平期间,SDA 从高电平切换到低电平 

                开始信号谁发起:主机发起 

        结束信号 

                SCL 高电平期间,SDA 从低电平切换到高电平 

                结束信号谁发起:主机发起

        发送一个字节 -- 主机-->从机 

                SCL 低电平期间,主机将数据位依次放到 SDA 线上(高位先行),然后主机释放 SCL,从机将在 SCL 高电平期间读取数据位,所以 SCL 高电平期间 SDA 不允许有数据变化,依次循环上述过程 8 次,即可发送一个字节

        接收一个字节 -- 从机-->主机 

接收一个字节:SCL 低电平期间,从机将数据位依次放到 SDA 线上(高位先行),然后主机释放 SCL,主机将在 SCL 高电平期间读取数据位,所以 SCL 高电平期间 SDA 不允许有数据变化,依次循环上述过程 8次,即可接收一个字节(主机在接收之前,需要释放 SDA) 

        发送应答 -- 收到数据,可以发送下个数据了

发送应答:主机在接收完一个字节之后,在下一个时钟发送一位数据,数据 0 表示应答,数据 1 表示非应答

主机接收到 1 个字节之后,还需要接收后续的内容,主机发送应答(SDA 低电平)

主机接收到 1 个字节之后,不需要接收后续的内容,主机发送非应答(SDA 高电平)

SCL 高电平的时候,SDA 的电平决定是应答还是非应答,高电平非应答,低电平应答

        接收应答 -- 主机检测从机是否发送应答,用来判断从机是否收到数据 

接收应答:主机在发送完一个字节之后,在下一个时钟接收一位数据,判断从机是否应答,数据 0 表示应答,数据 1 表示非应答(主机在接收之前,需要释放 SDA)

从机接收到 1 个字节之后,从机会发送应答,表示接收成功。

注意:为什么以低电平作为应答?

        注意的细节 

IIC 的写完整时序 STM32-->从设备

        读写位:写 0 读 1 

        发送 1 个字节 

        发送 2 个字节 

        IIC 的读完整时序 -- 先写在读 

注意:读时序,一般先写再读,因为要通过写的过程告诉从机,主机想要什么数据或者干什么。

IIC 器件地址如何确定

        器件地址要从从设备手册确定,一般为 7 位的地址,也有 10 位的。 

STM32 上如何实现 IIC 时序

        模拟(软件)IIC 

                封装出来,起始信号,结束信号,发送 1 个字节,接收 1 个字节,发送应答,接收应答。然后再按照协议,拼积木拼起来只需要接在普通的 GPIO 口上就可以。

        硬件 IIC 

                需要确定单片机的 IIC 资源,必须接在有 IIC 功能的引脚上。 

光照传感器的讲解 

常见的 IIC 接口的设备

        IIC 是一种通信接口,下面列的是常见 IIC 接口器件 

        EEPROM(AT24C02) OLED MPU6050 光照传感器 

IIC 和光照传感器的关系

        IIC 是一种重要的通信接口,可以和 IIC 接口的设备进行通信. 

        光照传感器(BH1750)它的接口就是 IIC,所以选择 IIC 和它通信. 

光照传感器

光照传感器和开发板的连接

GND:                                 接 GND 

ADDR 或者 ADO:             内部直接接 GND,不需要接:器件地址 0100011 

SDA:                                 单片机 PB7 

SCL:                                  单片机 PB6 

VCC:                                  接 3.3V 

注意:ADO/ADDR 可以用来改变器件地址。

光照传感器相对于光敏电阻可以反应真实的光照强度

光照传感器

        光照测量步骤 

        指令集合 

        器件地址确定 

                根据 ADO/ADDR 引脚的电平,决定器件地址 

        数据的处理 

STM32 中硬件 IIC 的讲解 

硬件 IIC

        串口 SPI 单总线 IIC PWM 都可以通过 IO 口模拟实现,模拟实现的称为软件 

        STM32 自带的有硬件串口、PWM、IIC、SPI 

STM32F103ZET6 的硬件 IIC 资源

两个 IIC 接口

        如果使用硬件 IIC,IIC 接口的设备,必须接在有 IIC 功能的引脚上。 

        如果使用模拟 IIC,任意两个 GPIO 口就可以。

STM32 的 IIC 特点

        I2C 主设备功能 

        支持不同的通讯速度

STM32 的框图

STM32 的硬件 IIC 的 IO 口配置

主发送器传送序列图

主接收器传送序列图 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词