加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • OPT3001自學(xué)筆記
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

03/11 16:50
4663
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

OPT3001自學(xué)筆記

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

一、OPT3001的寄存器

單片機(jī)是通過(guò)IIC協(xié)議讀寫OPT3001的寄存器來(lái)控制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 - 配置測(cè)量光照的范圍,當(dāng)配置位1100傳感器測(cè)量范圍自動(dòng)選擇
11 CT - 測(cè)量時(shí)間配置 0- 100Ms 1-800Ms
10:9 M[1:0] - 轉(zhuǎn)換模式:00:關(guān)閉模式 01:?jiǎn)未无D(zhuǎn)換 10、11:連續(xù)轉(zhuǎn)換
8 OVF - 測(cè)量光照超出設(shè)定的范圍或最大測(cè)量值 溢出標(biāo)志
7 CRF - 轉(zhuǎn)換就緒字段 1-轉(zhuǎn)換完成
6 FH - 轉(zhuǎn)換的光照值 大于上限值 置位
5 FL - 轉(zhuǎn)換的光照值 小于下限值 置位
4 L - 中斷輸出的兩種模式:1-窗口模式:這種模式下高限置位和低限置位INT輸出,0-滯后模式:高限置位INT輸出 具體看手冊(cè)
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ì)算。測(cè)量時(shí)間可以設(shè)置為100ms或者800ms,轉(zhuǎn)換方式配置為連續(xù)轉(zhuǎn)換,配置寄存器可以設(shè)為:0xCE10或者0xC410。

2、OTP3001自動(dòng)采集轉(zhuǎn)換數(shù)據(jù),超過(guò)上限或下限會(huì)觸發(fā)中斷,單片機(jī)可以通過(guò)讀取配置寄存器清除OPT3001的中斷。測(cè)量時(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通訊過(guò)程

1、 寫入過(guò)程

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、讀取過(guò)程

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ù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
XRCGB25M000F3A00R0 1 Murata Manufacturing Co Ltd Parallel - Fundamental Quartz Crystal, 25MHz Nom, ROHS AND REACH COMPLIANT, SMALL, SMD, 3 PIN

ECAD模型

下載ECAD模型
$0.34 查看
M25P05-AVMN6P 1 Rochester Electronics LLC 64KX8 FLASH 2.7V PROM, PDSO8, 0.150 INCH, ROHS COMPLIANT, PLASTIC, SOP-8
$0.79 查看
S29GL256P10FFI020 1 AMD Flash, 16MX16, 100ns, PBGA64,
$9.29 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