基于嵌入式Linux的IPTV ADSL测试模块设计及实现

2011-06-25 03:30:48雒江涛赵红柏赵林闯
电视技术 2011年21期
关键词:测试仪线程串口

李 新,雒江涛,赵红柏,赵林闯

(1.重庆邮电大学 通信网与测试技术重点试验室,重庆 400065;2.华信邮电咨询设计研究院有限公司,浙江 杭州 310014;3.信息工程大学 电子技术学院,河南 郑州 450004)

0 引言

IPTV基于宽带IP传输网,利用宽带接入技术,是一种个性化、交互式服务的崭新媒体形态[1]。宽带接入作为IPTV业务最后1 km的技术,其性能优劣直接影响着IPTV业务的用户体验质量(QoE)。光纤到家庭(FTTH)虽然是用户接入网今后发展的必然方向,但由于目前光纤到户成本仍然过高。因此,采用现有铜线环路的非对称数字用户线(ADSL)技术依然是现阶段IPTV宽带接入技术的主要技术之一。本文的研究目的在于设计一种基于嵌入式Linux的IPTV ADSL测试模块的实现方案。该测试模块可以集成到IPTV测试仪中完成对ADSL相关指标的测试工作,同时具有丰富的配置功能,用户界面简单,易于操作。

1 测试模块概述

该测试模块主要包括两个部分:1)提供参数显示功能的显示界面,提取串口数据并呈现给上层界面;2)提供参数配置功能的部分,用于根据用户需求对ADSL相关测试参数进行配置,完成与ADSL模块的交互工作。

1.1 开发平台简介

ADSL测试模块属于IPTV测试仪的子模块,完成对IPTV接入方式中ADSL接入的相关指标测试工作。本文针对基于嵌入式Linux的ADSL测试模块特点及要求,采用基于Linux的Qt开发平台完成上层界面的开发工作。

Linux作为一款开源免费的操作系统具有很强的可扩展性,用户可根据自己的需要对内核进行裁剪,以满足嵌入式开发的特殊要求。目前,Linux已广泛应用于各种嵌入式系统开发中。Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架,并且该平台完全面向对象,可扩展性强,允许真正的组件编程[2]。同时,Qt还具有优良的跨平台特性、丰富的API、大量的开发文档等优点。

1.2 功能分析

ADSL故障一般分为局端故障、用户端故障、线路故障3种[3]。本测试模块主要用于完成用户端及线路故障的排查工作。ADSL模块的本质就是调制解调器,是IP⁃TV测试仪实现桥接或路由功能的必备组件。该测试模块通过在用户端接入测试的相关数据,分析得出ADSL的故障来源,为排除相关故障提供依据,其测试节点如图1所示。

1.3 测试指标分析

进行ADSL测试的最终目的就是为了降低接入部分对QoE的影响。接入部分的影响主要表现为图像斑点、马赛克、图片模糊、边缘失真、音频中断等。这些现象都有相应的测试指标与之相对应。主要包括当前状态、连接模式、噪声裕量、线路衰减、输出功率、当前速率等。当前状态主要是指ADSL线路的当前连接状态,一般而言Showtime表示已经连接,idle表示线路空闲;连接模式是指当ADSL线路连接成功之后,当前的调制模式一般包括ADSL2,ADSL2+,G.dmt,G.lite等模式;噪声裕量是用来衡量ADSL线路对环境的抗干扰能力,即线路对环境温度、湿度、噪声等敏感程度,一般而言噪声裕量越大,抗干扰能力越强;线路衰减是表征线路质量的一个重要参数,线路衰减越大,接收端收到的信号强度越低;输出功率是指分为上下行两个方向,上行是指用户端到局端输出功率,下行是指局端到用户端的输出功率;当前速率是交织和快速方式下下行能够激活的最大速率,由于开销和算法的不同,当前速率也存在着差异。

2 测试模块设计及实现

基于ADSL测试的实际需求,讨论ADSL测试模块的设计及实现方法。

2.1 设计思想

该测试模块不但要满足显示并保存测试参数的要求,而且更重要的是能根据实际需要对相关参数进行配置并完成ADSL的测试工作。基于以上要求,该模块可以分为软件部分和软硬件交互部分,通过这两个部分分别完成不同的功能,最终达到ADSL测试的要求。

2.2 测试模块实现

