
可編程器件在以太網集線器中的應用
2012年05月23日 17:03 來源:互聯(lián)網 作者:秩名 我要評論(0)
1 引言
隨著以太網技術的發(fā)展和成熟,應用范圍日益廣泛。以太網的互聯(lián)技術也從早期采用專用同軸電纜的總線式網絡發(fā)展到現在的多層交換機方式。傳輸和交換的效率和可靠性大為提高。在普通的商用網絡中由于交換機性能高,擴展性強等優(yōu)勢,逐漸成為了以太網互聯(lián)的主流技術,而集線器技術已經基本不再使用,逐漸淡出市場。但是在某些特殊的應用場合需要使用一些特殊的技術,比如網絡安全方面的數據監(jiān)測、攻擊檢測、防范等。網絡系統(tǒng)往往需要將每一個網絡端口的數據進行收集和分析,如果使用交換機來完成,需要交換機具有特殊的端口監(jiān)視能力,勢必導致交換及設計復雜,使用成本高昂。如果使用集線器技術,雖然傳輸交換的效率會低一些,但是要實現監(jiān)測和數據收集將變得很容易。另外,集線器還有傳輸延時小、響應速度快等特點,對于要求實時性能的系統(tǒng)而言也是一種優(yōu)勢。目前通用的集線器已基本停產,元器件廠商也停止開發(fā)有關元器件,因此有必要采用其它方式來實現集線器的功能。本文介紹一種用可編程器件FPGA實現集線器的原理和方法。
2 集線器工作原理
集線器(Hub)工作于IS0(國際標準化組織)的OSI(開放系統(tǒng)互聯(lián))七層模型中的物理層,其實質是一個多端口的中繼器。主要功能是對接收到的信號進行再生放大。以擴大網絡的傳輸距離。因為以太網遵循“先聽后說”的CSMA/CD協(xié)議,所以計算機在發(fā)送數據前首先進行載波偵聽。只有當判定網絡空閑時,才發(fā)送數據。早期的總線方式就是所有網絡中的計算機通過一條有T型分支的同軸電纜互聯(lián)起來,計算機的網絡接口利用同軸電纜這個共享的介質完成載波偵聽和沖突檢測,從而進行有效的數據包傳遞。而現在普遍使用的交換機則不需要檢測載波,也不存在共享介質沖突等情況。集線器正是利用了以太網共享介質這個特性,實現數據包的廣播傳遞方式,從而實現監(jiān)測、數據收集等功能。雖然集線器可以提供獨立的網絡接口和通道與計算機連接,但在集線器內部,仍然采用單獨的內部總線作為共享介質。當來至多個端口數據包同時出現時必然產生碰撞和沖突現象。根據沖突檢測的原理,這時發(fā)生碰撞和沖突的數據包會丟失,因此,集線器會強化沖突,使得所有連接在該集線器上的計算機網絡接口都能正確判斷數據包的沖突,網絡接口就可以根據一定的規(guī)則重發(fā)該數據幀。也是因為如此,集線器的規(guī)模一般不能太大,而且網絡上數據包有效傳輸負載率也不能太高,否則發(fā)生沖突的概率會大大增加,造成數據多次重發(fā),甚至丟包,影響網絡的傳輸可靠性。系統(tǒng)設計時必須要考慮集線器的這些特性。
3 集線器的實現
3.1 實現方法
以太網物理層的幀結構包含前導碼、定界符和物理層凈荷,集線器根據前導碼和定界符識別出數據包進行處理。目前通用的以太網物理層收發(fā)器技術已經非常成熟。以100M以太網物理層接口器件為例,可以提供MII以及RMII等接口與數據包處理電路相連。因此,本文以RMII接口為例對集線器實現原理進行闡述。集線器要實現的功能主要有數據接收、沖突檢
測、沖突加強、數據廣播。
數據接收功能主要實現從各端口接收到的CRS_DV和RXD中提取出有效的數據包,如圖1所示,提取的依據是在接收到的CRS_DV有效并且RXD未發(fā)生載波錯誤的前提下,前導碼和SFD(定界符)以后的數據為有效的凈荷數據。由于集線器對接收的數據不作改變,直接再生后轉發(fā),所以數據存儲只需幾個時鐘周期,便于后續(xù)處理電路判斷和轉發(fā)。
沖突檢測是根據各端口的數據包是否同時到達作為判定依據的,若兩個或兩個以上的端口有數據包同時到達,則被認為發(fā)生了數據包沖突,集線器對沖突的反應是加強沖突,亦即在檢測到沖突期間向所有端口發(fā)送強化沖突包,若沖突依然存在,則間隔960ns后繼續(xù)加強沖突,直到沖突消失。在發(fā)送加強的沖突信號期間應保證其完整性,即使沖突加強期間,檢測到沖突消失,也要把加強的沖突信號發(fā)送完畢。
數據廣播是將某個端口收到的數據向其它的所有端口發(fā)送,這是集線器的基本功能,也是集線器在各個端口之間轉發(fā)數據包的唯一工作方式。如圖2所示,TX_EN是發(fā)送使能,TXD是發(fā)送數據。發(fā)出的數據包含前導碼、定界符和凈荷數據。
另外,如果FPGA規(guī)模允許,設計上還可以在可編程芯片中實現物理層功能,由FPGA處理信號電平變換、時鐘提取、數據編解碼等功能,進一步提高系統(tǒng)的集成度和可靠性。
3.2 仿真波形
本文中設計的集線器是多端口的,可編程器件實現完成后進行了模擬仿真,圖3是無沖突的情況的仿真波形,集線器將收到的端口1的數據轉發(fā)給所有端口,圖中rx_dv_in是端口的載波偵聽/數據有效標志,rxd rmii0是端口0的接收數據,tx en 0ut是端口的發(fā)送使能,txd_mii0、txd_rmii2、txd_rmii3是其中3個端口的發(fā)送數據。此時沒有沖突,數據包正常廣播出去。
集線器同時收到端口0和端口1的數據的仿真波形圖,數據包發(fā)生沖突,因此沖突檢測標志collisiON detect置高電平,然后集線器加強沖突collision enhance置高電平。期間向所有端口發(fā)送強化沖突信息、并且接收到的所有數據丟棄,以使端口重新發(fā)送數據。
4 結論
本文中討論的集線器其功能和性能完全滿足系統(tǒng)要求,同時由于采用了新型的可編程芯片,集線器的體積功耗也大為減少。用可編程芯片實現集線器,還可以不受傳統(tǒng)專用器件的局限,任意增減端口數量,配置端口類型(電纜或者光纖),提高系統(tǒng)集成度,在要求較高的特殊場合有著一定的應用價值。
上周熱點文章排行榜
上周資料下載排行榜
論壇熱帖
- 玩轉FPGA,賽靈思FPGA設計大賽活動細則,參賽必看 wangka
- 7種你從沒想過的LED照明應用,最后一個亮瞎了 assingle
- 2012,我們畢業(yè)啦-畢業(yè)季分享活動正式上線 assingle
- 【博客分享季】 我的單片機入門 kisswo
- 在辦公室里自制一個植物鍵盤 assingle
- 碉堡了,這是5星級賓館的標準阿~ 東十三少
- 點亮iphone4 LOGO燈純手工版 技術強帖?。。∶霘⒓夹g宅! 心如明鏡
- 【電子拆解無極限】四核處理器露給你看 HTC One X詳細拆解 assingle
- 【我們畢業(yè)啦】二逼青歡樂多-畢業(yè)照片回顧 cch6213
- 話說今天終于收到耳機了,曬圖 小鷹fighting
熱門博文
創(chuàng)新實用技術專題
熱評
- LM3S9B96開發(fā)板手冊及原理圖
- STM32F103ZET6紅牛電路圖
- 高通發(fā)布全新設計DragonBoard板
- NI推出Single-Board RIO嵌入式介面
- protel99se正式漢化版免費下載
- hi3515海思原版原理圖
- matlab 7.0軟件下載(免費破解版)
- TX-1C型單片機開發(fā)板原理圖
- 三菱A500變頻器原理圖
- 三相IGBT全橋隔離驅動電源設計
博文
- 問什么郵箱激活不了
- 八成大學生認同先就業(yè)后擇業(yè)
- 我的心路
- 你是否曾這樣傷害過一個人?
- 為什么郵箱激活不了
- 2012.5.12 第一個DS18B20程序
- 到底有多少人在校園里浪費青春
- 藍牙技術越來越雞肋
- 【博客分享季】 我的單片機入門
- 到底有多少人在校園里浪費青春
用戶評論
查看全部 條評論
查看全部 條評論>>