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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 一種ZigBee以太網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)

          一種ZigBee以太網(wǎng)網(wǎng)關(guān)的設(shè)計(jì)

          作者: 時間:2013-05-14 來源:網(wǎng)絡(luò) 收藏

          2 軟件
          2.1 主控板軟件
          主控板軟件在LM3S6911微處理器上移植了μC/OS-Ⅱ嵌入式實(shí)時操作系統(tǒng),μC/OS-Ⅱ是一個開放源碼的實(shí)時操作系統(tǒng),但它只是一個實(shí)時的任務(wù)調(diào)度及通信內(nèi)核,缺少對外圍設(shè)備和接口的充分支持。為獲得對接口的支持,在其上移植了LwIP(Light Weight IP)TCP/IP協(xié)議棧。LwIP是一套用于嵌入式系統(tǒng)的開放源代碼的TCP/IP協(xié)議棧,實(shí)現(xiàn)的重點(diǎn)是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,適合在低端嵌入式系統(tǒng)中使用。
          在設(shè)計(jì)中基于μC/OS-Ⅱ操作系統(tǒng),同時編寫了SPI通信驅(qū)動程序和串口通信驅(qū)動程序,其中SPI驅(qū)動程序用于和射頻模塊進(jìn)行通信,串口驅(qū)動程序用于提供的串口配置功能。主控板軟件工作流程如圖4所示。

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

          f.JPG


          其中OSTaskCreate(taskStart,…)為μC/OS-Ⅱ操作系統(tǒng)第一個任務(wù),在其中要進(jìn)行目標(biāo)板和TCP/IP的初始化,并建立通信處理任務(wù)taskNet、SPI通信處理任務(wù)taskSPI和串口通信處理任務(wù)taskUART,最后通過OSStart()啟動μC/OS-Ⅱ內(nèi)核。通信處理任務(wù)task Net啟動LwIP協(xié)議棧,完成TCP和UDP相關(guān)通信服務(wù);SPI通信處理任務(wù)taskSPI完成通過SPI總線與射頻模塊的通信;串口通信處理任務(wù)taskUART完成參數(shù)配置相關(guān)工作。
          2.2 射頻模塊軟件設(shè)計(jì)
          射頻模塊軟件設(shè)計(jì)是基于CC2530芯片,移植了TI公司的ZigBee協(xié)議棧Z-Stack,Z-Stack協(xié)議棧采用輪轉(zhuǎn)查詢式操作系統(tǒng),包括系統(tǒng)初始化和操作系統(tǒng)的執(zhí)行,系統(tǒng)初始化完成初始化硬件平臺和軟件架構(gòu)所需要的各個模塊,為操作系統(tǒng)的運(yùn)行做好準(zhǔn)備工作,系統(tǒng)初始化完成后,就開始執(zhí)行操作系統(tǒng)入口程序。輪轉(zhuǎn)查詢式操作系統(tǒng)專門分配了存放所有任務(wù)事件的tasksEvents[]數(shù)組,每個單元對應(yīng)存放著每一個任務(wù)的所有事件,操作系統(tǒng)通過一個do—while循環(huán)來遍歷tasksEvents[],找到優(yōu)先級最高的任務(wù)來處理,射頻模塊軟件工作流程如圖5所示。

          g.JPG



          評論


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