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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Android與ZigBee的遠程控制無線網(wǎng)關(guān)設(shè)計

          Android與ZigBee的遠程控制無線網(wǎng)關(guān)設(shè)計

          作者: 時間:2014-01-18 來源:網(wǎng)絡(luò) 收藏

          3.1 上的移植
          Atmel以32位ARM926處理器為基礎(chǔ)的ARM9器件為運行操作系統(tǒng)的-G45-EK板提供完整的板級支持包(BoardSupport Package,BSP)。Atmel公司的端口基于2.1版本,支持攝像頭接口、硬件視頻解碼、軟件解碼、網(wǎng)頁瀏覽,可以使用以太網(wǎng)電纜或H&.D Wireless提供的WiFi SDIO加密器。通過SAM9M10-G45-EK板的BSP,可以很方便地將Android移植到SAM9M10上,由Nand Flash啟動。
          移植方面的工作主要有兩部分:Linux驅(qū)動和Android系統(tǒng)硬件抽象層。
          Linux中的驅(qū)動工作在內(nèi)核空問,Android系統(tǒng)硬件抽象層工作在用戶空間,有了這兩個部分的結(jié)合,就可以讓龐大的Android系統(tǒng)運行在特定的硬件平臺上。在具有了特定的硬件系統(tǒng)之后,通常需要在Linux中實現(xiàn)其驅(qū)動程序,這些驅(qū)動程序通常是Linux的標準驅(qū)動程序。主要實現(xiàn)的是Android系統(tǒng)中的硬件抽象層(Hardware Abstract Layer),硬件抽象層對下調(diào)用Linux中的驅(qū)動程序,對上提供接口,以供Android系統(tǒng)的其他部分(通常為Android本地框架層)調(diào)用。移植的主要工作如圖4所示。

          d.jpg


          3.2 系統(tǒng)協(xié)議模型
          3.2.1 協(xié)議棧
          協(xié)議棧采用TI司的ZStack,具體版本號為ZStaek-CC2530-2.5.0。它支持 2007(包括ZigBee和ZigBee PRO)協(xié)議,在本網(wǎng)關(guān)軟件設(shè)計中,采用了ZigBee PRO協(xié)議。ZigBee PRO在繼承ZigBee技術(shù)全部優(yōu)點的基礎(chǔ)上,增強了無線網(wǎng)絡(luò)的可擴展性、易用性和安全性。Z igBee協(xié)議棧架構(gòu)如圖5所示。

          e.jpg


          3.2.2 TCP/IP協(xié)議棧
          從協(xié)議分層模型方面來將,TCP/IP由4個層次組成:鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。實際上,TCP/IP協(xié)議可以通過鏈路層連接到任何網(wǎng)絡(luò)上,例如IEEES02局域網(wǎng)。TCP/IP協(xié)議棧框架如圖6所示。

          f.jpg

          tcp/ip相關(guān)文章:tcp/ip是什么




          評論


          相關(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); })();