《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于單片機的嵌入式SNMP代理器設計與實現
基于單片機的嵌入式SNMP代理器設計與實現
摘要: SNMP(簡單網絡管理協議)應用廣泛,功能強大,只要管理軟件駐留有MIB(管理信息庫),并且擁有適當的權限,管理器就可以訪問SNMP代理器。SNMP一般用于計算機網絡和電信網絡,本文提出了用SNMP進行控制。由于其傳輸媒介是Internet,所以傳輸距離不受限制,這相對于其他工業控制總線有不可比擬的優勢,SNMP最大的優點是協議簡潔,適合嵌入式應用。SNMP體系可擴展性強,只要將新的MIB裝載在管理軟件上就可以實現對新的終端的控制與訪問,本文介紹了一種基于廉價的微控制器的實現嵌入式代理器的方案,以微處理器核心實現相關硬件及軟件。
Abstract:
Key words :

       引言

       SNMP(簡單網絡管理協議)應用廣泛,功能強大,只要管理軟件駐留有MIB(管理信息庫),并且擁有適當的權限,管理器就可以訪問SNMP代理器。SNMP一般用于計算機網絡和電信網絡,本文提出了用SNMP進行控制。由于其傳輸媒介是Internet,所以傳輸距離不受限制,這相對于其他工業控制總線有不可比擬的優勢,SNMP最大的優點是協議簡潔,適合嵌入式應用。SNMP體系可擴展性強,只要將新的MIB裝載在管理軟件上就可以實現對新的終端的控制與訪問,本文介紹了一種基于廉價的微控制器的實現嵌入式代理器的方案,以微處理器核心實現相關硬件及軟件。

       1 SNMP體系結構

       SNMP的體系結構(見圖1)以簡單的查詢/回答模型為基礎,發送查詢的用戶為管理者,SNMP的服務器(代理器)回答查詢。

SNMP 體系結構

 


       SNMP在TCP/IP體系中屬于應用層協議。為了實現SNMP體系,就必須實現從應用層到物理層的所有要用到的協議,管理器在PC機上,代理器處于監測現場,代理器駐留在被管理系統的MIB,我們以單片機為核心來實現嵌入式代理器,嵌入式代理器要對現場采集到的數據進行分析,如果有異常情況發生,通過發送Trap報文給管理器,告知網管有異常情況發生,在報文中還帶有異常情況的相關信息,網管可以根據這一信息進行相應的處理,在一些情況下,代理器將數據保存起來,以備管理器的查詢。

       2 嵌入式代理器的硬件實現

       我們設計的基于SNMP的控制系統原理見圖2。

基于SNMP的控制系統原理


       控制現場的信號采集由A/D轉換模塊輸入單片機。單片機對信號進行處理,并且執行SNMP代理器的任務,硬件部分主要包括A/D、串口、以太網、小邏輯、單片機、監控信號采集、電源及監控等模塊,本文著重介紹與嵌入式SNMP代理器密切相關的部分。

       2.1 串口模塊

       單片機使用的是TTL電平,而RS-23協議所使用的電平不同,所以需要進行電平轉換,通過MAX232實現電平轉換。

       2.2 A/D模塊

       A/D模塊主要負責采集外部監控信號,采用AD0809可以采集8個通道的數據,信號變化的動態范圍并不大,利用這一特點,合理設置參考電壓,可以提高分辨率,從而用低廉的器件實現很好的性能,ADC0809的兩個參考電壓都可以通過電位器調節,為了保證系統的精度,參考電壓必須穩定,為此采用MAXIM的MAX875作為參考電壓源。另外需要注意的是:輸入到A/D轉換器的參考電壓經過電位器的分壓,為了使參考電壓穩定,必須選用高精度、高穩定性的電位器。

       2.3 以太網模塊

       以太網模塊實現與以太網的通信,采用RealTek的RTL8019芯片實現。

       RTL8919A(見圖3)有3種工作方式:跳線方式,網卡的I/O和中斷由跳線決定;即插即用方式,由軟件進行自動配置plug and play;免跳線方式,網卡的I/O和中斷由外接的93C46中的內容決定。

