- 利用Max44009實(shí)施EOC (轉(zhuǎn)換結(jié)束)檢測,改善傳感器對(duì)測量值的響應(yīng)時(shí)間
引言
Maxim的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ì)說明I²C寄存器的設(shè)置方法。
寄存器
光傳感器的I²C寄存器如表1所示。
實(shí)現(xiàn)轉(zhuǎn)換完成檢測
實(shí)施依據(jù)是,只有當(dāng)ADC產(chǎn)生有效數(shù)據(jù)(例如,ADC轉(zhuǎn)換結(jié)束)時(shí),IC內(nèi)部才會(huì)觸發(fā)中斷邏輯。在ADC轉(zhuǎn)換期間/積分時(shí)間內(nèi),中斷檢測邏輯將忽略I²C 寄存器設(shè)置的變化。如果寄存器設(shè)置為不考慮轉(zhuǎn)換結(jié)果而觸發(fā)中斷,例如,所設(shè)置的下限高于上限時(shí),可通過監(jiān)測中斷引腳獲得轉(zhuǎn)換完成信號(hào)。
下面,按步驟詳細(xì)說明一個(gè)算法示例。
第一步 配置寄存器,快速訪問。
向配置寄存器0x02寫入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ā)中斷。
寫入下限高字節(jié) = 1111 1111
寫入上限高字節(jié) = 0000 0000
寫入門限定時(shí)器 = 0000 0000
第三步 保持在“等待”狀態(tài),直到用戶啟動(dòng)有效轉(zhuǎn)換。
在此期間,忽略任何來自寄存器的中斷觸發(fā)信號(hào)。
第四步 收到用戶命令后,啟動(dòng)有效轉(zhuǎn)換過程。
向配置寄存器寫入1000 0000,實(shí)現(xiàn)寄存器的自動(dòng)量程設(shè)置和連續(xù)轉(zhuǎn)換配置。
讀取中斷狀態(tài)寄存器0x00,清除任何中斷條件。/INT引腳應(yīng)置為高電平。
檢測/INT引腳,等待中斷觸發(fā)信號(hào)(注意:由于第一步中的TIM設(shè)置,最長等待時(shí)間為6.25ms)
隨后,即可開啟光傳感器測量。
讀取中斷狀態(tài)寄存器0x00,清除任何中斷條件。/INT引腳應(yīng)為高電平。
當(dāng)前轉(zhuǎn)換過程完成后,寫入1100 0111,將寄存器的積分時(shí)間重新設(shè)置為6.25ms。
檢測/INT引腳,等待中斷觸發(fā)信號(hào),引腳將發(fā)出轉(zhuǎn)換結(jié)束信號(hào),可讀取有效的光強(qiáng)測量數(shù)據(jù)。
第五步 重復(fù)第三步。