陳峰銘,胡志恒
(成都信息工程大學(xué) 四川 成都610225)
基于SMI 總線的以太網(wǎng)交換機(jī)管理功能設(shè)計(jì)與實(shí)現(xiàn)
陳峰銘,胡志恒
(成都信息工程大學(xué) 四川 成都610225)
針對(duì)早期以廣播為核心進(jìn)行傳輸?shù)囊蕴W(wǎng)存在的缺陷,網(wǎng)絡(luò)交換機(jī)設(shè)備須提供配置和管理功能來(lái)滿足用戶的變化這一需求,研究了一種基于SMI總線控制的智能以太網(wǎng)交換機(jī)網(wǎng)管系統(tǒng),通過(guò)對(duì)這一交換機(jī)軟硬件的設(shè)計(jì),實(shí)現(xiàn)了單SMI總線控制功能和實(shí)現(xiàn)、MDC/MDIO讀和寫(xiě)操作、交換機(jī)功能配置和管理。測(cè)試結(jié)果表明用戶可以自行進(jìn)行電源控制,避免了用戶與物業(yè)之間因?yàn)閷?duì)交換機(jī)的配置管理而引起的不必要的糾紛。
SMI總線;以太網(wǎng)交換機(jī);配置;管理
近年來(lái)網(wǎng)絡(luò)發(fā)展十分迅速,人們對(duì)網(wǎng)絡(luò)應(yīng)用中的高寬帶和安全性有著急切的需求,以太網(wǎng)交換機(jī)應(yīng)運(yùn)而生,它的功能越來(lái)越多,用途越來(lái)越廣[1]。以太網(wǎng)交換機(jī)工作在OSI網(wǎng)絡(luò)參考模型的數(shù)據(jù)鏈路層,它具有多個(gè)端口,每個(gè)端口都獨(dú)立工作,無(wú)沖突的進(jìn)行數(shù)據(jù)傳輸,是一種完成以太網(wǎng)數(shù)據(jù)幀轉(zhuǎn)發(fā)的網(wǎng)絡(luò)設(shè)備[2-3]。目前交換機(jī)的管理是指通過(guò)串口或者并口把交換機(jī)和主機(jī)相連,采用全雙工的方式進(jìn)行工作,用戶可以自己對(duì)以太網(wǎng)交換機(jī)進(jìn)行配置和管理。例如:網(wǎng)管型交換機(jī)就具有端口監(jiān)控、劃分VLAN等多種功能;工業(yè)以太網(wǎng)交換機(jī)需要適應(yīng)各種復(fù)雜的工業(yè)環(huán)境,提供Web、SNMP、TELNET等多種管理手段以實(shí)現(xiàn)IGMP、ACL、Qos等多協(xié)議的管理,應(yīng)用于工廠自動(dòng)化、煤礦自動(dòng)化、電力自動(dòng)化等多個(gè)領(lǐng)域。
通過(guò)MCU(微控制器單元)對(duì)交換機(jī)的SMI總線進(jìn)行控制是實(shí)現(xiàn)一個(gè)自動(dòng)饋電的控制功能,這使得管理方式更加靈活簡(jiǎn)單,實(shí)用性強(qiáng)。選用LPC936芯片來(lái)設(shè)計(jì)SMI接口也使得產(chǎn)品成本更加低廉,應(yīng)用領(lǐng)域更加廣泛,市場(chǎng)競(jìng)爭(zhēng)力增強(qiáng)。
LPC936是飛利浦公司推出的一款單片封裝的微控制器。包含4KB/8KB/16KB字節(jié)的可擦除的Flash程序存儲(chǔ)器,256字節(jié)RAM數(shù)據(jù)存儲(chǔ)器,2個(gè)16位定時(shí)/計(jì)數(shù)器和一個(gè)23位的系統(tǒng)定時(shí)器。它工作在2.4~3.6 V的電壓范圍內(nèi)。具有幀錯(cuò)誤檢測(cè)、自動(dòng)地址檢測(cè)、間隔檢測(cè)等功能。它集成了許多系統(tǒng)級(jí)的功能,很大程度上減少了元器件的數(shù)目和電路板的面積,從而降低系統(tǒng)成本。廣泛應(yīng)用于工業(yè)控制、加密系統(tǒng)、協(xié)議轉(zhuǎn)換等領(lǐng)域[4-5]。
Marvell系列88E6097F芯片則是可以實(shí)現(xiàn)高級(jí)功能8端口FE和3端口GE管理型交換機(jī)的交換芯片[6-7]。
本交換機(jī)采用了LPC936作為主控MCU,并采用2個(gè)I/O端口連接交換芯片88E6097的SMI(MDC/MDIO)總線,LPC936的端口I/O仿真SMI總線時(shí)序?qū)崿F(xiàn)對(duì)交換芯片的配置管理功能。
主控MCU和交換芯片88E6097直接通過(guò)SMI相連,連接好以后再通過(guò)隔離變壓器和8端口RJ45接口接入傳輸媒體,48轉(zhuǎn)3.3 V DC-DC電源模塊提供電源,由PHY給出燈的顯示[8]。
通過(guò)燈的顯示可以觀察每個(gè)端口是否連接,數(shù)據(jù)收發(fā)是否正常等情況。編寫(xiě)好相應(yīng)的軟件程序,就可以實(shí)現(xiàn)SMI接口的讀寫(xiě)時(shí)序。其組成的電路框圖如圖1所示。
圖1 電路框圖
LPC936擁有512字節(jié)的片內(nèi)EEPROM,數(shù)據(jù)EEPROM 由SFR控制,用戶可以通過(guò)SFR和中斷對(duì)其進(jìn)行讀、寫(xiě)和填充。交換芯片通過(guò)I2C總線連接片內(nèi)EEPROM,保存配置數(shù)據(jù)[9-10]。在每次開(kāi)機(jī)或復(fù)位期間,讀取片內(nèi)EEPROM的內(nèi)容來(lái)對(duì)交換芯片寄存器進(jìn)行初始化配置,重置芯片。
當(dāng)交換機(jī)接收到數(shù)據(jù),首先讀取的是源MAC地址,將其保存到MAC地址表中,再讀取目的MAC地址,然后在地址表中找到相應(yīng)的端口與其匹配,如果找到了對(duì)應(yīng)的端口,則把數(shù)據(jù)包復(fù)制在這端口上,如果找不到對(duì)應(yīng)的端口,就把數(shù)據(jù)包廣播到其他所有的端口上,如果目的機(jī)器對(duì)源機(jī)器作出回應(yīng),以太網(wǎng)交換機(jī)就知道目的MAC地址與哪一個(gè)端口對(duì)應(yīng),在下一次傳送數(shù)據(jù)包時(shí),無(wú)需再次廣播到其他端口。
整個(gè)以太網(wǎng)交換機(jī)系統(tǒng)的軟件的用到了keil和Smartpro,用keil編寫(xiě)程序,再使用Smartpro通過(guò)minipro,將程序燒入單片機(jī)中。交換芯片寄存器的內(nèi)容可以通過(guò)PC機(jī)端keil來(lái)配置,從而達(dá)到供電的端口可以連接,不供電的端口不能連接。單片機(jī)的軟件流程如圖2所示。
圖2 單片機(jī)的軟件流程
從主函數(shù)開(kāi)始,首先定義相關(guān)的參數(shù),調(diào)用配置的管腳以及看門(mén)狗定時(shí)器的配置,重置芯片,輸入高電平進(jìn)入大循環(huán),端口0至7的物理層功能使能,調(diào)用SMI接口管理程序(其中,根據(jù)SMI的讀寫(xiě)時(shí)序,已經(jīng)將SMI寫(xiě)入了88E6097),直到最后輸入為低電平則退出循環(huán),端口0至7的物理層功能停用,然后經(jīng)過(guò)一定時(shí)間的延遲,最后控制LED燈的顯示。整個(gè)單片機(jī)的軟件流程結(jié)束,功能實(shí)現(xiàn)。
3.1SMI總線控制功能和實(shí)現(xiàn)
SMI稱(chēng)為串行管理接口,廣泛應(yīng)用于交換模塊和網(wǎng)絡(luò)設(shè)備中,它使用的是由IEEE(電氣電子工程師協(xié)會(huì))制定的IEEE802.3u協(xié)議。其協(xié)議的22號(hào)款規(guī)定,由元數(shù)據(jù)控制器(MDC)和管理數(shù)據(jù)輸入輸出(MDIO)兩路信號(hào)組成。設(shè)備管理接口通過(guò)MDC和MDIO信號(hào)對(duì)內(nèi)部寄存器進(jìn)行訪問(wèn),MCU中的控制收發(fā)器從具有管理功能的收發(fā)器中收集相關(guān)的狀態(tài)信息,包括:自動(dòng)控制、鏈接狀態(tài)、斷電、速度能力等。
MDC是管理數(shù)據(jù)的時(shí)鐘輸入,是一個(gè)非周期的信號(hào),信號(hào)的最小周期為400 ns,它的直流運(yùn)行的最大的頻率可以達(dá)到8.3 MHz[11]。
MDIO管理數(shù)據(jù)輸入輸出,是一根雙向數(shù)據(jù)線,它傳遞的雙向信號(hào)是和MDC同步運(yùn)行的,且在MDC上升沿后0至300 ns內(nèi)有效[12]。它傳遞的是MAC層的控制信息和PHY層的狀態(tài)信息。
MDIO管腳需要一個(gè)上拉電阻在閑置和周轉(zhuǎn)時(shí)間把MDIO拉高。當(dāng)MDIO恢復(fù)成沒(méi)有數(shù)據(jù)傳輸?shù)目臻e狀態(tài)時(shí),MDIO處于高阻態(tài)。它的訪問(wèn)時(shí)間是2個(gè)時(shí)鐘。
3.2MDC/MDIO讀和寫(xiě)操作
所有相關(guān)的系列管理寄存器和一些可選的寄存器在設(shè)備的核心轉(zhuǎn)換中實(shí)施。典型MDC/MDIO讀操作如圖3所示。
圖3 典型MDC/MDIO讀操作
典型MDC/MDIO寫(xiě)操作如圖4所示。
圖4 典型MDC/MDIO寫(xiě)操作
數(shù)據(jù)鎖定MDIO的前沿,典型MDC/MDIO讀寫(xiě)操作流程表如表1所示。
典型MDC/MDIO讀寫(xiě)操作流程為:
表1 典型MDC/MDIO讀寫(xiě)操作流程表
Preamble:沒(méi)有數(shù)據(jù)傳輸?shù)目臻e狀態(tài)時(shí),先發(fā)32個(gè)1,這里一直處于高阻態(tài)。
Start:然后數(shù)據(jù)開(kāi)始時(shí)先發(fā)一個(gè)0,然后恢復(fù)到1。
Op code:接下來(lái)是2bit,這里執(zhí)行的是寫(xiě)操作01。(如果是讀則是10)。
Phy Add:再出現(xiàn)一個(gè)5位PHY地址,PHY地址和這5 個(gè)bit進(jìn)行匹配,成功則執(zhí)行下面的操作,失敗則結(jié)束操作。
Reg Add:選擇5位寄存器地址[13]。
Turn:從一個(gè)時(shí)鐘的時(shí)間轉(zhuǎn)到另一個(gè)方向,在轉(zhuǎn)向階段,這部分的時(shí)序比較特殊,在寫(xiě)操作時(shí),此階段是完整的2個(gè)時(shí)鐘周期,MAC始終驅(qū)動(dòng)MDIO,在MDC下降沿時(shí)MDIO發(fā)生變化。在讀操作時(shí),此階段并不是完整的2個(gè)時(shí)鐘周期,而是一個(gè)半時(shí)鐘周期,MAC驅(qū)動(dòng)MDIO在MDC的下降沿變化,然后MDIO總線進(jìn)入轉(zhuǎn)向階段,PHY在進(jìn)入轉(zhuǎn)向階段的半個(gè)周期后,也就是在轉(zhuǎn)向階段的第一個(gè)MDC上升沿時(shí)把MDIO拉低,并持續(xù)一個(gè)周期,轉(zhuǎn)向階段結(jié)束[14]。
Data:幀的寄存器的數(shù)據(jù)域,MDIO串行讀出/寫(xiě)入16位的寄存器數(shù)據(jù)[15]。讀操作時(shí),數(shù)據(jù)是PHY層送到MAC層的數(shù)據(jù),寫(xiě)操作時(shí),數(shù)據(jù)是MAC層送到PHY層的數(shù)據(jù).
Idle:表示MDIO恢復(fù)空閑狀態(tài)時(shí),處于高阻態(tài)。一般使用上拉電阻使其處于高電平。軟件流程圖如圖5所示。
圖5 SMI的軟件流程圖
整個(gè)解決方案是使用LPC936芯片通過(guò)SMI總線去配置管理88E6097交換機(jī)的一個(gè)開(kāi)發(fā)過(guò)程。測(cè)試結(jié)果表明該解決方案已經(jīng)實(shí)現(xiàn)了控制功能,方便用戶管理交換機(jī),運(yùn)行穩(wěn)定可靠,達(dá)到了設(shè)計(jì)的要求。
[1]張敏.社區(qū)寬帶網(wǎng)樓道交換機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2002.
[2]孫磊.嵌入式以太網(wǎng)技術(shù)的研究[D].合肥:合肥工業(yè)大學(xué),2004.
[3]韋樂(lè)平.城域電信級(jí)以太網(wǎng)的特征與新發(fā)展[J].電信科學(xué),2007(2):1-5.
[4]蔣青泉.交換技術(shù)[M].北京:高等教育出版社,2003.
[5]安淑梅,武志剛編著.網(wǎng)絡(luò)設(shè)備與管理[M].北京:北京希望電子出版社,2006.
[6]周慈航,周立功,朱旻.PHILIPS51LPC系列單片機(jī)原理及應(yīng)用設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2002.
[7]周立功.增強(qiáng)型80C51單片機(jī)速成與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[8]鄭文波.控制網(wǎng)絡(luò)技術(shù)[M].北京:清華大學(xué)出版社,2001.
[9]張培仁.基于C語(yǔ)言編程的MCS-51系列單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[10]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005.
[11]譚浩強(qiáng).C程序設(shè)計(jì)[M].2版,北京:清華大學(xué)出版社,1999.
[12]馬忠梅,馬巖,張凱.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[13]趙偉,周侗,劉明哲.一種實(shí)時(shí)以太網(wǎng)模型及其性能測(cè)試實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2006,27(6):72-74.
[14]趙鋒.電信級(jí)以太網(wǎng)技術(shù)及測(cè)試[J].電信網(wǎng)技術(shù),2008(6): 50-56.
[15]趙雋琪.運(yùn)營(yíng)商以太網(wǎng)測(cè)試[D].電信網(wǎng)技術(shù),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稿件編號(hào):201512040
陳峰銘(1988—),男,湖北恩施人,碩士研究生。研究方向:無(wú)線通信技術(shù)及應(yīng)用。