RTL8919A


       RTL8019AS的引腳65(JP)決定了網卡的工作方式,引腳65腳(JP)是輸入引腳,當引腳65為低電平時,8019工作在即插即用方式或免跳線方式,具體由93C46中的內容決定,在嵌入式應用中如果可以不使用93C46,則可以降低成本,同時減少連線,我們把引腳65接高電平(VCC),使用跳線方式。那么,網卡的I/O和中斷就不是由93C46的內容決定,這是不需要使用93C46。


      引腳64(AUI)決定使用AUI還是BNC接口。BNC接口方式支持8線雙絞線或同軸電纜。高電平時使用AUI接口;懸空為低電平,使用BNC接口。我們一般使用BNC,將該引腳懸空。網絡接口類型由引腳74(PL0)、引腳77(PL1)決定。將PL0、PL1懸空,選擇自動檢測模式,芯片自動檢測接口類型是用同軸電纜或雙絞線,然后進行工作。

       RTL89的IOCS16是16位I/O的選擇引腳。當網卡上電復位時,該引腳為網卡的輸入,如果該引腳為高電平,網卡將選擇16位的模式,如果該引腳為低電平,網卡將選擇8位模式,51單片機是8位數據,所以用電阻R10下拉,因此在復位時該引腳為低電平,網卡選擇8位模式。

       AD0-AD7是網卡的8位數據總線,接單片機的P0口,RESDRV(引腳33(RESET))接單片機的T0(P3.4),單片機用P3.4來復位網卡。IRQ9接單片機的INT0(P3.2

 

),IRQ9是網卡的中斷9,接到單片機的中斷0上,IOR,IOW接到單片機的P3.6,P3.7(/WR,/R)。

       2.4 小邏輯模塊

       小邏輯模塊主要實現一些邏輯功能,A/D的時鐘由單片機的ALE信號8分頻,各個外部器件的片選功能都由小邏輯模塊實現,雖然功能不復雜,如果用小邏輯器件實現,就需要較多的器件,器件利用率低,在電路板上占據較大的空間,與要求體積小的嵌入式應用相矛盾。采用可編程邏輯器件可以解決這些問題。

       2.5 單片機模塊

       單片機模塊由單片機以及復位和看門狗電路、外部擴展RAM、時鐘電路等外圍電路構成,看門狗電路可以提高現場惡劣條件的干擾,當系統受到外界干擾使得單片記的程序跑飛,看門狗沒有喂狗信號,看門狗電路將單片機和RTL8019復位,重新開始運行。

       3 軟件設計與實現

       由于SNMP的編解碼需要占用很多CPU時間,并且在單片機上還要實現A/D數據采集轉換、以太網通信、串口通信等功能,這就使得協調各個功能非常困難,因此,我們選用Micro-C/OS51作為單片機的操作系統,Micro-C/OS51是嵌入式實時操作系統Micro-C/ OS在51單片機上的移植代碼,實時系統能夠很好地提高CPU的效率,并且是多任務系統,能夠協調多個任務,我們將單片機要實現的功能分為人機交互任務、A/D處理任務和SNMP處理任務。

       3.1 人機交互任務

       人機交互任務是通過單片機的串口來實現與用戶的交互,用戶通過串口電纜將PC機與單片機的串口連接,通過PC機的超級終端可以使用命令行的方式對代理器的有關參數(網關地址、主機地址等)進行配置,還可以察看相關的運行信息,主要的命令行有:Host 配置本機IP地址;Gateway 配置網關地址;Mask 配置子網掩碼;Snmphost 配置SNMP管理器IP地址;Macadr 配置本機物理地址;ping 可以用這個命令來檢測網絡鏈路;clear 清除電話顯示屏的內容。

       人機交互任務實現的主要思路就是單片機接收用戶鍵盤輸入的字符存入命令緩沖區,并回顯到屏幕,當用戶按下回車鍵,觸發軟件狀態機狀態變遷,從輸入態轉移到命令解釋態,然后根據用戶命令調用相關子程序執行相關操作,執行完畢后重新回到輸入態。

       人機交互程序由詞表、取詞子程序、狀態機框架程序(輸入回顯和命令解釋執行)命令相關子程序組成,詞表就是命令語句的集合,取詞子程序從命令行語句中提取單詞并存入詞表,同時進行匹配檢查和詞法分析,輸入回顯程序循環檢查用戶鍵盤輸入,命令解釋程序調用取詞子程序分析用戶命令行輸入,根據詞表第1個單詞在散轉表中的位置調用相應執行子程序處理命令,命令解釋程序向相應的命令 相關子程序傳入詞表指針,具體執行由用戶自行決定,由命令相關資程序返回后重新回到命令輸入態,完成一次輸入執行全過程,此過程周而復始地循環執行。



       3.2 A/D處理任務

       A/D轉換需要一定的時間,讀取A/D轉換的結果有3種方式:

       a)采用中斷方式,讀取數據及時,同時頻繁的中斷處理增加了CPU的負擔。

       b)查詢方式,造成CPU時間的浪費,大大地降低了CPU效率;

       c)等待方式,看起來沒有優點,但是在UC/OS51操作系統中,到任務調度的一個很重要的思想就是延時,高優先級的任務執行一段時間后,再延時一段時間,以便低優先級的任務執行,這樣將等待的時刻放到A/D處理任務的延時時刻,可以起到一舉多得的作用,我們正是采用這種方式。

 

 

      3.3 SNMP處理任務

       當接收到UDP數據包、處理UDP報頭后,由函數udp_recv()處理SNMP數據包。其基本思想是:解碼SNMP消息,如果解碼正確,判斷該Community(共同體)是否具有進行所請求操作的權限,如果沒有權限,則拋棄該報文,并且給管理器發送Trap報文。如果權限正確,則從代理器上的MIB表中查找所請求的對象。找到后,執行相應操作,同時生成響應報文。然后進行SNMP編碼,如果編碼無誤,則將這個SNMP報文交給上一層協議處理,SNMP處理流程見圖4。

