陳峰銘,胡志恒
(成都信息工程大學 四川 成都610225)
基于SMI 總線的以太網交換機管理功能設計與實現
陳峰銘,胡志恒
(成都信息工程大學 四川 成都610225)
針對早期以廣播為核心進行傳輸的以太網存在的缺陷,網絡交換機設備須提供配置和管理功能來滿足用戶的變化這一需求,研究了一種基于SMI總線控制的智能以太網交換機網管系統,通過對這一交換機軟硬件的設計,實現了單SMI總線控制功能和實現、MDC/MDIO讀和寫操作、交換機功能配置和管理。測試結果表明用戶可以自行進行電源控制,避免了用戶與物業之間因為對交換機的配置管理而引起的不必要的糾紛。
SMI總線;以太網交換機;配置;管理
近年來網絡發展十分迅速,人們對網絡應用中的高寬帶和安全性有著急切的需求,以太網交換機應運而生,它的功能越來越多,用途越來越廣[1]。以太網交換機工作在OSI網絡參考模型的數據鏈路層,它具有多個端口,每個端口都獨立工作,無沖突的進行數據傳輸,是一種完成以太網數據幀轉發的網絡設備[2-3]。目前交換機的管理是指通過串口或者并口把交換機和主機相連,采用全雙工的方式進行工作,用戶可以自己對以太網交換機進行配置和管理。例如:網管型交換機就具有端口監控、劃分VLAN等多種功能;工業以太網交換機需要適應各種復雜的工業環境,提供Web、SNMP、TELNET等多種管理手段以實現IGMP、ACL、Qos等多協議的管理,應用于工廠自動化、煤礦自動化、電力自動化等多個領域。
通過MCU(微控制器單元)對交換機的SMI總線進行控制是實現一個自動饋電的控制功能,這使得管理方式更加靈活簡單,實用性強。選用LPC936芯片來設計SMI接口也使得產品成本更加低廉,應用領域更加廣泛,市場競爭力增強。
LPC936是飛利浦公司推出的一款單片封裝的微控制器。包含4KB/8KB/16KB字節的可擦除的Flash程序存儲器,256字節RAM數據存儲器,2個16位定時/計數器和一個23位的系統定時器。它工作在2.4~3.6 V的電壓范圍內。具有幀錯誤檢測、自動地址檢測、間隔檢測等功能。它集成了許多系統級的功能,很大程度上減少了元器件的數目和電路板的面積,從而降低系統成本。廣泛應用于工業控制、加密系統、協議轉換等領域[4-5]。
Marvell系列88E6097F芯片則是可以實現高級功能8端口FE和3端口GE管理型交換機的交換芯片[6-7]。
本交換機采用了LPC936作為主控MCU,并采用2個I/O端口連接交換芯片88E6097的SMI(MDC/MDIO)總線,LPC936的端口I/O仿真SMI總線時序實現對交換芯片的配置管理功能。
主控MCU和交換芯片88E6097直接通過SMI相連,連接好以后再通過隔離變壓器和8端口RJ45接口接入傳輸媒體,48轉3.3 V DC-DC電源模塊提供電源,由PHY給出燈的顯示[8]。
通過燈的顯示可以觀察每個端口是否連接,數據收發是否正常等情況。編寫好相應的軟件程序,就可以實現SMI接口的讀寫時序。其組成的電路框圖如圖1所示。

圖1 電路框圖
LPC936擁有512字節的片內EEPROM,數據EEPROM 由SFR控制,用戶可以通過SFR和中斷對其進行讀、寫和填充。交換芯片通過I2C總線連接片內EEPROM,保存配置數據[9-10]。在每次開機或復位期間,讀取片內EEPROM的內容來對交換芯片寄存器進行初始化配置,重置芯片。
當交換機接收到數據,首先讀取的是源MAC地址,將其保存到MAC地址表中,再讀取目的MAC地址,然后在地址表中找到相應的端口與其匹配,如果找到了對應的端口,則把數據包復制在這端口上,如果找不到對應的端口,就把數據包廣播到其他所有的端口上,如果目的機器對源機器作出回應,以太網交換機就知道目的MAC地址與哪一個端口對應,在下一次傳送數據包時,無需再次廣播到其他端口。
整個以太網交換機系統的軟件的用到了keil和Smartpro,用keil編寫程序,再使用Smartpro通過minipro,將程序燒入單片機中。交換芯片寄存器的內容可以通過PC機端keil來配置,從而達到供電的端口可以連接,不供電的端口不能連接。單片機的軟件流程如圖2所示。

