日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 基于nRF24AP1的智能家居設計方案

          基于nRF24AP1的智能家居設計方案

          作者: 時間:2009-07-08 來源:網絡 收藏

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

          本文引用地址:http://yuyingmama.com.cn/article/157999.htm


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

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

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

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

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

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

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


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