新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機(jī)控制的以太網(wǎng)交換機(jī)設(shè)計與實現(xiàn)

基于單片機(jī)控制的以太網(wǎng)交換機(jī)設(shè)計與實現(xiàn)

作者: 時間:2012-04-13 來源:網(wǎng)絡(luò) 收藏

數(shù)據(jù)進(jìn)入交換芯片(由三個芯片組成,通過ROX總線形成一個環(huán)路,可以完成數(shù)據(jù)在三個芯片之間的交換),交換芯片將獲得數(shù)據(jù)的目的地址和源地址,并對以太網(wǎng)幀進(jìn)行差錯校驗。交換芯片將源地址保存在自己的MAC地址表中,然后將目的地址與MAC地址表中的地址相匹配,以獲取數(shù)據(jù)將轉(zhuǎn)發(fā)的相應(yīng)端口。如果目的端口在同一個交換芯片中,則從SGRAM中取出數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)的端口;如果目的端口不在同一個交換芯片中,數(shù)據(jù)則通過ROX總線傳輸?shù)较鄳?yīng)的交換芯片,然后轉(zhuǎn)發(fā)出去;如果在MAC地址表中沒有找到相應(yīng)的目的地址,就將幀轉(zhuǎn)發(fā)到除源端口之外的其它屬于同一VLAN的所有端口或者某一個上連端口(與交換芯片寄存器的設(shè)置有關(guān))。

燈的顯示由PHY給出,通過燈的顯示可以觀察每個端口的工作速率、連接和數(shù)據(jù)收發(fā)等情況。

交換芯片在每次開機(jī)或復(fù)位期間,首先讀取外接EEPROM的內(nèi)容來對交換芯片寄存器進(jìn)行初始化配置。而交換芯片寄存器的內(nèi)容可以通過PC的管理程序或PC的超級終端進(jìn)行讀寫,以此來控制或讀取交換機(jī)的工作配置。

2 網(wǎng)絡(luò)交換機(jī)的軟件設(shè)計

整個網(wǎng)絡(luò)交換機(jī)系統(tǒng)的軟件包括單片機(jī)的控制軟件、EEPROM配置數(shù)據(jù)和PC機(jī)的管理程序。

單片機(jī)的控制軟件主要完成對寄存器的讀寫和與PC之間的通信。通過這個管理單元,可以將交換機(jī)配成各種工作模式,以滿足不同用戶的需求。

交換芯片通過I2C總線連接EEPROM(24C02),用于保存配置數(shù)據(jù)。在設(shè)備開機(jī)或者復(fù)位時,設(shè)備將從EEPROM讀出這些數(shù)據(jù),用于系統(tǒng)初始化。

PC機(jī)的管理程序是用戶將PC機(jī)的串口與系統(tǒng)設(shè)備連接,通過PC機(jī)的管理程序界面,很容易地對系統(tǒng)進(jìn)行配置。

2.1 的軟件設(shè)計

管理單元由單片機(jī)和串口組成,通過PC來配置EEPROM或交換芯片的寄存器。單片機(jī)主要完成對寄存器的讀寫和與PC之間的通信,串口起到一個與PC的連接作用,微制控器與串口之間還有一個電平轉(zhuǎn)換芯片,完成微控制器與PC之間信號的轉(zhuǎn)換。通過管理單元,可以將交換機(jī)配成各種工作模式,以滿足不同用戶的需求,如:10/100M速率設(shè)置、全/半雙工設(shè)置、流量控制、靜態(tài)MAC地址設(shè)置,鏡像設(shè)置,廣播風(fēng)暴控制,VLAN設(shè)置等。單片機(jī)的軟件流程如圖2所示。

基于單片機(jī)控制的以太網(wǎng)交換機(jī)設(shè)計與實現(xiàn)

各模塊介紹如下:

main——主程序;

init_uart——串口初始化;

delay——系統(tǒng)延遲;

helpMenu——幫助菜單;

systemCheck——檢查系統(tǒng)設(shè)備ID;

whict>:——命令提示符(whict是武漢化工學(xué)院的縮寫);

D——查看系統(tǒng)的整個配置數(shù)據(jù);

E——編輯系統(tǒng)的配置數(shù)據(jù);

F——對交換機(jī)的各種功能進(jìn)行配置、管理;

R——讀系統(tǒng)的配置數(shù)據(jù);

W——系統(tǒng)將當(dāng)前配置數(shù)據(jù)保存到EEPROM;

L——系統(tǒng)靜態(tài)MAC地址的配置;

M——改變系統(tǒng)的密碼;

I——系統(tǒng)軟件復(fù)位;

S——系統(tǒng)將缺省配置下載到EEPROM。

交換機(jī)相關(guān)文章:交換機(jī)工作原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