加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • OPT3001自学笔记
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

OPT3001光照传感器驱动教学

03/11 16:50
4236
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

OPT3001自学笔记

OPT3001是一款低功耗环境光照度采集IC,之前的项目中有用到这颗芯片,因此在这里给大家分享一下,如果这篇文章刚好能帮到你那就更好了。

一、OPT3001的寄存器

单片机是通过IIC协议读写OPT3001的寄存器来控制OPT3001的。所以我们要驱动这个芯片就必须先去了解它的寄存器。OPT3001有6个寄存器,都是16位寄存器,如图1所示。

2、 配置寄存器(地址:0x01):配置OPT3001采集的方式

16位配置寄存器具体如表1所示:

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
RN[3] RN[2] RN[1] RN[0] CT M[1] M[0] OVF CRF FH FL L POL ME FC[1] FC[0]

15~12 RN - 配置测量光照的范围,当配置位1100传感器测量范围自动选择
11 CT - 测量时间配置 0- 100Ms 1-800Ms
10:9 M[1:0] - 转换模式:00:关闭模式 01:单次转换 10、11:连续转换
8 OVF - 测量光照超出设定的范围或最大测量值 溢出标志
7 CRF - 转换就绪字段 1-转换完成
6 FH - 转换的光照值 大于上限值 置位
5 FL - 转换的光照值 小于下限值 置位
4 L - 中断输出的两种模式:1-窗口模式:这种模式下高限置位和低限置位INT输出,0-滞后模式:高限置位INT输出 具体看手册
3 POL - INT 中断被触发输出极性 0:拉低 1:拉高
2 ME - 掩码字段
0:1 FC - 超出上限范围故障计数,如果超出次数,大于等于计数设定次,INT输出中断

注:若要用窗口锁存模式,OPT3001触发中断后需要读取配置寄存器才能清除标志位。

3、 下限寄存器(地址:0x02):设置触发下限,如果要用中断方式触发,需要用到

4、 上限寄存器(地址:0x03):设置触发上限,如果要用中断方式触发,需要用到

5、 产商ID寄存器(地址:0x7E):只读寄存器,固定为0x5449

6、 设备ID寄存器(地址:0x7F):只读寄存器,固定为0x3001

二、OPT3001的工作模式

1、OPT3001自动采集转换数据,但不主动上报,单片机需要数据的时候去读取,计算。测量时间可以设置为100ms或者800ms,转换方式配置为连续转换,配置寄存器可以设为:0xCE10或者0xC410。

2、OTP3001自动采集转换数据,超过上限或下限会触发中断,单片机可以通过读取配置寄存器清除OPT3001的中断。测量时间可以设置为100ms或者800ms,转换方式配置为连续转换,中断输出极性可以是高电平也可以是低电平,配置寄存器可以设为:0xCE10或者0xCE18。

三、读写OPT3001的寄存器

1、写入数据的步骤如下:

1)IIC发送器件地址+读/写位,器件地址和ADDR的状态有关,具体如图2所示。如:ADDR接地,发送的读取命令为:10001000,即0x88,前7位是器件地址,最后一位0是读/写位,0是写入,1是读取。
2)IIC发送需要写入数据的寄存器地址。如:需要写入配置寄存器,则发送0x01。
3)IIC发送需要写入的数据(两个字节,分两次发送)。如往配置寄存器连续发送0xCE,0x10。

2、读取的步骤如下:

1)IIC发送器件地址+读/写位,器件地址和ADDR的状态有关,具体如图2所示。如:ADDR接地,发送的读取命令为:0x88。
2)IIC发送需要读取数据的寄存器地址。如:需要读取结果寄存器,则发送0x00。
3)IIC发送器件地址+读/写位,器件地址和ADDR的状态有关,具体如图2所示。如:ADDR接地,读取的读取命令为:0x89。
4)IIC连续接收两个字节的数据。

四、完整的IIC通讯过程

1、 写入过程

1)发送起始信号
2)发送发送器件地址+0
3)发送应答位
4)发送寄存器地址
5)发送应答位
6)发送数据高8位
7)发送应答位
8)发送数据低8位
9)发送应答位
10)发送停止信号

2、读取过程

1)发送起始信号
2)发送发送器件地址+0
3)发送应答位
4)发送寄存器地址
5)发送应答位
6)发送发送器件地址+1
7)接收数据高8位
8)发送应答位
9)发送数据低8位
10)不发送应答位
11)发送停止信号

IIC读取和写入的时序图如图3所示。

驱动源码下载链接:

https://download.csdn.net/download/shenzhen_zixian/11705851
https://download.csdn.net/download/shenzhen_zixian/11939529

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
SN74LVC1G125DCKR 1 Texas Instruments Single 1.65-V to 5.5-V buffer with 3-state outputs 5-SC70 -40 to 125

ECAD模型

下载ECAD模型
$0.3 查看
CSTCE16M0V53-R0 1 Murata Manufacturing Co Ltd Ceramic Resonator, 16MHz Nom, ROHS AND REACH COMPLIANT, CERAMIC PACKAGE-3

ECAD模型

下载ECAD模型
$0.75 查看
74LVC14AD,112 1 NXP Semiconductors 74LVC14A - Hex inverting Schmitt trigger with 5 V tolerant input SOIC 14-Pin
$0.34 查看

相关推荐

电子产业图谱