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