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