基于MPC8560的吉比特以太網(wǎng)接口設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)通信控制器的應(yīng)用已經(jīng)越來越廣泛。集成PowerPC微處理器的MPC8560 PowerQUICC Ⅲ作為一個(gè)多用途、高性能的通信微處理器,具有非常靈活的一體化單元系統(tǒng)和外圍通信控制器,能被廣泛運(yùn)用于通信和網(wǎng)絡(luò)系統(tǒng),是目前為電信和網(wǎng)絡(luò)市場(chǎng)而設(shè)計(jì)的最先進(jìn)的集成通信微處理器之一。它集成了豐富的網(wǎng)絡(luò)和通信外圍設(shè)備,提供了更大的靈活性、擴(kuò)展能力和更高的集成度。
MPC8560簡(jiǎn)介
MPC8560內(nèi)部集成了兩個(gè)處理模塊:一個(gè)高性能嵌入式PowerPC e500內(nèi)核和一個(gè)通信處理模塊(CPM)。此外,該芯片還提供了片內(nèi)緩存、DDR控制器、可編程中斷控制器、通用I/O口、DMA和I2C等多種接口控制器。
與使用較多的MPC8260最大的不同是,MPC8560增加了兩個(gè)三速以太網(wǎng)控制器(Three-Speed Ethernet Controller,TSEC),實(shí)現(xiàn)了10Mb/s、100Mb/s和1Gb/s三種不同速度的以太網(wǎng)協(xié)議接口控制。本文將主要討論如何使用這兩個(gè)TSEC實(shí)現(xiàn)吉比特以太網(wǎng)接口。
吉比特以太網(wǎng)物理層協(xié)議及接口
參考文獻(xiàn)上對(duì)于網(wǎng)絡(luò)協(xié)議的介紹往往局限于對(duì)協(xié)議分層的理論分析,對(duì)網(wǎng)絡(luò)協(xié)議尤其是吉比特以太網(wǎng)協(xié)議在實(shí)際應(yīng)用中的接口討論較少,本文將對(duì)吉比特以太網(wǎng)協(xié)議在應(yīng)用中的接口作總結(jié)性的介紹。
吉比特以太網(wǎng)協(xié)議的數(shù)據(jù)鏈路層與傳統(tǒng)的10/100Mb/s以太網(wǎng)協(xié)議相同,但物理層有所不同。三種協(xié)議與OSI七層模型的對(duì)應(yīng)關(guān)系如圖1所示。
圖1 三種以太網(wǎng)協(xié)議與OSI模型的對(duì)應(yīng)關(guān)系
從圖1可以看出,吉比特以太網(wǎng)協(xié)議與10/100Mb/s以太網(wǎng)協(xié)議的差別僅僅在于物理層。圖中的PHY表示實(shí)現(xiàn)物理層協(xié)議的芯片;協(xié)調(diào)子層(Reconciliation sublayer)用于實(shí)現(xiàn)指令轉(zhuǎn)換;MII(介質(zhì)無關(guān)接口)/GMII(吉比特介質(zhì)無關(guān)接口)是物理層芯片與實(shí)現(xiàn)上層協(xié)議的芯片的接口;MDI(介質(zhì)相關(guān)接口)是物理層芯片與物理介質(zhì)的接口;PCS、PMA和PMD則分別表示實(shí)現(xiàn)物理層協(xié)議的各子層。在實(shí)際應(yīng)用系統(tǒng)中,這些子層的操作細(xì)節(jié)將全部由PHY芯片實(shí)現(xiàn),只需對(duì)MII和MDI接口進(jìn)行設(shè)計(jì)與操作即可。
吉比特以太網(wǎng)的物理層接口標(biāo)準(zhǔn)主要有四種:GMII、RGMII(Reduced GMII)、TBI(Ten-Bit Interface)和RTBI(Reduced TBI)。GMII是標(biāo)準(zhǔn)的吉比特以太網(wǎng)接口,它位于MAC層與物理層之間。對(duì)于TBI接口,圖1中PCS子層的功能將由MAC層芯片實(shí)現(xiàn),在降低PHY芯片復(fù)雜度的同時(shí),控制線也比GMII接口少。RGMII和RTBI兩種接口使每根數(shù)據(jù)線上的傳輸速率加倍,數(shù)據(jù)線數(shù)目減半。
由此可見,使用TBI接口來實(shí)現(xiàn)吉比特以太網(wǎng)接口所用的控制線和數(shù)據(jù)線比GMII接口少,因此設(shè)計(jì)與使用相對(duì)容易。雖然TBI接口比RTBI接口的數(shù)據(jù)線多,但是每根數(shù)據(jù)線上的傳輸速率可以低一倍,大大降低了PCB布板的難度。因此,相對(duì)其他方式,使用TBI接口實(shí)現(xiàn)起來最簡(jiǎn)單,難度最低。此外,TBI接口的PHY芯片比GMII接口的PHY芯片成本低很多。對(duì)于同時(shí)提供GMII和TBI兩種接口的芯片,推薦使用TBI接口設(shè)計(jì)方案。
MPC8560與PHY芯片的接口設(shè)計(jì)
MPC8560對(duì)四種不同的接口標(biāo)準(zhǔn)都提供了支持,本文僅討論TBI接口。
TLK2201芯片是支持TBI和RTBI兩種接口的單信道吉比特以太網(wǎng)絡(luò)收發(fā)器。它是業(yè)界第一批符合802.3規(guī)格的2.5V器件,無須任何外接電容,這可以節(jié)省電路板面積,減少零件的數(shù)目,從而降低產(chǎn)品的成本。此外,該芯片的功耗也相當(dāng)?shù)汀?/P>
圖2 MPC8560與TLK2201的接口設(shè)計(jì)
MPC8560與TLK2201的連接如圖2所示。需要注意的是,TD0~TD9和RD0~RD9并不全是數(shù)據(jù)線。TD8對(duì)應(yīng)Tx_ER,作為發(fā)送出錯(cuò)標(biāo)志位;TD9對(duì)應(yīng)Tx_EN,作為發(fā)送使能位;RD8對(duì)應(yīng)Rx_DV,作為接收數(shù)據(jù)有效位;RD9對(duì)應(yīng)Rx_ER,作為接收差錯(cuò)檢測(cè)位。
此外還應(yīng)注意到,圖中使用的是SFP(可插拔)光模塊,這是因?yàn)門LK2201只提供了光模塊吉比特以太網(wǎng)接口。
對(duì)TSEC控制器的初始化
MPC8560對(duì)TSEC控制器的初始化過程如下。只要按照順序逐一完成相應(yīng)的步驟,即可正確配置TSEC的吉比特網(wǎng)絡(luò)接口。
- 設(shè)置MACCFG1寄存器,對(duì)MAC進(jìn)行軟復(fù)位;
- 清除MACCFG1寄存器的軟復(fù)位;
- 設(shè)置MACCFG2寄存器,選擇TSEC工作模式(如全雙工或半雙工、CRC校驗(yàn)是否使能等);
- 初始化寄存器ECNTRL,設(shè)置接口為TBI標(biāo)準(zhǔn);
- 設(shè)置MAC地址、物理地址;
- 設(shè)置MII口的速率,使用MDIO對(duì)PHY進(jìn)行初始化;
- 清除并設(shè)置中斷相關(guān)的寄存器IEVENT和IMASK;
- 設(shè)置Hash表和Hash寄存器;
- 初始化接收控制寄存器RCTRL;
- 設(shè)置DMA控制寄存器DMATRL;
- 設(shè)置接收緩沖區(qū)大??;
- 設(shè)置收發(fā)緩沖描述符(Buffer Descriptor,BD);
- 設(shè)置MACCFG1中的收發(fā)使能位,完成TSEC初始化。
在初始化TSEC的過程中尤其要注意在設(shè)置寄存器后,控制器處于不穩(wěn)定狀態(tài),不能馬上執(zhí)行下一步的操作,需要作一定的延遲等待。通常,可以讀取相應(yīng)的狀態(tài)寄存器以判斷是否可以繼續(xù)下一步,也可以使用某些操作系統(tǒng)提供的定時(shí)延遲來完成,如VxWorks中的taskDelay()。
測(cè)試及其結(jié)果
為了測(cè)試設(shè)計(jì)好的吉比特以太網(wǎng)接口的性能,將吉比特以太網(wǎng)接口與專門測(cè)試網(wǎng)絡(luò)接口性能的儀器SmartBits相連。一個(gè)最為簡(jiǎn)單的測(cè)試方法是使用SmartBits發(fā)送數(shù)據(jù)包到MPC8560的吉比特以太網(wǎng)接口,MPC8560接到數(shù)據(jù)包后,將數(shù)據(jù)直接返還給SmartBits。SmartBits將會(huì)統(tǒng)計(jì)并顯示測(cè)試結(jié)果。
圖3 吉比特以太網(wǎng)接口測(cè)試結(jié)果
測(cè)試結(jié)果如圖3所示,傳輸速率(Rates)可以達(dá)到1Gb/s左右,而且還略有裕量。
為了測(cè)試吉比特以太網(wǎng)接口更為全面的性能,需要對(duì)不同大小的數(shù)據(jù)包、突發(fā)大量數(shù)據(jù)流等進(jìn)行測(cè)試,限于篇幅,不再討論具體的測(cè)試細(xì)節(jié)。
設(shè)計(jì)中的注意事項(xiàng)
由于數(shù)據(jù)線上的傳輸速率相對(duì)較高,硬件部分的設(shè)計(jì)需要注意以下幾點(diǎn)。
- TBI接口每根數(shù)據(jù)線的傳輸速率是125Mb/s,為了保證采樣與信號(hào)的同步,接收信號(hào)線RD0~RD9的長(zhǎng)度和接收時(shí)鐘線RxCLK必須等長(zhǎng)。同理,發(fā)送信號(hào)線TD0~TD9的長(zhǎng)度和發(fā)送時(shí)鐘線TxCLK也必須等長(zhǎng)。
- 為了保證阻抗匹配,TBI接口所有信號(hào)線的阻抗必須控制在50Ω±5%。
- 光模塊的輸入信號(hào)是高速差分信號(hào),設(shè)計(jì)時(shí)應(yīng)該注意接收與發(fā)送的兩對(duì)差分信號(hào)線必須等長(zhǎng)。同時(shí),差分阻抗需要控制在100Ω±5%,以保證阻抗匹配。
- 為了保證電源干凈,TLK2201的PLL電源輸入端必須加濾波器。
驅(qū)動(dòng)軟件部分的設(shè)計(jì)需要注意以下幾點(diǎn)。 - GE端口收發(fā)對(duì)于軟件處理能力要求較高,需要仔細(xì)設(shè)計(jì)收發(fā)緩沖區(qū)的深度,合理調(diào)度收發(fā)處理程序,保證數(shù)據(jù)收發(fā)性能。
- 對(duì)于BD表的維護(hù),需要正確維護(hù)BD讀寫指針和BD的狀態(tài)標(biāo)志位,以避免緩沖區(qū)重疊和溢出。尤其應(yīng)注意BD讀寫指針需要根據(jù)收發(fā)緩沖區(qū)的大小,在合適位置進(jìn)行循環(huán)。
- 如果設(shè)置了PHY使用自協(xié)商(auto-negotiation)方式,一定要在自協(xié)商方式正常工作后,才能設(shè)置TSEC是否使用全雙工或半雙工模式。