微機(jī)在通信線路誤碼率測試中的應(yīng)用
2.3.1 應(yīng)用程序介紹
目前使用的微機(jī)測試系統(tǒng)的軟件是用BC++3.1在DOS6平臺下開發(fā)的。由于多路信道的誤碼率測試具有隨機(jī)性,為適應(yīng)這種具有多任務(wù)性質(zhì)的操作,在設(shè)計(jì)過程中模擬了Win32系統(tǒng)的多線程技術(shù),將軟件設(shè)計(jì)成包含一個(gè)主線程和多個(gè)子線程。主線程負(fù)責(zé)系統(tǒng)的初始化、人機(jī)接口、記錄顯示及子線程的調(diào)度。各子線程獨(dú)立負(fù)責(zé)對某個(gè)信道進(jìn)行誤碼率測試,其數(shù)目與被選擇要測試的信道數(shù)目相關(guān)。當(dāng)需要對某個(gè)信道測試誤碼率時(shí),主線程執(zhí)行下列操作:
?通過控制板向線路切換板發(fā)送控制信息,將相應(yīng)信道接駁到誤碼測試板中,同時(shí)切斷該信道與數(shù)據(jù)終端的連接;
?初始化誤碼測試板上相應(yīng)通道的狀態(tài);
?創(chuàng)建一個(gè)子線程啟動(dòng)511碼的發(fā)送、接收及對比,并開始計(jì)時(shí)顯示;
?子線程與主線程通信,實(shí)時(shí)地將測試的結(jié)果送主線程顯示、記錄,顯示的內(nèi)容包括信道名稱、測試時(shí)間、同步情況、誤碼計(jì)數(shù)和最終結(jié)果誤碼率;
?測試完成時(shí)由主線程將相應(yīng)通道復(fù)位,并將線路恢復(fù)到原始狀態(tài)。
2.3.2 511碼序列的產(chǎn)生
產(chǎn)生511碼序列的本原多項(xiàng)式為1+X5+X9,其初始值為任意9位非全“0”的二進(jìn)制數(shù),產(chǎn)生方法如圖5所示。
即位a0與位a5異或后作為下一位輸入值,如此循環(huán)511次,即得到一組511碼序列(一個(gè)周期)。
2.3.3 511碼序列的發(fā)送
由于在實(shí)際的誤碼率測試過程中,線路上傳輸?shù)氖前醇榷ùa速率發(fā)送的持續(xù)等間隔511碼位流,即不允許在該位流中插入任何控制字符或比特位。每個(gè)比特位的同步依靠與數(shù)據(jù)(TxD、RxD)一同傳輸?shù)臅r(shí)鐘信號(TxC、RxC)來完成。
考慮到一個(gè)周期的511碼序列不是整數(shù)字節(jié),為便于微機(jī)的處理,預(yù)先生成8個(gè)周期即511個(gè)字節(jié)的碼序列,置于一個(gè)專門的發(fā)送緩沖區(qū)內(nèi)。根據(jù)511碼產(chǎn)生原理可知,在一個(gè)8周期的碼序列中,任選一個(gè)相鄰的16位碼組,該碼組必是唯一的。由此,可從511字節(jié)的碼序列中任意選定一個(gè)16位碼組作為同步字符,并將誤碼測試板的通信協(xié)議設(shè)置成所支持的雙同步(16位同步字符)傳輸方式。511碼的發(fā)送主要依靠硬件來完成,軟件僅在初始化時(shí)設(shè)定發(fā)送緩沖區(qū)的地址、要發(fā)送的字節(jié)數(shù),然后啟動(dòng)加載發(fā)送;待第一個(gè)511字節(jié)的位流發(fā)送完畢后,由硬件自動(dòng)加載持續(xù)發(fā)送,直到停止測試為止,從而實(shí)現(xiàn)511碼序列的持續(xù)不間斷發(fā)送。
2.3.4 511碼的接收與比對
在設(shè)定好雙同步工作方式后,利用2.3.3節(jié)中的16位同步字符對接收的位流進(jìn)行同步。每同步一次即接收511字節(jié)的位流,然后與預(yù)先生成的511字節(jié)碼序列對比,并計(jì)算出誤碼數(shù)。為了處理上的方便,對每個(gè)被測試接收信道設(shè)置兩個(gè)接收緩沖區(qū),長度各為511字節(jié),交替接收處理。由于在同步后接收到的511字節(jié)位流是由硬件實(shí)現(xiàn)直接打入到相應(yīng)的接收緩沖區(qū)中(DMA接收),非常高效,故設(shè)置兩個(gè)接收緩沖區(qū)所增加的系統(tǒng)開銷相對而言是微不足道的。
2.4 應(yīng)用效果
利用新的微機(jī)測試系統(tǒng),我們在一個(gè)信道和多個(gè)信道的情況下,分別進(jìn)行了自測、環(huán)測及與誤碼儀的對測,并在測試過程中人工加入干擾,以判斷系統(tǒng)的適應(yīng)性。測試結(jié)果表明,采用新的誤碼率測試方法是完全可靠和可行的。
與用誤碼儀進(jìn)行通信線路誤碼率測試的方法相比,本文中所述的方法有如下幾點(diǎn)優(yōu)越性:
?控制靈活方便,不再需要插拔電纜,簡化了操作;
?從32路通道中分組選擇1~8路進(jìn)行測試的功能既降低了硬件設(shè)計(jì)的復(fù)雜性,又可以適應(yīng)不同情況下的需要。選擇足夠通道的誤碼測試板,即可在通信的兩端實(shí)現(xiàn)高效率的誤碼率測試;
?測試誤碼率時(shí),被測信道不會影響其它信道的正常工作。系統(tǒng)不工作時(shí)對所有信道的數(shù)據(jù)傳輸不會造成任何影響,可靠性高。
為更好地適應(yīng)多路誤碼率測試的需求,可充分地利用WindowsNT和VC++的多線程技術(shù),將該微機(jī)測試系統(tǒng)設(shè)計(jì)成在WindowsNT 4(工作站版)下運(yùn)行,這樣既可提高測試系統(tǒng)的性能,又便于軟件的維護(hù)。
評論