建立在ARM基礎(chǔ)上的ADSL2+測(cè)試儀的設(shè)計(jì)
模擬測(cè)試模塊
物理層測(cè)試主要包括電壓、電阻、電容測(cè)試等內(nèi)容,并內(nèi)嵌了時(shí)域反射計(jì)(TDR)用于線路故障定位。全部測(cè)試功能由一獨(dú)立板卡實(shí)現(xiàn),經(jīng)通用I/O口及A/D轉(zhuǎn)換口送至CPU處理存儲(chǔ)。其中電壓、電阻、電容等測(cè)試經(jīng)測(cè)算電壓后計(jì)算所得。S3C2410內(nèi)部集成了一個(gè)8通道10Bit的ADC轉(zhuǎn)換模塊,A/D轉(zhuǎn)換器以片上采樣、保持方式工作,支持掉電模式,其測(cè)量模擬輸入電壓范圍為0~3.3V,在Windows CE環(huán)境下可以實(shí)現(xiàn)外部模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換。圖2是一個(gè)典型電壓測(cè)量的運(yùn)用。
TEST0/TEST1是模擬待測(cè)量電壓,經(jīng)10倍分壓后接到一個(gè)減法放大器,然后與2410的第6支路AD6管腳連接,進(jìn)行信號(hào)傳輸、濾波。通過設(shè)備驅(qū)動(dòng)程序可以得到10Bit的ADC值,根據(jù)這一值計(jì)算AD6的模擬電壓VAD6為:*3.3,根據(jù)原理圖,可以得到外部待測(cè)點(diǎn)TEST0的電壓,計(jì)算公式為:VTEST=
系統(tǒng)軟件設(shè)計(jì)
系統(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)用要求,性價(jià)比又最佳的實(shí)時(shí)操作系統(tǒng)是本次開發(fā)任務(wù)的關(guān)鍵。綜合考慮到操作系統(tǒng)對(duì)硬件的支持及二次開發(fā)的簡(jiǎn)便性等方面,系統(tǒng)采用了微軟公司的Windows CE。
操作系統(tǒng)的定制移植是項(xiàng)目開發(fā)的重要步驟,我們使用Platform Builder的集成開發(fā)環(huán)境,在選定BSP,根據(jù)項(xiàng)目需要以及存儲(chǔ)器容量限制,裁減內(nèi)核、刪除不必要的系統(tǒng)組件,建立一個(gè)操作系統(tǒng)鏡像工程后,添加自定義的模塊組件到Platform Builder相應(yīng)的工程中,生成一個(gè)操作系統(tǒng)鏡像。Windows CE的特性目錄是可以擴(kuò)展的,可以將自己創(chuàng)制的特性如驅(qū)動(dòng)程序等文件加入到特性目錄中,Platform Builder利用.cec文件來建立特性目錄,它允許Platform Builder顯示這個(gè)特性到集成開發(fā)環(huán)境,并且可以將這個(gè)特性加到一個(gè)操作系統(tǒng)中。
應(yīng)用程序
本項(xiàng)目需開發(fā)的應(yīng)用程序主要包括數(shù)據(jù)運(yùn)算顯示和系統(tǒng)控制兩部分,使用EVC開發(fā)和調(diào)試。系統(tǒng)主要測(cè)試項(xiàng)目有物理層測(cè)試、網(wǎng)絡(luò)層測(cè)試。
物理層測(cè)試用于測(cè)試ADSL/ADSL2/ 2+線路的物理層參數(shù),包括ADSL/ ADSL2/ 2+連接狀態(tài)、連接模式、上/下行速率、噪聲裕量、線路衰減、輸出功率、CRC誤碼、HEC誤碼、FEC誤碼、OCD誤碼、NCD誤碼以及信道比特圖。
通過儀器內(nèi)置的ADSL2+ Modem 進(jìn)行PPPoE撥號(hào),建立PPPoE撥號(hào)連接后,可以進(jìn)行網(wǎng)絡(luò)層的Ping、Ipconfig、Tracert、Route測(cè)試。
設(shè)備驅(qū)動(dòng)程序
Platform Builder雖然自帶了一些標(biāo)準(zhǔn)的BSP,里面也有一些通用的驅(qū)動(dòng)程序,但對(duì)于一些專用的設(shè)備和功能,Platform Builder自帶的驅(qū)動(dòng)無法滿足要求。為了便于與模擬測(cè)試部分的通訊與控制以及液晶觸摸屏的使用,還需編寫相應(yīng)的接口驅(qū)動(dòng)程序,主要包括用于TDR測(cè)試的具有PWM功能的I/O口驅(qū)動(dòng)等,使用C語言編寫。
PWM是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法,通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制,用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。S3C2410X集成了4個(gè)具有PWM功能的計(jì)時(shí)器,需使用PWM功能時(shí),通過驅(qū)動(dòng)程序可以調(diào)整PWM控制寄存器,控制I/O口輸出等幅值不同寬度的脈沖來等效理想的波形。PWM驅(qū)動(dòng)源代碼略.
評(píng)論