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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STM32F的智能家居服務網(wǎng)關設計

          基于STM32F的智能家居服務網(wǎng)關設計

          作者: 時間:2013-02-01 來源:網(wǎng)絡 收藏

          (2)終端節(jié)點與路由節(jié)點

          傳感器節(jié)點是組成傳感網(wǎng)的最基本單元,主要有射頻通信模塊和傳感器數(shù)據(jù)采集模塊組成。終端

          節(jié)點與路由節(jié)點的硬件一樣,不同之處主要表現(xiàn)在軟件上。

          終端節(jié)點硬件圖如圖3 所示。根據(jù)CC2430 的特點,它是一款集Zigbee 協(xié)議棧、RF 射頻模塊以

          及增強型51 核于一身的SOPC,可以滿足對數(shù)字或模擬傳感器模塊收集的數(shù)據(jù)處理及在WSN 中的通傳輸任務。

          圖3 終端節(jié)點硬件框

          3 系統(tǒng)軟件

          系統(tǒng)軟件分為運行于ARM 上的軟件和運行于CC2430 模塊上的WSN 軟件??紤]到軟件的總體的復雜程度以及層次性模塊化的理念,系統(tǒng)采用嵌入式操作系統(tǒng)uCOS-II 作為系統(tǒng)資源的管理,對系統(tǒng)功能任務化。網(wǎng)關軟件總體設計框圖如圖4 所示。

          圖4 服務網(wǎng)關總體設計框

          3.1 服務網(wǎng)關軟件層次結構

          服務網(wǎng)關軟件層次結構分為:底層驅動層,系統(tǒng)層,應用層。

          (1)底層驅動層

          底層驅動層包括FWLib 和BSP。FWLib 是ST公司為了對其ARM 的支持而推出的驅動支持軟件,

          提供系統(tǒng)初始化函數(shù),對中斷和操作系統(tǒng)的支持,存儲器分配以及所有片內外設的驅動,從而方便軟件的開發(fā)。此外,用戶還應開發(fā)針對應用的板級支持包(BSP),在本系統(tǒng)中BSP 的內容主要是應用開發(fā)板相關的硬件驅動。

          (2)系統(tǒng)層

          系統(tǒng)層包括了操作系統(tǒng)和中間件軟件LwIP,操作系統(tǒng)是對軟硬件資源的管理,其他各部分軟件都

          要以操作系統(tǒng)為中心。操作系統(tǒng)移植的過程中,主要任務是改寫針對處理器和編譯器相關的部分,向上為應用任務提供支持,向下連接驅動程序來實現(xiàn)對硬件的操作[4]。LwIP 是一個針對嵌入式系統(tǒng)的TCP/IP 協(xié)議棧,本程序包含其基本功能:TCP、IP、UDP、ICMP。LwIP 的操作系統(tǒng)模擬層提供了向操作系統(tǒng)移植的方便,因其包括了任務間通信的機制:信號量、消息郵箱。

          (3)應用層

          本設計根據(jù)模塊化和功能獨立性原則,將所有的應用程序分成7 個應用任務,分別是引領全局的

          根任務,與輸入輸出有關的按鍵任務和LCD 顯示任務,與嵌入式WEB 相關的TCP 發(fā)送任務和TCP 超時重傳任務,與WSN 協(xié)調器相關的串口數(shù)據(jù)發(fā)送任務和Zigbee 控制命令任務。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();