新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種新型嵌入式遠程監控系統的設計開發

        一種新型嵌入式遠程監控系統的設計開發

        作者: 時間:2009-04-22 來源:網絡 收藏

        1 引言

        本文引用地址:http://www.104case.com/article/152531.htm

        是當前工業自動化監控應用領域研究的熱點之一。微電子技術和微處理器制造工藝的提高以及網絡技術的飛速發展,使得構建基于Web的得以實現。這樣的可以直接通過TCP/IP網絡協議接入Internet實現監控,成為真正不受時間和空間限制的系統。

        由于近年來一些半導體廠家新推出的MCU的存儲能力都有了很大的提高,以及用C語言編寫的程序具有移植性強、可讀性好等優點,因此本文監控軟件采用標準C語言編寫,并在m6811-elf-gcc中編譯通過。本文將從Web監控系統的通信基礎--接口模塊著手,分別講述各個功能模塊的設計與實現。

        2 接口程序設計

        接口程序是與硬件設計中的網絡控制芯片密切相關的,不同的網絡控制芯片具有不同的以太網接口程序,但是一個完整的以太網接口程序通常包括三個部分:硬件模塊初始化、以太幀的發送和以太幀的接收。

        1、硬件模塊初始化

        本文使用的Freescale公司的MC9S12NE64 MCU集成了EPHY和EMAC兩個硬件子模塊,它們的初始化必須嚴格按照技術手冊進行,避免忽略一些細節。

        2、以太幀的發送

        在NE64中發送一個以太幀,必須將該幀內容寫入至EMAC模塊的發送緩沖區(TX緩沖區),然后再通過發送命令將其發送出去,接下來的工作由下層硬件完成。與以太幀的發送相關的寄存器包括發送緩沖區幀結束指針寄存器(TXEFP)、發送控制和狀態寄存器(TXCTS)。

        3、以太幀的接收

        判斷以太幀的接收有兩種方法:查詢法和中斷法。由于中斷法有更好的執行效率,本文使用了中斷法接收以太幀。由于NE64有兩個接收緩沖區A和B,因此到達的幀可能存儲在A緩沖區也可能存儲在B緩沖區,所以中斷矢量也有兩個:A緩沖區接收完成中斷和B緩沖區接收完成中斷,其矢量地址分別是$FFB2和$FFB4。無論是A緩沖區還是B緩沖區接收到數據,處理方法是一樣的,都是將接收到的數據幀讀出來,再進行相應的處理。

        3 uIP協議實現的程序設計

        3.1 TCP協議的實現

        TCP協議是嵌入式Web的核心,它提供一種基于連接的帶確認的可靠的數據流傳輸方式,可增強網絡的服務質量。TCP協議的機制很復雜,它的完整實現對處理器的存儲能力和運算能力要求較高。這對于來說是比較奢侈的,因此必須對其進行簡化。本文要實現的是一個基于嵌入式Web服務器的監控系統,經過仔細分析,本文得到如圖1所示的簡化的TCP狀態機。其中連接的斷開由服務器主動執行,通過多次實驗總結出來該方式在本文系統中,比標準的TCP協議主動斷開連接的狀態機簡單且穩定。

        圖1 服務端簡化的TCP狀態圖

        另外本系統可以根據不同的應用要求調整TCP所支持的連接數量,但是通常在同一時刻僅支持單個TCP連接。同時為了避免因為數據報的丟失而造成狀態機的死鎖,本文使用簡單定時機制,使TCP狀態機在超時后復位。

        TCP協議連接建立的過程被稱為“三次握手”。首先,客戶端向服務端提出連接請求。此時客戶端在TCP報頭中插入自己的ISN,并置SYN標志為1,表示序列號字段合法,需要檢查。其次,服務端收到該TCP分段后,以自己的ISN回應,同時確認收到客戶端的TCP分段,置ACK標志為1。最后,客戶端確認收到服務端的ISN,置ACK標志為1。至此完整的TCP連接建立,開始全雙工模式的數據傳輸過程。

        3.2 其他協議的實現

        在實現以太網底層驅動的基礎上,接下來實現用于以太網通信的上層協議。ARP協議是為了通信雙方獲取對方MAC地址的通信協議,是網絡通信的基礎,本文實現了ARP請求報文的發送和接收以及ARP響應報文的接收和處理功能。為方便網絡調試,在uIP中實現了Ping命令,當監控設備正常工作后可省略該部分內容。SD12-MCS是實現一個基于嵌入式Web的應用設備,并非嵌入式網關或路由器,因此為了節約資源,本文裁減了IP協議的路由功能,有關路由問題都由默認網關完成。盡管基于Web方式的SD12-MCS使用了TCP協議,但是目前也有一些應用是基于UDP協議的,為了系統具有更好的擴展性,本文也實現了UDP協議。

        4 Web服務器的設計與實現

        該監控系統的工作模式為嵌入式Web服務器方式,因此本文在實現uIP協議的基礎上,設計并實現了應用層的HTTP協議以及CGI處理程序。

        4.1 HTTP協議的設計與實現

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 普兰县| 定西市| 瓦房店市| 南雄市| 来安县| 屏东市| 信丰县| 汾西县| 宁明县| 龙胜| 榆树市| 得荣县| 固原市| 新乐市| 晋江市| 樟树市| 南溪县| 得荣县| 江孜县| 山阳县| 德保县| 旺苍县| 舞阳县| 讷河市| 繁昌县| 文化| 九寨沟县| 大石桥市| 涿州市| 普兰县| 如东县| 清涧县| 宜黄县| 岗巴县| 莆田市| 韶关市| 曲水县| 通河县| 房产| 虹口区| 福建省|