软件部分实现主要是通过Qt自带的API函数实现,并通过串口与ARM交互获得相关测试参数并最终显示到界面上。图 显示了软件部分的通信流程。

软硬件交互部分的实现主要通过串口与ARM交互来完成,通过与硬件的交互,根据需求完成相关参数的配置工作。图3显示了交互部分的通信流程。

以上两部分具体描述了ADSL测试模块的实现,其中主线程负责将所有串口接收到的数据进行处理并显示,同时也对读与写两个子线程进行调度和管理[4]。读线程负责从串口读取数据,写线程向串口发送配置信息。实际应用中对串口的写操作并不频繁,可以在检测到需要参数配置时再创建写线程,不必一开始就创建写线程,这样可以提高程序的执行效率。

此外,Qt自带的函数类也为实现线程操作提供了便利条件,其中QThread类就可以很方便地用于实现线程的相关操作[5]。该测试模块中,启动测试线程代码为:

2.3 测试操作流程

依据ADSL测试模块的设计思想,该模块的测试操作流程也可分为两个情况:

1)不进行参数配置直接进行ADSL参数测试;

2)配置参数完成ADSL测试。

不进行参数配置直接测试时,具体操作步骤为:

1)点击开始按钮,开始ADSL测试;

2)查看界面是否有参数显示;

3)有参数显示则观察参数是否有异常情况;

4)如果没有参数显示,检测ADSL物理连接是否完好,是否已经完成拨号连接;

5)停止ADSL测试,根据需要选择是否对测试参数进行保存。

需要进行参数配置时,具体操作步骤为:

1)点击参数配置按钮,进入参数配置界面;

2)根据需求进行参数配置;

3)配置完成后点击确定按钮,返回显示界面;

4)点击开始按钮进行ADSL参数测试。

下面步骤与不需要参数配置时类似,无须赘述。考虑到实际应用的方便性,界面实现过程中,分为显示界面与参数配置界面,通过不同按键的切换,呈现给用户不同的界面,最终完成ADSL的测试工作。

2.4 测试条件及结果

ADSL测试模块通过RJ-11接口与电话线网络连接,实现对线路的宽带特性、传输特性进行测试,同时也可以对线路质量进行检测,准确定位ADSL故障,提高IPTV业务的QoE指标。

测试环境包括一台集成ADSL测试模块的IPTV测试仪,一个电信IPTV账号,一个ADSL Modem。ADSL测试参数配置主要包括VPI/VCI参数以及Modem参数这两部分。图4和图5为ADSL测试参数显示界面,图4主要显示了ADSL测试的参数。图5为ADSL参数配置界面,显示了ADSL测试所有需要配置的参数。

3 小结

对于基于IP网承载的IPTV而言,更高的带宽、更高的传输连续性和稳定性才能更好地满足IPTV业务的需求。本文针对这一需求提出并设计了一种基于嵌入式Linux系统的IPTV ADSL测试模块的实现方案。经实际测试表明,该测试模块不仅能很好地满足ADSL测试的要求,同时也易于操作。目前该测试模块已经成功集成到IPTV测试仪中,并经过商用检验,完全满足现阶段的实际需求。

[1]赵湘阳,张治中,席兵.IPTV测试仪系统设计与实现[J].电视技术,2009,33(9):115-117.

[2]BLANCHETTE J,SUMMERFIELD M.C++GUI programming with Qt 4[M].2nd ed.北京:电子工业出版社,2008.

[3]王崇民,毕厚杰,罗东文.高速铜线接入技术的回顾与展望[J].电信科学,1999(8):57-59.

[4]易欣,张治中.基于WinCE的IPTV测试仪前台软件设计[J].电视技术,2009,33(12):108-111.

[5]ETSI TR101290 ,Measurement guide-lines for DVB systems[S].2001.

猜你喜欢
测试仪线程串口
SDL Atlas推出第二代HydroPro耐静水压测试仪
使用快速水洗色牢度测试仪检测超细纤维脱落
浅谈AB PLC串口跟RFID传感器的通讯应用
便携式转辙机转换力测试仪
浅谈linux多线程协作
环球市场(2017年36期)2017-03-09 15:48:21
USB接口的多串口数据并行接收方法探索
基于VB与ATEQ测试仪串行通信
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
地矿测绘(2015年3期)2015-12-22 06:27:26
基于并行控制的FPGA多串口拓展实现
Linux线程实现技术研究