摘要 介紹基于單片機(jī)控制的智能以太網(wǎng)交換機(jī)的研制過程,包括硬件電路、單片機(jī)軟件和PC的管理程序。用戶通過PC的管理程序或PC的超級(jí)終端,可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)交換機(jī)的配置和管理。
關(guān)鍵詞 單片機(jī) 以太網(wǎng)交換機(jī) AL101
引言
隨著計(jì)算機(jī)性能的提高及通信量的聚增,傳統(tǒng)局域網(wǎng)已經(jīng)越來越超出了自身負(fù)荷,交換式以太網(wǎng)技術(shù)應(yīng)運(yùn)而生,大大提高了局域網(wǎng)的性能。網(wǎng)絡(luò)交換機(jī)能顯著的增加帶寬,可以建立地理位置相對(duì)分散的網(wǎng)絡(luò)。局域網(wǎng)交換機(jī)的每個(gè)端口可并行、安全、實(shí)時(shí)傳輸信息,而且性能穩(wěn)定、結(jié)構(gòu)靈活、易于安裝、便于管理,能很好地滿足企業(yè)網(wǎng)和電信運(yùn)營商寬帶接入的需求。
1 網(wǎng)絡(luò)交換機(jī)的硬件設(shè)計(jì)
隨著人們對(duì)網(wǎng)絡(luò)應(yīng)用中的安全性和高帶寬的需求,網(wǎng)絡(luò)交換機(jī)的用途越來越廣。本交換機(jī)采用了AL101芯片的ROX總線,將3個(gè)8口交換芯片連接起來,組成了1個(gè)24端口交換機(jī),滿足了用戶對(duì)多交換端口的需求。
1.1 電路性能要求
交換機(jī)的高速PCB電路板,在EMC和ESD上都有比較高的要求。它采用了75MHz、50MHz的高速時(shí)鐘,需要晶振的精度小于50PPM,同時(shí)時(shí)鐘需要通過時(shí)鐘分配電路送給不同的芯片,它需要分配的時(shí)鐘之間的相位差小于2ns。
交換機(jī)有24個(gè)10/100M自適應(yīng)端口,每個(gè)端口都能達(dá)到線速交換。根據(jù)用戶需要可對(duì)端口進(jìn)行10/100M速率、全/半雙工、流量控制、靜態(tài)MAC地址、鏡像、VLAN等設(shè)置。
1.2 交換機(jī)的原理框圖
本交換機(jī)的交換技術(shù)采用存儲(chǔ)-轉(zhuǎn)發(fā)方式,主要由接口單元、交換單元、管理單元、燈顯示單元和電源接口單元五部分組成。其組成的方框圖如圖1所示。
圖1 電路框圖
RJ45接口收到以太網(wǎng)幀結(jié)構(gòu)的數(shù)據(jù)包后,經(jīng)過變壓器隔離和阻抗匹配后送到PHY(物理接口芯片),在此芯片中完成模擬信號(hào)到RMII接口的數(shù)字信號(hào)的變換,并獲得鏈路狀態(tài)、沖突、信息是否超長,速率等信息。
數(shù)據(jù)進(jìn)入交換芯片(由三個(gè)芯片組成,通過ROX總線形成一個(gè)環(huán)路,可以完成數(shù)據(jù)在三個(gè)芯片之間的交換),交換芯片將獲得數(shù)據(jù)的目的地址和源地址,并對(duì)以太網(wǎng)幀進(jìn)行差錯(cuò)校驗(yàn)。交換芯片將源地址保存在自己的MAC地址表中,然后將目的地址與MAC地址表中的地址相匹配,以獲取數(shù)據(jù)將轉(zhuǎn)發(fā)的相應(yīng)端口。如果目的端口在同一個(gè)交換芯片中,則從SGRAM中取出數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)的端口;如果目的端口不在同一個(gè)交換芯片中,數(shù)據(jù)則通過ROX總線傳輸?shù)较鄳?yīng)的交換芯片,然后轉(zhuǎn)發(fā)出去;如果在MAC地址表中沒有找到相應(yīng)的目的地址,就將幀轉(zhuǎn)發(fā)到除源端口之外的其它屬于同一VLAN的所有端口或者某一個(gè)上連端口(與交換芯片寄存器的設(shè)置有關(guān))。
燈的顯示由PHY給出,通過燈的顯示可以觀察每個(gè)端口的工作速率、連接和數(shù)據(jù)收發(fā)等情況。
交換芯片在每次開機(jī)或復(fù)位期間,首先讀取外接EEPROM的內(nèi)容來對(duì)交換芯片寄存器進(jìn)行初始化配置。而交換芯片寄存器的內(nèi)容可以通過PC的管理程序或PC的超級(jí)終端進(jìn)行讀寫,以此來控制或讀取交換機(jī)的工作配置。
2 網(wǎng)絡(luò)交換機(jī)的軟件設(shè)計(jì)
整個(gè)網(wǎng)絡(luò)交換機(jī)系統(tǒng)的軟件包括單片機(jī)的控制軟件、EEPROM配置數(shù)據(jù)和PC機(jī)的管理程序。
單片機(jī)的控制軟件主要完成對(duì)寄存器的讀寫和與PC之間的通信。通過這個(gè)管理單元,可以將交換機(jī)配成各種工作模式,以滿足不同用戶的需求。
交換芯片通過I2C總線連接EEPROM(24C02),用于保存配置數(shù)據(jù)。在設(shè)備開機(jī)或者復(fù)位時(shí),設(shè)備將從EEPROM讀出這些數(shù)據(jù),用于系統(tǒng)初始化。
PC機(jī)的管理程序是用戶將PC機(jī)的串口與系統(tǒng)設(shè)備連接,通過PC機(jī)的管理程序界面,很容易地對(duì)系統(tǒng)進(jìn)行配置。
2.1 單片機(jī)控制的軟件設(shè)計(jì)
管理單元由單片機(jī)和串口組成,通過PC來配置EEPROM或交換芯片的寄存器。單片機(jī)主要完成對(duì)寄存器的讀寫和與PC之間的通信,串口起到一個(gè)與PC的連接作用,微制控器與串口之間還有一個(gè)電平轉(zhuǎn)換芯片,完成微控制器與PC之間信號(hào)的轉(zhuǎn)換。通過管理單元,可以將交換機(jī)配成各種工作模式,以滿足不同用戶的需求,如:10/100M速率設(shè)置、全/半雙工設(shè)置、流量控制、靜態(tài)MAC地址設(shè)置,鏡像設(shè)置,廣播風(fēng)暴控制,VLAN設(shè)置等。單片機(jī)的軟件流程如圖2所示。
圖2 單片機(jī)的軟件流程