<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 物聯(lián)網(wǎng)與傳感器 > 設(shè)計應(yīng)用 > 基于Atmel的無線傳感器網(wǎng)絡(luò)節(jié)點的研究與實現(xiàn)

          基于Atmel的無線傳感器網(wǎng)絡(luò)節(jié)點的研究與實現(xiàn)

          作者:盧崇 馬建倉 王吉富 時間:2008-06-24 來源:電子技術(shù)應(yīng)用 收藏

            CC2420有33個16位配置寄存器、15個命令選通寄存器、1個128字節(jié)的發(fā)送FIFO緩存區(qū)、1 個128字節(jié)的接收FIFO緩存區(qū)、1個112字節(jié)的安全信息存儲器。CC2420與處理器的連接比較簡便,它使用SFD、FIFO、FIFOP和CCA 四個引腳表示收發(fā)數(shù)據(jù)的狀態(tài);處理器通過SPI接口(CSn、SO、SI、SCLK)與CC2420交換數(shù)據(jù)、發(fā)送命令,使用RESETn引腳復(fù)位芯片,使用VREG_EN引腳使能CC2420的電壓調(diào)整器,使其產(chǎn)生CC2420所需要1.8V電壓,從而使CC2420進(jìn)入正常工作的狀態(tài);CC2420通過單極天線或PCB天線進(jìn)行。其模塊示意圖如圖4所示。

          本文引用地址:http://www.ex-cimer.com/article/84708.htm

            CC2420 需要16MHz的參考時鐘用于數(shù)據(jù)的收發(fā)。參考時鐘可以來自外部時鐘源,也可以由內(nèi)部晶體振蕩器產(chǎn)生。如果使用外部時鐘,直接從XOSC16_Q1引腳輸入,XOSC16_Q2腳懸空;如果使用內(nèi)部晶體振蕩器,晶振接在XOSC16_Q1、XOSC16_Q2引腳之間。晶振起振需對CC2420選通命令寄存器SXOSCON使能。

            電源管理模塊

            電能是網(wǎng)絡(luò)非常寶貴的資源,為了保證硬件電路的低功耗設(shè)計,節(jié)點芯片的選擇均使用低功耗、低電壓工作的芯片。系統(tǒng)采用普通電池或可充電鋰離子電池工作,電源管理芯片采用AD公司的ADP3338-3.3,SOT-223封裝。

            充電及狀態(tài)顯示模塊

            在有條件對節(jié)點進(jìn)行充電時,節(jié)點使用鋰離子電池工作,可利用充電模塊為節(jié)點進(jìn)行電能補(bǔ)充,從而確保節(jié)點工作的連續(xù)性,避免了節(jié)點因更換電池造成的工作中斷。充電模塊使用達(dá)拉斯公司的DS2770和電池保護(hù)芯片DS2720設(shè)計,具有充電控制、電源控制、電量計數(shù)、電池保護(hù)等功能。處理器與DS2770用一線接口來傳遞信息,并需外接一個約4.7k!的上拉電阻。充電模塊示意圖如圖5。LCD顯示模塊采用LCM6432ZK液晶顯示器,通過串行接口和主 MCU連接,用于系統(tǒng)工作狀態(tài)信息、充電進(jìn)程、電池電量等狀態(tài)的顯示。節(jié)點硬件留有LCD接口,在需要顯示時可方便接插LCD顯示模塊。

            模塊

            節(jié)點模塊與計算和子板分離,模塊化的設(shè)計提高了節(jié)點在不同應(yīng)用中的靈活性。傳感器模塊可根據(jù)實際需要確定合適的傳感器,如溫度、濕度、振動、光強(qiáng)、氣體報警、磁阻、紅外等,以滿足不同的需要。由于節(jié)點多為電池供電,要求傳感器體積小、功耗低、外圍電路簡單,最好采用不需要復(fù)雜信號調(diào)理電路的數(shù)字傳感器。

            本設(shè)計選用的部分傳感器為:

            溫度傳感器DS18B20是一種新型數(shù)字溫度傳感器,外部電路非常簡單,使用一線總線接口。其測量范圍為-55℃~125℃,在-10℃~85℃之間的測量精度為±0.5℃,分辨率最大可以設(shè)計為12位,測量數(shù)據(jù)準(zhǔn)確可靠。

            紅外傳感器PD632是一種數(shù)字熱釋電傳感器,工作波長:7.5ηm~14ηm,在-20℃~60℃工作環(huán)境下探測距離可達(dá)6m~15m。

            加速度傳感器ADXL202是AD公司的兩維數(shù)字加速度傳感器,工作溫度:-40℃~85℃,采用先進(jìn)的MEMS技術(shù),可以測量震動加速度和靜態(tài)加速度。

            外部接口

            節(jié)點外部接口包括JTAGE接口、ISP編程接口、RS232接口、充電接口、傳感器接口、SMA天線座接口等。節(jié)點使用JTAGE、ISP多種方法下載程序;使用RS232接口直接與PC機(jī)串口連接;可根據(jù)不同需求經(jīng)傳感器接口掛接不同的傳感器模塊;在有充電條件的情況下,可通過充電接口迅速為節(jié)點補(bǔ)充能量。圖6是RS232 接口示意圖, 圖7 是JTAG/ISP 接口示意圖。

            節(jié)點設(shè)計的要點及應(yīng)注意的事項

            射頻部分是本設(shè)計的重點與難點,也是系統(tǒng)設(shè)計成功的關(guān)鍵。在模塊設(shè)計過程中遇到的主要問題及解決方法有:

            CC2420的載波頻率是2.4GHz,每5MHz增加一個頻道,而晶振的精確度將影響載波的頻率,從而影響的建立和穩(wěn)定性。CC2420要求時鐘源的精度在±40ppm以內(nèi)。如果使用外部晶振應(yīng)盡量使用精度高、性能穩(wěn)定的四腳貼片晶振。

            CC2420 射頻電路工作在2.400GHz~2.4835GHz高頻率工作頻段,抗干擾設(shè)計直接關(guān)系到射頻性能和整個傳感器節(jié)點的運(yùn)轉(zhuǎn)情況。在射頻部分布線時,合理的布局與布線及采用多層板既是布線所必須的也是降低電磁干擾提高抗干擾能力的有效手段。布線時特別要注意以下幾點:一是射頻電路沒有用做布線的面積均需用銅填充并連接到地,以提供RF屏蔽達(dá)到有效抗干擾的目的;二是CC2420芯片底部應(yīng)接地;為了降低延遲、減少串?dāng)_,確保高頻信號的傳輸,要使用多個接地過孔將CC2420芯片底部和地層相連;三是盡可能地減少串?dāng)_,減少分布參數(shù)的影響 ,器件要緊密地分布在CC2420的四周,并使用較小封裝。

            對于通信網(wǎng)絡(luò)來說,天線起著舉足輕重的作用。天線的選擇和設(shè)置會直接影響整個通信網(wǎng)絡(luò)的運(yùn)行質(zhì)量。本節(jié)點射頻芯片CC2420可以使用金屬倒F型 PCB引線天線和單極天線兩種設(shè)計方案。PCB引線天線是印制在電路板上的導(dǎo)線,通過它來感應(yīng)空中電波,接收信息。PCB天線的形狀、尺寸應(yīng)嚴(yán)格按照數(shù)據(jù)手冊設(shè)計。近幾年,隨著計算機(jī)成本的下降和體積的縮小,傳感器網(wǎng)絡(luò)越來越受到人們重視。本設(shè)計是筆者在歸納國內(nèi)外無線傳感器網(wǎng)絡(luò)研究成果的基礎(chǔ)上,設(shè)計的低功耗、低成本、實用型無線傳感器網(wǎng)絡(luò)節(jié)點。節(jié)點采用了獨立可選的充電模塊、LCD狀態(tài)顯示模塊和豐富的對外接口,具有較強(qiáng)的實用性,可在多種環(huán)境中工作,按多種需要進(jìn)行配置完成系統(tǒng)功能,并且在成本、功耗、靈活性等方面具有較明顯的優(yōu)勢。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();