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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于nRF24AP1的智能家居設(shè)計方案

          基于nRF24AP1的智能家居設(shè)計方案

          作者: 時間:2009-07-08 來源:網(wǎng)絡(luò) 收藏

          摘 要 主要介紹了無線網(wǎng)絡(luò)芯片家居的硬件電路與軟件設(shè)計流程,主機(jī)通過串口對信道參數(shù)進(jìn)行配置,節(jié)點配對,利用ANT協(xié)議實現(xiàn)與從機(jī)設(shè)備數(shù)據(jù)包的收發(fā),從而實現(xiàn)控制家電的目的。
          關(guān)鍵詞 家居 ANT協(xié)議 信道配置

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


          引 言
          隨著社會信息化的加快,人們對家居的要求早已不只是物理空間,更為關(guān)注的是一個安全、方便、舒適的居家環(huán)境。為了很好地滿足用戶對家居網(wǎng)絡(luò)的靈活性、可靠性以及便捷性等方面的需求,家居系統(tǒng)使用無線網(wǎng)絡(luò)技術(shù),不但克服了有線系統(tǒng)的高成本和不方便等缺點,而且使用方便,能夠快捷地管理家務(wù)、監(jiān)測家居環(huán)境、遙控家用電器等。

          1 系統(tǒng)總體結(jié)構(gòu)及工作原理
          智能家居系統(tǒng)由主機(jī)、從機(jī)、接口設(shè)備及各家電設(shè)備組成,主從機(jī)都有一個無線收發(fā)芯片,通過主從機(jī)間無線數(shù)據(jù)的收發(fā),實現(xiàn)一個小型的無線智能網(wǎng)絡(luò)。芯片 內(nèi)部結(jié)構(gòu)包含串行接口UART、時鐘模塊、ANT協(xié)議機(jī)和1 Mb/s的收發(fā)信機(jī)等4個模塊。首先MCU通過串口對nRF24AP1進(jìn)行信道參數(shù)配置,nRF24AP1執(zhí)行配置任務(wù),主機(jī)執(zhí)行發(fā)送數(shù)據(jù)包指令,通過空中接口完成數(shù)據(jù)信息包的發(fā)送與接收;從機(jī)接收數(shù)據(jù)信息,由從MCU執(zhí)行任務(wù),從而實現(xiàn)控制家電的目的。圖l為系統(tǒng)總體框圖。

          2 硬件電路設(shè)計
          (1)主機(jī)電路
          處理器模塊選用AVR系列的ATmegal6單片機(jī),并通過鍵盤輸入和液晶顯示,利用nRF24AP1無線收發(fā)模塊實現(xiàn)數(shù)據(jù)的發(fā)送和節(jié)點設(shè)備的控制。MCU和nRF24AP1通過異步串口實現(xiàn)通信。圖2為主機(jī)框圖。

          (2)從機(jī)及接口設(shè)備電路
          從機(jī)通過nRF24AP1進(jìn)行數(shù)據(jù)接收,當(dāng)有數(shù)據(jù)觸發(fā)中斷時,從機(jī)MCU從接收緩存中取出數(shù)據(jù),并執(zhí)行控制任務(wù),通過接口設(shè)備(如智能開關(guān))實現(xiàn)控制家電的目的。圖3為從機(jī)框圖。

          3 軟件設(shè)計
          無線收發(fā)芯片nRF24AP1有“休眠”和“待機(jī)”兩種省電模式,及配置收發(fā)的工作模式。模式與引腳關(guān)系如表1所列。

          為了降低功耗,主機(jī)在大部分時間處于休眠狀態(tài)。當(dāng)有數(shù)據(jù)發(fā)送時SLEEP置低,nRF24Ap1進(jìn)入工作狀態(tài),而從機(jī)始終處于查詢接收狀態(tài)。主從機(jī)間使用獨立單向信道傳輸數(shù)據(jù),主機(jī)查詢發(fā)送,從機(jī)以中斷方式接收控制數(shù)據(jù)。
          ANT是以數(shù)據(jù)包的形式發(fā)送/接收數(shù)據(jù),每個數(shù)據(jù)包的消息格式如下:

          ANT協(xié)議是二進(jìn)制協(xié)議,每個消息函數(shù)都是一個完整的協(xié)議數(shù)據(jù)包,由五部分組成:SYNC、MSG LEN、MSGID、DATA、CHECKSUM。每一部分是8位(1字節(jié)),每個消息以SYNC(OxA4)字節(jié)位開始,以CHECKSUM字節(jié)結(jié)束,以比特的方式發(fā)送與接收。當(dāng)有數(shù)據(jù)包發(fā)送到nRF24AP1接收緩存時,ANT協(xié)議根據(jù)MSG ID判斷消息的類型,根據(jù)MSG LEN判斷數(shù)據(jù)長度。ANT接收到有效的數(shù)據(jù)包后,自動移去SYNC、MSG=LEN、MSG ID、CHECKSUM,只留有效數(shù)據(jù)放在緩存中。從MCU以中斷方式從緩存中提取有效數(shù)據(jù),執(zhí)行控制任務(wù)。
          3.1 串口初始化配置
          ATmega16單片機(jī)和無線收發(fā)芯片nRF24APl都有UART模塊,在使用前需要進(jìn)行初始化設(shè)置。本設(shè)計使用異步串口通信,主從機(jī)使用同樣的波特率 19 200。從機(jī)波特率由芯片nRF24APl上的引腳BR2、BR1來設(shè)置,異步數(shù)據(jù)以1個起始位、8個數(shù)據(jù)位、1個停止位以及無校驗的方式進(jìn)行傳輸。當(dāng)有串口數(shù)據(jù)到達(dá)從機(jī)MCU緩存時產(chǎn)生中斷,從機(jī)MCU響應(yīng)中斷,從接收緩沖區(qū)讀取數(shù)據(jù)。中斷接收設(shè)置一個長度為16字節(jié)的緩沖區(qū)(rx_bufer),緩沖區(qū)設(shè)有單獨讀/寫指針,并與緩沖計數(shù)器相關(guān)聯(lián)。串口發(fā)送的數(shù)據(jù)首先通過SendData()寫入發(fā)送數(shù)據(jù)寄存器UDR,然后由硬件自動將其發(fā)送到接收數(shù)據(jù)寄存器UDR。接收數(shù)據(jù)時,先將接收到的數(shù)據(jù)寫入rx_buffer,再根據(jù)應(yīng)用需要調(diào)用函數(shù)GetData(),從緩沖區(qū)中取出相應(yīng)的數(shù)據(jù)。


          上一頁 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); })();