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