基于TSL2561的無線光強(qiáng)傳感器節(jié)點(diǎn)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:環(huán)境監(jiān)測(cè)參數(shù)中,光照強(qiáng)度是一個(gè)重要指標(biāo)。本文選用光強(qiáng)傳感器TSL2561和JN5139無線芯片,設(shè)計(jì)了一種光強(qiáng)傳感器節(jié)點(diǎn),給出了具體的軟硬件設(shè)計(jì),并進(jìn)行了MATLAB仿真。
關(guān)鍵詞:TSL2561;JN5139;I2C總線
引言
農(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è)量。微處理器采用英國(guó)Jennic公司推出的高性能、低功耗、高速率無線芯片JN5139。該芯片集處理器、收發(fā)器于一體,通過無阻塞設(shè)計(jì)大大提高了CPU利用率,與傳統(tǒng)的有線設(shè)備相比,具有靈活性高、成本低、可維護(hù)性高等優(yōu)點(diǎn)。
1 TSL2561的內(nèi)部結(jié)構(gòu)及工作原理
TSL2561是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所示。
TSL2561內(nèi)部連接一個(gè)光敏二極管(通道O)和一個(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)部通道O和通道1各自的寄存器中。數(shù)字輸出表示測(cè)量每一個(gè)通道的光強(qiáng),可以是微處理器的輸入。TSL2561可直接通過I2C總線協(xié)議由微控制器訪問,微控制器則通過對(duì)其內(nèi)部的16個(gè)寄存器的讀寫來實(shí)現(xiàn)對(duì)TSL2561的控制。
2 硬件設(shè)計(jì)
微處理器采用Jennic公司推出的高速率、低功耗、低成本JN5139無線SoC芯片。該芯片集成了一個(gè)32位RISC處理器,可充分兼容2.4 GHz IEEE802.15.4收發(fā)器,具有192 KB的ROM和8~9 6 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è)半球狀菲涅爾透鏡,可將紅外線有效地集中到傳感器上,從而適當(dāng)降低照射到傳感器上的光照強(qiáng)度,不會(huì)超過設(shè)定的閾值。
3 軟件設(shè)計(jì)
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),O表示響應(yīng)(ACK),1表示不響應(yīng)(NACK);S為啟動(dòng)信號(hào);P為停止信號(hào);Wr為寫(低電平有效);Rd為讀(高電平有效)。非陰影部分為控制器到傳感器;陰影部分為傳感器到控制器。
I2C總線的SDA線和SCL線是雙向線路,當(dāng)總線空閑時(shí),這兩條線都是高電平。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所示。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總線。
4 MATLAB仿真
A/D轉(zhuǎn)換完成后,分別從通道0和通道1各自的寄存器中讀取相應(yīng)的值CHO和CHl,并根據(jù)芯片相關(guān)資料進(jìn)行計(jì)算,換算成Lux為單位的量。假設(shè)CHO讀取的值為P1(單位為L(zhǎng)ux),CHl讀取的值為P2(單位為L(zhǎng)ux),光強(qiáng)測(cè)量?jī)x的測(cè)量值為P。為了將兩通道的值擬合成一個(gè)與實(shí)際光強(qiáng)相同的值(用P’表示),可通過一條曲線來求出P’與P1、P2之間的關(guān)系。設(shè)曲線方程為:
根據(jù)測(cè)量數(shù)據(jù),求出系數(shù)Co~C4,即可計(jì)算出光強(qiáng)傳感器測(cè)得的光強(qiáng)。光強(qiáng)傳感器的測(cè)量值與光強(qiáng)測(cè)量?jī)x的測(cè)量值相比較如圖6所示。
結(jié)語(yǔ)
本文基于光強(qiáng)傳感器TSL2561和微處理器JN5139設(shè)計(jì)的光強(qiáng)傳感器節(jié)點(diǎn),具有外圍電路簡(jiǎn)單、穩(wěn)定性高等優(yōu)點(diǎn),并且采用無線化傳輸,用途十分廣泛。