李 新,雒江濤,趙紅柏,趙林闖
(1.重慶郵電大學(xué) 通信網(wǎng)與測(cè)試技術(shù)重點(diǎn)試驗(yàn)室,重慶 400065;2.華信郵電咨詢?cè)O(shè)計(jì)研究院有限公司,浙江 杭州 310014;3.信息工程大學(xué) 電子技術(shù)學(xué)院,河南 鄭州 450004)
IPTV基于寬帶IP傳輸網(wǎng),利用寬帶接入技術(shù),是一種個(gè)性化、交互式服務(wù)的嶄新媒體形態(tài)[1]。寬帶接入作為IPTV業(yè)務(wù)最后1 km的技術(shù),其性能優(yōu)劣直接影響著IPTV業(yè)務(wù)的用戶體驗(yàn)質(zhì)量(QoE)。光纖到家庭(FTTH)雖然是用戶接入網(wǎng)今后發(fā)展的必然方向,但由于目前光纖到戶成本仍然過(guò)高。因此,采用現(xiàn)有銅線環(huán)路的非對(duì)稱數(shù)字用戶線(ADSL)技術(shù)依然是現(xiàn)階段IPTV寬帶接入技術(shù)的主要技術(shù)之一。本文的研究目的在于設(shè)計(jì)一種基于嵌入式Linux的IPTV ADSL測(cè)試模塊的實(shí)現(xiàn)方案。該測(cè)試模塊可以集成到IPTV測(cè)試儀中完成對(duì)ADSL相關(guān)指標(biāo)的測(cè)試工作,同時(shí)具有豐富的配置功能,用戶界面簡(jiǎn)單,易于操作。
該測(cè)試模塊主要包括兩個(gè)部分:1)提供參數(shù)顯示功能的顯示界面,提取串口數(shù)據(jù)并呈現(xiàn)給上層界面;2)提供參數(shù)配置功能的部分,用于根據(jù)用戶需求對(duì)ADSL相關(guān)測(cè)試參數(shù)進(jìn)行配置,完成與ADSL模塊的交互工作。
ADSL測(cè)試模塊屬于IPTV測(cè)試儀的子模塊,完成對(duì)IPTV接入方式中ADSL接入的相關(guān)指標(biāo)測(cè)試工作。本文針對(duì)基于嵌入式Linux的ADSL測(cè)試模塊特點(diǎn)及要求,采用基于Linux的Qt開(kāi)發(fā)平臺(tái)完成上層界面的開(kāi)發(fā)工作。
Linux作為一款開(kāi)源免費(fèi)的操作系統(tǒng)具有很強(qiáng)的可擴(kuò)展性,用戶可根據(jù)自己的需要對(duì)內(nèi)核進(jìn)行裁剪,以滿足嵌入式開(kāi)發(fā)的特殊要求。目前,Linux已廣泛應(yīng)用于各種嵌入式系統(tǒng)開(kāi)發(fā)中。Qt是諾基亞開(kāi)發(fā)的一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,并且該平臺(tái)完全面向?qū)ο?,可擴(kuò)展性強(qiáng),允許真正的組件編程[2]。同時(shí),Qt還具有優(yōu)良的跨平臺(tái)特性、豐富的API、大量的開(kāi)發(fā)文檔等優(yōu)點(diǎn)。
ADSL故障一般分為局端故障、用戶端故障、線路故障3種[3]。本測(cè)試模塊主要用于完成用戶端及線路故障的排查工作。ADSL模塊的本質(zhì)就是調(diào)制解調(diào)器,是IP?TV測(cè)試儀實(shí)現(xiàn)橋接或路由功能的必備組件。該測(cè)試模塊通過(guò)在用戶端接入測(cè)試的相關(guān)數(shù)據(jù),分析得出ADSL的故障來(lái)源,為排除相關(guān)故障提供依據(jù),其測(cè)試節(jié)點(diǎn)如圖1所示。
進(jìn)行ADSL測(cè)試的最終目的就是為了降低接入部分對(duì)QoE的影響。接入部分的影響主要表現(xiàn)為圖像斑點(diǎn)、馬賽克、圖片模糊、邊緣失真、音頻中斷等。這些現(xiàn)象都有相應(yīng)的測(cè)試指標(biāo)與之相對(duì)應(yīng)。主要包括當(dāng)前狀態(tài)、連接模式、噪聲裕量、線路衰減、輸出功率、當(dāng)前速率等。當(dāng)前狀態(tài)主要是指ADSL線路的當(dāng)前連接狀態(tài),一般而言Showtime表示已經(jīng)連接,idle表示線路空閑;連接模式是指當(dāng)ADSL線路連接成功之后,當(dāng)前的調(diào)制模式一般包括ADSL2,ADSL2+,G.dmt,G.lite等模式;噪聲裕量是用來(lái)衡量ADSL線路對(duì)環(huán)境的抗干擾能力,即線路對(duì)環(huán)境溫度、濕度、噪聲等敏感程度,一般而言噪聲裕量越大,抗干擾能力越強(qiáng);線路衰減是表征線路質(zhì)量的一個(gè)重要參數(shù),線路衰減越大,接收端收到的信號(hào)強(qiáng)度越低;輸出功率是指分為上下行兩個(gè)方向,上行是指用戶端到局端輸出功率,下行是指局端到用戶端的輸出功率;當(dāng)前速率是交織和快速方式下下行能夠激活的最大速率,由于開(kāi)銷和算法的不同,當(dāng)前速率也存在著差異。
基于ADSL測(cè)試的實(shí)際需求,討論ADSL測(cè)試模塊的設(shè)計(jì)及實(shí)現(xiàn)方法。
該測(cè)試模塊不但要滿足顯示并保存測(cè)試參數(shù)的要求,而且更重要的是能根據(jù)實(shí)際需要對(duì)相關(guān)參數(shù)進(jìn)行配置并完成ADSL的測(cè)試工作?;谝陨弦?,該模塊可以分為軟件部分和軟硬件交互部分,通過(guò)這兩個(gè)部分分別完成不同的功能,最終達(dá)到ADSL測(cè)試的要求。
軟件部分實(shí)現(xiàn)主要是通過(guò)Qt自帶的API函數(shù)實(shí)現(xiàn),并通過(guò)串口與ARM交互獲得相關(guān)測(cè)試參數(shù)并最終顯示到界面上。圖 顯示了軟件部分的通信流程。
軟硬件交互部分的實(shí)現(xiàn)主要通過(guò)串口與ARM交互來(lái)完成,通過(guò)與硬件的交互,根據(jù)需求完成相關(guān)參數(shù)的配置工作。圖3顯示了交互部分的通信流程。
以上兩部分具體描述了ADSL測(cè)試模塊的實(shí)現(xiàn),其中主線程負(fù)責(zé)將所有串口接收到的數(shù)據(jù)進(jìn)行處理并顯示,同時(shí)也對(duì)讀與寫兩個(gè)子線程進(jìn)行調(diào)度和管理[4]。讀線程負(fù)責(zé)從串口讀取數(shù)據(jù),寫線程向串口發(fā)送配置信息。實(shí)際應(yīng)用中對(duì)串口的寫操作并不頻繁,可以在檢測(cè)到需要參數(shù)配置時(shí)再創(chuàng)建寫線程,不必一開(kāi)始就創(chuàng)建寫線程,這樣可以提高程序的執(zhí)行效率。
此外,Qt自帶的函數(shù)類也為實(shí)現(xiàn)線程操作提供了便利條件,其中QThread類就可以很方便地用于實(shí)現(xiàn)線程的相關(guān)操作[5]。該測(cè)試模塊中,啟動(dòng)測(cè)試線程代碼為:
依據(jù)ADSL測(cè)試模塊的設(shè)計(jì)思想,該模塊的測(cè)試操作流程也可分為兩個(gè)情況:
1)不進(jìn)行參數(shù)配置直接進(jìn)行ADSL參數(shù)測(cè)試;
2)配置參數(shù)完成ADSL測(cè)試。
不進(jìn)行參數(shù)配置直接測(cè)試時(shí),具體操作步驟為:
1)點(diǎn)擊開(kāi)始按鈕,開(kāi)始ADSL測(cè)試;
2)查看界面是否有參數(shù)顯示;
3)有參數(shù)顯示則觀察參數(shù)是否有異常情況;
4)如果沒(méi)有參數(shù)顯示,檢測(cè)ADSL物理連接是否完好,是否已經(jīng)完成撥號(hào)連接;
5)停止ADSL測(cè)試,根據(jù)需要選擇是否對(duì)測(cè)試參數(shù)進(jìn)行保存。
需要進(jìn)行參數(shù)配置時(shí),具體操作步驟為:
1)點(diǎn)擊參數(shù)配置按鈕,進(jìn)入?yún)?shù)配置界面;
2)根據(jù)需求進(jìn)行參數(shù)配置;
3)配置完成后點(diǎn)擊確定按鈕,返回顯示界面;
4)點(diǎn)擊開(kāi)始按鈕進(jìn)行ADSL參數(shù)測(cè)試。
下面步驟與不需要參數(shù)配置時(shí)類似,無(wú)須贅述??紤]到實(shí)際應(yīng)用的方便性,界面實(shí)現(xiàn)過(guò)程中,分為顯示界面與參數(shù)配置界面,通過(guò)不同按鍵的切換,呈現(xiàn)給用戶不同的界面,最終完成ADSL的測(cè)試工作。
ADSL測(cè)試模塊通過(guò)RJ-11接口與電話線網(wǎng)絡(luò)連接,實(shí)現(xiàn)對(duì)線路的寬帶特性、傳輸特性進(jìn)行測(cè)試,同時(shí)也可以對(duì)線路質(zhì)量進(jìn)行檢測(cè),準(zhǔn)確定位ADSL故障,提高IPTV業(yè)務(wù)的QoE指標(biāo)。
測(cè)試環(huán)境包括一臺(tái)集成ADSL測(cè)試模塊的IPTV測(cè)試儀,一個(gè)電信IPTV賬號(hào),一個(gè)ADSL Modem。ADSL測(cè)試參數(shù)配置主要包括VPI/VCI參數(shù)以及Modem參數(shù)這兩部分。圖4和圖5為ADSL測(cè)試參數(shù)顯示界面,圖4主要顯示了ADSL測(cè)試的參數(shù)。圖5為ADSL參數(shù)配置界面,顯示了ADSL測(cè)試所有需要配置的參數(shù)。
對(duì)于基于IP網(wǎng)承載的IPTV而言,更高的帶寬、更高的傳輸連續(xù)性和穩(wěn)定性才能更好地滿足IPTV業(yè)務(wù)的需求。本文針對(duì)這一需求提出并設(shè)計(jì)了一種基于嵌入式Linux系統(tǒng)的IPTV ADSL測(cè)試模塊的實(shí)現(xiàn)方案。經(jīng)實(shí)際測(cè)試表明,該測(cè)試模塊不僅能很好地滿足ADSL測(cè)試的要求,同時(shí)也易于操作。目前該測(cè)試模塊已經(jīng)成功集成到IPTV測(cè)試儀中,并經(jīng)過(guò)商用檢驗(yàn),完全滿足現(xiàn)階段的實(shí)際需求。
[1]趙湘陽(yáng),張治中,席兵.IPTV測(cè)試儀系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2009,33(9):115-117.
[2]BLANCHETTE J,SUMMERFIELD M.C++GUI programming with Qt 4[M].2nd ed.北京:電子工業(yè)出版社,2008.
[3]王崇民,畢厚杰,羅東文.高速銅線接入技術(shù)的回顧與展望[J].電信科學(xué),1999(8):57-59.
[4]易欣,張治中.基于WinCE的IPTV測(cè)試儀前臺(tái)軟件設(shè)計(jì)[J].電視技術(shù),2009,33(12):108-111.
[5]ETSI TR101290 ,Measurement guide-lines for DVB systems[S].2001.