1 引言
目前,xDSL宽带接入技术充分利用现有双绞线资源,为用户提供非对称高速通道,尤其是ADSL技术已被人们广为接受而成为宽带接入技术的主流。然而随着IP交换技术的成熟与发展,主干网中交换方式将由 ATM逐步向IP交换方式转换,因此基于 ATM的ADSL技术也日益表现出其本身的局限性。基于此,中国信息产业部与2003年1月提出了基于IP交换网的EDSL技术,全称为基于时分双工的以太数字用户线系统(TDD based Ethernet Digital Subscriber Line System(TDD-EDSL)),它结合了目前广为应用的两大通信技术 xDSL和Ethernet 的精华,首次在接入网范畴内实现了IP包的直接传送,中间无ATM信令转换;采用数据突发技术,应用以太网碰撞检测机制,带宽动态分配,速率高达 10Mbit/s,第二代EDSL技术能实现智能频谱管理,最高速率可达100Mbit/s;TDD-EDSL实现IP端到端传送,传输距离长,标准距离可到8km,环路质量较好时可到 9km;传输效率高,功耗低;完善的网管系统、流量控制和服务质量控制;完全符合 IEEE802.3 Ethernet、YD/T1254-2003 以及ANSI TI 417 频谱管理标准;安装简便,用户端即插即用,使用10/100/1000Mbit/s以太网接口。
独特的智能频谱管理技术和时分双工模式,大大简化了系统结构,同时也顺应了主干网IP化的趋势。与传统 xDSL技术比较,它不仅克服了 xDSL技术的许多局限性(如对线路的挑、串扰等),并且增大了传输距离,提高了传输效率,EDSL系统结构与ADSL类似,其核心部分是EDSLModem.
在EDSL实现中,本文提出了可剥夺实时内核的实时操作系统µC/OS-II[1]和32位精简指令集软核处理器 Nios核相结合的方法,构成一种基于可配置的软核处理器的嵌入式开发平台。该平台软、硬件均可按照用户需求进行剪裁配置,最大程度地提供了系统设计的灵活性,具有重要的应用价值,本文重点讲述基于SOPC的EDSL Modem的实现。
2 EDSL系统结构和协议栈
EDSL的主要技术特点:(1)IP端到端网络;(2)采用时分复用技术,双向带宽动态分配;
(3)客户服务器模式,I P 包无碰撞机制;(4)数据突发技术。正是由于以上技术的采用,使得EDSL技术不仅克服了xDSL技术的许多局限性,并且增大了传输距离,提高了传输效率。EDSL的系统结构与ADSL类似,由位于用户端的EDSL Modem 和 局端的高密度接入复用设备DSLAM(DSL Access Multiplexer)构成,其结构 [2]如图1。
EDSL技术是基于 IP交换的新型宽带接入技术,它结合了以太网技术和 xDSL技术的优点, 为了充分降低用户端设备的复杂性,使系统易于统一管理,该系统采用了客户服务器模式,即用户端工作在客户端模式,局端设备处于服务器模式,由局端设备进行线路的频谱管理以及速率自适应调试,得到双绞线中当前所能承受的最大速率以及最佳调制频率等参数,当用户端得 EDSL设备接收到包含此类信息的信息帧时,根据接收到的参数更改自身的参数,从而达到最佳工作状态。这种模式下无需用户进行设置即可方便使用,从而大大增强了用户的易用性。
与基于ATM的ADSL技术相比,EDSL技术拥有更为简单的协议结构 [3]。如图2。
3硬件平台的设计
EDSL Modem硬件平台的搭建主要使用了 Altera公司的 FPGACycloneEP1C6Q240C8芯片,它拥有充足的可编程逻辑资源内嵌32位Nios-II软核处理器来实现整个可编程嵌入式系统。系统的主要功能由FPGA实现,硬件电路除 FPGA外只需加上存储器件、以太网控制芯片和前端AD/DA转换芯片即可。本系统主要使用了一片 8M Byte Flash,一片16M Byte SDRAM,以及以太网接口控制芯片等作为FPGA的外围设备,硬件结构简单明了,极大提高了系统的可靠性。FPGA系统运行时钟为50MHz,充分保证了系统的运行速度。
在硬件平台的搭建中主要用到了Altera公司的Quartus-II与SOPC Builder软件,其中 Quartus-II能进行系统及各逻辑部件的设计输入、编译、仿真、综合、布局布线,并进行位流文件的下载和配置文件的烧录,以及使用片内逻辑分析仪进行分析和验证。 SOPC Builder嵌入在Quartus-II开发系统内,是一个自动系统开发工具,能够自动进行系统定义,完成 SOPC开发的集成过程。在SOPC Builder 中选取系统所需部件,并自动生成每个部件的系统级HDL 文件以及支持部件所需的软件,如驱动程序、库文件和一些实用的应用程序等,以供软件开发 原型用[4]。
通过SOPC Builder软件包可以定制32位 Nios-II软核处理器和基本的Nios-II外设模块,如 UART控制器,定时器,FLASH控制器, SDRAM制器等。本文设计的硬件平台结构如图3所示。
图 3所示虚线框内硬件部分均是在 FPGA内实现
该系统的嵌入式处理器 Nios-II是 Altera 公司推出的一个用户可配置的16 位或32 位精简指令集软核处理器。Nios-II处理器可以配置成最多支持 64个中断,包括外部硬件中断、内部中断以及 TRAP(调试中断)。Nios-II 处理器可以配置使用 32位内部定时器,通过软件控制写入控制寄存器的内容来获得定时工作,与一般的定时器工作原理相同,可以产生定时中断。
Nio-II嵌入式系统中采用 Avalon交换式总线在处理器、外围设备和接口电路之间实现网络连接,并提供高带宽数据路径、多路和实时处理能力。 Avalon交换式总线可以通过调用 SOPC Builder设计软件自动生成 [5]。
EDSL Modem的核心部分即主收发器利用 FPGA中的逻辑单元编写自定义用户模块,并生成自定义 IP核,通过 Avalon总线接口与嵌入式处理器相连。该主收发器共包括了两个部分:EDSL成帧模块和 QAM调制模块。
在 SOPC系统中,除了以上部件,还有片上 ROM、内部定时器、 UART串行口、 SRAM、 Flash、以及以太网控制器 LAN91c111接口等系统部件皆由 SOPC builer自动生成。
4软件系统的设计
软件平台的开发是在 Altera公司为 Nios-II 系统定制的 Nios-II IDE系统上展开的, Nios-II IDE是基于 Eclipse IDE的集成开发环境,用户可以在 Nios-II IDE中为 Nios II 系统开发模块驱动程序、板级支持包( BSP),以及用户应用程序。考虑到 EDSL Modem 的系统控制和高速数据传输,在该嵌入式平台中嵌入了实时嵌入式系统 uC/OS-II,整个系统的软件体 系结构如图4:
其中位于 Nios-II硬件平台之上的是 EDSL Modem各部件的驱动程序。其上是硬件抽象层(HAL),它是位于应用程序和系统硬件之间的一个系统库( System Library),在软件开发时可以非常方便地使用这些系统库来与底层硬件通信,而无须关心的底层硬件实现细节。这样在上层应用程序和底层硬件之间就构成了明显的界限,底层驱动的修改不会对应用程序造成任何影响。HAL API(Application Program Interface,应用程序接口)集成了 ANSIC 的标准库,它允许应用程序使用类似 C库函数的方式访问硬件和文件。
实时嵌入式操作系统 uC/OS-II 内核工作在 HAL的顶部[6],有了 HAL这一层,基于 uC/OS-II的程序具有更好的可移植性,而且不受底层硬件改变的影响。
此外,EDSL Modem的以太网接口通信中,主要在 uC/OS-II中嵌入了 LwIP协议,LwIP不仅支持一般的网络协议,比如 UDP协议、DHCP协议、PPP协议等,而且还支持多网络接口、IPv6和标准 API[7]。
5结束语
本文介绍了我国拥有自主知识产权的宽带接入技术—— TDD-EDSL,并着重介绍了基于 SOPC的 EDSL Modem的软硬件实现。在商用 ASIC并不完善的情况下,本文使用了软硬件均可编程的 Nios-II嵌入式系统,缩短了研发周期,降低了研发成本。同时 SOPC也代表了以后产品设计的发展方向,具有积极的借鉴意义。本文所设计的 EDSL Modem各部分已通过了软件仿真和实验箱开发平台验证。
6创新点
将软硬件均可编程的 Nios-II嵌入式系统应用到宽带领域相关产品的研发,大大缩短了产品的研发成本与研发周期,避免了研发过程中对成熟 ASIC的过分依赖。