近几年来,不对称数字用户线(ADSL)作为网络“最后一公里”问题的理想解决方案在世界范围内得到了广泛运用。在我,ADSL业务已成为运营商收入的主要增点之一。但由于现有电话线路专门为传送低频语音信号所设计,不利于高频信号传输,线路周边环境恶劣且复杂多变,无论ADSL业务的开通还是正常的运营维护,都需进行一系列复杂的测试工作。
现有测试仪表多为国外品牌且价格昂贵,国内产品普遍存在测试频段有限,测试结果片面的问题;而且由于核心芯片处理能力有限,嵌入式操作系统不先进,软件包功能不够完善,对测试结果的管理也比较混乱。随着市场不断壮大,尤其是基于ITU G.992.3/ G.992.5标准的ADSL2/ 2+推出后,价格合理、功能完备、操作简便的测试工具成为宽带运营商的迫切需求。基于种现状,本文提出了一款新型ADSL2+测试仪,采用ARM9处理器与Windows CE操作系统,全面提升了产品的处理能力和可靠性,并使用液晶触摸屏为用户提供了直观简便的友好界面,可以在用户环路不同位置进行网络服务质量评估。
系统硬件设计
系统硬件结构如图1所示,主要由ARM控制处理模块、内置Modem模块及相关模拟测试模块三部分组成。其中控制处理模块是测试仪的核心部分,负责系统整体控制与相关的数据处理。
图1 系统硬件结构
控制处理模块
本仪表要求具有液晶显示及触摸屏等部分,因此在要求高速数据处理能力同时,也要求相当的控制能力,系统采用的ARM9系列32位微控制器S3C2410X频率可达203MHz,能够轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理。同时,采用5英寸STN液晶屏直观的显示各项测试指标,弥补了现有测试工具显示效果的缺陷。使用触摸屏代替键盘输入部分,使便携优势更为突出。考虑到操作系统运行及大量高速数据处理的需要,系统采用了两块32M SDRAM,一块32M NAND Flash及一块2M NOR Flash,程序、操作系统及测试数据保存于NAND Flash中,系统从16位NOR Flash引导启动。
内置Modem模块
在测试线路传输性能数时,系统可不经用户Modem直接连通局端,ADSL/ ADSL2/ 2+数据帧经内置Modem转换并送至CPU解码分析,因此选择一款性能可靠优良的Modem芯片也极为重要。本系统采用了美国BROADCOM公司基于最新ADSL2+标准的BCM6338芯片,适用于ADSL / ADSL2/ ADSL2+等各型网络,确保了测试结果的可靠性。
模拟测试模块
物理层测试主要包括电压、电阻、电容测试等内容,并内嵌了时域反射计(TDR)用于线路故障定位。全部测试功能由一独立板卡实现,经通用I/O口及A/D转换口送至CPU处理存储。其中电压、电阻、电容等测试经测算电压后计算所得。S3C2410内部集成了一个8通道10Bit的ADC转换模块,A/D转换器以片上采样、保持方式工作,支持掉电模式,其测量模拟输入电压范围为0~3.3V,在Windows CE环境下可以实现外部模拟信号到数字信号的转换。图2是一个典型电压测量的运用。
TEST0/TEST1是模拟待测量电压,经10倍分压后接到一个减法放大器,然后与2410的第6支路AD6管脚连接,进行信号传输、滤波。通过设备驱动程序可以得到10Bit的ADC值,根据这一值计算AD6的模拟电压VAD6为:*3.3,根据原理图,可以得到外部待测点TEST0的电压,计算公式为:VTEST=
系统软件设计
系统软件整体结构如图2所示。
图2 系统软件结构
系统软件开发使用的是Platform Builder 4.2和Embedded Visual C++ 4.0(EVC)。
操作系统内核
选择一款既满足应用要求,性价比又最佳的实时操作系统是本次开发任务的关键。综合考虑到操作系统对硬件的支持及二次开发的简便性等方面,系统采用了微软公司的Windows CE。
操作系统的定制移植是项目开发的重要步骤,我们使用Platform Builder的集成开发环境,在选定BSP,根据项目需要以及存储器容量限制,裁减内核、删除不必要的系统组件,建立一个操作系统镜像工程后,添加自定义的模块组件到Platform Builder相应的工程中,生成一个操作系统镜像。Windows CE的特性目录是可以扩展的,可以将自己创制的特性如驱动程序等文件加入到特性目录中,Platform Builder利用.cec文件来建立特性目录,它允许Platform Builder显示这个特性到集成开发环境,并且可以将这个特性加到一个操作系统中。
应用程序
本项目需开发的应用程序主要包括数据运算显示和系统控制两部分,使用EVC开发和调试。系统主要测试项目有物理层测试、网络层测试。
物理层测试用于测试ADSL/ADSL2/ 2+线路的物理层参数,包括ADSL/ ADSL2/ 2+连接状态、连接模式、上/下行速率、噪声裕量、线路衰减、输出功率、CRC误码、HEC误码、FEC误码、OCD误码、NCD误码以及信道比特图。
通过仪器内置的ADSL2+ Modem 进行PPPoE拨号,建立PPPoE拨号连接后,可以进行网络层的Ping、Ipconfig、Tracert、Route测试。
设备驱动程序
Platform Builder虽然自带了一些标准的BSP,里面也有一些通用的驱动程序,但对于一些专用的设备和功能,Platform Builder自带的驱动无法满足要求。为了便于与模拟测试部分的通讯与控制以及液晶触摸屏的使用,还需编写相应的接口驱动程序,主要包括用于TDR测试的具有PWM功能的I/O口驱动等,使用C语言编写。
PWM是一种对模拟信号电平进行数字编码的方法,通过高分辨率计数器的使用,方波的占空比被调制,用来对一个具体模拟信号的电平进行编码。S3C2410X集成了4个具有PWM功能的计时器,需使用PWM功能时,通过驱动程序可以调整PWM控制寄存器,控制I/O口输出等幅值不同宽度的脉冲来等效理想的波形。PWM驱动源代码略.