建立在ARM基礎(chǔ)上的ADSL2+測試儀的設(shè)計
引言
近幾年來,不對稱數(shù)字用戶線(ADSL)作為網(wǎng)絡(luò)“最后一公里”問題的理想解決方案在世界范圍內(nèi)得到了廣泛運用。在我,ADSL業(yè)務(wù)已成為運營商收入的主要增點之一。但由于現(xiàn)有電話線路專門為傳送低頻語音信號所設(shè)計,不利于高頻信號傳輸,線路周邊環(huán)境惡劣且復(fù)雜多變,無論ADSL業(yè)務(wù)的開通還是正常的運營維護,都需進行一系列復(fù)雜的測試工作。
現(xiàn)有測試儀表多為國外品牌且價格昂貴,國內(nèi)產(chǎn)品普遍存在測試頻段有限,測試結(jié)果片面的問題;而且由于核心芯片處理能力有限,嵌入式操作系統(tǒng)不先進,軟件包功能不夠完善,對測試結(jié)果的管理也比較混亂。隨著市場不斷壯大,尤其是基于ITU G.992.3/ G.992.5標準的ADSL2/ 2+推出后,價格合理、功能完備、操作簡便的測試工具成為寬帶運營商的迫切需求?;诜N現(xiàn)狀,本文提出了一款新型ADSL2+測試儀,采用ARM9處理器與Windows CE操作系統(tǒng),全面提升了產(chǎn)品的處理能力和可靠性,并使用液晶觸摸屏為用戶提供了直觀簡便的友好界面,可以在用戶環(huán)路不同位置進行網(wǎng)絡(luò)服務(wù)質(zhì)量評估。
系統(tǒng)硬件設(shè)計
系統(tǒng)硬件結(jié)構(gòu)如圖1所示,主要由ARM控制處理模塊、內(nèi)置Modem模塊及相關(guān)模擬測試模塊三部分組成。其中控制處理模塊是測試儀的核心部分,負責系統(tǒng)整體控制與相關(guān)的數(shù)據(jù)處理。
圖1 系統(tǒng)硬件結(jié)構(gòu)
控制處理模塊
本儀表要求具有液晶顯示及觸摸屏等部分,因此在要求高速數(shù)據(jù)處理能力同時,也要求相當?shù)目刂颇芰Γ到y(tǒng)采用的ARM9系列32位微控制器S3C2410X頻率可達203MHz,能夠輕松運行WinCE、Linux等操作系統(tǒng)以及進行較為復(fù)雜的信息處理。同時,采用5英寸STN液晶屏直觀的顯示各項測試指標,彌補了現(xiàn)有測試工具顯示效果的缺陷。使用觸摸屏代替鍵盤輸入部分,使便攜優(yōu)勢更為突出??紤]到操作系統(tǒng)運行及大量高速數(shù)據(jù)處理的需要,系統(tǒng)采用了兩塊32M SDRAM,一塊32M NAND Flash及一塊2M NOR Flash,程序、操作系統(tǒng)及測試數(shù)據(jù)保存于NAND Flash中,系統(tǒng)從16位NOR Flash引導(dǎo)啟動。
內(nèi)置Modem模塊
在測試線路傳輸性能數(shù)時,系統(tǒng)可不經(jīng)用戶Modem直接連通局端,ADSL/ ADSL2/ 2+數(shù)據(jù)幀經(jīng)內(nèi)置Modem轉(zhuǎn)換并送至CPU解碼分析,因此選擇一款性能可靠優(yōu)良的Modem芯片也極為重要。本系統(tǒng)采用了美國BROADCOM公司基于最新ADSL2+標準的BCM6338芯片,適用于ADSL / ADSL2/ ADSL2+等各型網(wǎng)絡(luò),確保了測試結(jié)果的可靠性。
[!--empirenews.page--]
模擬測試模塊
物理層測試主要包括電壓、電阻、電容測試等內(nèi)容,并內(nèi)嵌了時域反射計(TDR)用于線路故障定位。全部測試功能由一獨立板卡實現(xiàn),經(jīng)通用I/O口及A/D轉(zhuǎn)換口送至CPU處理存儲。其中電壓、電阻、電容等測試經(jīng)測算電壓后計算所得。S3C2410內(nèi)部集成了一個8通道10Bit的ADC轉(zhuǎn)換模塊,A/D轉(zhuǎn)換器以片上采樣、保持方式工作,支持掉電模式,其測量模擬輸入電壓范圍為0~3.3V,在Windows CE環(huán)境下可以實現(xiàn)外部模擬信號到數(shù)字信號的轉(zhuǎn)換。圖2是一個典型電壓測量的運用。
TEST0/TEST1是模擬待測量電壓,經(jīng)10倍分壓后接到一個減法放大器,然后與2410的第6支路AD6管腳連接,進行信號傳輸、濾波。通過設(shè)備驅(qū)動程序可以得到10Bit的ADC值,根據(jù)這一值計算AD6的模擬電壓VAD6為:*3.3,根據(jù)原理圖,可以得到外部待測點TEST0的電壓,計算公式為:VTEST=
系統(tǒng)軟件設(shè)計
系統(tǒng)軟件整體結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)軟件開發(fā)使用的是Platform Builder 4.2和Embedded Visual C++ 4.0(EVC)。
操作系統(tǒng)內(nèi)核
選擇一款既滿足應(yīng)用要求,性價比又最佳的實時操作系統(tǒng)是本次開發(fā)任務(wù)的關(guān)鍵。綜合考慮到操作系統(tǒng)對硬件的支持及二次開發(fā)的簡便性等方面,系統(tǒng)采用了微軟公司的Windows CE。
操作系統(tǒng)的定制移植是項目開發(fā)的重要步驟,我們使用Platform Builder的集成開發(fā)環(huán)境,在選定BSP,根據(jù)項目需要以及存儲器容量限制,裁減內(nèi)核、刪除不必要的系統(tǒng)組件,建立一個操作系統(tǒng)鏡像工程后,添加自定義的模塊組件到Platform Builder相應(yīng)的工程中,生成一個操作系統(tǒng)鏡像。Windows CE的特性目錄是可以擴展的,可以將自己創(chuàng)制的特性如驅(qū)動程序等文件加入到特性目錄中,Platform Builder利用.cec文件來建立特性目錄,它允許Platform Builder顯示這個特性到集成開發(fā)環(huán)境,并且可以將這個特性加到一個操作系統(tǒng)中。
應(yīng)用程序
本項目需開發(fā)的應(yīng)用程序主要包括數(shù)據(jù)運算顯示和系統(tǒng)控制兩部分,使用EVC開發(fā)和調(diào)試。系統(tǒng)主要測試項目有物理層測試、網(wǎng)絡(luò)層測試。
物理層測試用于測試ADSL/ADSL2/ 2+線路的物理層參數(shù),包括ADSL/ ADSL2/ 2+連接狀態(tài)、連接模式、上/下行速率、噪聲裕量、線路衰減、輸出功率、CRC誤碼、HEC誤碼、FEC誤碼、OCD誤碼、NCD誤碼以及信道比特圖。
通過儀器內(nèi)置的ADSL2+ Modem 進行PPPoE撥號,建立PPPoE撥號連接后,可以進行網(wǎng)絡(luò)層的Ping、Ipconfig、Tracert、Route測試。
設(shè)備驅(qū)動程序
Platform Builder雖然自帶了一些標準的BSP,里面也有一些通用的驅(qū)動程序,但對于一些專用的設(shè)備和功能,Platform Builder自帶的驅(qū)動無法滿足要求。為了便于與模擬測試部分的通訊與控制以及液晶觸摸屏的使用,還需編寫相應(yīng)的接口驅(qū)動程序,主要包括用于TDR測試的具有PWM功能的I/O口驅(qū)動等,使用C語言編寫。
PWM是一種對模擬信號電平進行數(shù)字編碼的方法,通過高分辨率計數(shù)器的使用,方波的占空比被調(diào)制,用來對一個具體模擬信號的電平進行編碼。S3C2410X集成了4個具有PWM功能的計時器,需使用PWM功能時,通過驅(qū)動程序可以調(diào)整PWM控制寄存器,控制I/O口輸出等幅值不同寬度的脈沖來等效理想的波形。PWM驅(qū)動源代碼略.