王 闖,任勇峰,李輝景(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,太原030051)
遙測(cè)PCM數(shù)據(jù)收發(fā)接口模塊設(shè)計(jì)
王闖,任勇峰*,李輝景
(中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,電子測(cè)試技術(shù)重點(diǎn)實(shí)驗(yàn)室,太原030051)
為了實(shí)現(xiàn)無(wú)線遙測(cè)PCM數(shù)據(jù)的備份,設(shè)計(jì)了基于FPGA的PCM數(shù)據(jù)收發(fā)接口模塊。該模塊包括RS-422命令下發(fā)接口、PCM碼接收接口、LVDS數(shù)據(jù)回收接口和與存儲(chǔ)器數(shù)據(jù)交換接口。配合單元測(cè)試設(shè)備和存儲(chǔ)器,通過(guò)上位機(jī)軟件對(duì)回收數(shù)據(jù)進(jìn)行解包分析,用以檢驗(yàn)接收到的PCM碼的誤碼與丟幀,判斷設(shè)備的工作情況。該模塊采用獨(dú)立幀結(jié)構(gòu),PCM數(shù)據(jù)完全由后續(xù)上位機(jī)處理,因而具有極強(qiáng)的通用性。經(jīng)過(guò)反復(fù)測(cè)試驗(yàn)證了數(shù)據(jù)收發(fā)接口模塊工作的可靠性與設(shè)計(jì)的合理性。
無(wú)線遙測(cè);通用;獨(dú)立幀結(jié)構(gòu);PCM;FPGA
在飛行器的研制試飛試驗(yàn)中,常常需要通過(guò)遙測(cè)的方法來(lái)獲取系統(tǒng)內(nèi)部設(shè)備的一些關(guān)鍵參數(shù)[1]。由于遙測(cè)系統(tǒng)工作的可靠性問(wèn)題,需要對(duì)遙測(cè)數(shù)據(jù)進(jìn)行備份。
針對(duì)需要獲取的數(shù)據(jù)包含的信息量多,為了方便的解包出原始數(shù)據(jù),減小硬件消耗,使用PCM(脈沖編碼調(diào)制)就顯示出其優(yōu)越性。PCM就是對(duì)一個(gè)連續(xù)的模擬信號(hào)進(jìn)行采樣、量化,成為離散的數(shù)字信號(hào)。將數(shù)字信號(hào)按一定幀格式編碼,送入信道傳輸。為了保證回收后的數(shù)據(jù)能夠正確地解包還原出原始模擬信號(hào),需要在每一幀數(shù)據(jù)當(dāng)中插入幀同步碼,作為一幀數(shù)據(jù)的起始或結(jié)尾[2]。
PCM數(shù)據(jù)收發(fā)接口模塊作為遙測(cè)PCM數(shù)據(jù)備份的通信接口,可以接收PCM數(shù)據(jù)并發(fā)往存儲(chǔ)設(shè)備,并在單元測(cè)試時(shí),讀取存儲(chǔ)數(shù)據(jù)發(fā)送給單元測(cè)試設(shè)備。PCM數(shù)據(jù)收發(fā)接口作為該系統(tǒng)的重要組成部分,包括RS-422命令下發(fā)接口、PCM碼接收接口、LVDS數(shù)據(jù)回收接口和與存儲(chǔ)器數(shù)據(jù)交換接口。單元測(cè)試設(shè)備接收上位機(jī)通過(guò)USB總線下發(fā)的命令,將命令發(fā)送給數(shù)據(jù)收發(fā)接口模塊,同時(shí)模擬PCM碼信源產(chǎn)生PCM碼流,通過(guò)RS-422接口發(fā)送給數(shù)據(jù)收發(fā)接口模塊;數(shù)據(jù)收發(fā)接口模塊響應(yīng)命令,接收數(shù)據(jù)并轉(zhuǎn)存到存儲(chǔ)模塊,或者讀取存儲(chǔ)數(shù)據(jù)并通過(guò)LVDS接口發(fā)送給單元測(cè)試設(shè)備;單元測(cè)試設(shè)備將回收數(shù)據(jù)經(jīng)USB總線發(fā)送給上位機(jī),通過(guò)上位機(jī)獲取數(shù)據(jù)并分析,可以檢驗(yàn)PCM數(shù)據(jù)傳輸?shù)目煽啃浴?傮w框圖如圖1所示。
圖1 系統(tǒng)總體框圖
硬件系統(tǒng)使用FPGA作為中心邏輯控制器,完成PCM信號(hào)的接收和數(shù)據(jù)存儲(chǔ)、回收的功能。
2.1PCM數(shù)據(jù)接收接口設(shè)計(jì)
PCM數(shù)據(jù)接收使用高速光耦進(jìn)行數(shù)據(jù)解碼譯出及電氣隔離,接口電路如圖2所示。選用仙童半導(dǎo)體的 FODM8071,速度達(dá)到 20 Mbit/s,且對(duì)共模干擾具有很好的抑制作用。當(dāng)光耦合器輸入端發(fā)光二極管的陽(yáng)極對(duì)陰極的壓差達(dá)到其正向?qū)▔航担ǖ湫椭?.35 V),發(fā)光二極管導(dǎo)通,輸出端光敏三極管接受光照后導(dǎo)通,將輸出(5腳)拉低到地;當(dāng)光耦合器輸入端發(fā)光二極管的陽(yáng)極對(duì)陰極的壓差未達(dá)到使發(fā)光二極管導(dǎo)通的閾值電壓,輸出端光敏三極管關(guān)斷,將輸出(5腳)拉高到3.3 V。即PCM數(shù)據(jù)接收為反相接收。
圖2 PCM數(shù)據(jù)接收接口電路
光耦合器傳輸信號(hào)是經(jīng)過(guò)電-光-電轉(zhuǎn)化來(lái)實(shí)現(xiàn)的,輸入、輸出端電路沒(méi)有直接的電氣連接,從而避免了輸入信號(hào)帶來(lái)的干擾影響內(nèi)部電路的正常工作。同時(shí)由于其為電流傳輸型器件,可以有效地消除傳輸線上串?dāng)_對(duì)于數(shù)據(jù)傳輸?shù)挠绊懀?]。
2.2命令接收接口設(shè)計(jì)
數(shù)據(jù)收發(fā)接口模塊需要響應(yīng)命令,并進(jìn)行相對(duì)應(yīng)的操作。使用RS-422接口來(lái)接收命令,電路原理圖如圖3所示。使用差分線可以消除共模干擾,但是對(duì)于印制電路板設(shè)計(jì)提出了以下幾點(diǎn)要求:(1)兩根差分線保持等長(zhǎng),以減小信號(hào)傳輸?shù)难訒r(shí)差;(2)差分線對(duì)之間保持等距,保證差分阻抗的連續(xù)性,減少反射;(3)印制電路板的疊層設(shè)計(jì)要合理,差分線保持在同一地平面上,避免跨地平面布線,引入干擾[4]。
圖3 命令接收接口電路
DS26C32差分線端接1個(gè)100Ω電阻,這是因?yàn)椴罘志€作為傳輸線,其末端電壓為源端向負(fù)載傳輸?shù)碾妷号c負(fù)載反射的疊加。為了消除反射,要求負(fù)載阻抗等于傳輸線的特性阻抗。而差分線的特性阻抗一般控制在100Ω左右,故在靠近 DS26C32末端的差分線上跨接一個(gè)100Ω電阻,以保證差分線末端電壓完全降落在電阻兩側(cè)[5-6]。
2.3LVDS數(shù)據(jù)回收接口設(shè)計(jì)
數(shù)據(jù)回收使用SN65LV1023A作為差分驅(qū)動(dòng)芯片,將并行的 10 bit數(shù)據(jù)差分化。SN65 LV1023A是數(shù)據(jù)位寬 10 bit,外部時(shí)鐘頻率為10MHz~66 MHz的LVDS并串轉(zhuǎn)化器,數(shù)據(jù)傳輸速率達(dá)到100 Mbps~660 Mbps。針對(duì)LVDS驅(qū)動(dòng)能力不足的缺點(diǎn),使用串行數(shù)據(jù)電纜驅(qū)動(dòng)器CLC001作為L(zhǎng)VDS數(shù)據(jù)的輸出驅(qū)動(dòng)芯片。原理圖如圖4所示。
SN65LV1023A輸出驅(qū)動(dòng)為約3.5mA的恒定電流源,在靠近CLC001輸入端跨接一個(gè)100Ω電阻,電阻兩側(cè)形成±350mV電壓,以作為傳輸線路高低邏輯的判斷。CLC001輸出源端端接49.9Ω電阻,主要作用是消除末端反射。105電容用以隔離CLC001差分線上約800mV~1000mV直流電壓分量。
圖4 數(shù)據(jù)回收接口電路
2.4與存儲(chǔ)器數(shù)據(jù)交換接口設(shè)計(jì)
使用并行總線分時(shí)復(fù)用的方式來(lái)進(jìn)行數(shù)據(jù)的存儲(chǔ)及回收,節(jié)約了數(shù)據(jù)線,減少了硬件消耗。在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),發(fā)送相關(guān)指令跟數(shù)據(jù);在數(shù)據(jù)回收時(shí),接收存儲(chǔ)器數(shù)據(jù)跟返回存儲(chǔ)器當(dāng)前工作地址。
中心邏輯控制器FPGA被動(dòng)接收PCM數(shù)據(jù),控制Flash讀寫,響應(yīng)單元測(cè)試設(shè)備下發(fā)的命令并回傳數(shù)據(jù),其程序原理框圖如圖5所示。
圖5 FPGA程序原理框圖
3.1PCM接收模塊
單元測(cè)試設(shè)備發(fā)送的模擬遙測(cè)PCM碼流采用同步時(shí)鐘方式,既有PCM數(shù)據(jù)流,也有同步采樣時(shí)鐘,傳輸速率為10 Mbit/s。由于碼元數(shù)據(jù)同步于時(shí)鐘的上升沿,故使用時(shí)鐘下降沿進(jìn)行解碼。PCM數(shù)據(jù)接收時(shí)采用一個(gè)8 bit的寄存器,在每一個(gè)PCM時(shí)鐘下降沿依次移入一位數(shù)據(jù),完成8 bit數(shù)據(jù)的接收后,發(fā)送給4K異步FIFO,判斷FIFO半滿之后,從FIFO取數(shù)并進(jìn)行后續(xù)的轉(zhuǎn)存處理[7],PCM數(shù)據(jù)接收接口模塊的工作時(shí)序如圖6所示。
圖6 PCM數(shù)據(jù)接收接口模塊程序原理圖
異步FIFO的引入,使跨時(shí)鐘域的通信變得更加有效和可靠。上電配置后即使能FIFO,發(fā)送寫FIFO時(shí)鐘(上升沿),即將寄存器當(dāng)中8 bit數(shù)據(jù)寫入FIFO低地址(由“000000000000”開始);每當(dāng)寫完8 bit數(shù)據(jù),寫地址加1。由于FIFO異步的特點(diǎn),需要判斷FIFO中是否有數(shù)據(jù),引入FIFO半滿信號(hào)(half=寫 FIFO地址-讀 FIFO地址),僅當(dāng)half>2 K時(shí),才開始從當(dāng)前讀FIFO地址開始取數(shù);否則等待。同時(shí)為了避免寫FIFO的速度太快而覆蓋之前的數(shù)據(jù),要求讀FIFO的速度要比寫FIFO的速度快。
3.2LVDS-422控制模塊
該模塊接收單元測(cè)試設(shè)備包括復(fù)位、記錄、讀數(shù)、停止讀數(shù)、請(qǐng)求有效、請(qǐng)求無(wú)效等命令,為了保證命令的可靠響應(yīng),按表1所示的幀結(jié)構(gòu)校對(duì)命令,通過(guò)依次判斷幀頭、命令長(zhǎng)度、命令高低位交換兩次判定、校驗(yàn)兩次命令累加和,有效地防止了因?yàn)槊铄e(cuò)誤響應(yīng)而造成的設(shè)備工作狀態(tài)混亂[8]。
表1 命令幀結(jié)構(gòu)
在接收到讀數(shù)控制命令時(shí),根據(jù)對(duì)FIFO半滿信號(hào)的判斷來(lái)讀取FIFO當(dāng)中的數(shù)據(jù)。以TCLK的上升沿作為一次并行數(shù)據(jù)發(fā)送的標(biāo)志。
3.3M em接口模塊
Mem接口模塊響應(yīng)記錄命令,接收來(lái)自FIFO 的PCM數(shù)據(jù),將數(shù)據(jù)通過(guò)數(shù)據(jù)總線發(fā)送給存儲(chǔ)模塊;響應(yīng)讀數(shù)命令,接收來(lái)自存儲(chǔ)模塊的數(shù)據(jù),將數(shù)據(jù)發(fā)送給LVDS-422控制模塊的FIFO。
幀同步的作用是通過(guò)對(duì)數(shù)據(jù)進(jìn)行位同步、字同步、幀同步,以解包出原始數(shù)據(jù)。幀同步的方法一般是通過(guò)在數(shù)據(jù)序列中加入幀同步碼的方式來(lái)實(shí)現(xiàn)的[9]。
單元測(cè)試時(shí),單元測(cè)試設(shè)備發(fā)送遞增數(shù)或遞減數(shù),PCM碼流與采樣時(shí)鐘從第1個(gè)時(shí)鐘即同步傳輸,且在時(shí)鐘下降沿按位接收,并以每8 bit數(shù)據(jù)為一個(gè)字節(jié)轉(zhuǎn)存,故其幀結(jié)構(gòu)始終是同步的,數(shù)據(jù)遞增幀格式如表2所示。
接收遙測(cè)PCM時(shí),為了適應(yīng)不同幀格式PCM數(shù)據(jù)接收的要求,數(shù)據(jù)收發(fā)接口模塊不進(jìn)行幀同步的判斷,而以上電配置完成后接收到的第1個(gè)時(shí)鐘下降沿所對(duì)應(yīng)的數(shù)據(jù)作為PCM數(shù)據(jù)的起始,并仍然按表2所示的幀格式轉(zhuǎn)存。硬回收后,回讀數(shù)據(jù)到上位機(jī),根據(jù)數(shù)據(jù)收發(fā)接口模塊的幀格式,可以解包出原有的遙測(cè)PCM數(shù)據(jù)。使用這種方式各種幀格式的遙測(cè)PCM數(shù)據(jù)均可以正常收發(fā),后續(xù)僅需要修改上位機(jī)軟件對(duì)于遙測(cè)PCM數(shù)據(jù)幀同步碼的判斷邏輯,就可適用于新的幀結(jié)構(gòu),這極大地提高了設(shè)備通用性。
表2 PCM數(shù)據(jù)遞增幀格式
使用單元測(cè)試設(shè)備來(lái)模擬這種情況。如圖7(a)所示為沒(méi)有進(jìn)行幀同步的遞減數(shù)據(jù),通過(guò)上位機(jī)軟件對(duì)數(shù)據(jù)依次移位(循環(huán)左移或右移)來(lái)搜索數(shù)據(jù)碼流當(dāng)中的幀同步碼“1110101110010000”(EB、90)。采用多次判定的方法,即搜索到幀同步碼之后,在后面一幀同樣位置檢測(cè)是否為該幀同步碼,經(jīng)過(guò)3到5次的判斷,可以提高數(shù)據(jù)還原出來(lái)的準(zhǔn)確性。如圖7(b)所示,為將接收到的數(shù)據(jù)左移2 bit,得到的還原之后的數(shù)據(jù)。
圖7 數(shù)據(jù)還原
為了驗(yàn)證該接口模塊工作的可靠性,使用單元測(cè)試設(shè)備對(duì)其進(jìn)行反復(fù)測(cè)試。對(duì)回收之后的PCM數(shù)據(jù)經(jīng)上位機(jī)軟件顯示后如圖8所示,EB、90即為幀同步碼,在其之前 4 byte數(shù)據(jù)為幀計(jì)數(shù),每幀數(shù)據(jù)從00遞增至F9,沒(méi)有誤碼和丟幀,且與單元測(cè)試設(shè)備發(fā)送的數(shù)據(jù)幀格式一致。
圖8 解碼接收數(shù)據(jù)
該P(yáng)CM數(shù)據(jù)收發(fā)接口模塊,整體滿足設(shè)計(jì)要求,實(shí)現(xiàn)接收遙測(cè)系統(tǒng)以10 Mbit/s速率發(fā)送的PCM數(shù)據(jù),并在硬回收后獲取數(shù)據(jù);能夠配合單元測(cè)試設(shè)備及存儲(chǔ)器,完成對(duì)設(shè)備工作狀況的檢驗(yàn)。該設(shè)計(jì)方案能夠適應(yīng)不同幀格式PCM數(shù)據(jù)備份的需求,具有極大的可移植性,對(duì)其它PCM數(shù)據(jù)回收設(shè)備的設(shè)計(jì)也具有一定的參考價(jià)值。
[1] 張鵬,陳鴻,武錦輝.基于FPGA的PCM碼收發(fā)模塊設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2011,39(7):190-192.
[2] 夏利利,劉冰,周江,等.PCM遙測(cè)幀同步技術(shù)性能分析[J].電訊技術(shù),2014,54(6):803-807.
[3] 李丹榮,王新第,杜維.光電耦合器的實(shí)用技巧[J].自動(dòng)化儀表,2003,24(6):58-61.
[4] 吳健,孔德升.高速數(shù)據(jù)采集卡的信號(hào)完整性分析[J].儀表技術(shù)與傳感器,2013(12):93-96.
[5] 張婧.高速數(shù)字電路信號(hào)完整性仿真設(shè)計(jì)與驗(yàn)證[D].西安:西安電子科技大學(xué),2012.
[6] 羅映紅,張博.傳輸線端接阻抗對(duì)線間串?dāng)_的影響研究[J].鄭州大學(xué)學(xué)報(bào)(工學(xué)版),2009,30(4):120-122,127.
[7] 裴向東,陳簫,譚秋林,等.基于USB-FIFO的FPGA與上位機(jī)通信的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)測(cè)量與控制,2012,20(4):1073-1075.
[8] 周濤,李輝景,任勇峰,等.長(zhǎng)線422高速傳輸中的收發(fā)模塊設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2014,14(35):68-71.
[9] 甄國(guó)涌,林華亮.串行PCM碼流解碼電路設(shè)計(jì)與應(yīng)用[J].航空計(jì)算技術(shù),2005,35(1):79-81.
王闖(1990-),男,漢族,四川南充人,中北大學(xué),碩士研究生,主要研究方向?yàn)榍度胧诫娮与娐废到y(tǒng),wangchuangqq123@ 163.com;
任勇峰(1968-),男,漢族,山西中陽(yáng)人,中北大學(xué),教授,博士研究生導(dǎo)師,主要研究方向?yàn)槲㈦娐废到y(tǒng)、電路系統(tǒng)檢測(cè)與診斷技術(shù),renyongfeng@nuc.edu.cn。
Design of Telemetry PCM Data Transceiver Interface Module
WANG Chuang,REN Yongfeng*,LI Huijing
(Key Laboratory of Instrumentation Science&Dynamic Measuremen(tNorth Uniυersity of China),Ministry ofEducation;Scienceand Technology on Electronic Testand Measurement Laboratory,Taiyuan 030051,China)
In order to achieve the backup ofwireless telemetry PCM data,a PCM data transceiver interfacemodule is designed based on FPGA.Thismodule includes a sending command interface using RS-422,a receiving interface of PCM code,a data receiving interface using LVDS and a data exchange interface with the storage device. Workingwith the unit testequipmentand storage device,it can be used to check out the biterror and the lost frame of the
PCM code to judge theworking condition of the equipment through using the host computer software to unpack and analyze the recycling data.Thismodule uses independent frame structure.All the PCM data is dealt with the host computer,thus ithas strong generality.Through repeated test,itverifies theworking reliability and design rationality of the data transceiver interfacemodule.
wireless telemetry;generality;independent frame structure;PCM;FPGA
TN914
A
1005-9490(2016)04-0861-05
2015-09-15修改日期:2015-10-26
EEACC:7210G10.3969/j.issn.1005-9490.2016.04.022