基于MPC8560的吉比特以太網接口設計
——
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Ω
評論