新聞中心

EEPW首頁 > 元件/連接器 > 設計應用 > 基于ARM和μC/OS—II的LonWorks網絡智能網關

基于ARM和μC/OS—II的LonWorks網絡智能網關

—— 一款基于ARM和μC/OS—II的LonWorks網絡智能網關
作者: 時間:2014-07-15 來源:網絡 收藏

  操作系統(tǒng)的加入使得我們的內部資源能夠更好的利用。μC/OS—II操作系統(tǒng)是一款開源的,針對嵌入式系統(tǒng)的實時內核操作系統(tǒng),可以應用于多種類型的硬件平臺。它最近發(fā)布的版本最多可管理多達256個任務。μC/OS—II具有強大的網絡支持,并且支持LwIP協(xié)議,為我們的網關服務搭建了一個很好的平臺。將μC/OS—II操作系統(tǒng)移植到平臺上,只需處理μC/OS—II與Cortex—M3接口部分,即OS_CPU_C.C、OS_CPU_A.S、OS_CPU.H這3個文件。

本文引用地址:http://www.butianyuan.cn/article/249699.htm

  3.4 網關通訊協(xié)議TCP/IP實現

  3.4.1 LWIP簡介

  本文的TCP/IP協(xié)議選擇使用LwIP協(xié)議棧來實現。LWIP是由瑞典計算機科學研究院Adam Dunkels設計的開源的嵌入式TCP/IP協(xié)議。它是輕型的TCP/IP協(xié)議棧,適用于資源緊張的嵌入式系統(tǒng)。LwIP既可以獨立運行,也可以移植到不同的操作系統(tǒng)上。

  3.4.2 TCP數據處理流程

  在我們的應用中,使用LwIP的TCP協(xié)議,它屬于傳輸層協(xié)議,雖然相比UDP協(xié)議傳輸速度較慢,但是它為應用層提供可靠的字節(jié)流服務TCP流程如圖4所示,當下位機數據信息到達時,通過tcp_write來構造一個報文段,之后tcp_output被調用,同時與ip_route交互,填寫首部中的源IP地址字段,最后通過ip_output發(fā)送給鏈路層,加上以太網幀頭發(fā)送到以太網中。同理可以得知TCP輸入流程。

  

 

  3.4.3 LwIP移植

  LwIP的移植主要是為了實現操作系統(tǒng)模擬層,它是操作系統(tǒng)和協(xié)議棧的一個接口,可為進程處理同步、消息傳送機制以及定時器等操作系統(tǒng)服務提供統(tǒng)一接口。

  移植需要添加以下文件,具體包括:

  1)與CPU和編澤器相關的頭文件。

  2)與操作系統(tǒng)相關的文件。sys_arch.h的內容是與操作系統(tǒng)相關的結構和函數。此文件中需要實現4個函數:消息函數;數據結構及信號函數;系統(tǒng)超時函數;創(chuàng)立新線程函數。

  3)與網卡驅動相關的函數。LwIP源碼提供者將ethernetif.c中的函數實現一個框架形式,用戶可以根據這個框架定制網卡驅動。

  3.5 網關監(jiān)控平臺的實現

  嵌入式處理器LPC1778在μC/OS—II操作系統(tǒng)平臺上,利用LwIP協(xié)議的上層協(xié)議HTTP協(xié)議搭建輕型服務器,提供人性化的操作界面,實時監(jiān)控底層數據及控制輸出等功能。Web服務器的結構如圖3所示。當遠端的瀏覽器發(fā)送請求時,HTTP協(xié)議處理程序會將該請求發(fā)送給Web服務器處理;而CGI(通用網關接口)程序作為處理客戶端Web瀏覽器輸入數據的接口規(guī)范,用來解釋處理表單的輸入信息,并在服務器產生相應的處理,完成客戶機與服務器之間的交互操作功能。

  實現步驟如下:

  1)通過在μC/OS—II建立相應的任務。當任務建立起來之后,任務的調度就由μC/OS—II的任務調度器調度。μC/OS-II的任務調度是搶占式的,所以在設置任務優(yōu)先級的時候要考慮任務對實時性的要求。同時注意LwIP的初始化要在μC/OS-II完全啟動之后。

  2)Web服務器實現。由于本網關采用B/S通訊模式,嵌入式則充當服務器,提供網頁數據信息。B/S模式需要HTTP協(xié)議的支持。它是基于請求/響應模式的,并使用TCP作為傳輸層。當服務器運行時,始終在80服務端口監(jiān)聽,等待請求的出現。Web服務器的編程是基于LwIP的API函數編寫的。API函數專為LwIP設計,充分利用LwIP的內部結構以實現其設計目標。

  3)HTTP處理子函數在獲得請求報文之后,根據其請求報文進行相應處理。在HTTP請求報文中,第一行就是請求行,方式有GET和POST兩種。由于CGI程序中具有HTML生成和FORM解析功能,CGI程序會根據請求數據中的URL信息找到相應的網頁文件,并對文件中的程序代碼解析并執(zhí)行,然后生成HTML網頁回傳至瀏覽器。

  4 網關的功能和應用

  該監(jiān)控平臺每2 s就從下位機刷新一次實時監(jiān)測數據,可以獲得例如下位機ID號、電壓、電流、功率等實時量。圖5為開發(fā)完成的網關嵌入式網頁服務頁面,可以控制某一個下位機的開閉狀態(tài)、功率因子大小,并可以定時上傳數據并具有數據管理系統(tǒng)。服務器的系統(tǒng)功能結構框架如圖6所示。

  

 

  

 

  本網關IP靜態(tài)地址設為192,168.0.100并與路由器相連,通過動態(tài)域名解析與一個固定域名綁定,用戶通過訪問固定域名便可遠程實時觀測。

  5 結束語

  文中系統(tǒng)地論述了嵌入式網絡智能網關的實現方法,主要分析了嵌入式網關的硬件和軟件的實現方法。本網關的實現可為將來遠程監(jiān)測應用方面帶來很大便利,可廣泛應用與遠程查表、路燈控制等項目中,具有很好的社會價值。

晶振相關文章:晶振原理
透射電鏡相關文章:透射電鏡原理

上一頁 1 2 下一頁

關鍵詞: ARM μC/OS—II LonWorks

評論


相關推薦

技術專區(qū)

關閉