SNMP處理流程


       在SNMP處理過程中,SNMP的編碼和解碼非常關鍵,以解碼為例來說明,解碼出SNMP報文使用SNMP的版本號,報文所使用的共同體號,版本號,表明了報文使用SNMP的版本,如果管理器與代理器使用協議的版本不同,將不能正常通信,共同體相當于密鑰,只有有了密鑰的管理器才能夠訪問代理器,否則,代理器不予響應,PDU解碼出管器所要訪問的對象,SNMP解碼的流程圖見圖5。

SNMP解碼的流程圖


       流程圖中的snmpDec()函數解碼SNMP函數報文,將有用的信息提取出來,MibRequest()函數的作用是將駐留在嵌入式SNMP代理器中的MIB中查找解碼出來的OID(對象標識符),查找到OID后,同時獲得了這個對象的信息,編碼同時開始進行,MibCmpObjId()函數的作用是采用比較的方式查找表項。SnmpEnc()函數將得到的響應報文按SNMP的編碼規則編碼成SNMP報文。make_udp()函數將SNMP報文封裝在UDP報文中。再經過IP協議封裝,以太網協議封裝后,就可以通過以太網傳輸。

       4 結束語

       我們將該系統用于光無線通信的網絡管理與監控系統。經過使用后發現:該系統能夠實時監控光無線通信系統的運行,由于采用Internet傳送數據,所以傳輸距離不受限制,SNMP是應用最廣泛的網絡管理協議及實現嵌入式SNMP代理器,可以使光無線通信系統的管理很方便地加入到現有的網絡管理系統,由于采用廉價的單片機來實現嵌入式SNMP代理器,主要的協議處理由軟件實現,成本很低。


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品a级| 亚洲欧美中文日韩在线| 欧美日韩日本国产亚洲在线 | 日韩视频精品在线| 日韩视频永久免费观看| 国产精品久久国产愉拍| 久久大香伊蕉在人线观看热2| 欧美亚洲视频一区二区| 亚洲国产网站| 国产精品久在线观看| 久久国产欧美日韩精品| 欧美一级片在线播放| 亚洲激情在线观看| 一区二区三区免费网站| 国语自产精品视频在线看8查询8 | 久久精品国产999大香线蕉| 亚洲国产一区二区a毛片| 亚洲电影专区| 国产精品亚洲综合色区韩国| 美女图片一区二区| 亚洲在线免费观看| 亚洲福利视频一区| aⅴ色国产欧美| 国内精品国产成人| 欧美少妇一区二区| 久久婷婷国产麻豆91天堂| 9色精品在线| 欧美一区二区三区久久精品| 亚洲精选久久| 日韩亚洲欧美精品| 在线成人亚洲| 国产精品一区二区男女羞羞无遮挡| 欧美大胆a视频| 久久成人免费电影| 久久久中精品2020中文| 亚洲午夜免费视频| 亚洲国产精品精华液网站| 亚洲午夜视频| 日韩视频在线你懂得| 亚洲精品综合在线| 亚洲欧美激情诱惑| 一区二区免费在线视频| 亚洲性视频网站| 性伦欧美刺激片在线观看| 亚洲国产成人在线| 亚洲视频狠狠| aaa亚洲精品一二三区| 亚洲婷婷在线| 欧美一区激情视频在线观看| 久久色在线播放| 欧美日韩国产成人精品| 蜜臀va亚洲va欧美va天堂| 欧美国产在线视频| 美日韩精品视频| 欧美日韩国产精品一区| 国产伦精品一区二区三区在线观看 | 国产一区二区三区最好精华液| 国产精品美女主播| 国产在线麻豆精品观看| 亚洲久久成人| 久久精品国产99| 亚洲一区二区三区中文字幕| 久久久久久久久久久久久久一区 | 99精品欧美一区二区三区综合在线 | 亚洲视频欧美在线| 另类尿喷潮videofree| 久久电影一区| 欧美久久久久久| 欧美理论在线| 国产一区二区三区久久久| 亚洲免费电影在线| 亚洲大胆av| 久久av在线看| 亚洲福利视频在线| 亚洲性线免费观看视频成熟| 久久免费高清| 国产精品vip| 亚洲日本免费电影| 日韩亚洲欧美综合| 久久精品五月婷婷| 性色av一区二区三区在线观看 | 亚洲高清不卡在线| 亚洲日本成人在线观看| 午夜视频一区二区| 欧美伊人久久大香线蕉综合69| 在线亚洲电影| 欧美a级片网| 欧美日本一道本| 狠狠色狠狠色综合日日小说| 亚洲图中文字幕| 午夜视频一区二区| 亚洲一区二区三区国产| 欧美极品一区| 欧美午夜不卡在线观看免费| 在线观看国产精品淫| 欧美一区二区在线看| 亚洲欧美日韩综合一区| 欧美日韩精品一区二区三区四区 | 欧美日韩精品是欧美日韩精品| 在线成人小视频| 久久精品成人欧美大片古装| 久久国产欧美| 国产视频久久久久久久| 一区在线视频观看| 亚洲日本欧美日韩高观看| 亚洲福利国产精品| 久久亚洲综合网| 国产有码在线一区二区视频| 亚洲欧美国产三级| 欧美一区二区三区日韩视频| 国产精品九九| 亚洲午夜精品一区二区| 亚洲嫩草精品久久| 久久一区视频| 国产最新精品精品你懂的| 小黄鸭视频精品导航| 亚久久调教视频| 国产精品日韩一区二区| 亚洲一区二区三区乱码aⅴ| 亚洲欧美色婷婷| 国产精品一区二区久久国产| 亚洲午夜极品| 久久aⅴ国产紧身牛仔裤| 欧美插天视频在线播放| 在线观看日韩欧美| 亚洲黄色一区二区三区| 欧美 日韩 国产一区二区在线视频 | 亚洲免费精品| 亚洲综合日韩| 国产精品外国| 欧美一区二区观看视频| 久久久免费精品视频| 狠狠久久综合婷婷不卡| 亚洲狠狠婷婷| 欧美日韩国产成人精品| 一区二区久久久久| 午夜久久资源| 国产婷婷97碰碰久久人人蜜臀| 欧美有码视频| 美女精品在线| 亚洲人精品午夜| 亚洲一区二区三区高清不卡| 国产伦精品一区二区三区免费| 久久国产直播| 欧美激情综合五月色丁香| 一本色道久久88亚洲综合88| 欧美影院在线| 亚洲高清在线观看一区| 一区二区三区欧美成人| 久久久水蜜桃| 亚洲福利视频在线| 亚洲午夜av电影| 国产午夜精品全部视频在线播放| 久久精品人人做人人综合| 欧美激情在线有限公司| 中文国产亚洲喷潮| 久久久亚洲国产美女国产盗摄| 亚洲国产高清aⅴ视频| 亚洲一区二区在线免费观看视频| 国产伦精品一区二区三区免费| 亚洲国产另类精品专区| 欧美人与性动交cc0o| 亚洲男人的天堂在线aⅴ视频| 可以免费看不卡的av网站| 亚洲精品无人区| 亚洲卡通欧美制服中文| 久久综合成人精品亚洲另类欧美| 亚洲国产视频直播| 亚洲在线免费观看| 韩国亚洲精品| 国产精品99久久99久久久二8 | 亚洲黄色免费电影| 国产精品jizz在线观看美国 | 欧美在线国产精品| 亚洲国语精品自产拍在线观看| 亚洲欧美日本日韩| 激情综合电影网| 亚洲午夜小视频| 狠狠综合久久av一区二区小说| 中文欧美字幕免费| 国语自产精品视频在线看抢先版结局 | 国产精品99久久不卡二区| 久热精品视频在线| 亚洲午夜电影在线观看| 免费欧美视频| 亚洲欧美日韩一区在线| 欧美精品v日韩精品v国产精品 | 日韩手机在线导航| 国产一区二区三区久久久| 亚洲一二三区在线| 亚洲第一区在线| 久久精品亚洲精品| 国产视频一区在线观看| 一区二区三区日韩精品| 激情五月综合色婷婷一区二区| 亚洲专区免费| 亚洲精品欧美在线| 你懂的视频一区二区| 性一交一乱一区二区洋洋av| 欧美性猛片xxxx免费看久爱|