1 引言
近年来,伴随着各种通信技术突飞猛进的发展,各种网络业务和服务对网络带宽提出了越来越高的要求。SDH/SONET 作为一种传输技术,其优点是传输速率高,传输延时小,可组成自愈环网络,使网上传输的业务得到充分保护,在传输网上被大量采用,成为目前光纤网上的骨干传输技术。
伴随着网络带宽的发展,网点建设的主流带宽已经由原来 64/128K(DDN 线路)发展到2M(SDH 线路),随之也对网络改造提出了更高的建设需求:
① 要求中心汇聚设备能够简洁的实现 2M 的汇聚:避免中心堆叠一大堆传输设备,增加故障点;
② 网络设计具有良好的扩展性:能够实现未来网点的扩展,其主机性能能支持高速板卡的扩展;
③ 提供有效的网络投资保护:网络建设既能有效的满足现有网络建设需求,不至于占用现有过多资源,又能很好的支撑未来网络的扩展。
④ 有效的解决网桥+交换机的组网模式:既能避免汇聚主设备加以太板卡外接一大堆网桥的方式增加的故障点,减少维护麻烦;又能避免交换机组网方式无法彻底解决广播风暴,导致网络病毒扩散使得业务网络的瘫痪。
2 CPOS 路由器介绍
2.1 CPOS 工作原理
SDH 传输业务信号时各种业务信号要进入SDH 的帧都要经过映射、定位和复用三个步骤:映射是将各种速率的信号先经过码速调整装入相应的标准容器(C),再加入通道开销(POH)形成虚容器(VC)的过程,帧相位发生偏差称为帧偏移;定位即是将帧偏移信息收进支路单元(TU)或管理单元(AU)的过程,它通过支路单元指针(TU PTR)或管理单元指针(AU PTR)的功能来实现;复用则是将多个低价通道层信号通过码速调整使之进入高价通道或将多个高价通道层信号通过码速调整使之进入复用层的过程。
SDH 能够从高速信号中直接分/插出低速支路信号(例如2Mbit/s),这是因为低速支路信号在高速SDH 信号帧中的位置有预见性,而预见性的实现就在于SDH 帧结构中存在着管理单元指针(AU-PTR)。AU-PTR 是用来指示信息净负荷的第一个字节在STM-N 帧内的准确位置的指示符,以便收端能根据这个位置指示符的值(指针值)正确分离信息净负荷。指针有高、低阶之分,高阶指针是AU-PTR,低阶指针是TU-PTR,支路单元指针(TU- PTR)的作用类似于AU-PTR 只不过所指示的信息更加具体。
CPOS 光接口板采用的是STM-1----->AU4----->3 TUG3----->7 TUG2----->3TU12 的映射路径,从而将(155M/S)STM-1 分拆为63 个(2M/S)的E1 数据信号,从而在广域网上实现63 个网点数据的汇聚。
2.2 CPOS 的应用
SDH 的最低接入速率是155M bits/s(STM-1),STM-1 线路(即我们的CPOS)从用户汇聚中心通过电信接入网到达电信传输机房,通过 ODF(Optical Fiber DistributionFrame,光纤配线架)接入到ADM (Add andDropMultiplexer , 分插复用器)设备,在ADM 设备上拆分成2M E1 的 PDH 线路,再通过DDF (DigitalDistribution Frame,数字配线架)和电信接入网到达用户网点现场。从而实现63 路E1 数据的传输汇总。组建相应的广域网。
3 CPOS 硬件设计
3.1 MinDSPeed SDH/SONET 套片
CPOS 的功能主要由3 颗芯片CX28500,CX29503,CX29600 组成,CX29503,CX29610负责信号的分拆/复用处理,CX28500 负责数据的收发处理。
3.1.1 CX28500 芯片
MindSpeed 公司CX28500 是一个高吞吐量的通信控制器,用于同步操作或最多支持1024 个数据信道的链路层应用。每个信道可以配置HDLC,Transparent 或SS7。MUSYCC工作在OSI 模型的第二层,它安装在多路串行接口设备和一个或多个主机控制器的共享缓冲内存之间。MUSYCC 不但可以作为PCI 控制器,同时还可以提供32 比特本地扩展总线(EBUS)控制器,它允许主机处理器直接通过MUSYCC 在PCI 上使用配置内存映射的特性来访问本地内存和物理接口设备。MUSYCC 采用相同的链表处理结构为每一个活动的数据信道管理内存缓冲区,它的特性允许在内存缓冲区和串口设备间以最小的主机处理器的干涉来传输数据,从而允许主机处理器可以集中处理高层的协议栈。
3.1.2 CX29503 芯片
CX29503 宽带通道多路复用器是一个高度集成的芯片,它能够进行映射,复用,分拆和成帧操作,它能够把3 个STS-1,AU-3,DS3,E3 或者1 个AU-4 输入转换为84 个DS1或63 个E1 的可用的组合。CX29503 可以被用做一个SONET/SDH-TO-PDH 映射器,可以以51Mbps,2Mbps 和1.5Mbps 的速率支持所有的标准映射,它也可以仅仅被用做一个PDH设备。它产生和结束所有的虚支路(VT)和虚容器路径开销字节。CX29503 内部包含3 个嵌入式的DS3/E3 成帧器,3 个支持G.747 的M13/E13 复用/分拆单元,84 个嵌入式的DS1成帧器,63 个嵌入式的E1 成帧器。其他的特性包括对于所有可支持的支路,都设计了标准化的告警标志符,状态监控和错误计数器,此外还拥有一个嵌入式的命令与状态处理器,它可以替主机承担主要的网络维护操作。
3.1.3 CX29610 芯片
CX29610 主要负责头开销的产生和消除,同时把进来的STM-1 信号转换为3 个STS-1信号通过SI-BUS 与CX29503 芯片相连。
3.2 板卡设计
图 1 CPOS 板卡线路图
如 CPOS 板卡结构图所示,CPOS 的功能主要由3 颗芯片CX28500,CX29503,CX29600组成,CX29503,CX29600 负责信号的分拆/复用处理,CX28500 负责数据的收发处理,通过PCI 和主板内存进行数据交互。
4 CPOS 驱动软件设计
4.1 驱动软件结构
如图中所示,驱动软件由六个功能性的模块组成,分别是芯片初始化,硬件中断处理,数据接收发送,接口状态扫描,配置命令处理,错误状态处理。整个驱动软件的设计也是围绕着这六大模块进行的。
芯片初始化模块: 该模块负责初始化 PCI 和各个芯片,注册中断处理函数,使能相关的中断,动态为各个芯片分配相应的数据结构,初始化相关的变量。
硬件中断处理模块:负责处理HDLC 多路通道控制器CX28500 所引起的各种中断,如通道使能,通道关闭,发送结束中断,数据帧接收中断,COFA,OWNER 错误中断等。
数据接收发送模块:负责把上层HDLC 模块或PPP 模块传送给底层的数据放入相应的接口发送出去,负责把接收到的数据包传送给上层模块处理,同时在此模块中还需申请释放用来发送接收数据包的缓冲区。
接口状态扫描模块:该模块需对物理接口不停地进行扫描以取得当前通信链路的状态,比如信号丢失,光纤的插拔等,同时,在该模块中需要在接口状态发生变化时,对各子接口进行处理。
配置命令处理模块:该模块对MMI 传下来的命令进行解析,并执行相应的配置操作,如接口的生成,接口的取消操作,回环的设置,配置命令的保存等,并对无效的命令进行处理。
错误状态处理模块:当发生信号丢失,CRC 校验错,OWNER 错等情况时,进行相应的处理,统计发生错误的数目等。
4.2 驱动软件流程
4.1.1 initsys
从sys 模块中得到得到当前系统的相关参数,包括:每个PCI 插槽的membase,中断号,当前系统所插板卡的数目,每个PCI 插槽上设备的类型和设备参数等。同时需要建立相应的数据结构,并对数据结构进行初始化。
4.1.2 initdevice
按照需求对硬件设备进行初始化,包括:PCI 配置空间的初始化,CX28500多路通道控制器的初始化,CX29503,CX29600 信号处理芯片的的初始化,中断处理函数的注册,中断使能。
4.1.3 registerinterfacescan
注册接口扫描处理函数,对接口的状态以1 秒为周期不停地进行扫描,对不同的情形进行处理,例如光纤的插拔,线路不稳定,信号丢失等。
4.1.4 registersenddatafunction
注册数据发送处理函数,供HDLC 模块进行调用,用来发送HDLC 数据包。
4.1.5 mmicmdprocess
配置命令接收和处理操作,接收上层模块发给驱动模块的配置命令并进行相应的配置操作,常见的配置命令有:接口的生成命令,接口的取消命令,显示当前配置命令,保存当前配置命令,回环配置命令,时钟配置命令等。
4.3 数据输入输出处理
①CPOS 路由器板卡通过光模块与外部的光纤相连接,在接收方向上,通过信号处理芯片把高速的STM-1 信号分拆为63 路低速的E1 信号之后,CX28500 芯片中被分配了对应时隙,适当的缓冲区,同时缓冲区描述符被正确地进行了设置的通道就会接收对应时隙中所传入的E1 数据,随后CX28500 芯片中的DMA 控制器把接收到的数据通过PCI 放入我们之前为通道申请的缓冲区中,同时中断控制器会产生数据接收的中断通知我们到缓冲区中去取数据,然后我们将接收到的数据包上传给HDLC/PPP 协议模块。
②经过HDLC/PPP 协议模块处理之后,数据包被传递给TCP/IP 协议栈进行处理,TCP/IP协议栈会根据系统中路由表的信息将所收到的数据包转发到正确的接口,如果目标IP 地址不存在,丢弃该数据包。
③在发送方向上,与接收方向相反,TCP/IP 协议栈把要发送的数据包传给HDLC 模块,HDLC 模块会调用我们所注册的数据发送处理函数,在数据发送处理函数中把要发送的数据包挂入到相应接口对应通道的缓冲区中,同时把缓冲区的描述符进行配置。CX28500 DMA控制器随后会根据缓冲区描述符,用户设定的缓冲区数据的长度从内存中把数据包取出,当通道对应的时隙到来时,把数据发送出去,数据发送结束之后,把发送数据所使用的内存释放掉。
5 结语
本文介绍了CE1 路由器的概念及其在现实中的应用,并且针对 MINDSPEEDSONET/SDH 套片提出了CE1 路由器的硬件设计方案和软件设计方案。随着通信技术的进步,CE1 路由器必定得到越来越广泛的应用。