• 正文
    • OPT3001自學(xué)筆記
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

OPT3001光照傳感器驅(qū)動(dòng)教學(xué)

2024/03/11
3477
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

OPT3001自學(xué)筆記

OPT3001是一款低功耗環(huán)境光照度采集IC,之前的項(xiàng)目中有用到這顆芯片,因此在這里給大家分享一下,如果這篇文章剛好能幫到你那就更好了。

一、OPT3001的寄存器

單片機(jī)是通過IIC協(xié)議讀寫OPT3001的寄存器來控制OPT3001的。所以我們要驅(qū)動(dòng)這個(gè)芯片就必須先去了解它的寄存器。OPT3001有6個(gè)寄存器,都是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 - 配置測量光照的范圍,當(dāng)配置位1100傳感器測量范圍自動(dòng)選擇
11 CT - 測量時(shí)間配置 0- 100Ms 1-800Ms
10:9 M[1:0] - 轉(zhuǎn)換模式:00:關(guān)閉模式 01:單次轉(zhuǎn)換 10、11:連續(xù)轉(zhuǎn)換
8 OVF - 測量光照超出設(shè)定的范圍或最大測量值 溢出標(biāo)志
7 CRF - 轉(zhuǎn)換就緒字段 1-轉(zhuǎn)換完成
6 FH - 轉(zhuǎn)換的光照值 大于上限值 置位
5 FL - 轉(zhuǎn)換的光照值 小于下限值 置位
4 L - 中斷輸出的兩種模式:1-窗口模式:這種模式下高限置位和低限置位INT輸出,0-滯后模式:高限置位INT輸出 具體看手冊
3 POL - INT 中斷被觸發(fā)輸出極性 0:拉低 1:拉高
2 ME - 掩碼字段
0:1 FC - 超出上限范圍故障計(jì)數(shù),如果超出次數(shù),大于等于計(jì)數(shù)設(shè)定次,INT輸出中斷

注:若要用窗口鎖存模式,OPT3001觸發(fā)中斷后需要讀取配置寄存器才能清除標(biāo)志位。

3、 下限寄存器(地址:0x02):設(shè)置觸發(fā)下限,如果要用中斷方式觸發(fā),需要用到

4、 上限寄存器(地址:0x03):設(shè)置觸發(fā)上限,如果要用中斷方式觸發(fā),需要用到

5、 產(chǎn)商ID寄存器(地址:0x7E):只讀寄存器,固定為0x5449

6、 設(shè)備ID寄存器(地址:0x7F):只讀寄存器,固定為0x3001

二、OPT3001的工作模式

1、OPT3001自動(dòng)采集轉(zhuǎn)換數(shù)據(jù),但不主動(dòng)上報(bào),單片機(jī)需要數(shù)據(jù)的時(shí)候去讀取,計(jì)算。測量時(shí)間可以設(shè)置為100ms或者800ms,轉(zhuǎn)換方式配置為連續(xù)轉(zhuǎn)換,配置寄存器可以設(shè)為:0xCE10或者0xC410。

2、OTP3001自動(dòng)采集轉(zhuǎn)換數(shù)據(jù),超過上限或下限會(huì)觸發(fā)中斷,單片機(jī)可以通過讀取配置寄存器清除OPT3001的中斷。測量時(shí)間可以設(shè)置為100ms或者800ms,轉(zhuǎn)換方式配置為連續(xù)轉(zhuǎn)換,中斷輸出極性可以是高電平也可以是低電平,配置寄存器可以設(shè)為:0xCE10或者0xCE18。

三、讀寫OPT3001的寄存器

1、寫入數(shù)據(jù)的步驟如下:

1)IIC發(fā)送器件地址+讀/寫位,器件地址和ADDR的狀態(tài)有關(guān),具體如圖2所示。如:ADDR接地,發(fā)送的讀取命令為:10001000,即0x88,前7位是器件地址,最后一位0是讀/寫位,0是寫入,1是讀取。
2)IIC發(fā)送需要寫入數(shù)據(jù)的寄存器地址。如:需要寫入配置寄存器,則發(fā)送0x01。
3)IIC發(fā)送需要寫入的數(shù)據(jù)(兩個(gè)字節(jié),分兩次發(fā)送)。如往配置寄存器連續(xù)發(fā)送0xCE,0x10。

2、讀取的步驟如下:

1)IIC發(fā)送器件地址+讀/寫位,器件地址和ADDR的狀態(tài)有關(guān),具體如圖2所示。如:ADDR接地,發(fā)送的讀取命令為:0x88。
2)IIC發(fā)送需要讀取數(shù)據(jù)的寄存器地址。如:需要讀取結(jié)果寄存器,則發(fā)送0x00。
3)IIC發(fā)送器件地址+讀/寫位,器件地址和ADDR的狀態(tài)有關(guān),具體如圖2所示。如:ADDR接地,讀取的讀取命令為:0x89。
4)IIC連續(xù)接收兩個(gè)字節(jié)的數(shù)據(jù)。

四、完整的IIC通訊過程

1、 寫入過程

1)發(fā)送起始信號(hào)
2)發(fā)送發(fā)送器件地址+0
3)發(fā)送應(yīng)答位
4)發(fā)送寄存器地址
5)發(fā)送應(yīng)答位
6)發(fā)送數(shù)據(jù)高8位
7)發(fā)送應(yīng)答位
8)發(fā)送數(shù)據(jù)低8位
9)發(fā)送應(yīng)答位
10)發(fā)送停止信號(hào)

2、讀取過程

1)發(fā)送起始信號(hào)
2)發(fā)送發(fā)送器件地址+0
3)發(fā)送應(yīng)答位
4)發(fā)送寄存器地址
5)發(fā)送應(yīng)答位
6)發(fā)送發(fā)送器件地址+1
7)接收數(shù)據(jù)高8位
8)發(fā)送應(yīng)答位
9)發(fā)送數(shù)據(jù)低8位
10)不發(fā)送應(yīng)答位
11)發(fā)送停止信號(hào)

IIC讀取和寫入的時(shí)序圖如圖3所示。

驅(qū)動(dòng)源碼下載鏈接:

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
AT25512N-SH-T 1 Atmel Corporation EEPROM, 64KX8, Serial, CMOS, PDSO8, 0.150 INCH, HALOGEN AND LEAD FREE, PLASTIC, MS-012AA, SOIC-8

ECAD模型

下載ECAD模型
$2.31 查看
SN74LVC1G14DCKRE4 1 Texas Instruments Single 1.65-V to 5.5-V inverter with Schmitt-Trigger inputs 5-SC70 -40 to 125

ECAD模型

下載ECAD模型
$0.41 查看
ASEM1-16.000MHZ-LC-T 1 Abracon Corporation MEMS OSC XO 16.0000MHZ CMOS SMD
$1.63 查看

相關(guān)推薦