新聞中心

        EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于nRF24L01的無線溫濕度測試系統(tǒng)

        基于nRF24L01的無線溫濕度測試系統(tǒng)

        作者: 時間:2012-02-23 來源:網(wǎng)絡(luò) 收藏


        3 系統(tǒng)的軟件設(shè)計
        3.1 發(fā)送模式流程
        1)MCU控制引腳CE為低,使進入待機模式I,配置其寄存器:
        2)當MCU有數(shù)據(jù)要發(fā)送時,接收節(jié)點地址(TX_ADDR)和有效數(shù)據(jù)(TX_PLD)通過SPI接口寫入,當CSN為低時數(shù)據(jù)被不斷地寫入。發(fā)送端發(fā)送完數(shù)據(jù)后,將通道0設(shè)置為接收模式來接收應(yīng)答信號,其接收地址(RX_ADDR_P0)與接收端地址(TX_ADDR)相同;
        3)設(shè)置PRIM_RX為低、CE為高,啟動發(fā)射模塊,CE高電平持續(xù)時間最小為10μs;
        4) ShockBurst發(fā)送模式:系統(tǒng)上電、啟動內(nèi)部16 MHz時鐘、發(fā)送數(shù)據(jù)打包、高速發(fā)送數(shù)據(jù);
        5)數(shù)據(jù)發(fā)送完后,立即進入接收模式。如果在有效應(yīng)答時間范圍內(nèi)收到應(yīng)答信號,則認為數(shù)據(jù)成功發(fā)送到了接收端,此時狀態(tài)寄存器的TX_DS位置高并把數(shù)據(jù)從TX_FIFO中清除掉;如果在設(shè)定時間范圍內(nèi)沒有接收到應(yīng)答信號,則重新發(fā)送數(shù)據(jù),如果自動重發(fā)計數(shù)器溢出,則狀態(tài)寄存器的MAX_RT位置高,不清除TX_FIFO中的數(shù)據(jù)。當MAX_RT或TX_DS為高電平時IRQ引腳產(chǎn)生中斷,IRQ中斷通過寫狀態(tài)寄存器來復(fù)位。如果重發(fā)次數(shù)在達到設(shè)定的最大重發(fā)次數(shù)時還沒有收到應(yīng)答信號的話,在MAX_RX中斷清除之前不會重發(fā)數(shù)據(jù)包,數(shù)據(jù)包丟失計數(shù)器(PLOS_CNT)在每次產(chǎn)生MAX_RT中斷后加一;
        6)如果CE置低,則系統(tǒng)進入待機模式I,如果不設(shè)置CE為低,則系統(tǒng)會發(fā)送TX_FIFO寄存器中下一包數(shù)據(jù),如果TX_FIFO寄存器為空且CE為高則系統(tǒng)進入待機模式II;
        7)如果系統(tǒng)在待機模式Ⅱ,當CE置低后系統(tǒng)立即進入待機模式I。
        nRF24L01的發(fā)送模式的程序流程圖如圖4所示。

        本文引用地址:http://www.104case.com/article/155242.htm

        c.jpg


        3.2 無線接收模式流程
        1)MCU將nRF24L01的CE引腳置低,使其進入待機模式I,并對其寄存器進行配置;
        2)將PWR_UP、PRIM_RX、CE引腳置高,使nRF24L01進入接收模式;
        3)130μs后nRF24L01開始檢測空中信息;
        4)接收到有效的數(shù)據(jù)包后(地址匹配、CRC校驗正確),將數(shù)據(jù)存儲在RX_FIFO中,同時RX_DR位置高,并產(chǎn)生中斷;
        5)發(fā)送確認信號;
        6)MCU設(shè)置CE腳為低,使nRF24L01進入待機模式I;
        7)MCU通過SPI口以合適的速率將數(shù)據(jù)讀出。
        nRF24L01的接收模式的程序流程圖如圖5所示。

        d.jpg



        4 結(jié)論
        文中設(shè)計了一種低功耗、高可靠性的。經(jīng)測試本系統(tǒng)在空曠環(huán)境下可靠通信距離達到220 m,可以滿足實際測試需要。

        土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
        溫濕度控制器相關(guān)文章:溫濕度控制器原理

        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 颍上县| 隆尧县| 贵州省| 揭阳市| 同仁县| 永仁县| 乾安县| 礼泉县| 天祝| 定兴县| 永城市| 沁阳市| 梁山县| 聊城市| 娄底市| 宝兴县| 酒泉市| 都兰县| 桂平市| 杭州市| 长宁区| 昌平区| 大同县| 永善县| 临武县| 新密市| 榆社县| 镇平县| 尉氏县| 安多县| 乐清市| 宜州市| 望都县| 灌阳县| 东乌| 灯塔市| 横峰县| 始兴县| 金阳县| 平凉市| 库尔勒市|