王 建,毛騰飛,陳英革
(常熟理工學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,江蘇,常熟 215500)
目前,大多數(shù)測光系統(tǒng)的光強(qiáng)采集元件都是使用光電三極管或光電池.由于信號放大電路、A/D轉(zhuǎn)換電路等是這兩類采集元件必不可少的部分,其系統(tǒng)設(shè)計(jì)的復(fù)雜度較高.高級的測光系統(tǒng)還需要設(shè)計(jì)多檔放大電路來實(shí)現(xiàn)大量程測光.這些電路無疑增加了傳統(tǒng)測光系統(tǒng)的能耗和空間開銷,降低了其靈活度.并且傳統(tǒng)的測光系統(tǒng)非常容易受到如紅外線、紫外線等非可見光的干擾.
本系統(tǒng)采用新型單片測光芯片BH1750,較好地解決了傳統(tǒng)測光系統(tǒng)的弊端[1].BH1750是半導(dǎo)體制造商ROHM為適應(yīng)以移動(dòng)電話手機(jī)為首的便攜式機(jī)器和液晶電視等的要求而開發(fā)出的具有優(yōu)良光譜靈敏度特性、16bit串行輸出的單片數(shù)字照度傳感器.由于其面世不久,關(guān)于它的資料十分稀少,目前有關(guān)BH1750的實(shí)用資料僅有一份其官方網(wǎng)站發(fā)布的英文版芯片手冊.本文在參考該手冊基礎(chǔ)上,結(jié)合筆者的實(shí)際測試經(jīng)驗(yàn),主要以源程序并適當(dāng)解釋為讀者呈現(xiàn)出用51系列單片機(jī)[2,3]配合BH1750的簡單使用實(shí)例,為相關(guān)開發(fā)人員提供一定的借鑒參考.
在該系統(tǒng)中,主控器為宏晶公司的51系列單片機(jī)STC12LE5A60S2,光強(qiáng)傳感器使用BH1750,人機(jī)界面為顯示部分+控制按鍵.顯示部分采用2.0寸176×220分辨率TFT彩色液晶屏.由于本文的重點(diǎn)在BH1750部分,其他部分如顯示屏驅(qū)動(dòng)等從略.
圖1是系統(tǒng)的硬件框架圖.主控器通過IIC(Inter-Integrated Circuit)通訊接口讀取BH1750采集到的數(shù)據(jù),然后按照用戶要求的形式通過界面將數(shù)據(jù)呈現(xiàn).從系統(tǒng)的框架圖可以看出,使用BH1750搭建測光系統(tǒng)相對比較簡單.因此,開發(fā)人員可以很容易地將此IC嵌入到其他需要測光功能的系統(tǒng)中,從而降低系統(tǒng)的復(fù)雜度.
圖1 系統(tǒng)硬件框架圖
如圖2所示,BH1750只需占用主控器的3個(gè)I/O端口就可以正常工作.如果系統(tǒng)需要是采用多片此IC,則每兩片BH1750可以共用這3個(gè)I/O端口,只需將其中一片的地址腳ADDR接高電平,另一片接低電平就可以互不干擾.主控器將通過不同地址訪問不同IC.文中系統(tǒng)評估部分的兩片BH1750就是使用這種接法.
圖2 BH1750接線圖
BH1750與主控器之間的通訊使用標(biāo)準(zhǔn)的IIC通訊協(xié)議.IIC總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備.IIC總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結(jié)束信號和應(yīng)答信號.
主控器通過IIC接口向BH1750發(fā)送各種控制命令以及讀取測量數(shù)據(jù).
(1)主控器向BH1750發(fā)送控制命令步驟:①主控器產(chǎn)生通訊啟動(dòng)信號;②主控器發(fā)送8bit的地址數(shù)據(jù)(其中地址的最后一位應(yīng)為0,表示寫命令);③主控器讀取BH1750的應(yīng)答信號;④主控器發(fā)送8bit的命令數(shù)據(jù);⑤主控器讀取應(yīng)答;⑥主控器產(chǎn)生停止信號.
(2)主控器從BH1750讀取數(shù)據(jù)步驟:①主控器產(chǎn)生通訊啟動(dòng)信號;②主控器發(fā)送8bit的地址數(shù)據(jù)(其中地址的最后一位應(yīng)為1,表示讀命令);③主控器讀取應(yīng)答;④主控器讀取高8位數(shù)據(jù);⑤主控器產(chǎn)生應(yīng)答信號;⑥主控器讀取低8位數(shù)據(jù);⑦主控器產(chǎn)生應(yīng)答信號;⑧主控器產(chǎn)生停止信號.
系統(tǒng)工作時(shí)要先進(jìn)行各部分的初始化,完成后開始接收用戶命令,根據(jù)用戶的不同操作執(zhí)行不同的任務(wù).具體流程如圖3所示.
下面給出主控器發(fā)送命令、讀取數(shù)據(jù)的函數(shù)實(shí)例代碼:
以上兩段代碼都是按照圖3所示的通訊時(shí)序?qū)懗龅模⑼ㄟ^實(shí)際測試.至于其中的IIC控制信號函數(shù)都是標(biāo)準(zhǔn)的控制函數(shù),限于篇幅,這里不再給出.
以上面的核心代碼為基礎(chǔ),下面給出主控器調(diào)用這兩個(gè)函數(shù)完成測光功能的使用實(shí)例.
圖3 系統(tǒng)工作流程
BH1750具有可改變測量時(shí)間的功能,由此來改變測量精度,最高可達(dá)0.11Lx,限于篇幅有限,這里不作討論.
下面分三方面對BH1750的性能進(jìn)行實(shí)測評估.所有的數(shù)據(jù)都是直接從BH1750讀取過來的,并沒有做任何濾波處理,因此下面的數(shù)據(jù)能較好地反映出BH1750的性能.
圖4中使用的參照照度計(jì)是深圳市金達(dá)通儀器儀表公司生產(chǎn)的數(shù)字式照度計(jì)1010B.從圖4中可以看出,在不同光強(qiáng)級別,BH1750的測量結(jié)果與標(biāo)準(zhǔn)照度計(jì)的測量結(jié)果的相對偏差都很小.
圖4 BH1750與照度計(jì)測量結(jié)果對比圖
圖5與圖6是本系統(tǒng)內(nèi)部自行繪制的同時(shí)使用兩片BH1750在相同條件下(晚間日光燈下)的測量結(jié)果對比.圖5是用透明元件袋遮住其中一片IC時(shí)的對比圖,因?yàn)檎谏w物使得對應(yīng)IC的探測端光線減弱,所以從圖中可以清楚地分辨出兩片IC的曲線;圖6則是兩片IC在相同環(huán)境下測量所得到的曲線圖,從圖中可以看出兩條曲線基本重合,這說明BH1750的線性關(guān)系是很好的,同一型號不同芯片的測量誤差比較小.
使用一片IC在同一環(huán)境中進(jìn)行多次測量,結(jié)果如表1所示.
表中共有3組數(shù)據(jù),每組8個(gè)照度值:
圖5 IC-1被遮住實(shí)測圖
圖6 兩片IC在相同環(huán)境中實(shí)測圖
表1 不同環(huán)境下的多次測量照度(單位:Lx)
第一組的8個(gè)數(shù)據(jù)中最大值與最小值的差值為1Lx,相對偏差0.43%;第二組的8個(gè)照度值中,最大值與最小值的差值為8Lx,相對偏差0.37%;第三組的8個(gè)照度值中,最大值與最小值的差為43Lx,相對偏差3.5%.三組數(shù)據(jù)的相對偏差均不到0.5%.這說明BH1750在弱光、正常光照和較強(qiáng)光照條件下的測量穩(wěn)定性都很好.
從上述幾方面的對比可以看出,BH1750的性能是相對較為優(yōu)越的.但其測量時(shí)間較長,典型的測量時(shí)間為120ms,所以它不適合作為快速采集或瞬間采集光強(qiáng)的采集器.
本文針對傳統(tǒng)測光系統(tǒng)結(jié)構(gòu)復(fù)雜、容易受到紅外、紫外等干擾光線的影響等弊端,改選新型單片測光芯片BH1750作為光強(qiáng)采集器,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)測光系統(tǒng).通過對BH1750進(jìn)行多方面的對比評估,驗(yàn)證了其可靠性.
[1]ROMH公司.BH1750FVI手冊[EB/OL].http://cnpdf.alldatasheet.com/datasheet-pdf/view/350139/ROHM/BH1750FVI.html.
[2]趙建領(lǐng).51系列單片機(jī)開發(fā)寶典[M].北京:電子工業(yè)出版社,2007.
[3]鄭步生,吳渭.Multisim2001電路設(shè)計(jì)及仿真入門應(yīng)用[M].北京:電子工業(yè)出版社,2002.