基于DOCSIS1.1的新一代CableModem
2.2 Cable Modem的实现方案
跟踪CM的协议堆栈,在Cable Modem设计方案中主要包含以下功能模块:上/下行方向物理层处理模块、MAC层处理模块、上层协议处理模块、接口模块。接口模块包括与HFC网络同轴电缆的接口以及与以太网之间的10Base-T接口,一个中央处理器来管理与协调各个模块的工作进程以及模块间的数据通信,此外还需要相应的存储器单元作为软件代码的运行空间和各种数据的存储空间。
在综合考虑了各种性能指标、基本功能、成本、可靠性、体积等因素后,为了降低系统设计的复杂性,提高可靠性,选用Broadcom公司生产的Cable Modem专用芯片BCM3345作为系统的核心芯片。BCM3345是目前国际上功能最强大的基于DOCSIS1.1的Cable Modem专用芯片。它将140MHz的MIPS 32 Cable Modem CORE、一个10/100Mb以太网接口和一个上行功率放大集成到了一个单片机的CMOS集成电路中(0.18μm CMOS工艺)。提供了一个高性能、高集成度的专用CM芯片。较之Broadcom公司推出了上一代CM专用芯片BCM3350,BCM3345采用了CMOS的调谐器,并增加了上行功率放大功能,使得CM设计减少了许多外设,体积和成本方面有更大的优势[3]。
根据BCM3345所提供的功能接口设计CM,整个CM的硬件实现包括射频信号处理、存储器的访问方式、系统总线以及时序、各种接口电路以及调试电路的设计与实现等。图2示出了利用BCM3345实现Cable Modem的硬件结构框图。
javascript:window.open(this.src);" style="cursor:pointer;"/>
Cable Modem的射频电路部门负责与HFC网之间的信息传递与交换工作。主要由一个调谐器(Tuner)及滤波电路组成。在下行方向,Tuner将CM的接收频率调谐到某一个HFC网的卡行信道,接收其中的射频信号,经过滤波后转化为中频信号,传送到BCM3345中的下行方向物理层模块中;在上行方向,Tuner接收来自BCM3345上行信道物理层模块中的中频信号,并按照一定的功率要求将其送入HFC网络的上行信道中(在上行传输方向,BCM3345输出已经经过调制的中频信号,经过LC滤波网络后重又送入BCM3345,在片内进行功率放大,最后送往Tuner。这样功率的增益可以根据前端的要求在BCM3345中进行控制)。这里采用的是专门定制的CMOS TUNER作为Cable Modem中使用的调谐器。该Tuner在上下行方向所覆盖的频率范围分别是5~42MHz和50~860MHz,它可以将所接收的射频信号转化为中心频率为44MHz的中频信号。Tuner的工作状态由BCM3345通过I2C总线进行控制。Tuner采用阻抗为75Ω的F端口与HFC网中的同轴电缆进行连接。
在Cable Modem中的存储主要有两种,分别是同步动态存储器(SDRAM)和闪存(Flash)。SDRAM选用Micron MT48LC4M16A2TG-8EIT。它是整个Cable Modem系统的动态存储器。一方面作为系统运行的内存空间,在系统正常运行时存放各种程序代码以及临时数据、操作系统所需的各种堆栈、队列等,另一方面还作为CPU与MAC层模块之间的数据共享缓存。
Flash在掉电后仍然保持数据不丢失,而且可以多次读写。因此将其用来存储操作系统、功能软件的可执行代码以及各种重要的配置数据。选用两片INTEL TE28F160作为Cable Modem中的Flash。它的数据存储方式为1M×16bit,两片的总存储容量为4MB。其擦写次数高达100,000次,足以保证在Cable Modem有效寿命内正常运行。
对于各种不同的存储器,CPU将它们与BCM3345中的所有寄存器放在一起统一进行编址,使它们都处于同一个址编码范围之内。CPU为不同的存储器分配一个基地址,对各个存储单元或者寄存器的访问通过基地址加上相应的偏移量即可实现。
在Cable Modem进行系统设计时为其留出了多种接口,作为用户使用接口及系统调试之用。主要包括以太网接口、通用串行总线(Universal Serial Bus,简称USB)接口、RS-232口等。其中以太网接口、USB接口是用来与CPE相连接的,RS-232接口是用于系统调试的。以太网接口是符合IEEE802.3标准的10Base-T接口。在以太网接口电路中主要采用符合IEEE802.3标准的接口芯片Pulse h1102来完成以太网接口的设计。在USB接口电路中使用了德州仪器公司生产的SN75240。由于在USB的信号传递过程中会掺杂进瞬间的高压噪声,这些噪声对USB口的收发电路将产生致命的危害,因此需要对这些噪声电压进行抑制。SN75240可以对USB接口中的不正常电压进行有效的抑制,以保证硬件设备的安全。
2.3 Cable Modem的软件结构
Cable Modem的设计采用嵌入式的系统结构,运行时需要嵌入式操作系统的支持。所谓嵌入式操作系统就是指操作系统与最终的功能软件一起进行编译链接,形成一个单独的程序代码,最后集成到硬件系统中,而不像普通操作系统那样应用程序与操作系统分离。类似于BIOS的工作方式,具有软件代码小、高度自动化、响应速度快等特点。在笔者开发的Cable Modem中,选用的操作系统为PSOS2.0。
建立在操作系统之上的软件部分就是Cable Modem的功能软件了。Cable Modem功能软件的主要作用是控制与协调各硬件模块的工作流程,以及完成CM中IP层以上的协议管理。其中软件对硬件部门的控制操作功能主要是通过读写相关芯片中的寄存器来完成。由于PSOS系统要用多任务内核,允许系统同一个时刻可以多个任务同时运行。而Cable Modem的工作过程也需要同时进行多项操作以及工作,如下行信道的信号接收与上行信道的信号发送可能会同时进行,因此在CM的功能软件中包含了多个任务。其中共有五个主要任务:主任务MainTask、同步任务SyncTask、杂项任务MiscTask、MAC层处理任务MacTask以及BCM3345的应用程序接口任务ApiTask。
MainTask的主要功能是在Cable Modem加电或者复位后进行相应的初始化工作。同步信号SyncTask在Cable Modem的运行过程中是一直处于激活状态的,它的主要功能就是处理前端定时发送的同步信息。杂项任务MiscTask主要负责控制C模块各个LED指示灯的开关,以显示Cable Modem当前的运行状态;同时还负责控制以太网口的开关、响应复位健等。MacTask的主要功能是管理与控制Cable Modem中MAC层硬件的工作情况,同时实现MAC层模块与CPU之间的数据交换。BCM3345的应用程序接口任务ApiTask提供了一组与BCM3345相关的功能模块寄存器读写的接口函数,当软件要通过硬件实现某一功能时,只需调用相应的接口函数即可,无需关心具体的读写过程,简经了软件的开发过程。
2.4 系统调试平台
在完成了Cable Modem的软硬件设计后,必须进行系统的调试,以对当前所设计实现的CM功能进行测试,找出软硬件设计中存在不足以及整个系统设计中可能出现的缺陷,从而加以改进,保证最终完成的Cable Modem产品的可靠性。
要进行Cable Modem的功能调试和性能检测,需要搭建一个模拟的HFC网络,将Calbe Modem放置在HFC网中,通过与CMTS之间的交互工作进行调试和检测。为此,搭建了一个小型的HFC网,作为专门的Cable Modem功能和特性调试环境。
其中前端采用由北方电信(Nortel)公司生产的CMTS1000,前端下行输出信号直接与射频信号。经过一个两部的分支分配器与上行信道合并为一个通道,经同轴电缆传输。CMTS还经过100BaseT的接口与基于WindowsNT4.0 Server的服务器相连接,该服务器提供DHCP、TFTP、SNMP的服务器端程序。客户端程序运行在Cable Modem中。为了模拟真实的HFC网,在网络中加入了一个20dB的衰减器,以增大传输衰减。Calbe Modem经同轴电缆与模拟HFC网相连接,经RS-232接口与调试所用的主机相连接。此外,Cable Modem还分别经HUB以及USB接口与CPE相连接。在调试环境中的CPE是基于Windows 98的个人电脑。
Cable Modem作为HFC网的用户端设备,可以为用户提供网络的接入服务,是HFC网中的重要组成部分。通过分析Clabe Modem的协议堆栈以及功能要求等,综合考虑系统的功能、成本、稳定性等方面因素的前提下,给出了一种高性能、低成本的Cable Modem开发方案。