如何利用Maxim的環(huán)境光傳感器進(jìn)行EOC檢測(cè)
摘要:本應(yīng)用筆記主要說(shuō)明如何利用Maxim環(huán)境光傳感器的中斷引腳實(shí)施EOC (轉(zhuǎn)換結(jié)束)檢測(cè),以改善傳感器對(duì)測(cè)量值的響應(yīng)時(shí)間。
本文引用地址:http://cafeforensic.com/article/162099.htm引言
Maxim的MAX9635、MAX44007和MAX44009高性能環(huán)境光傳感器,在單一芯片集成了光電二極管、模擬前端(AFE)、兩路高分辨率模/數(shù)轉(zhuǎn)換器(ADC)、數(shù)字比較和數(shù)據(jù)格式化處理電路及I²C接口功能。這些光傳感器具有業(yè)內(nèi)領(lǐng)先的低工作電流(0.65µA)、ICC低工作電壓(1.8V)、超低光敏感度,采用2mm x 2mm x 0.6mm小尺寸封裝。
當(dāng)光積分時(shí)間為100ms的倍數(shù)(如:100/200/400/800ms)時(shí),這些環(huán)境光傳感器能夠很好地抑制50Hz/60Hz噪聲干擾。然而,多數(shù)情況下,很多應(yīng)用需要一個(gè)轉(zhuǎn)換完成信號(hào),在可靠讀取環(huán)境光傳感器信息時(shí)避免不必要的延遲。本應(yīng)用筆記主要介紹如何使用器件的中斷引腳提供轉(zhuǎn)換完成指示,詳細(xì)說(shuō)明I²C寄存器的設(shè)置方法。
寄存器
光傳感器的I²C寄存器如表1所示。
Register | Bit | Register address | Power-on reset state | R/W | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
Status | |||||||||||
Interrupt status | — | — | — | — | — | — | — | INTS | 0x00 | 0x00 | R |
Interrupt enable | — | — | — | — | — | — | — | INTE | 0x01 | 0x00 | R/W |
Configuration | |||||||||||
Configuration | CONT | MANUAL | — | — | CDR | TIM[2:0] | 0x02 | 0x03 | R/W | ||
LUX reading | |||||||||||
LUX high byte | E3 | E2 | E1 | E0 | M7 | M6 | M5 | M4 | 0x03 | 0x00 | R |
LUX low byte | — | — | — | — | M3 | M2 | M1 | M0 | 0x04 | 0x00 | R |
Threshold set | |||||||||||
Upper threshold High byte | UE3 | UE2 | UE1 | UE0 | UM7 | UM6 | UM5 | UM4 | 0x05 | 0xFF | R/W |
Lower threshold High byte | LE3 | LE2 | LE1 | LE0 | LM7 | LM6 | LM5 | LM4 | 0x06 | 0x00 | R/W |
Threshold timer | T7 | T6 | T5 | T4 | T3 | T2 | T1 | T0 | 0x07 | 0xFF | R/W |
實(shí)現(xiàn)轉(zhuǎn)換完成檢測(cè)
實(shí)施依據(jù)是,只有當(dāng)ADC產(chǎn)生有效數(shù)據(jù)(例如,ADC轉(zhuǎn)換結(jié)束)時(shí),IC內(nèi)部才會(huì)觸發(fā)中斷邏輯。在A(yíng)DC轉(zhuǎn)換期間/積分時(shí)間內(nèi),中斷檢測(cè)邏輯將忽略I²C寄存器設(shè)置的變化。如果寄存器設(shè)置為不考慮轉(zhuǎn)換結(jié)果而觸發(fā)中斷,例如,所設(shè)置的下限高于上限時(shí),可通過(guò)監(jiān)測(cè)中斷引腳獲得轉(zhuǎn)換完成信號(hào)。
下面,按步驟詳細(xì)說(shuō)明一個(gè)算法示例。
第一步 配置寄存器,快速訪(fǎng)問(wèn)。
向配置寄存器0x02寫(xiě)入1100 0111,將寄存器配置為以下非默認(rèn)參數(shù):CONT = 1:立即轉(zhuǎn)換和連續(xù)轉(zhuǎn)換
MANUAL = 1:允許手動(dòng)調(diào)整積分時(shí)間
TIM = 111:將積分時(shí)間設(shè)置為最小值 = 6.25ms
第二步 配置寄存器,轉(zhuǎn)換結(jié)束時(shí)立即、強(qiáng)制觸發(fā)中斷。
寫(xiě)入下限高字節(jié) = 1111 1111
寫(xiě)入上限高字節(jié) = 0000 0000
寫(xiě)入門(mén)限定時(shí)器 = 0000 0000
第三步 保持在“等待”狀態(tài),直到用戶(hù)啟動(dòng)有效轉(zhuǎn)換。
在此期間,忽略任何來(lái)自寄存器的中斷觸發(fā)信號(hào)。
第四步 收到用戶(hù)命令后,啟動(dòng)有效轉(zhuǎn)換過(guò)程。
向配置寄存器寫(xiě)入1000 0000,實(shí)現(xiàn)寄存器的自動(dòng)量程設(shè)置和連續(xù)轉(zhuǎn)換配置。
讀取中斷狀態(tài)寄存器0x00,清除任何中斷條件。/INT引腳應(yīng)置為高電平。
檢測(cè)/INT引腳,等待中斷觸發(fā)信號(hào)(注意:由于第一步中的TIM設(shè)置,最長(zhǎng)等待時(shí)間為6.25ms)
隨后,即可開(kāi)啟光傳感器測(cè)量。
讀取中斷狀態(tài)寄存器0x00,清除任何中斷條件。/INT引腳應(yīng)為高電平。
當(dāng)前轉(zhuǎn)換過(guò)程完成后,寫(xiě)入1100 0111,將寄存器的積分時(shí)間重新設(shè)置為6.25ms。
檢測(cè)/INT引腳,等待中斷觸發(fā)信號(hào),引腳將發(fā)出轉(zhuǎn)換結(jié)束信號(hào),可讀取有效的光強(qiáng)測(cè)量數(shù)據(jù)。
第五步 重復(fù)第三步。
評(píng)論