農(nóng)業(yè)生產(chǎn)、氣象環(huán)保等工作中,光照強(qiáng)度是環(huán)境監(jiān)測(cè)中的重要參數(shù);尤其是在溫室大棚中,光強(qiáng)對(duì)作物有著決定性的作用。為了實(shí)現(xiàn)對(duì)光強(qiáng)的監(jiān)測(cè),本文選用高速、可編程芯片TSL2561作為光強(qiáng)傳感器,對(duì)光照強(qiáng)度進(jìn)行測(cè)量。微處理器采用英國Jennic公司推出的高性能、低功耗、高速率無線芯片JN5139。該芯片集處理器、收發(fā)器于一體,通過無阻塞設(shè)計(jì)大大提高了CPU利用率,與傳統(tǒng)的有線設(shè)備相比,具有靈活性高、成本低、可維護(hù)性高等優(yōu)點(diǎn)。
1? TSL2561的內(nèi)部結(jié)構(gòu)及工作原理
TSL2561[1]是TAOS公司推出的第二代光強(qiáng)數(shù)字轉(zhuǎn)換芯片,具有高速、低功耗、寬量程、可編程靈活配置等優(yōu)點(diǎn)。TSL2561具有直接I2C接口,用于將光照強(qiáng)度轉(zhuǎn)換成數(shù)字信號(hào)輸出。其內(nèi)部結(jié)構(gòu)如圖1[2]所示。
TSL2561內(nèi)部連接一個(gè)光敏二極管(通道0)和一個(gè)紅外響應(yīng)光敏二極管(通道1)。這個(gè)集成電路具有提供20位動(dòng)態(tài)范圍內(nèi)近適光響應(yīng)的能力。兩個(gè)集成的積分式A/D轉(zhuǎn)換器,可將光敏電流轉(zhuǎn)換成一個(gè)數(shù)字輸出,并存入芯片內(nèi)部通道0和通道1各自的寄存器中。數(shù)字輸出表示測(cè)量每一個(gè)通道的光強(qiáng),可以是微處理器的輸入。TSL2561可直接通過I2C總線協(xié)議由微控制器訪問,微控制器則通過對(duì)其內(nèi)部的16個(gè)寄存器的讀寫來實(shí)現(xiàn)對(duì)TSL2561的控制。
?
圖1? TSL2561內(nèi)部結(jié)構(gòu)圖
2? 硬件設(shè)計(jì)
微處理器采用Jennic公司推出的高速率、低功耗、低成本JN5139無線SoC芯片[3]。該芯片集成了一個(gè)32位RISC處理器,可充分兼容2.4 GHz IEEE 802.15.4收發(fā)器,具有192 KB的ROM和8~96 KB內(nèi)可選的RAM,提供豐富的模擬量和數(shù)字外圍設(shè)備接口。JN5139芯片帶有I2C總線控制器,只需將該總線的時(shí)鐘線和數(shù)據(jù)線直接與TSL2561的I2C總線的SCL和SDA線分別相連。
如圖2所示,光強(qiáng)傳感器電路主要由SoC芯片、電源、狀態(tài)指示LED電路、復(fù)位電路、Flash寫控制電路、光強(qiáng)傳感器以及去耦電路組成。該電路大大降低了設(shè)計(jì)的復(fù)雜性。同時(shí),為了使光線均勻分布在傳感器上,本設(shè)計(jì)在TSL2561上加了一個(gè)半球狀菲涅爾透鏡,可將紅外線有效地集中到傳感器上[4],從而適當(dāng)降低照射到傳感器上的光照強(qiáng)度,不會(huì)超過設(shè)定的閾值。
?
圖2? 光強(qiáng)傳感器電路
?
圖3? 字節(jié)方式發(fā)送數(shù)據(jù)時(shí)序圖
3? 軟件設(shè)計(jì)
?
圖4? 字節(jié)方式接收數(shù)據(jù)時(shí)序圖
TSL2561是一個(gè)數(shù)字傳感器,輸出信號(hào)符合I2C總線標(biāo)準(zhǔn)。該總線支持以字節(jié)方式發(fā)送和接收數(shù)據(jù)。
字節(jié)方式發(fā)送數(shù)據(jù)格式如下:
?
字節(jié)方式接收數(shù)據(jù)格式如下:
?
其中, A為應(yīng)答信號(hào),0表示響應(yīng)(ACK),1表示不響應(yīng)(NACK);S為啟動(dòng)信號(hào);P為停止信號(hào);Wr為寫(低電平有效);Rd為讀(高電平有效)。非陰影部分為控制器到傳感器;陰影部分為傳感器到控制器。
I2C總線的SDA線和SCL線是雙向線路,當(dāng)總線空閑時(shí),這兩條線都是高電平[5]。SDA線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定,數(shù)據(jù)線的高或低電平狀態(tài)只有在SCL線的時(shí)鐘信號(hào)是低電平時(shí)才能改變。I2C總線的起始和停止條件分別是:當(dāng)SCL線是高電平時(shí),SDA線從高電平向低電平切換表示起始條件;SDA線由低電平向高電平切換表示停止條件。由于I2C總線上的數(shù)據(jù)是以8位傳送的,為確保發(fā)送器發(fā)送的每個(gè)字節(jié)都被接收器收到,在第9個(gè)時(shí)鐘脈沖期間,數(shù)據(jù)線被釋放,由接收器反饋一個(gè)確認(rèn)信號(hào)。確認(rèn)信號(hào)為低電平時(shí),規(guī)定為有效確認(rèn)位(用ACK表示),表示接收器已經(jīng)成功地接收了該字節(jié);確認(rèn)信號(hào)為高電平時(shí),規(guī)定為非確認(rèn)位(用NACK表示),表示接收器接收該字節(jié)沒有成功。
JN5139向TSL2561發(fā)送的時(shí)序圖如圖3所示。
JN5139接收TSL2561發(fā)送來的數(shù)據(jù)時(shí)序如圖4所示。
?
圖5? 數(shù)據(jù)傳輸流程
JN5139與TLS2561之間數(shù)據(jù)傳輸?shù)牧鞒倘鐖D5所示。首先,JN5139建立啟動(dòng)信號(hào),啟動(dòng)I2C總線;然后,兩者之間開始發(fā)送傳輸數(shù)據(jù),并在第9個(gè)時(shí)鐘脈沖期間反饋確認(rèn)信號(hào),直到數(shù)據(jù)傳輸結(jié)束,釋放SDA線,停止I2C總線。
A/D轉(zhuǎn)換完成后,分別從通道0和通道1各自的寄存器中讀取相應(yīng)的值CH0和CH1,并根據(jù)芯片相關(guān)資料進(jìn)行計(jì)算,換算成Lux為單位的量。假設(shè)CH0讀取的值為P1(單位為Lux),CH1讀取的值為P2(單位為Lux),光強(qiáng)測(cè)量儀的測(cè)量值為P。為了將兩通道的值擬合成一個(gè)與實(shí)際光強(qiáng)相同的值(用P′表示),可通過一條曲線來求出P′與P1、P2之間的關(guān)系。設(shè)曲線方程為:
?
根據(jù)測(cè)量數(shù)據(jù),求出系數(shù)C0~C4,即可計(jì)算出光強(qiáng)傳感器測(cè)得的光強(qiáng)。光強(qiáng)傳感器的測(cè)量值與光強(qiáng)測(cè)量儀的測(cè)量值相比較如圖6所示。
?
圖6? 測(cè)量曲線與擬合曲線比較
結(jié)語
本文基于光強(qiáng)傳感器TSL2561和微處理器JN5139設(shè)計(jì)的光強(qiáng)傳感器節(jié)點(diǎn),具有外圍電路簡單、穩(wěn)定性高等優(yōu)點(diǎn),并且采用無線化傳輸,用途十分廣泛。
評(píng)論
查看更多