| 二层交换芯片ZL50418在软交换中的应用解决方案 |
| 类别:通信网络 |
|                   软交换是下一代网络(NGN)的重要组件。如果说传统电信网络是基于程控交换机的网络,那么下一代分组话音网络则是基于软交换的网络。软交换对硬件运行平台提出了很高的要求。业界一般以一个机箱多块插卡的方式来提供强大的处理能力,特别是信号处理卡,承担了语音信号的压缩和解压缩等运算繁重的任务。本文将着重介绍二层交换芯片ZL50418在信号处理卡中的电路设计和底层驱动软件的设计。     在笔者设计的系统中,整个机箱共有8个槽位,其中信号处理卡占了6个槽位。每块卡上集中了8颗DSP芯片。二层交换芯片ZL50418一方面连接8个DSP,通过一个千兆网口,输送到以太网接口卡上,形成数据通路;另一方面,建立起CPU和DSP的控制通路。如图1所示,两个通路分属两个虚拟局域网(VLAN):VLAN1和VLAN2,互不干扰。VLAN1(实线所示)由2个GE口和8个百兆网口组成,VLAN2(虚线所示)由1个CPU端口和8个百兆网口组成。                    图1:二层交换连接示意图。     ZL50418芯片原理介绍     ZL50418是卓联(Zarlink)公司开发的一款高密度、低成本、高效无阻塞以太网交换芯片,集成了16个10/100M(FE)以太网端口、2个支持热插拔的1000M(GE)端口和1个CPU端口,CPU端口也被芯片看作是一个网口。如图2所示,ZL50418的共享存储器架构支持高达9.524Mpps的包转发速率,最大吞吐量为3.6Gbps。芯片支持64K MAC地址和255个VLAN,包括基于端口的VLAN和VLAN标签两种模式。     帧缓存(FDB)接口支持100MHz流水线式、同步突发存储器(SBRAM),两条64位总线分别连接到两组SBRAM(A和B),容量可以是2MB或4MB。两组存储器的最大带宽为12.8Gbps,足以支持16个FE口和2个GE口的全速交换。SBRAM中存放了交换数据库、VLAN配置表、MAC地址与物理端口映射表等数据,两片存储区域存放的内容相同,而且同步更新。本系统选用的SBRAM芯片是Micron公司的MT58L256L32P1,每片容量为256×32Mb,共4片。     引擎的主要功能是将帧转发到目的端口。搜索引擎根据目的MAC地址或IP组播地址,搜索数据库,找到帧的目的端口。同时,它执行MAC学习、优先级安排、端口捆绑等功能。                    图2:ZL50418的结构。     GMII模块遵循IEEE802.3z标准,在帧引擎和外部PHY之间提供了必要的缓存和控制接口,支持GMII和MII。物理编码子层(PCS)支持光接口。     10/100 RMII模块遵循IEEE802.3标准,提供了两种接口:RMII和串行接口(只适合于10M)。帧控制块(FCB)包含了FDB中存储的帧的控制信息,例如:帧长、读/写指针、传送优先级。MCT(MAC地址控制表)链表存放了与外部MAC表有冲突的MCT的链表。LED接口能够显示16+2个端口的状态。     芯片支持两种工作模式:管理模式和无管理模式(决定于上电时TSTOUT6引脚电平)。在管理模式下,CPU可以通过8/16位CPU接口发送控制帧给芯片,或者访问芯片的网络管理数据库。在无管理模式下,芯片不外接CPU,由上电时I2C总线上的EEPROM或同步串口来配置。 1. MAC直连电路设计                    图3:MAC直连示意图。     为了节省电路板空间,降低功耗和成本,在ZL50418和DSP、ZL50418和CPU之间,抛弃了两端的PHY芯片,采用了MAC直连的方式。如图3所示。     a. RMII直连     引脚Mn_TxEN在上电时的电平决定了FE口是否采用RMII模式。在RMII直连的情况下,网口设置为10/100M全双工模式。     b. GMII直连     引脚Gn_TxEN和Gn_TxER在上电时的电平决定了GE口是否采用GMII模式。在GMII直连的情况下,网口设置为1000M全双工模式。     在PCB布线时,由于网口信号是高速信号,必须考虑:     (1)所有数据线和时钟信号线的长度尽可能相等,以获得最低的数据误码率;     (2)通过调整走线宽度和厚度,将接口信号线阻抗控制在50欧姆;     (3)时钟信号走线至少间距8mil(1mil=千分之一英寸);其它信号线与时钟信号线至少间距16mil;相同层或相邻层与时钟信号并行的走线至少距离时钟信号线1英寸;     (4)每个振荡器的焊接位置处必须有接地的覆铜层,以防止其产生的噪声与其它层信号噪声的相互干扰;     (5)尽可能采用金属外壳的振荡器,且精度为(25ppm,并尽量靠近所驱动的芯片,滤波电容尽量靠近芯片的电源和地引脚;其它信号尽可能远离时钟区域;                    图4:VLAN ID与VIX的映射。     (6)在时钟分配芯片的输出端尽量串接电阻,增强时钟信号质量。     2. 底层驱动设计     ZL50418具有多个可编程参数,其内部寄存器分为以下几组:以太网端口控制寄存器组;VLAN控制寄存器组;捆绑控制寄存器组;CPU端口配置寄存器组;搜索引擎配置寄存器组;缓存和QoS控制寄存器组;端口镜像寄存器组;器件配置寄存器组;杂散寄存器组。     底层驱动软件一方面是配置这些寄存器,另一方面是配置VLAN表、MAC地址映射表等存放在缓存中的数据结构,并且给上层软件提供各种接口函数。CPU通过访问ZL50418的直接寻址寄存器来间接访问这些寄存器。在编程过程中,值得一提的是CPU端口收发帧的操作和VLAN映射表的配置。     a. CPU端口收发帧     ZL50418将CPU端口看作是一个网口,负责从CPU收发标准以太网帧。CPU发送一帧到ZL50418:先将待发送的数据(至少64字节)写入数据帧寄存器,然后写入数据帧长度、状态、目的端口号等。CPU接收帧:以太网帧到达后,CPU收到一个中断;帧头信息首先到达数据帧寄存器,包括源端口号、帧长度和VLAN标签,然后是真实数据。     另外,芯片会发送一些特殊的控制帧给CPU,这些控制帧一般与下列任务相关:统计信息收集、MAC地址学习、老化等。所有控制帧最长40字节。除了访问“控制帧数据”寄存器之外,发送和接收控制帧与发送和接收以太网帧类似。CPU能够产生8种类型的控制帧:请求读SBRAM;请求写SBRAM;学习MAC地址;删除MAC地址;搜索MAC地址;学习IP组播地址;删除IP组播地址;搜索IP组播地址。     SBRAM读写请求包括更新VLAN表、生成树、统计寄存器等。ZL50418能够产生9类控制帧,发送到CPU:     (1)当统计计数器溢出后给CPU发送中断;     (2)响应CPU读存储器的请求;     (3)学习MAC地址;     (4)删除MAC地址;     (5)删除IP组播地址;     (6)新增VLAN端口;     (7)老化VLAN端口;     (8)响应CPU搜索MAC地址的请求;     (9)响应CPU搜索IP组播地址的请求。     b. 配置VLAN映射表     因为芯片最多支持256个VLAN,但是VLAN ID(VID)占12位,从0到4095,所以在初始化和运行过程中,CPU必须建立和维护一份VID和VLAN索引(VIX)之间的映射表(如图4),将802.1q定义的4K VLAN映射到256个VIX。映射表共有4096个入口,按512×8形式组织,存放在SBRAM的低地址端,每个VIX占8位。                    图5:底层驱动软件架构。     首先根据VID在映射表中找到对应的VIX,再根据VIX的值找到VIX端口状态表的对应入口。每个入口包含19个域,每个域占2位,表示一个端口的VLAN状态。0b'00表示这个端口不属于该VLAN;0b'10表示这个端口属于该VLAN,但会受到老化(Aging)的影响;0b'11表示这个端口属于该VLAN,不受老化的影响;0b'01保留。不用的VID对应的VIX值设为0。     c. 初始化和底层驱动软件架构     在本系统中,ZL50418的初始化过程如下:     (1)初始化CPU总线,以16位数据宽度访问芯片内部寄存器;     (2)软件复位ZL50418;     (3)配置端口控制寄存器、PLL寄存器、工作模式寄存器等;     (4)配置CPU端口的MAC地址;     (5)设置QoS;     (6)配置流控寄存器;     (7)配置MAC表:因为16个FE口只和DSP相连,所以这些端口无需自学习、过滤源或目的MAC地址不是DSP的所有帧;     (8)配置VLAN映射表,按照图1所示划分为两个VLAN域;     (9)清除统计寄存器。     底层驱动软件的架构如图5所示,共有配置管理、MAC表管理、VLAN管理、流控、QoS、中断服务、统计7个子模块组成。抽象层是可选项,用于屏蔽各种驱动软件接口函数的差异。     参考文献     1. Zarlink Inc,ZL50418 Data Sheet, 2004.2     2. Zarlink Inc,ZL5041x 802.1Q VLAN Setup Application Note, 2003.2     作者:王江     上海贝尔阿尔卡特股份有限公司FSD           |
- 城市交通COOT和..
- 2007-10-27
- ADSL CO局端..
- 2007-8-9
- DSP在移动通信中..
- 2007-8-7
- 高性能RF收发器C..
- 2007-8-9
- HPC相关新技术的..
- 2007-8-9
- 微格教学及远程管理..
- 2007-7-29
- 宽动态范围的VGA..
- 2007-8-9
- CDMA/FM接收..
- 2007-8-9
- 单线CAN总线收发..
- 2007-8-9
- 多点共线无中心载波..
- 2007-8-9
- 基于80C196K..
- 2007-8-9
- IRIG-E标准F..
- 2007-8-9
- 三一重工CIMS网..
- 2007-8-7
- 中国民航AFTN电..
- 2007-8-7
- 数字语音混沌保密通..
- 2007-7-29
- 网络通信中的基本安..
- 2007-7-29
- 一种高码速率的微波..
- 2007-8-9
- WIN95下虚拟设..
- 2007-8-9
- Java的线程机制
- 2007-7-29
- 北京公交GPS车辆..
- 2007-8-9