圖2 單片機的軟件流程
從主函數開始,首先定義相關的參數,調用配置的管腳以及看門狗定時器的配置,重置芯片,輸入高電平進入大循環,端口0至7的物理層功能使能,調用SMI接口管理程序(其中,根據SMI的讀寫時序,已經將SMI寫入了88E6097),直到最后輸入為低電平則退出循環,端口0至7的物理層功能停用,然后經過一定時間的延遲,最后控制LED燈的顯示。整個單片機的軟件流程結束,功能實現。
3.1SMI總線控制功能和實現
SMI稱為串行管理接口,廣泛應用于交換模塊和網絡設備中,它使用的是由IEEE(電氣電子工程師協會)制定的IEEE802.3u協議。其協議的22號款規定,由元數據控制器(MDC)和管理數據輸入輸出(MDIO)兩路信號組成。設備管理接口通過MDC和MDIO信號對內部寄存器進行訪問,MCU中的控制收發器從具有管理功能的收發器中收集相關的狀態信息,包括:自動控制、鏈接狀態、斷電、速度能力等。
MDC是管理數據的時鐘輸入,是一個非周期的信號,信號的最小周期為400 ns,它的直流運行的最大的頻率可以達到8.3 MHz[11]。
MDIO管理數據輸入輸出,是一根雙向數據線,它傳遞的雙向信號是和MDC同步運行的,且在MDC上升沿后0至300 ns內有效[12]。它傳遞的是MAC層的控制信息和PHY層的狀態信息。
MDIO管腳需要一個上拉電阻在閑置和周轉時間把MDIO拉高。當MDIO恢復成沒有數據傳輸的空閑狀態時,MDIO處于高阻態。它的訪問時間是2個時鐘。
3.2MDC/MDIO讀和寫操作
所有相關的系列管理寄存器和一些可選的寄存器在設備的核心轉換中實施。典型MDC/MDIO讀操作如圖3所示。

圖3 典型MDC/MDIO讀操作
典型MDC/MDIO寫操作如圖4所示。

圖4 典型MDC/MDIO寫操作
數據鎖定MDIO的前沿,典型MDC/MDIO讀寫操作流程表如表1所示。
典型MDC/MDIO讀寫操作流程為:

表1 典型MDC/MDIO讀寫操作流程表
Preamble:沒有數據傳輸的空閑狀態時,先發32個1,這里一直處于高阻態。
Start:然后數據開始時先發一個0,然后恢復到1。
Op code:接下來是2bit,這里執行的是寫操作01。(如果是讀則是10)。
Phy Add:再出現一個5位PHY地址,PHY地址和這5 個bit進行匹配,成功則執行下面的操作,失敗則結束操作。
Reg Add:選擇5位寄存器地址[13]。
Turn:從一個時鐘的時間轉到另一個方向,在轉向階段,這部分的時序比較特殊,在寫操作時,此階段是完整的2個時鐘周期,MAC始終驅動MDIO,在MDC下降沿時MDIO發生變化。在讀操作時,此階段并不是完整的2個時鐘周期,而是一個半時鐘周期,MAC驅動MDIO在MDC的下降沿變化,然后MDIO總線進入轉向階段,PHY在進入轉向階段的半個周期后,也就是在轉向階段的第一個MDC上升沿時把MDIO拉低,并持續一個周期,轉向階段結束[14]。
Data:幀的寄存器的數據域,MDIO串行讀出/寫入16位的寄存器數據[15]。讀操作時,數據是PHY層送到MAC層的數據,寫操作時,數據是MAC層送到PHY層的數據.
Idle:表示MDIO恢復空閑狀態時,處于高阻態。一般使用上拉電阻使其處于高電平。軟件流程圖如圖5所示。

圖5 SMI的軟件流程圖
整個解決方案是使用LPC936芯片通過SMI總線去配置管理88E6097交換機的一個開發過程。測試結果表明該解決方案已經實現了控制功能,方便用戶管理交換機,運行穩定可靠,達到了設計的要求。
[1]張敏.社區寬帶網樓道交換機的設計與實現[D].成都:電子科技大學,2002.
[2]孫磊.嵌入式以太網技術的研究[D].合肥:合肥工業大學,2004.
[3]韋樂平.城域電信級以太網的特征與新發展[J].電信科學,2007(2):1-5.
[4]蔣青泉.交換技術[M].北京:高等教育出版社,2003.
[5]安淑梅,武志剛編著.網絡設備與管理[M].北京:北京希望電子出版社,2006.
[6]周慈航,周立功,朱旻.PHILIPS51LPC系列單片機原理及應用設計[M].北京:北京航空航天大學出版社,2002.
[7]周立功.增強型80C51單片機速成與實戰[M].北京:北京航空航天大學出版社,2003.
[8]鄭文波.控制網絡技術[M].北京:清華大學出版社,2001.
[9]張培仁.基于C語言編程的MCS-51系列單片機原理與應用[M].北京:清華大學出版社,2003.
[10]周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
[11]譚浩強.C程序設計[M].2版,北京:清華大學出版社,1999.
[12]馬忠梅,馬巖,張凱.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,1996.
[13]趙偉,周侗,劉明哲.一種實時以太網模型及其性能測試實現[J].儀器儀表學報,2006,27(6):72-74.
[14]趙鋒.電信級以太網技術及測試[J].電信網技術,2008(6): 50-56.
[15]趙雋琪.運營商以太網測試[D].電信網技術,2008(10):65-70.
Ethernet switch management function design based on SMI bus
CHEN Feng-ming,HU Zhi-heng
(Chengdu University of Information Technology,Chengdu 610225,China)
According to the early radio as the core to the flaws of the transmission of Ethernet,the network switch equipment shall provide configuration and management functions to meet the demand of the user's change,a kind of intelligent Ethernet switch network management system based on SMI bus control is researched,through the design of hardware and software for this switch,achieve the function of single SMI bus control and implementation,the MDC/MDIO read and write operations,switch configuration and management.Test results show that the user can control the power to avoid unnecessary disputes between the user and the property because of the configuration management of the switch.
SMI bus;ethernet switch;configuration;management
TN915.07
A
1674-6236(2016)22-0023-03
2015-12-04稿件編號:201512040
陳峰銘(1988—),男,湖北恩施人,碩士研究生。研究方向:無線通信技術及應用。