關鍵字: SNMP;微控制器;嵌入式WEB服務器
1 引言
隨著信息技術與網絡的高速發展,人類開始進入后PC時代。所謂后PC時代,從它原意來理解,是指計算無所不在,它滲透到我們工作、學習和生活的方方面面,但這樣的無所不在的計算機不是以PC的形式擺上桌面上,而是以嵌入式系統的形式存在。與此同時,網絡管理的難度和要求日益提高,網絡的可管理性和智能化是今后各類網絡的發展方向。如何管理計算機網絡,如何建立一個有效的、滿足要求的網絡管理系統,這是當今網絡管理技術人員必須掌握的技術。
2 嵌入式系統與網絡管理相關介紹
2.1 嵌入式系統
嵌入式系統應該具有以下特點:首先嵌入式系統主要應用于特定領域,它具有通用計算機系統不具備或不善長的專注于特定領域的功能。其次,嵌入式系統在結構上具有多樣性。與通用計算機系統不同,嵌入式系統由于應用領域廣泛,其器件和結構上都會有極大的差異。因此,在設計方法上,區別于通用計算機系統。通用計算機系統的軟硬件設計往往是分離進行的,而嵌入式系統則需要軟硬件協同設計。嵌入式系統結構如圖1所示。
|
圖1 嵌入式系統結構 |
2.2 網絡管理
網絡管理一般是指對網絡系統中的各種設備進行監測,分析與控制,從而保障整個網絡系統可靠,有效地運行。通常,網管系統主要是由管理者和管理代理兩種實體組成。網絡管理員通過管理者與管理代理之間的交互通信而達到對網絡進行管理的目的。為了保證管理者與管理代理之間能正確地交換管理信息,需對管理信息作出定義和在兩者之間達成一致協議。網絡管理有五大功能:失效管理、配置管理、性能管理、安全管理和計費管理。
3 網管系統硬件設計
3.1 S3C4510B微處理器
Samsung公司的S3C4510B是高性價比的16/32位RISC微控制器,共有208只引腳,采用QFP封裝。內含一個16/32位ARM7TDMI RISC處理器核,ARM7TDMI為低功耗、高性能的16/32核,適用于網絡控制、手機等這些具有龐大且復雜程序的多任務系統。在系統中S3C4510B處理器主要完成以下功能:
1. 系統管理器功能。
S3C4510B微控制器的系統管理器(System Manager)在整個系統工作中起至關重要作用,S3C4510B微控制器的系統管理器具有以下功能:
1) 基于固定的優先級,仲裁來自幾個主功能模塊的系統總線訪問請求。
2) 為訪問外部存儲器提供必需的存儲器控制信號。
3) 為S3C4510B和ROM/SRAM,以及外部1l0組之間的總線交通提供必需的信號。
4) 為外部存儲器總線和內部數據總線之間的數據流協調總線寬度的差別。
5) 對外部存儲器和I/O設備,S3C4510B同時支持小端模式和大端模式。
2. 系統管理器寄存器(System Manager Registers)
系統管理器使用一組專用的特殊功能寄存器來控制外部存儲器的讀寫操作,通過對該組特殊功能寄存器編程,可以設定:存儲器的類型,外部數據總線寬度及訪問周期,定時的控制信號(例如RAS和CAS,存儲器組的定位,存儲器組的大小,在標準系統配置中訪問外設必需的控制信號、地址信號和數據信號,系統管理器通過設置特殊功能寄存器的值來控制其產生和處理。
3. 系統存儲器映射(System Memory Map)
可以通過配置包含基指針(Base Pointer)和尾指針(End Pointer)的寄存器,設定每個存儲器組的大小和位置。用戶可利用基指針和尾指針設置連續的存儲器映射。具體操作如下:即把某個存儲器組的基指針的地址設置為前一個存儲器組的尾指針的地址。請注意在設定存儲器組的控制寄存器時,每兩個相連的存儲器組的地址空間決不能重疊,即使這些組被禁用。
3.2 系統接口電路設計
3.2.1 接口電路總體框圖
接口電路總體框圖如圖2所示:
|
圖2 系統框圖 |
3.2.2JTAG接口電路
JTAG是一種國際標準測試協議,主要用于電路的邊界掃描測試和可編程芯片的在系統編程。JTAG技術是一種嵌入式調試技術,它在芯片內部封裝了測試電路TAPC,通過專用的JTAG測試工具對內部節點進行測試。目前大多數比較復雜的器件都支持JTAG協議。標準的JTAG接口是4線:TMS, TCK, TDI, TDO,分別為模式選擇、時鐘、數據輸入和數據輸出線。JTAG測試允許多個器件通過JTAG接口串聯在一起,形成一個JTAG鏈,能實現對各個器件分別測試。通過JTAG接口,可對芯片內部的所有部件進行訪問,因而是開發調試嵌入式系統的一種簡潔高效的手段。目前JTAG接口的連接有兩種標準,即14針接口和20針接口。
3.2.3 Flash存儲器接口電路
Flash存儲器是一種可在系統(In-System)進行電擦寫,掉電后信息不丟失的存儲器。它具有低功耗、大容量、擦寫速度快、可整片或分扇區在系統編程(燒寫)、擦除等特點,并且可由內部嵌入的算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。本系統采用一片SST39VF160構建16位的Flash存儲器系統,其存儲容量為2MB。
3.2.4 SDRAM接口電路
與Flash存儲器相比較,SDRAM不具有掉電保持數據的特性,但其存取速度大大高于Flash存儲器,且具有讀寫的屬性,因此,SDRAM在系統中主要用作程序的運行空間,數據及堆棧區。當系統啟動時,CPU首先從復位地址0x0處讀取啟動代碼,在完成系統的初始化后,程序代碼一般應調入SDRAM中運行,以提高系統的運行速度,同時,系統及用戶堆棧、運行數據也都放在SDRAM中。SDRAM具有單位空間存儲容量大和價格便宜的優點,已廣泛應用在各種嵌入式系統中。
3.2.5 串行接口電路
要完成基本的串行通信功能,實際上只需要RXD,TXD和GND即可,但RS-232-C標準所定義的高、低電平信號與S3C4510B系統的LVTTL電路所定義的高、低電平信號完全不同,顯然,兩者間要進行通信必須經過信號電平的轉換,目前常使用的電平轉換電路為MAX232。系統設計了兩個9芯的D型插頭。
3.2.6 以太網接口電路
以太網接口電路主要由MAC控制器和物理層接口(Physical Layer, PHY)兩大部分構成,MAC控制器在S3C4510B片內,外接的物理層接口為ACl01L。ACl01L和S3C4510B均有MII接口。當AC101L正常工作在100Mbps狀態時,其發送時鐘引腳、接收時鐘引腳均應有25MHz的波形輸出,同時,對應的LED指示燈也能正確指示芯片的工作狀態。
4 網管系統軟件設計
4.1 Rabbit2000與嵌入式服務器
Rabbit 2000是專門為新一代嵌入式系統設計的高性能8位微處理器,與Z80, Z180, HD64180有著相似的結構,并且在很多方面有了很大的改進。目前,嵌入式Web技術是計算機領域研究的熱點,開發出低成本、高通用性、能運行在8位或16位MCU環境中的嵌入式Web服務器將會極大地促進低端控制設備的信息化。
基于Web的網絡管理(WBM)技術是Internet網絡不斷普及的結果。其根本點就是允許通過Web瀏覽器進行網絡管理,可以把SNMP數據匯集到Web應用中去,既集成了SNMP協議,又能較好地解決網絡管理平臺存在的困難。WBM融合了Web功能與網管技術,從而為網管人員提供了比傳統工具更強有力的能力。管理者的操作不受地理位置的限制,可在任何平臺下被訪問。對系統的修改只需在Web Server上進行,無需在客戶端作任何修改,減少了系統維護及修改的工作量與費用。具體包括HTTP協議、HTML語言、CGI原理以及B/S結構。
4.2 基于Rabbit2000的嵌入式服務器
4.2.1 TCP/IP協議棧與HTTP的實現
IP包含編址方案,并提供尋址功能;TCP則是在不同主機的對等進程之間提供可靠的進程間通信。與TCP兩端口所連接的實體中,一端為應用程序進程或用戶,另一端則為底層協議,如IP協議。TCP在建立連接過程中采用三向握手機制,以保證數據的可靠性。 Dynamic C實現TCP/IP協議通信的程序主體框架。在Dynamic C中,HTTP由HTTP.LIB來負責實現。
4.2.2 系統工作流程
系統流程如下:
(1) 系統上電,從FLASH讀取系統配置信息,進行相應的配置。
(2) 各個變量初始化。
(3) 設置波特率,清空接收,發送緩沖區。
(4) 初始化各受控變量,及相關標記。
(5) 讀flash,判斷是否有數據保存標志。如有,則讀出各個設置,賦值給各相關變量。
(6) 如沒有,則認為是設置初始化,重新初始化文件系統,格式化,寫入缺省設置。
(7) 初始化socket,啟動以太網。
(8) 進入通訊,與機架上的各臺設備通信。
(9) 啟動web服務器,等待連接。
(10) 8與9各作為一個線程一直循環執行。
(11) 隔一段時間查詢,如果掉電后需要保存的數據發生變化,則把數據保存到flash o
(12) 如果用戶改變agentip,管理ip,子網掩碼,網關等,則重新配置網絡。
4.3 UCD-SNMP代理擴展
基于SNMP的網絡管理軟件及應用開發工具有很多,較為普及和流行的一種即為UCD-SNMP。由于UCD-SNMP的應用較為廣泛,而該軟件提供了較多的實用SNMP網絡管理工具和SNMP代理,所以在實際使用中可以直接用于網絡管理,進行各種操作。對該工具進行功能上的擴展,可以修改代理配置文件使SNMP代理能夠執行外部命令,也可以擴展代理支持的MIB使代理能夠支持自定義的被管對象。包括三方面擴展: 1) MIB定義文件;2) C代碼頭文件;3) C 代碼執行文件。
4.4 MIB設計
MIB包括代理端本身MIB和設備MIB兩大部分。
4.4.1 代理端本身MIB
代理端本身MIB:包括私有MIB和標準的MIBⅡ兩大部分。
1.私有MIB
私有MIB:代理端系統描述,代理端ip地址,代理端mac地址,管理端ip,子網掩碼,網關,代理OID,代理啟動時間,設備數目,一些標記等。OID前綴為1.3.6.1.4.1.20353.1。
2. MIBⅡ
MIBⅡ是目前重要,也是獲得支持廣泛的MIB, UCD_ SNMP支持MIBⅡ。只要把MIBⅡ編譯進agent,作一些小的修改就可以了。
4.4.2 設備MIB
設備MIB:設備型號,設備總體狀態,各指示燈狀態,各按鈕狀態,設置按鈕(按下或彈出),其他設置等。
OID前綴為1.3.6.1.4.1.20353.2.
動態MIB的設計:
各型號設備的MIB子樹的結構作為全局變量,在系統啟動時就已經存在。系統啟動時,通信程序輪詢一遍各設備的狀態,發現某個地址有設備,讀取該設備型號及MIB信息,為該設備注冊MIB子樹。這樣,一遍輪詢后,設備的MIB都已經建立起來了。
程序不停的輪詢各設備的狀態,當發現設備已經不在線時,從系統MIB樹注銷該設備所在位置的子MIB樹。當發現新設備時,向系統MIB樹注冊該設備所在位置的子MIB樹。當設備狀態改變時,改變相應的MIB變量。這樣,就實現了MIB的動態刷新。
5 本文作者創新點
近年來,隨著計算機軟硬件技術的迅速發展,計算機的應用已逐漸深入各個領域,它滲透到我們工作、學習和生活的方方面面。本文設計并實現了基于RABBIT 2000的WEB服務器,基于ARM+UCLINUX的SNMP代理。這兩個系統均用于通信設備的網路管理,工作穩定。本系統設計不需要多少成本,而性能與商用的嵌入式操作系統相差無幾。因此非常適合于對成本敏感的系統設計。