新闻中心

EEPW首页>设计应用> 基于MPC8560的吉比特以太网接口设计(图)

基于MPC8560的吉比特以太网接口设计(图)

——
作者:厦门大学 时斌 时间:2007-02-06 来源: 收藏

随着网络技术的发展,网络通信控制器的应用已经越来越广泛。集成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器件,无须任何外接电容,这可以节省电路板面积,减少零件的数目,从而降低产品的成本。此外,该芯片的功耗也相当低。

图2mpc8560与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的吉比特网络接口。

  1. 设置maccfg1寄存器,对mac进行软复位;
  2. 清除maccfg1寄存器的软复位;
  3. 设置maccfg2寄存器,选择tsec工作模式(如全双工或半双工、crc校验是否使能等);
  4. 初始化寄存器ecntrl,设置接口为tbi标准;
  5. 设置mac地址、物理地址;
  6. 设置mii口的速率,使用mdio对phy进行初始化;
  7. 清除并设置中断相关的寄存器ievent和imask;
  8. 设置hash表和hash寄存器;
  9. 初始化接收控制寄存器rctrl;
  10. 设置dma控制寄存器dmatrl;
  11. 设置接收缓冲区大小;
  12. 设置收发缓冲描述符(buffer descriptor,bd);
  13. 设置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ω

关键词:

评论


相关推荐

技术专区

关闭