PMC4351在便攜式2M誤碼測試儀中的應(yīng)用
關(guān)鍵詞:2M便攜式誤碼測試儀;PMC4351;液晶顯示屏;現(xiàn)場可編程門陣列
1 2M便攜式誤碼測試儀系統(tǒng)的結(jié)構(gòu)
便攜式2M誤碼測試儀(以下簡稱誤碼儀)集2M誤碼測試分析、數(shù)據(jù)存儲、數(shù)據(jù)圖形顯示三種功能于一體。該儀器是通過采用嵌入式設(shè)計技術(shù),把FPGA、成幀器、LCD控制器等核心部件進行系統(tǒng)集成,并利用SOPC、LCD圖形顯示等現(xiàn)代電子系統(tǒng)設(shè)計技術(shù)的一種綜合設(shè)計,具有功能強大、技術(shù)含量高、體積小、重量輕等特點,攜帶和操作十分方便,有很強的實用性和良好的市場前景,代表了當(dāng)今電子測量儀器的一種發(fā)展趨勢。2M誤碼測試儀系統(tǒng)的結(jié)構(gòu)如圖1所示。
1.1 人機接口模塊
人機接口分顯示和鍵盤兩部分。其中顯示模塊采用可顯示漢字和圖形的圖形點陣式液晶顯示屏。漢字顯示方便用戶使用。圖形顯示可使用統(tǒng)計圖表、曲線等多種顯示方式來表達要顯示的內(nèi)容,使顯示內(nèi)容更加生動。由于儀器為手持式的,顯示屏的外形要小,所以要求顯示像素的尺寸也要小,這樣才能有足夠的像素點陣。顯示屏模塊還要帶有顯示控制器、顯示緩沖器和背光電源,以便在現(xiàn)場光線不足時使用。
鍵盤模塊分為兩組:組合鍵和功能鍵。組合鍵在不同的層次界面下通過軟件來控制,實現(xiàn)不同的功能,并在顯示屏上顯示。而一部分功能必須由功能鍵來完成,一個單元的鍵對應(yīng)一個功能,如控制光標(biāo)移動的上、下、左、右鍵。
1.2 2M測試模塊
2M測試模塊可以完成數(shù)字口的全部測試工作,包括HDB3碼的編碼和解碼、時鐘提取、測試圖案的產(chǎn)生和檢測、各種幀格式信號的產(chǎn)生以及告警信號的產(chǎn)生及檢測等。本設(shè)計采用的是PCM-Sierra公司的PMC4351。PMC4351集成了先進的成幀器、收發(fā)滑動緩存器和一個片內(nèi)短、長特理線路接口,當(dāng)將其用作E1接口時,其幀結(jié)構(gòu)符合CCITT G.704、G.706和G.732協(xié)議。PMC4351內(nèi)含有E1成幀器和3個HDLC控制器,可提供2.048Mb/s的E1數(shù)據(jù)接口,完成E1信號轉(zhuǎn)換,還具AMI、HDB3及B8ZS線路編碼,幀標(biāo)志的產(chǎn)生、零比特的插入和刪除、CRC碼的產(chǎn)生和校驗、鏈路檢測、錯誤報警及相應(yīng)的處理功能。PMC4351包括接收線路接口單元(Receive LIU)、抖動消除器(JAT)、背板接口(Backplane interface)、時鐘合成適配器(CSAD)、數(shù)據(jù)接收器(Transmit LIU)、E1成幀器(ETST)、發(fā)送線路接口單元(Transmit LIU)、微處理器接口(MPU)和連接測試接入端口組(JTAG)、彈性存儲單元(ELST)十個主要部分。其功能框圖如圖2所示。
1.3 存儲模塊
存儲模塊用于記錄監(jiān)測結(jié)果,并提供實時時鐘,主要器件是非常失性存儲器和實時時鐘電路,本設(shè)計采用Dallas公司的DS1746型模塊,內(nèi)含128K字節(jié)的非易失RAM和實時時鐘。它有如下主要特征:
●集成了NV SRAM、實時時鐘、晶振、電源失效控制電路和鋰電池。
●內(nèi)含的訪問時鐘寄存器方式與靜態(tài)RAM完全相同,這些寄存器位于RAM中最高的8個地址。
●完全的非易失性,可在缺少電源的條件下工作10年以上。
●帶有電池電壓指示標(biāo)志。
●具有電源失效寫保護,允許10%的VCC電源容差。
控制模塊由Altera公司的FPGA(Cyclone EP1C12)、SDRAM、FLASH及外圍電路組成。由FPGA內(nèi)嵌的Nios軟核來實現(xiàn)運算控制功能。Nios是Altera公司基于RISC技術(shù)的通用嵌入式軟核處理器,它主要是利用Altera公司的SOPC Builder應(yīng)用軟件改造系統(tǒng)硬件平臺,通過將包括32位高性能處理器在內(nèi)的多種應(yīng)用模塊嵌入到一個通用的FPGA內(nèi),來實現(xiàn)一個完全可重置的處理模塊。
2 2M測試模塊設(shè)計
2.1 電路設(shè)計
2M測試模塊由PMC4351及其外圍電路組成,具體電路見圖3。
圖中,載有時鐘信號的單極信號和參考電壓從接收端口引入,并由時鐘與數(shù)據(jù)恢復(fù)模塊進行B8ZS和HDB3解碼,時鐘和PCM數(shù)據(jù)恢復(fù)、線路編碼混亂監(jiān)測及信號丟失檢測。根據(jù)引入的RZ數(shù)據(jù)脈沖,模塊使用數(shù)字鎖相環(huán)進行時鐘恢復(fù)并重建NRZ數(shù)據(jù)。當(dāng)可編程連續(xù)比特周期極限內(nèi)的線路脈沖輸入的正負方向上都沒有脈沖時,模塊則指示為信號丟失。一旦出現(xiàn)一個單獨線路脈沖,指示即被清除。當(dāng)檢測到線路信號丟失或出現(xiàn)時,即產(chǎn)生中斷。
當(dāng)RJATEN寄存器比特值為邏輯1時,接收抖動衰減器對發(fā)送數(shù)據(jù)進行抖動削弱處理,
PMON模塊提供性能監(jiān)控記數(shù)功能,即統(tǒng)計CRC錯誤事件、幀同步比特錯誤事件及線路編碼混亂事件等。對于E1模式而言,線路編碼混亂被定義為AMI編碼信號及HDB3編碼信號的雙極混亂(BPV)。
E1成幀功能由E1-FRMER模塊實現(xiàn)。E1-FRMR模塊在引入的還原的PCM數(shù)據(jù)流中搜索基本幀隊列、CRC復(fù)幀隊列以及信道關(guān)聯(lián)信令(CAS)。E1-FRMR也可根據(jù)用戶選擇對基于幀丟失、CRC復(fù)幀丟失和CAS復(fù)幀丟失進行檢測和指示。幀重組操作可由軟件(E1-PRMR幀隊列選項寄存器)來進行初始化,也可在出現(xiàn)過多的CRC錯誤和400ms內(nèi)未發(fā)現(xiàn)CRC我?guī)犃械那闆r下初始化。E1-FRMR還可識別幀、CRC復(fù)幀和CAS復(fù)幀的開始位置。能夠提取國際通信比特(從和NFAS復(fù)幀NFAS復(fù)幀中)、國內(nèi)通信比特和備用比特(CAS多幀中的時隙16和幀0),并分別存儲在E1-FRMR國際通信比特/國內(nèi)通信比特和備用比特寄存器中,同時,它也可以提取CRC子復(fù)幀的國內(nèi)通信比特SA4-SA8,并存儲在可讀寄存器中,每個子復(fù)幀更新一次。
背板收接口輸出包含BRPCM所有時隙2.048Mbit/s的串行數(shù)據(jù)流,BRFP信號可以指示每256bit幀的第一比特,或是CRC復(fù)幀的第一幀的第一比特。所以接收背板信號背板時鐘保持同步。
E1轉(zhuǎn)發(fā)器產(chǎn)生2046kbit/s數(shù)據(jù)流、生成幀、CRC復(fù)幀及CAS復(fù)幀。與傳輸單信道串行控制器(TPSC)一致,E1-TRAN塊提供空閑碼置換、數(shù)據(jù)轉(zhuǎn)換、信令源與CAS數(shù)據(jù)及數(shù)字音頻插入的單時隙控制。HDLC轉(zhuǎn)發(fā)器(TDPR)和傳輸信道插入(TXCI)塊串的時隙16均支持普通信道信令(CCS),CCS支持AIS和TS16 AIS的傳輸出及遠端警報(RAI)和遠端多幀警報信號的傳輸。
1.1 軟件設(shè)計
誤碼儀的軟件按照軟件工程的要求進行設(shè)計。按功能模塊的劃分可分為以下幾個部分:初始化模塊、鍵盤模塊、運算處理模塊、顯示模塊、管理控制模塊、存儲操作模塊和打印模塊。
系統(tǒng)的初始化模塊包括開機自檢、硬件參數(shù)初始化等;鍵盤模塊對面板上的用戶輸入進行分析處理,并轉(zhuǎn)到管理控制模塊,通過調(diào)用相關(guān)函數(shù)實現(xiàn)并進行處理;算法處理模塊對從PMC4351輸入的原始數(shù)據(jù)進行分析,并由狀態(tài)顯示模塊顯示程序運行時的各種狀態(tài);存儲操作模塊對各次操作結(jié)果和分析進行記錄,并對記錄進行管理;打印模塊完成對測試結(jié)果的打印。
圖3
pmc4351_address=(unsingned char *)((char *) na_user_logic_my_mem_0);
void pmc_initialz(void)
{ unsigned char value;
Cls_tmplet();
Int_templet();
Pmc4351_address[0x00]=0x91;
Pmc4351_address[0x04]=0x40;
Pmc4351_address[0xf0]=0x0c;
Pmc4351_address[0xd6]=0x00;
Pmc4351_address[0x10]=0x00;
Pmc4351_address[0x1c]=0x03;
Pmc4351_address[0x20]=0x03;
Pmc4351_address[0x80]=0x60;
Pmc4351_address[0x90]=0xc2;
Pmc4351_address[0x50]=0x00;
Pmc4351_address[0x40]=0x39;
Pmc4351_address[0x41]=0x01;
Pmc4351_address[0x30]=0x01;
Pmc4351_address[0x31]=0x00;
Pmc4351_address[0x32]=0x01;
Pmc4351_address[0x06]=0x01;
Pmc4351_address[0xf8]=0x01;
Pmc4351_address[0xf9]=0x00;
Pmc4351_address[0xfa]=0x01;
Pmc4351_address[0xfb]=0x01;
Pmc4351_address[0xfe]=0x00;
Pmc4351_address[0xff]=0x0b;
Pmc4351_address[0x19]=0xff;
Pmc4351_address[0x1a]=0xff;
Pmc4351_address[0x1b]=0x11;
Pmc4351_address[0x15]=0xff;
Pmc4351_address[0x16]=0xff;
Pmc4351_address[0x17]=0x11;
Pmc4351_address[0x02]=0x00;
Pmc4351_address[0xdc]=0x34;
Pmc4351_address[0xf4]=0x01;
Pmc4351_address[0xf4]=0x01;
Value=pmc4351_address[0xf4];
Value=value0xfe;
Pmc4351_address[0xf4]=value;
Pmc4351_address[0xf5]=0x01;
Pmc4351_address[0xf5]=0x01;
Value=pmc4351_address[0xf5];
Value=value0xfe;
Pmc4351_address[0xf5]=value;
Pmc4351_address[0xf6]=0x01;
Initial_RLPS_euqa();
}
void initial_RLPS_euqa(void)
{unsigned int addr;
Pmc4351_address[0xfd]=0x00;
For(addr=0;address=255;addr++)
{ Pmc4351_address[0xd8]=equalizer_val[addr][0];
Pmc4351_address[0xd9]=equalizer_val[addr][1];
Pmc4351_address[0xda]=equalizer_val[addr][2];
Pmc4351_address[0xdb]=equalizer_val[addr][3];
Pmc4351_address[0xfc]=address;
Time_delay(1);}
}
3 結(jié)束語
文中主要討論了PMC4351在便攜式2M誤碼測試儀的硬件和軟件設(shè)計中的設(shè)計思路和設(shè)計方案。本設(shè)計采用目前非常先進的軟硬件協(xié)同設(shè)計的SOPC技術(shù)方案完全是可行的。測試結(jié)果表明,該設(shè)計的技術(shù)指標(biāo)達到了設(shè)計要求,具有非常廣闊的應(yīng)用前景。
評論