孫 偉,鮑凱凱,代振濤,武亮明,周 文
(北方自動(dòng)控制技術(shù)研究所,太原 030006)
隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,信息網(wǎng)絡(luò)戰(zhàn)爭(zhēng)已成為未來我軍的主要戰(zhàn)場(chǎng)[1-2]。應(yīng)用于各類信道接口單元的通信接口模塊層出不窮。本文設(shè)計(jì)的K口通信模塊具有廣泛的應(yīng)用市場(chǎng),通過該接口不僅可以實(shí)現(xiàn)與新一代通信控制器連接,還可以與野戰(zhàn)交換機(jī)、K接口遙控終端等設(shè)備互聯(lián)互通,具備同時(shí)傳輸數(shù)據(jù)和數(shù)字語音的功能。
本文K口通信模塊采用FPGA+硬件接口芯片MT9172的設(shè)計(jì)方案實(shí)現(xiàn),可以提供全雙工128 Kbit/s的傳輸通道,用戶端提供標(biāo)準(zhǔn)TDM口進(jìn)行數(shù)據(jù)接入,支持多種編碼體制的話音業(yè)務(wù)和電臺(tái)參數(shù)配置、數(shù)據(jù)業(yè)務(wù)。其中FPGA主要完成K接口的鏈路層協(xié)議處理,實(shí)現(xiàn)TDM接口數(shù)據(jù)收發(fā),時(shí)隙復(fù)接與數(shù)據(jù)緩沖,完成與電臺(tái)間的同步與信令握手流程。硬件接口芯片MT9172與網(wǎng)絡(luò)變壓器HR070620配合完成K接口物理層處理,實(shí)現(xiàn)單線對(duì)上全雙工數(shù)字通信,與FPGA間通過收發(fā)獨(dú)立的串行數(shù)據(jù)流通信。
本設(shè)計(jì)中FPGA采用Xilinx公司技術(shù)成熟的Spartan-3A系列的XC3S700A[3]。其具有可靠性高、成本低、邏輯資源豐富的特點(diǎn)。其基本屬性為700K邏輯門,1472個(gè)CLBs,5888個(gè)Slices,92 Kb分布式RAM,360 Kb集成RAM,8個(gè)DCMs,能夠?yàn)闉楦呷萘俊⒊杀久舾蓄悜?yīng)用提供超低成本、高性能的邏輯解決方案。
K接口的物理層處理采用了Zarlink公司的數(shù)字網(wǎng)絡(luò)接口芯片MT9172(簡(jiǎn)稱DNIC)[4],該芯片采用自適應(yīng)回波抵消技術(shù),可在單對(duì)線路上實(shí)現(xiàn)全雙工數(shù)字傳輸,傳輸速率可選為80 kbit/s或160 kbit/s,普通的雙絞線傳輸距離可達(dá)4 km,與ISDN的2B+D數(shù)據(jù)格式相兼容。其內(nèi)部,具有幀同步析取和時(shí)鐘析取能力,可為外部電路提供時(shí)鐘。
圖1 MT9l72 內(nèi)部原理框圖
本方案中選擇的MT9172具有多種操作模式,可通過引腳MS0-2選擇,兩種主要操作模式為MOD(透?jìng)髂J?和DN(數(shù)字網(wǎng)絡(luò))模式。MOD模式速率可選為80/160 kbit。在DN模式時(shí),線路按照ISDN(綜合業(yè)務(wù)數(shù)字網(wǎng))格式傳輸B、D通道數(shù)據(jù),速率可選為80/160 kbit。DN模式時(shí),CD口和DV口為標(biāo)準(zhǔn)的串行總線接口(ST-BUS),并且,在MOD模式,CD口和DV口以80 kbit/s或160 kbit/s的速率透?jìng)鞔袛?shù)據(jù)。其他模式包括:主、從、單口、雙口模式,主從模式時(shí),時(shí)間基準(zhǔn)和幀同步信號(hào)由外部提供或從線路提取。雙口模式時(shí),CD口和DV口都活動(dòng),單口模式時(shí),CD口不活動(dòng),所有信息通過DV口傳輸。對(duì)于線路上兩個(gè)DNIC,必須分別設(shè)置為主、從,MOD模式下只有雙口模式。
本設(shè)計(jì)中MT9172工作在模式1,為透?jìng)髂J?MOD)、主模式。其他配置采用默認(rèn)模式2配置,此時(shí),DNIC速率配置為160 kbit/s,預(yù)擾碼器、診斷寄存器復(fù)位等功能全部不使能。其中,時(shí)鐘鎖相環(huán)路的時(shí)鐘改用了8.192 MHz,K口實(shí)際工作于128 Kbit/s。系統(tǒng)端DV口及相應(yīng)的時(shí)鐘接入FPGA,透明數(shù)據(jù)經(jīng)FPGA處理后分為數(shù)據(jù)和語音,經(jīng)過FPGA內(nèi)部緩存,時(shí)隙再分配后由TDM口發(fā)送出去。具體電路連接關(guān)系如圖2所示。
本設(shè)計(jì)方案中FPGA與MT9172之間通過DV接口進(jìn)行全
雙工串行數(shù)據(jù)收發(fā),該接口的數(shù)據(jù)收發(fā)分別同步于發(fā)送時(shí)鐘和接收時(shí)鐘,發(fā)送時(shí)鐘和接收時(shí)鐘由MT9172提供,都為128 kbps。FPGA需要根據(jù)K接口協(xié)議完成與短波電臺(tái)/超短波電臺(tái)K口間的鏈路同步、環(huán)路信令交互、對(duì)透明數(shù)據(jù)按時(shí)隙接收、緩存、發(fā)送的工作,設(shè)計(jì)在ISE14.7環(huán)境下,采用VHDL語言編程實(shí)現(xiàn)。
K口具有多種工作模式,其中工作于模式3適用于新一代VHF/HF電臺(tái)K接口,模式3又細(xì)分為兩種模式:模式3-32K、模式3-64K,模式3-32K的電臺(tái)業(yè)務(wù)數(shù)據(jù)的實(shí)際傳輸速率為32 Kbps,語音采用64 Kbps的PCM編碼。模式3-64K的電臺(tái)業(yè)務(wù)數(shù)據(jù)的實(shí)際傳輸速率為64 Kbps,語音采用32 Kbps的ADPCM編碼。本方案根據(jù)通信應(yīng)用需求,采用模式3-32K,其幀格式如圖3所示。
在這種模式下,K口數(shù)據(jù)幀速率為16 Kbit/s,每幀由8 bit數(shù)據(jù)構(gòu)成, 劃分為8個(gè)時(shí)隙,每個(gè)bit為一個(gè)時(shí)隙。K口數(shù)據(jù)幀格式各字段含義如下:
1)同步:同步碼采用地域網(wǎng)中繼群規(guī)約中規(guī)定,本端未同步前發(fā)反碼111100010011010,本端同步后發(fā)正碼000011101100101;
2)環(huán)路信令、話音指示:話音編碼指示時(shí)隙。設(shè)備同步后首先使用該時(shí)隙交互環(huán)路信令,環(huán)路信令交互完畢后,該時(shí)隙作為PCM的高/低4 bit指示位,當(dāng)時(shí)隙1為“0”時(shí)表示是同一字節(jié)的高4 bit,為“1”時(shí)表示為低4 bit,同一字節(jié)的高位先發(fā)送;
3)控制、數(shù)據(jù)包:包括電臺(tái)的網(wǎng)絡(luò)參數(shù)、信道參數(shù)的設(shè)置、查詢、加注和信令信息業(yè)務(wù)數(shù)據(jù)包:IP數(shù)據(jù)包和非IP數(shù)據(jù)。不同類型的數(shù)據(jù)采用相應(yīng)的HDLC格式封裝。
圖2 M79172外圍電路圖
圖3 K接口數(shù)據(jù)幀格式
4)PCM話音:編碼速率為64kbps的PCM話音數(shù)據(jù),由4、5、6、7四個(gè)時(shí)隙傳送。
K接口數(shù)據(jù)幀各時(shí)隙的數(shù)據(jù)采用bit交織的復(fù)接方式,具體的形式如圖4所示。
圖4 模式3-32K bit交織復(fù)接方式
其中第一列共15位組成同步碼,第二列,環(huán)路信令溝通階段,每8幀組成一個(gè)8 bit的環(huán)路信令字節(jié),環(huán)路信令溝通完成后,每1 bit指示語音數(shù)據(jù)的高/低位;第3、4列每4幀組成1字節(jié)的業(yè)務(wù)數(shù)據(jù),最后4列每2幀組成l字節(jié)的PCM語音數(shù)據(jù)。
K接口設(shè)備識(shí)別的過程描述:首先,物理連接建立后,K口通信模塊和信道設(shè)備分別檢測(cè)到對(duì)端的同步碼后,由失步狀態(tài)進(jìn)入鏈路幀同步狀態(tài)。在此基礎(chǔ)上進(jìn)行環(huán)路信令溝通,設(shè)備類型信息的交互就在這個(gè)一過程完成,溝通成功雙方進(jìn)入鏈路識(shí)別狀態(tài),溝通失敗則繼續(xù)進(jìn)行環(huán)路信令溝通。在鏈路識(shí)別的基礎(chǔ)上,上層軟件可以通過K口與信道設(shè)備進(jìn)行過手,握識(shí)別手成功則進(jìn)入握手狀態(tài),握手失敗則退回到鏈路識(shí)別狀態(tài)。圖5是K口設(shè)備識(shí)別的狀態(tài)轉(zhuǎn)換圖。在設(shè)備識(shí)別的過程中,設(shè)備信息的交互是通過環(huán)路信令溝通來完成的。
圖5 K口設(shè)備識(shí)別狀態(tài)轉(zhuǎn)換圖
本方案FPGA邏輯功能主要包括:
1)實(shí)現(xiàn)鏈路幀同步,分為同步碼的發(fā)送和接收;
2)實(shí)現(xiàn)鏈路幀數(shù)據(jù)的交織/解交織;
3)實(shí)現(xiàn)環(huán)路信令溝通,并上報(bào)連接狀態(tài);
4)實(shí)現(xiàn)TDM接口的數(shù)據(jù)收發(fā)、時(shí)鐘生成。
FPGA內(nèi)部邏輯設(shè)計(jì)如圖6所示。
圖6 FPGA邏輯設(shè)計(jì)框圖
本設(shè)計(jì)中FPGA邏輯設(shè)計(jì)關(guān)鍵點(diǎn)為鏈路同步檢測(cè)、環(huán)路信令溝通和TDM數(shù)據(jù)收發(fā)。鏈路同步檢測(cè)中關(guān)鍵設(shè)計(jì)包括數(shù)據(jù)接收寄存器、計(jì)數(shù)器、同步檢測(cè)模塊;環(huán)路信令溝通關(guān)鍵設(shè)計(jì)包括環(huán)路信令寄存器、狀態(tài)轉(zhuǎn)換模塊、數(shù)據(jù)FIFO。本小節(jié)就關(guān)鍵邏輯設(shè)計(jì)原理作詳細(xì)介紹。
3.3.1 數(shù)據(jù)接收寄存器
由于鏈路同步碼共15位,需15個(gè)連續(xù)的數(shù)據(jù)幀的同步時(shí)隙組成。為完整接收15位同步碼,設(shè)計(jì)120位的移位寄存器,按接收位時(shí)鐘移位,移位完成后,抽取移位寄存器的8n-2(n=1,2,…,15)位組成線路同步碼,并與協(xié)議約定值比對(duì),如與正碼比對(duì)一致,則認(rèn)為檢測(cè)到正同步碼,與反碼比對(duì)一致,則認(rèn)為檢測(cè)到反同步碼。
3.3.2 同步檢測(cè)模塊
鏈路同步檢測(cè)模塊具體原理為,鏈路開始處于失步狀態(tài),發(fā)送模塊發(fā)反碼。接收模塊每接收1位數(shù)據(jù),就檢測(cè)是否構(gòu)成同步碼,檢測(cè)失敗,等待下一位數(shù)據(jù),檢測(cè)成功,進(jìn)入預(yù)同步狀態(tài)。此時(shí),計(jì)數(shù)器啟動(dòng)工作,發(fā)送模塊發(fā)正碼,當(dāng)計(jì)數(shù)器為119時(shí),再進(jìn)行檢測(cè)是否為正碼,如為正碼,鏈路同步正常,后計(jì)數(shù)器從0開始繼續(xù)計(jì)數(shù)。如出現(xiàn)計(jì)數(shù)器為119時(shí),同步碼檢測(cè)失敗,則鏈路由同步狀態(tài)進(jìn)入失步狀態(tài),發(fā)送模塊發(fā)反碼。
3.3.3 環(huán)路信令溝通
環(huán)路信令溝通是一個(gè)雙向交互的過程,需要K口接發(fā)模塊協(xié)同工作,環(huán)路信令寄存器鎖存信道設(shè)備發(fā)送的環(huán)路信令信息,狀態(tài)機(jī)根據(jù)收到的環(huán)路信令信息完成狀態(tài)的轉(zhuǎn)換,并輸出相應(yīng)的狀態(tài)信息。環(huán)路信令溝通具體內(nèi)容包括:
1)Wait_AA:等待接收OxAA(收到AA發(fā)A0);
2)Wait_F6:等待接收OxF6(收到F6發(fā)E0);
3)Wait_CO_FO:等待接收OxCO或OxFO,OxCO為VHF,OxFO為HF(收到C0/F0發(fā)FC);
4)Wait_E8:等待接收OxE8,VHF/HF都使用64 Kbit/s的PCM模式(收到E8發(fā)FA);
5)Wait_AA_55:環(huán)路信令交互完成,時(shí)隙位變?yōu)楦叩椭甘疚唬掷m(xù)等待OxAA或0x55。
具體環(huán)路信令交互流程如圖7所示。
圖7 環(huán)路信令交互流程圖
3.3.4 TDM收發(fā)模塊
本方案中TDM接口按E1基本幀格式傳輸數(shù)據(jù),其基本幀長為256個(gè)bit,時(shí)長T=125 μs,分為32個(gè)時(shí)隙,每8 bit一個(gè)時(shí)隙,每時(shí)隙速率為64 kbps。K口模式3-32 K的電臺(tái)業(yè)務(wù)數(shù)據(jù)的實(shí)際傳輸速率為32 Kbps,語音數(shù)據(jù)傳輸速率為64 Kbps??紤]速率匹配需求,設(shè)計(jì)占用1時(shí)隙作為業(yè)務(wù)類型指示,2時(shí)隙低4位傳輸電臺(tái)業(yè)務(wù)數(shù)據(jù),3時(shí)隙傳輸PCM語音編碼。其中1時(shí)隙為0xA1時(shí)指示1時(shí)隙電臺(tái)業(yè)務(wù)數(shù)據(jù)有效,為0xA2時(shí)指示3時(shí)隙PCM語音編碼數(shù)據(jù)有效,為0xA3時(shí)指示1、2時(shí)隙數(shù)據(jù)都有效。發(fā)送方向,F(xiàn)PGA接收TDM數(shù)據(jù)后完成串并轉(zhuǎn)換,并存儲(chǔ)到內(nèi)部構(gòu)建的FIFO中,等待K口發(fā)送單元讀取并發(fā)送。接收方向,TDM發(fā)送單元讀取FIFO數(shù)據(jù),完成并串轉(zhuǎn)換,并按約定時(shí)隙發(fā)送到處理器。
分別將K口通信模塊與超短波、短波電臺(tái)K口相連接,使用ISE軟件,調(diào)用XILINX公司在線調(diào)試軟件chipscope,設(shè)置觸發(fā)條件,在線觀測(cè)FPGA內(nèi)部信號(hào),如圖8所示。其sync_flag_pre為1時(shí)指示收到對(duì)端電臺(tái)反碼,sync_flag為1指示收到對(duì)端正碼,鏈路處于同步狀態(tài),hlxl_reg持續(xù)為0x55或0xAA,指示環(huán)路信令已交互完畢,此時(shí)環(huán)路信令位變?yōu)楦叩椭甘疚?,所以持續(xù)為0x55或0xAA。此時(shí)電臺(tái)K口狀態(tài)顯示:K口已連接,如圖8所示。
圖8 FPGA內(nèi)部信號(hào)測(cè)試
經(jīng)檢驗(yàn),本文設(shè)計(jì)的K口通信模塊能夠?qū)崿F(xiàn)與新一代短波/超短波電臺(tái)間K口通信。并且,由于FPGA具備的可編程靈活性,根據(jù)應(yīng)用需求,可方便實(shí)現(xiàn)接口擴(kuò)展與改進(jìn),能廣泛應(yīng)用于各類通信控制器、野戰(zhàn)交換機(jī)、K接口遙控終端等設(shè)備上。
[1] 趙 珺.便攜式通信終端設(shè)計(jì)[J].通信設(shè)計(jì)與應(yīng)用,2016(7):59-60.
[2] 司朝良.MT9172及其在基帶調(diào)制解調(diào)器中的應(yīng)用[J].通信及網(wǎng)絡(luò)元器件,2003(9):57-60.
[3] Xilinx Spartan-3A FPGA Family:Data Sheet[Z].2010.
[4] Zarlink Semiconductor.ISO2-CMOS ST-BUS Family MT9171/72 Digital Subscriber Interface Circuit/Digital Network Interface Circuit[Z].1999,2.