<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > KS8993型高性能交換電路及其應用

          KS8993型高性能交換電路及其應用

          ——
          作者:廖小芳,李明,羅小巧 時間:2007-01-26 來源:《國外電子元器件》 收藏



          1 引言

          本文引用地址:http://www.ex-cimer.com/article/20792.htm

          kendin公司推出的ks8993是業(yè)界第一款包含3端口10/100物理層收發(fā)器、3個帶有1個layer2交換器的mac單元以及緩存的高性能以太網(wǎng)快速交換電路,集成了10baset/100basetx/100basefxphy和16k×32的sram緩沖區(qū),其帶寬可達到1gbps。具有低功耗、功能齊全和易于調試等特點。

          ks8993主要具有以下特性:

          符合ieee 802.3以太網(wǎng)標準和ieee 802.3μ快速以太網(wǎng)標準;

          支持基于端口的vlan,基于硬件的10/100速率轉換及自動協(xié)商機制;

          支持10m/100m和全雙工/半雙工自適應功能;

          支持全雙工的ieee802.3x流量控制及半雙工的流量控制;

          片內集成地址對照引擎、自動地址分析、老化和移位;

          mac地址自學習、自更新功能;

          可支持優(yōu)先級排隊、未屏蔽雙絞線和光纖;

          采用128引腳的pqfp型封裝。

          2 內部結構

          圖1是ks8993的內部結構框圖。下面介紹ks8993中各主要模塊的原理。

          (1)地址對照引擎

          ks8993內置存儲mac地址及其相關信息的地址對照表。該表能夠提供1k字48位的中央地址存儲器地址和交換信息。

          (2)sram緩沖器

          ks8993內置一個用于存儲幀的16k字32位的sram緩沖器。這一資源是由該電路的3個端口共享。每個端口分配多大空間的緩沖器可以通過系統(tǒng)設置來決定。

          (3)流量控制

          在ks8993中,幀的接收與發(fā)送支持802.3x標準。ks8993剛剛接收一個數(shù)據(jù)包,假如該數(shù)據(jù)包的目標端口資源被占用,ks8993將對接收數(shù)據(jù)包的端口進行流量控制。這時,ks8993會發(fā)出一個含有最大停頓時間的流量控制幀。一旦目標端口資源被釋放,ks8993就發(fā)出其他不含停頓時間的幀。

          3 ks8993的輸入接口和輸出接口

          如圖2所示,ks8993的輸入接口和輸出接口主要分為:物理接口、mii接口、串行網(wǎng)絡接口、led指示接口、非管理編程接口、控制和其他接口、工廠測試接口、電源和地接口。

          3.1 物理接口

          ks8993分別提供3路收發(fā)信號接口,分為變壓器和光纖兩種模式與媒體介質相連。光纖模式下,三路光信號檢測接口接光纖信號檢測輸出口可完成光信號檢測。還需為傳輸數(shù)據(jù)設置抽頭變壓器參考值,并設置發(fā)送電流值。

          3.2 介質無關接口(mii)

          介質無關接口(mii)的作用是使物理層可以支持不同的介質類型。mii引腳信號包括接收、發(fā)送數(shù)據(jù)、發(fā)送使能、沖突監(jiān)測、收發(fā)時鐘和故障指示等。還提供了載波活動、沖突檢測和管理接口信號。數(shù)據(jù)穿越mii的速率是每個時鐘周期為一個半位元組(4位),即25mbps。

          mii工作在forward和backward兩種模式下。在forward模式下,ks8993的mac3利用外接的phy進行通信;在backward模式下,外部的mac利用ks8993的phy3進行通信。

          3.3 串行網(wǎng)絡接口

          串行網(wǎng)絡接口與用于網(wǎng)絡層協(xié)議處理的控制器兼容,可以直接與這些類型的設備連接。傳輸信號分為兩類:一類負責發(fā)送,包括發(fā)送使能、沖突檢測、串行發(fā)送數(shù)據(jù)和發(fā)送時鐘等。另一類負責接收,包括載波監(jiān)聽、串行接收和接收時鐘。

          3.4 led指示接口

          狀態(tài)指示信號可以設置為速度指示、沖突指示、全雙工/半雙工指示等??梢愿鶕?jù)需要外接一定數(shù)目的led燈指示電路的工作狀況。

          3.5 非管理編程接口

          按功能表設置modesel[3:0]引腳電平可規(guī)定led的工作模式。設置mtxd[3:1]引腳可實現(xiàn)全雙工和半雙工模式。設置miis[1:0]引腳使ks8993的mii接口工作在forward或reverse模式。設置mrxd[0]引腳為高電平,ks8993可禁止mac3的自動協(xié)商功能。設置mrxd[3]引腳為低電平,使ks8993的mac3工作在半雙工模式。諸如此類,靈活設置這些非管理編程接口電平還可以實現(xiàn)自動協(xié)商機制、mac地址自學習、符合802.1p的優(yōu)先級排隊、自更新等功能。

          3.6 控制和其他接口

          接外部晶振或輸入時鐘信號和系統(tǒng)復位信號。

          3.7 電源和地接口

          ks8993采用單2.5v工作電壓,包括收發(fā)驅動器在內的總功耗為300ma(750mw),具有低損耗特性。

          4 典型應用

          ks8993包含3端口10/100自適應物理層收發(fā)器和3個帶有一個layer 2交換器的mac單元。

          在實際應用中,ks8993既可以配置為一個獨立的3端口器件,如圖3(a)所示,也可以為了滿足需要(如將dsl與一部ip電話和pc相連時),配置成為兩端口加一個mii端口的形式,如圖3(b)所示。mii端口可以連接外部處理器,用于路由目的和公共網(wǎng)絡訪問。

          圖4是ks8993在ip電話中的應用。端口1連接個人計算機,端口2連接電話,端口3則設置成mii端口,用于路由目的。

          ks8993的每一個端口都設有一個3位的vlan掩碼寄存器(pv1、pv2和pv3)。通過設置寄存器中的掩碼,可以設定ks8993中3個端口的功能,其中,一個典型的應用是將2個端口設置成轉換器,另一個端口設置為路由器。要實現(xiàn)這一功能,3個vlan掩碼寄存器的設置為pv1(1,0,1)、pv2(0,1,1)和pv3(1,1,1)。在這個設置中,ks8993可以用于連接2個vlan,vlan1包括端口1和端口3,vlan2包括端口2和端口3。當vmdis(vlan mismatch discard)=1時,端口1和端口2之間不能直接通信,此時端口3就要在端口1所屬的vlan1和端口2所屬的vlan2之間進行路由選擇。當vmdis=0時,如果端口收發(fā)的是廣播數(shù)據(jù)包,則所有端口之間都可以直接通信;如果端口收發(fā)的是多播數(shù)據(jù)包,那么這些數(shù)據(jù)包的傳輸將被限制在同一個vlan中。vmdis=0這種特性常被用于廣播/多播協(xié)議轉換。

          5 結束語

          使用ks8993時應當注意:在reverse操作下,mii接口不給ks8993提供接收報錯信號,而在forward模式下,不提供發(fā)送報錯信號;必要時,當ks8993不能達到發(fā)送端電壓值(約2.2v或高于2.2v)時,可將電源電壓提高到2.65v;在接線時,模擬地和數(shù)字地應分開,只在電源處單點相連,防止產生干擾。



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();