前言:
以太网是宽带接入的未来所在,而目前的各种以太接入方式各有特点但都同时带来了它们不可避免的一些不足:ATM通过LANE(局域网仿真)来提供以太网接口,此方案支持多种业务并且保证了QoS,但网络体系结构复杂,传输效率低,开销损失大(可达25%以上);SDH通过POS(Packet Over SDH)或EOS(Ethernet Over SDH)来提供以太网接口,在一定程度上弥补了上述方案的不足,特别是在建造新网时由于省掉了中间较复杂的ATM层而现得简洁,但是对已建网络提供以太网业务接入,这些技术就显得复杂和成本过高,同时也增加了网管的复杂程度;以太网光纤收发器可以通过新增光纤来直接接入以太网,然而这会带来光纤的浪费和成本的增加。
E1是目前被广泛部署的用来处理语音通信的接入技术,如果在数据链路层直接完成以太网到E1的转换,以此来充分利用现有的E1资源,就可以实现组网简单、网络建设维护方便及建设费用低等优点,而完成这样一个系统只需要一个以太网映射器芯片。此时,E1通过PDH或SDH传输平台跨越不同地区,兼容不同技术和标准,实现LAN和WAN之间的互联或几个LAN之间的远距离互联,同时还可以取代部分VPN路由器和边缘路由器,减少网络的路由跳数(HOP),极大减少网络时延,让相距很远的几个LAN连成同一个LAN,用户可通过网上邻居来访问远端用户,简单方便。
因此本文采用美信达拉斯公司(Maxim/Dallas)的DS33Z41四路IMUX以太网映射器,利用现有的丰富E1资源来传送以太网数据,实现以太网接入的一种简明、低成本方案。
1、 DS33Z41的基本特性
DS33Z41在以太包网络和WAN时分复用系统诸如T1/E1/J1以及HDSL之间提供互联和映射。它由一个10/100M以太网MAC、包仲裁器、承诺信息速率控制器(CIR)、HDLC/X.86(LAPS)映射器、SDRAM接口、串行IBO接口、控制端口以及误码测试(BERT)组成。
以太网接口支持标准MII和RMII,因此可以和常用以太PHY器件对接:RMII模式可以工作在50MHz的参考时钟频率下,接口由7个信号线组成,MII模式可以工作在25MHz的参考时钟频率下,接口由17个信号线组成,通过管脚RMIIMIIS硬件设置就可以实现选取。无论在DTE还是DCE模式,它都可以被配置为10Mbit/s或者100Mbit/s。由于DS33Z41的REF_CLKO时钟输出可以作为REF_CLK时钟输入的源,这样可以省去对外围晶振的需求,降低成本。当端口被配置为DCE模式下的MII,REF_CLK必须是25MHz。在DCE模式时,DS33Z41会通过REF_CLK输入内部产生TX_CLK和RX_CLK输出(百兆时为25MHz,十兆时为2.5MHz),在DTE模式时,MII接口的TX_CLK和RX_CLK信号由PHY器件产生并输入给DS33Z41。
DS33Z41内含符合IEEE 802.3标准的以太媒介访问控制MAC,它对来自MII或RMII接口的数据进行处理,用户可以通过寄存器选择接收最大帧长,最大值为2016 bytes,当帧长超过这个数值时会由于被MAC拒绝而导致不可知的错误,所以在软件编程时应该避免。另外,DS33Z41的MAC接口可以通过配置阻隔FCS错误帧和小于64Bytes的短帧。每一帧数据的发送和接收都会有实时状态位可供查询,通常一帧数据包括目标地址、源地址、VLAN标签,类型长度区、数据以及CRC32校验,类型长度区的帧结构与802.3不同。
DS33Z41具有一个8bit的控制接口,可以通过两个硬件管脚被配置为Intel或者Motorola模式,通过8条地址线完成地址空间映射,但控制接口不支持复用模式。在不同总线模式下信号读取时序图可以参考数据手册①。
DS33Z41内部含有一个100MHz的SDRAM控制器,支持宽32bit容量为128Mbit的SDRAM。SDRAM在系统中的主要作用是存储发送和接收数据队列,接收数据队列缓存从以太到WAN的数据,发送数据队列缓存从WAN到以太的数据。当最大帧长为2016byte时可以缓存8192帧数据。通过软件可以调整队列大小,可以设置每个队列的高低标示,通过这个标示可以进行自动或手动的流量控制。当HDLC和MAC需要传递数据到SDRAM时由包仲裁器处理这些需求,包仲裁器的主要作用就是管理以太口和WAN同步口的数据传输。DS33Z41可以对存储在SDRAM中的封包数据实现bit位或包的加扰处理。
DS33Z41将以太业务按照HDLC或X.86(LAPS)协议封装后送到WAN网络,而WAN接口同样可以接收封装后的以太包并将其解封装后送到以太接口。由于DS33Z41具有链路汇聚功能,所以它可以将来自以太的信号反向复用到四条T1/E1线路,需要注意的是WAN物理接口是按照Dallas Semiconductor公司的交叉总线模式(IBO)工作在8.192Mbit/s。IBO接口可以通过配置实现四路T1/E1的无缝接入,支持跳空时钟。
2、 系统设计
整个系统设计如图2所示。完成以太网到E1的映射主要需要DS33Z41来完成协议数据的转换,而为了和外围网络通信,需要在E1侧加入线路接口单元,DS2654是集成成帧器和线路接口单元的单片T1/E1发送器,它在系统侧具有IBO接口,可以实现和DS33Z41的无缝连接;链路汇聚需要外部处理器发送指令并监测反向复用状态,因此选用DS80C320高速处理器来实现系统控制功能,由MAX3232实现串口配置,MAX809用来实现整板复位。
3、软件流程
系统初始化和配置如下:通过拉低RST管脚硬件复位或者通过软件复位芯片,等待5ms后复位完成,此时可以通过查询寄存器检测器件的ID号;配置系统时钟,容许时钟系统适当调节后,完成对寄存器空间的初始化,包括寄存器保留位的写入;将FFFFFFFFh写入MAC间接地址空间010Ch到010Fh,配置同步串口、以太网口,通过MDIO接口配置外部以太PHY器件;清空所有计数器值和锁存状态位,设置包仲裁器的队列大小以及重置队列指针;打开相关中断,初始化链路汇聚功能,此时就可以等待处理中断和锁定的各种状态信息,系统可以正常工作。
软件编写过程中需要注意系统上电后对寄存器空间的清零,在很多情况下系统上电后寄存器默认值为不定态。
4、 注意事项
由于整板既有模拟的E1传输部分,又有高速的SDRAM数字接口部分,所以在进行PCB布局和拉线时要注意进行走线宽度、长度的处理,防止出现串扰、反射等常见EMC问题。
首先在E1接口部分需要注意:
1) 针对不同的接口阻抗要进行匹配,可以用软件进行仿真找到最佳的走线宽度;
2) 为了保持阻抗连续,走线时尽量将信号走在同一层,避免出现过孔导致阻抗不连续;
3) TTIP与TRING,RTIP与RRING信号需要走平行线;
4) 从DS26524的输出端到变压器、从变压器到连接器的走线距离尽量保持最短。
以120欧姆双绞线连接的E1接口为例,我们可以用Allegro软件计算一下走线在顶层时的宽度:假定顶层和相邻层铜厚都是1.2Mil,FR-4绝缘系数为4.5,厚度为5Mil,此时如果要保证TTIP与TRING阻抗为30欧姆,它们的pcb走线宽度应该是20Mil;如果要保证RTIP与RRING阻抗为60欧姆,它们的pcb走线宽度应该是6Mil。
其次对于SDRAM内存部分需要注意:
1)为了保证正确的存储器读写时序和特性,对于SDRAM时钟需要做到以下的要求:时钟信号之间长度差小于±0.13cm;时钟走线宽度不小于0.2mm;时钟走线必须在连续的地线平面之上,且必须是走在最靠近地平面的信号层;
2)DS33Z41的SDCLKI由晶振提供时钟输入,SDRAM的时钟输入由DS33Z41的SDCLKO提供,因为SDRAM的时钟频率很高,达到100MHz,故SDRAM信号匹配非常重要。为保证高速信号的信号完整性,对于SDRAM接口信号均应加阻抗匹配处理,我们采用22Ω电阻串联源端匹配的方式,防止反射。