基于MPC8560的吉比特以太網接口設計(圖)
隨著網絡技術的發展,網絡通信控制器的應用已經越來越廣泛。集成powerpc微處理器的mpc8560 powerquicc ⅲ作為一個多用途、高性能的通信微處理器,具有非常靈活的一體化單元系統和外圍通信控制器,能被廣泛運用于通信和網絡系統,是目前為電信和網絡市場而設計的最先進的集成通信微處理器之一。它集成了豐富的網絡和通信外圍設備,提供了更大的靈活性、擴展能力和更高的集成度。
mpc8560簡介
mpc8560內部集成了兩個處理模塊:一個高性能嵌入式powerpc e500內核和一個通信處理模塊(cpm)。此外,該芯片還提供了片內緩存、ddr控制器、可編程中斷控制器、通用i/o口、dma和i2c等多種接口控制器。
與使用較多的mpc8260最大的不同是,mpc8560增加了兩個三速以太網控制器(three-speed ethernet controller,tsec),實現了10mb/s、100mb/s和1gb/s三種不同速度的以太網協議接口控制。本文將主要討論如何使用這兩個tsec實現吉比特以太網接口。
吉比特以太網物理層協議及接口
參考文獻上對于網絡協議的介紹往往局限于對協議分層的理論分析,對網絡協議尤其是吉比特以太網協議在實際應用中的接口討論較少,本文將對吉比特以太網協議在應用中的接口作總結性的介紹。
吉比特以太網協議的數據鏈路層與傳統的10/100mb/s以太網協議相同,但物理層有所不同。三種協議與osi七層模型的對應關系如圖1所示。
圖1 三種以太網協議與osi模型的對應關系
從圖1可以看出,吉比特以太網協議與10/100mb/s以太網協議的差別僅僅在于物理層。圖中的phy表示實現物理層協議的芯片;協調子層(reconciliation sublayer)用于實現指令轉換;mii(介質無關接口)/gmii(吉比特介質無關接口)是物理層芯片與實現上層協議的芯片的接口;mdi(介質相關接口)是物理層芯片與物理介質的接口;pcs、pma和pmd則分別表示實現物理層協議的各子層。在實際應用系統中,這些子層的操作細節將全部由phy芯片實現,只需對mii和mdi接口進行設計與操作即可。
吉比特以太網的物理層接口標準主要有四種:gmii、rgmii(reduced gmii)、tbi(ten-bit interface)和rtbi(reduced tbi)。gmii是標準的吉比特以太網接口,它位于mac層與物理層之間。對于tbi接口,圖1中pcs子層的功能將由mac層芯片實現,在降低phy芯片復雜度的同時,控制線也比gmii接口少。rgmii和rtbi兩種接口使每根數據線上的傳輸速率加倍,數據線數目減半。
由此可見,使用tbi接口來實現吉比特以太網接口所用的控制線和數據線比gmii接口少,因此設計與使用相對容易。雖然tbi接口比rtbi接口的數據線多,但是每根數據線上的傳輸速率可以低一倍,大大降低了pcb布板的難度。因此,相對其他方式,使用tbi接口實現起來最簡單,難度最低。此外,tbi接口的phy芯片比gmii接口的phy芯片成本低很多。對于同時提供gmii和tbi兩種接口的芯片,推薦使用tbi接口設計方案。
mpc8560與phy芯片的接口設計
mpc8560對四種不同的接口標準都提供了支持,本文僅討論tbi接口。
tlk2201芯片是支持tbi和rtbi兩種接口的單信道吉比特以太網絡收發器。它是業界第一批符合802.3規格的2.5v器件,無須任何外接電容,這可以節省電路板面積,減少零件的數目,從而降低產品的成本。此外,該芯片的功耗也相當低。
圖2 mpc8560與tlk2201的接口設計
mpc8560與tlk2201的連接如圖2所示。需要注意的是,td0~td9和rd0~rd9并不全是數據線。td8對應tx_er,作為發送出錯標志位;td9對應tx_en,作為發送使能位;rd8對應rx_dv,作為接收數據有效位;rd9對應rx_er,作為接收差錯檢測位。
此外還應注意到,圖中使用的是sfp(可插拔)光模塊,這是因為tlk2201只提供了光模塊吉比特以太網接口。
對tsec控制器的初始化
mpc8560對tsec控制器的初始化過程如下。只要按照順序逐一完成相應的步驟,即可正確配置tsec的吉比特網絡接口。
- 設置maccfg1寄存器,對mac進行軟復位;
- 清除maccfg1寄存器的軟復位;
- 設置maccfg2寄存器,選擇tsec工作模式(如全雙工或半雙工、crc校驗是否使能等);
- 初始化寄存器ecntrl,設置接口為tbi標準;
- 設置mac地址、物理地址;
- 設置mii口的速率,使用mdio對phy進行初始化;
- 清除并設置中斷相關的寄存器ievent和imask;
- 設置hash表和hash寄存器;
- 初始化接收控制寄存器rctrl;
- 設置dma控制寄存器dmatrl;
- 設置接收緩沖區大小;
- 設置收發緩沖描述符(buffer descriptor,bd);
- 設置maccfg1中的收發使能位,完成tsec初始化。
在初始化tsec的過程中尤其要注意在設置寄存器后,控制器處于不穩定狀態,不能馬上執行下一步的操作,需要作一定的延遲等待。通常,可以讀取相應的狀態寄存器以判斷是否可以繼續下一步,也可以使用某些操作系統提供的定時延遲來完成,如vxworks中的taskdelay()。
測試及其結果
為了測試設計好的吉比特以太網接口的性能,將吉比特以太網接口與專門測試網絡接口性能的儀器smartbits相連。一個最為簡單的測試方法是使用smartbits發送數據包到mpc8560的吉比特以太網接口,mpc8560接到數據包后,將數據直接返還給smartbits。smartbits將會統計并顯示測試結果。
圖3 吉比特以太網接口測試結果
測試結果如圖3所示,傳輸速率(rates)可以達到1gb/s左右,而且還略有裕量。
為了測試吉比特以太網接口更為全面的性能,需要對不同大小的數據包、突發大量數據流等進行測試,限于篇幅,不再討論具體的測試細節。
設計中的注意事項
由于數據線上的傳輸速率相對較高,硬件部分的設計需要注意以下幾點。
- tbi接口每根數據線的傳輸速率是125mb/s,為了保證采樣與信號的同步,接收信號線rd0~rd9的長度和接收時鐘線rxclk必須等長。同理,發送信號線td0~td9的長度和發送時鐘線txclk也必須等長。
- 為了保證阻抗匹配,tbi接口所有信號線的阻抗必須控制在50ω
評論