基于ARM的2M測試系統(tǒng)
1引言
數(shù)字通訊飛速發(fā)展的今天, 2M口日益成為重要的設(shè)備投入業(yè)務(wù)測試點和運營維護(hù)測試點。數(shù)字通訊飛速發(fā)展的今天,建立綜合業(yè)務(wù)數(shù)字網(wǎng)正成為電信經(jīng)營者努力的方向。差錯(誤碼、誤塊)性能作為數(shù)字網(wǎng)的重要傳輸性能指標(biāo),是網(wǎng)絡(luò)營運者進(jìn)行數(shù)字網(wǎng)建設(shè)、維護(hù)的重要依據(jù);也是評估電信業(yè)務(wù)性能優(yōu)劣的標(biāo)準(zhǔn)之一。 因此,國際電聯(lián)(ITU-T)極為重視對差錯的研究,近年來,針對數(shù)字網(wǎng)的設(shè)計、安裝、維護(hù)的要求,推出了一系列有關(guān)誤碼性能的建議。目前我國工程技術(shù)人員所使用的測試儀多為國外進(jìn)口產(chǎn)品,產(chǎn)品價格昂貴。而國產(chǎn)的測試儀功能相對簡單。為此我們研究設(shè)計了一款基于 ARM的2M傳輸口測試系統(tǒng)。2Mb/s是我國數(shù)字時分復(fù)用基群2048kbit/s 的簡稱,是PCM傳輸與交換的基礎(chǔ)。本文涉及的2M傳輸口測試系統(tǒng)為手持式PCM 2M綜合測試儀器。
2系統(tǒng)硬件設(shè)計
根據(jù)2M測試系統(tǒng)的性能要求,硬件層主要由系統(tǒng)核心部分、檢測模塊部分和語音監(jiān)聽部分組成。硬件原理框圖如圖1。
2.1 系統(tǒng)核心組成設(shè)計
在此系統(tǒng)中我們選用三星公司的S3C2410[1]微控制器芯片,內(nèi)含一個由ARM公司設(shè)計的16/32位ARM920T RISC處理器核,ARM920T為低功耗、高性能的16/32核。S3C2410微控制器芯片在本系統(tǒng)中的主要作用是:(1)讀寫和控制各模塊芯片;(2)讀取鍵值;(3)控制液晶屏的顯示;(4)在測量時進(jìn)行數(shù)據(jù)的讀取和處理;(5)對存儲器進(jìn)行讀寫;(6)通過串行口與微機(jī)進(jìn)行通訊,將測試結(jié)果上傳微機(jī)。存儲器以HY29LV160 FLASH作為程序存儲器,以HY57V641620SDRAM作內(nèi)存,構(gòu)成嵌入式系統(tǒng)核心。S3C2410芯片內(nèi)含一個IIC總線控制器,可方便的與各種帶有IIC接口的器件相連。在該系統(tǒng)中,外擴(kuò)一片AT24C01作為IIC存儲器??纱娣旁谙到y(tǒng)掉電時需要保存的數(shù)據(jù)。
2.2 檢測模塊部分的設(shè)計
檢測模塊部分由芯片DS21354[2]和芯片DS21372組成,這兩塊芯片協(xié)同工作共同完成檢測功能。DS21354芯片主要完成發(fā)送和接收2048kbit/s 的PCM 信號,并從中檢測誤碼和告警狀態(tài)。DS21372是一種軟件可編程的測試圖樣產(chǎn)生、接收、分析器,能適用于對差錯性能要求最嚴(yán)格的數(shù)字傳輸設(shè)備的能力。具有兩種測試圖樣的生成方式(偽隨機(jī)序列和重復(fù)序列)。符合CCITT/ITU O.151,O.152,O.153和 O.161標(biāo)準(zhǔn)。DS2172 可以工作在直流到20MHz,這樣寬的頻率工作范圍使它可以靈活地使用在現(xiàn)有的設(shè)備和處于測試階段的新設(shè)備中,如:傳輸設(shè)備,交換設(shè)備,復(fù)用器,DAC,路由器,橋設(shè)備等。
DS21372[3]中包含有4個功能塊:圖樣產(chǎn)生,圖樣檢測,差錯計數(shù)和控制接口,具有完全獨立的傳輸和接收部分,8bit的并行處理器接口,可以編程產(chǎn)生最大長度為(232-1)bits的偽隨機(jī)序列圖樣,可編程的多項式長度和反饋量可以用于任意偽隨機(jī)序列圖樣的生成,包括:26-1、29-1、211-1、215-1、220-1、223-1和232-1?;蛘哂脩艟幊痰淖远x長度從1到32bits的重復(fù)序列圖樣。擁有32bit差錯計數(shù)器和比特計數(shù)器。軟件編程的比特差錯插入,最大比特差錯率圖樣的檢測可達(dá)10-2。DS21372能向線路插入單個bit或從10-1bit到10-7bit誤碼率的誤碼,以檢驗設(shè)備的操作狀態(tài)和連通性。用于分析、評測、解決數(shù)字通信系統(tǒng)中出現(xiàn)的問題。
2.3 語音監(jiān)聽模塊部分的設(shè)計
語音監(jiān)聽部分采用時隙交換電路和語音檢測模塊組成,語音檢測模塊采用ZARLINK的3.3V多功能CODEC MT91L60[4]。這款芯片能實現(xiàn)聲音信號的A/D、D/A轉(zhuǎn)換,并為標(biāo)準(zhǔn)的電話機(jī)手柄等接收發(fā)送裝置提供模擬接口。當(dāng)E1接口電路與2M實際線路連通后,2M 鏈路上的話音時隙要通過時隙交換電路與MT91L60電路相連,構(gòu)成了話音時隙收發(fā)的通道。在這個過程中要初始化時隙交換電路,將2M鏈路上的需要監(jiān)測的話音時隙交換至MT91L60。打開MT91L60接收通路至電話機(jī)手柄輸出,設(shè)置ITU-T A-law話音編碼方式,設(shè)置接收增益+6dB,設(shè)置非消側(cè)音非環(huán)回模式等。這些設(shè)置是通過設(shè)置MT91L60內(nèi)部寄存器完成的,完成這一系列設(shè)置后,語音測試就可以開始了,語音可以通過電話機(jī)手柄聽到,其他測試內(nèi)容可以從MT91L60內(nèi)部寄存器讀到結(jié)果。[!--empirenews.page--]
3系統(tǒng)軟件設(shè)計
軟件部分主要由啟動代碼的設(shè)計和應(yīng)用程序的設(shè)計,基于ARM是復(fù)雜的片上系統(tǒng)(SOC),這種復(fù)雜系統(tǒng)里的多數(shù)硬件模塊都是可配置的,需要由軟件來設(shè)置其需要的工作狀態(tài)。因此在用戶的應(yīng)用程序啟動之前,需要有專門的一段啟動代碼來完成對系統(tǒng)的初始化。由于這類代碼直接面對處理器內(nèi)核和硬件控制器進(jìn)行編程,一般都是用匯編語言寫的。啟動代碼就是完成各種初始化工作,并引導(dǎo)進(jìn)入C程序。
3.1 bootloader設(shè)計
啟動代碼[5]的主要實現(xiàn)功能包括以下部分:
(1)設(shè)置程序入口指針;
(2)設(shè)置中斷向量表;
(3)初始化存儲器系統(tǒng);
(4)初始化CPU各種模式的堆棧和寄存器;
(5)初始化目標(biāo)系統(tǒng)中要使用的各種片內(nèi)外設(shè);
(6)初始化用戶程序執(zhí)行環(huán)境;
(7)引導(dǎo)主應(yīng)用程
具體實現(xiàn)的部分代碼如下:
AERA Init, CODE,READONLY
ENTRY ;定義入口點
B SYS_RST_HANDLER ;系統(tǒng)上電復(fù)位操作
B UDF_INS_HANDLER ;處理未定義中斷模式
B SWI_SVC_HANDLER ;處理軟件中斷
B INS_ABT_HANDLER
B DAT_ABT_HANDLER ;處理中止異常
B .
B IRQ_SVC_HANDLER ;處理IRQ 中斷
B FIQ_SVC_HANDLER ;處理FIQ中斷
SYS_RST_HANDLER
MSR R0, CPSR ;禁止中斷
ORR R0,R0,#0XC0
MSR CPSR_C,R0
BL initcpu ;調(diào)整PLL和時鐘
BL initmem ;初始化存儲器
BL initstack ;設(shè)置堆棧
… …
… …
… …
B main ; 跳轉(zhuǎn)到主應(yīng)用程序
3.2應(yīng)用程序的設(shè)計
應(yīng)用程序采用C語言編寫,由其實現(xiàn)本系統(tǒng)中所需的各種功能。根據(jù)系統(tǒng)功能需求,軟件劃分為以下模塊:液晶顯示模塊、測試設(shè)置模塊、測試指標(biāo)計算模塊等部分。軟件設(shè)計思想是利用S3C2410的中斷控制整個軟件的流程。共使用4個硬件中斷來完成系統(tǒng)的功能:一個內(nèi)部硬件定時中斷,3個外部硬件中斷(鍵盤中斷、串口中斷、E1測試中斷)。主程序流程圖如圖2所示。
[!--empirenews.page--]
根據(jù)測試系統(tǒng)功能的要求, 在程序中定義了2個數(shù)據(jù)結(jié)構(gòu),一個是用來存放程序中需要用到的各種測試設(shè)置值的數(shù)據(jù)結(jié)構(gòu)SetUp_struct;另一個是用于存放測試結(jié)果的數(shù)據(jù)結(jié)構(gòu)Data_struct。這兩個數(shù)據(jù)結(jié)構(gòu)是連接各個功能函數(shù)的橋梁,通過判斷SetUp_struct中各個變量的值可以使程序做出相應(yīng)的操作,并改變相應(yīng)Data_struct值,從而實現(xiàn)在不同的測試環(huán)境下對不同指標(biāo)的測試。
3.3 2M測試系統(tǒng)測試指標(biāo)的測量與計算
2M測試系統(tǒng)設(shè)計所能達(dá)到的測試指標(biāo)如下:
(1)、在線和中斷業(yè)務(wù)測試,可選接口阻抗:75Ω、120Ω、高阻(≥2KΩ)。
(2)、統(tǒng)計分析功能: G.826測試分析誤塊秒、嚴(yán)重誤塊秒、背景誤塊、不可用秒、誤塊秒率、嚴(yán)重誤塊秒率、背景誤塊率;G.821測試分析誤碼秒、嚴(yán)重誤碼秒、 不可用秒;M.2100測試分析誤碼秒、嚴(yán)重誤碼秒、不可用秒。
(3)、差錯(誤碼、誤塊)監(jiān)測比特誤碼、編碼誤碼、幀字差錯、CRC差錯。
(4)、告警監(jiān)測。
(5)、同時顯示幀開銷及30個話路數(shù)字型線路信號(a.b.c.d)的狀態(tài)。
(6)、話音監(jiān)聽,各話音時隙可選。
(7)、測試結(jié)果掉電可記憶,可上傳微機(jī)。
上述各項指標(biāo)的測量由檢測模塊和語音監(jiān)聽模塊實現(xiàn),指標(biāo)的(3)、(4)項可通過對ds21354和ds21372的相關(guān)寄存器的設(shè)置和對線路狀態(tài)寄存器的讀取并對數(shù)據(jù)簡單處理可實現(xiàn)。指標(biāo)的(5)、(6)項可通過對時隙交換電路相關(guān)寄存器的設(shè)置和讀取對數(shù)據(jù)簡單處理實現(xiàn)。第(2)項的指標(biāo)參數(shù)是統(tǒng)計指標(biāo),需要在讀取DS21372寄存器的原始測試數(shù)據(jù)之后,經(jīng)過計算得到。統(tǒng)計指標(biāo)以秒為單位,程序設(shè)置了周期為1s的中斷定時讀取ds21372的寄存器值,調(diào)用計算函數(shù)計算統(tǒng)計指標(biāo)。圖3是在G.821分析模式下的統(tǒng)計指標(biāo)算法流程圖,其余分析模式下與此相似。
圖3 G.821分析模式下測試指標(biāo)計算流程圖
4 結(jié)束語
2M 測試系統(tǒng)在我國電信、網(wǎng)絡(luò)相關(guān)領(lǐng)域具有廣泛的應(yīng)用價值。本文介紹的基于ARM的2M測試系統(tǒng)具有體積小、功耗低、功能豐富等優(yōu)點,特別是能夠語音監(jiān)聽,并且各時隙可選,能夠滿足對2M口性能的測試和分析。ARM處理器以其高性價比,在嵌入式系統(tǒng)領(lǐng)域得到了廣泛應(yīng)用。
本文作者創(chuàng)新點:在2M測試系統(tǒng)中采用時隙交換芯片與語音檢測芯片組合成語音在線監(jiān)聽模塊,能實現(xiàn)任一時隙的語音監(jiān)聽,以及任一時隙的線路信號狀態(tài)檢測,能更好的幫助工程技術(shù)人員對2M線路的測試和維護(hù)。