|
雲曉旭, 趙春宇, 陳大躍 (上海交通大學信息檢測技術與儀器係, 上海 200030) 摘要:Xport 是Lantronix 公司研製的嵌入式設備服務器,它能使串口嵌入式設備快速、方便地增加聯網能力。本文介紹了嵌入式設備服務器Xport 的功能和原理,並給出了基於Xport 的遠程室溫監測係統的實現方案。 關鍵詞:嵌入式係統; Xport ; 遠程監測; TCP/ IP 中圖分類號: TP27415 文獻標識碼: B 文章編號: 100327241 (2004) 0720028203 The Ap plicatio n of Xp ort in Remot e Temp e rat ureS up e rvisio n S ys t emYUN Xiao - xu ,ZHAO Chun - yu , CHEN Da - yue(Department of Information Measurement Technology andInstruments , Shanghai Jiao Tong University , Shanghai 200030 ,China)Abstract :The XPort embedded device server was developed by Lantronix company. It can make embedded device quickly and easily connect to inter2net . The paper introduces the function and principle of Xport and the design of remote temperature monitoring and controlling system based on Xport is also given. Key words :Embedded system; Xport ; Remote monitoring system; TCP/ IP 1 引言 隨著Internet 技術發展的日益成熟,使得基於分組交換技術的通信性能、通信質量和可靠性得到了穩步提高,借助Internet傳送各種測量和控製信息,具有快速、方便、可靠的特點,嵌入式係統與Internet 技術結合實現遠程控製,已成為目前嵌入式係統研究的新熱點。嵌入式係統與internet 相結合,要求嵌入式設備要能夠接入internet ,同時還要能夠提供網絡服務,實現這些服務的關鍵是滿足TCP/ IP 等網絡協議。對TCP/ IP 協議的處理通常有兩種方法,一種是采用實時操作係統ROTS ,用軟件的方式直接處理TCP/ IP協議;另一種方法是采用固化了的TCP/ IP 協議的硬件芯片通過外部硬件電路處理TCP/ IP 協議。這兩種方法要求開發人員對實[/align]時操作係統(RTOS) 和TCP/ IP 協議都要十分熟悉,並且軟件的實現往往需要高檔的微控製器提供更快的速度,更大的存儲量,還要配備專門的接口,因此常常使簡潔的嵌入式係統變得非常臃 腫,同時帶來的是開發成本和複雜程度的增加,開發周期的延長。此外,當前大量存在的是用8 和16 位的微控製器開發成的嵌入式係統,若在它們有限的係統資源下加入實時操作係統或固化TCP/ IP 等Internet 協議是比較困難的[5 ] 。如果使用Xport進行係統開發,便可以使這些低檔的MCU 係統通過串口快速方便地具有聯網功能了。 2 嵌入式設備服務器Xport [1 ] 美國Lantronix 公司的Xport 嵌入式設備服務器是一種單芯片、專為麵向嵌入式係統而設計的網絡服務器。它是一種從串口到以太口(RJ45) 的轉換設備,開發人員可以不必考慮複雜的網絡協議,也不用對自己已經開發好的係統進行全麵改動,隻需在原應用係統上增加小段接口程序即可實現上網功能,降低了係統開發的複雜程度,並能大大縮短了開發周期。 2. 1 嵌入式設備網絡服務器Xport 係統結構Xport 為嵌入式係統提供了完整的集成方案,其一端是輸出 為3. 3 伏COMS 電平的高速串口,另一端是傳輸率為10/ 100Mbps自適應以太網口(RJ45) ;內部集成了可靠成熟的操作係統、嵌入式WEB 服務器、完整的TCP/ IP 協議棧,還具有email 報警功能。 Xport 的係統結構圖如圖1 所示。Xport 利用其一端的串口與底層MCU 的( I/ O 節點相連) ,上層用另一端的以太網接口RJ45 可直接接入Internet ,可以使串行設備具有聯網能力,並允許授權用戶在internet 上用瀏覽器對現場進行遠程監控。 圖1 Xport 係統結構原理圖 Xport 總體上是基於Lantronix 公司自主設計的16 位DSTni -Lx186 CPU ,該CPU 具有2K字節的ROM大於5K字節的SRAM、Watchdaog 以及UART、SPI、Ethernet 網等外圍設備接口。Xport 內部還有512K字節的Flash ROM,用戶可以存放按自己用途開發的網頁和Java 小程序,也可以用來給係統進行軟件升級。為了防止電磁幹擾,Xport 內部增加了隔離濾波模塊,保證數據安全正確的傳輸,此外Xport 還具有外部重啟動功能。 2. 2 嵌入式設備網絡服務Xport 協議架構 Xport 所采用的實時多任務操作係統SuperTask 以及其所支持的Internet 協議都存放在DSTni - Lx186 CPU 的256K 字節SRAM中。SuperTask 是由Lantronix 公司自主開發的實行操作係 統,它以MultiTask 為內核開放型的操作係統,易於操作修改和維護,同時SuperTask 具有穩定性好,具有遠程維護和遠程監視的能力和優越的處理性能等特點,加強了網絡互聯通信、協議和管理等方麵的功能。Xport 具有比較完備的網絡協議棧,其結構如圖2 所示:圖2 Xport 的TCP/ IP 協議棧結構 這些協議按照分層協議棧的方式精心組織,應用層有SN2MP、SMTP、Telnet 、HTTP 協議。HTTP 協議用以實現和瀏覽器通訊提供各種類型資源,如HTML、圖片等;SMTP 協議實現簡單郵件傳輸,用來發送E - mail 告警信息。傳輸層有TCP、UDP 兩種協議可選擇,其中TCP 是麵向連接的傳輸協議,它支持出錯重傳機 製,為用戶提供可靠的數據流,但實時性較差,可以用於對可靠性要求較嚴格的文件傳輸,而UDP 是麵向無連接的傳輸協議,它不保證數據傳輸100 %可靠,但提供了很高的實時性,用戶可根據自己的需要選擇其一。還有網絡層的IP、ICMP 協議通過數據鏈路層和物理層的Ethernet 進行Internet 數據交互[2 ] 。 2. 3 Xport 參數設置及地址分配 每個Xport 都有一個唯一的MAC 地址,接入網絡之前必須根據MAC 地址給它分配有效的IP 地址,並且對高速串口所使用的協議、握手信號、E - mail 觸發方式等參數進行設置。所有這些參數都可以通過Xport Installer 軟件調用內嵌參數網頁進行簡單直觀設置, 其中高速串口支持RS232 協議, 波特率有4800bps、9600bps、19200bps 等11 種可選,其他參數如數據位、奇偶校驗位、停止位,都可以在此設置。Xport 還有一個很實用的功能,就是Email 告警,當監控對象發生異常時Xport 就會發E2mail 給主機監控頁麵,以便管理人員能及時采取措施。Email 觸發條件有兩種選擇,可根據應用任選其一:第一種是當串口收到特定的字符時觸發;第二種是當Xport 的三個可編程的引腳電平滿足所設定的條件時即可觸發。 3 遠程室溫監測係統的構成 遠程監測的實質是將前端傳感設備信號轉化符合TCP/ IP協議的網絡信號,使用戶通過局域網或Internet 端就能訪問到監測數據,並把終端的調節控製命令轉化程MCU 所能接受的串口數據,再由MCU 控製執行器產生相應動作從而達到調節控製的目的。在整個係統的構建中按照監測功能和監測參數頁麵均“分散化”的設計思想,監測係統采用基於嵌入式設備服務器的B/ S係統結構[6 ] ,係統的構成如圖3 所示。整個係統分為三層:管理層、中間層和設備層。其中管理層負責整個係統溫度曆史數據的收集、顯示,調節係統監測參數,發送調節控製命令,這些功能由管理層中的數據庫服務器和Web 服務器來實現。Web 服務器用來生成整個監控係統頁麵,並通過與Xport 交互來顯示監測到的數據,同時向各監測點發送各種調節控製命令,它相當於一 個門戶站點,遠程授權用戶可以通過internet 對其進行訪問。數據庫服務器和WEB 服務器在邏輯上是相互獨立的,它們可以存在於同一台機器上,也可以存在於不同機器上。由於它們之間的這種相互獨立,一些高級的應用就可以運行而不會影響係統的性能。 中間層實際上成為管理層與設備層之間的一個連接,它主要作用是協議轉換和數據傳遞,設備層是由溫度傳感器、執行器以及微控製器(MCU) 組成的底層數據采集控製模塊。采樣獲得的數據由MCU 判斷,一旦所測的數據超出安全範圍,MCU 立刻觸發Xport 的Email 告警功能,通知管理層采取措施。如果在安全範圍內,數據則經串口傳給Xport ,由嵌入到Xport 中的Java 小程序來訪問,通過Socket 連接傳到管理層並在監測頁麵上顯示。由管理層通過監測頁麵發出的調節控製命令也通過Socket 連接傳給Xport ,MCU 接到串口發來的數據後控製執行器產生相應的動作,對室溫進行調控。 圖3 遠程室溫監測係統結構圖 這種係統結構有以下優點: 第一, 采用監測功能與監測參數頁麵均“分散化”的設計思想構建係統,使整個係統對管理層的依賴性大大降低,提高了係統的安全性和穩定性。 第二, 在已有的應用係統基礎上隻需增加一段與Xport 通訊的接口程序,其他無需作大的改動便可以使原係統接入Inter2net ,實現遠程網絡化監測,大大提高了係統的擴展性。 第三, 這種結構對MCU 的要求較低,無論是運行速度、硬件配置和存儲容量等方麵均無非常特殊的要求,降低了係統的開發成本。 第四, 係統在統一了各層接口的情況下,管理層、中間層和 設備層三層可以同時進行開發,可以縮短係統的開發周期。 4 管理層、中間層通訊軟件實現 整個係統基於嵌入式設備服務器的B/ S 係統結構,並且要求監測主頁麵要實時動態地顯示不同監測點的數據並要和Xport 進行動態交互。在軟件開發方麵,Java 語言具有麵向對象與操作平台無關、多線程執行的特點,此外它還具有擴展HTML語言(超文本標記語言) 的功能,這些特點能很好的滿足遠程室溫監測係統的要求[3 ] 。遠程室溫監測係統管理層與中間層通信的軟件結構如圖4 所示。本係統中間層的Xport 與管理層的通信軟件主要由Xport 初始化設置、數據接受、數據發送、數據處理等模塊組成。在程序中加入基於TCP/ IP 協議的用戶自定義數據通信協議,這樣使終端客戶機能與Xport 服務器進行自定義的通信,如發送升溫、降溫命令、采集參數初始命令等。 圖4 中間層與管理層通信的軟件結構圖 Xport 初始化完成後,授權用戶通過瀏覽器向WEB 服務器發出HTTP 請求,然後Java 小程序隨同HTML 文件下載到客戶端,並由客戶端的Java 虛擬機來執行,同時Java 小程序和Xport建立Socket 連接,該連接把采集到的數據傳給WEB 服務器,同時還傳給數據庫服務器[4 ] 。在整體數據流動的過程中Xport 起到了從以太網數據流到SPI 數據流的轉換作用,MCU 從串口發來的數據存在數據緩衝區,“接受數據”程序一旦查詢到緩衝區 有新的數據傳來,便將數據交給“數據處理”程序處理。“數據處理”程序主要是對此數據根據所選的協議幀格式進行打包處理,數據打包後上傳到管理層顯示。如果室溫需要調節時,管理員可通過監測頁麵下達的調節控製命令,這些命令包經“數據處理”程序對其進行解析,最終由“發送數據”程序傳遞給MCU 來執行。 5 結束語 通過瀏覽器對現場的環境進行監測是將Internet 引入監測領域的一種新技術。本文所介紹的基於Xport 的網絡化遠程室溫監測方案正是應用這一嵌入式Internet 新技術來構建的,該係統硬軟件設計簡單、靈活性好、使用方便,可根據需要應用到其他的監測領域,具有一定的推廣價值。 6 參考文獻: [1 ] Lantronix corporation. Xport user manual [ EB/ OL ] . www. lantronix.com . 2003 [2 ] [美]Douglas E. Comer 著林瑤等譯. 用TCP/ IP 進行網絡互聯 . 北京:電子工業出版社, 1998 [3 ] 王克宏主編, 徐劍軍, 徐鵬編著. Java 嵌入式技術[M] . 北京:清華大學出版社,1998 [4 ] 廖衛東編著. Java 程序設計[M] . 北京:機械工業出版社,1997 [5 ] 王懷宜編著. 單片機原理及其嵌入式應用教程[M] . 北京:北京希望電子出版社, 2002 [6 ] JOEL P. KANTER 編著, 李傑亮李誌譯. 全麵理解瘦客戶/ 服務器計算技術[M] . 北京: 清華大學出版社,1999 作者簡介:雲曉旭(1978 - ) ,男,上海交通大學信息檢測技術與儀器係碩士研 究生, 主要從事現場總線和嵌入式設備網絡化技術研究。 ps:如果有任何疑問或者需要,請和我聯係:020-87579017 聯係人:李霖
|