趙冬青,辛 艷,袁小康
(中北大學(xué) 電子測(cè)量技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)
隨著技術(shù)的逐漸發(fā)展,對(duì)彈地設(shè)備的傳輸距離和傳輸數(shù)據(jù)的可靠性逐漸有更高的要求。因此,大量學(xué)者對(duì)于彈上數(shù)據(jù)的采集、傳輸、存儲(chǔ)進(jìn)行研究,文獻(xiàn)[1]中對(duì)彈上圖像數(shù)據(jù)的采集通道進(jìn)行優(yōu)化;文獻(xiàn)[2]設(shè)計(jì)的模∕數(shù)混合采集系統(tǒng)是為了滿足彈上的采集模擬量和圖像數(shù)字量的需求。本文設(shè)計(jì)一種彈地高速傳輸系統(tǒng),對(duì)采編存儲(chǔ)器和測(cè)控臺(tái)之間的硬件傳輸鏈路和軟件邏輯層進(jìn)行優(yōu)化設(shè)計(jì)。在硬件電路中,根據(jù)不同指令選用不同傳輸鏈路,提高物理層的傳輸性能;在軟件方面,運(yùn)用FPGA平臺(tái)對(duì)數(shù)據(jù)進(jìn)行處理。FPGA相比傳統(tǒng)的單片機(jī)對(duì)數(shù)據(jù)的處理速度更快,適應(yīng)于長(zhǎng)距離數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)。
地面設(shè)備(包括測(cè)試臺(tái))與采編存儲(chǔ)器通過RS 422鏈路和LVDS鏈路實(shí)現(xiàn)指令發(fā)送、狀態(tài)監(jiān)測(cè)和數(shù)據(jù)下載的功能。采編存儲(chǔ)器采集模擬量信號(hào)、語音數(shù)據(jù)、圖像數(shù)據(jù),將采集的數(shù)據(jù)編幀后存入存儲(chǔ)器,上位機(jī)軟件將測(cè)控臺(tái)回讀的數(shù)據(jù)進(jìn)行處理和分析。測(cè)控臺(tái)和采編存儲(chǔ)器板卡之間通過雙絞線電纜和配套連接器連接[3]。為實(shí)現(xiàn)數(shù)據(jù)的高速傳輸,其中地面設(shè)備使用RS 422鏈路向采編器發(fā)送指令,采編存儲(chǔ)器通過LVDS高速數(shù)據(jù)接口[4]進(jìn)行事后下載。彈地高速傳輸系統(tǒng)總體設(shè)計(jì)圖如圖1所示。
圖1 彈地高速傳輸系統(tǒng)總體設(shè)計(jì)圖
傳輸鏈路產(chǎn)生的噪聲通常以電容耦合、電感耦合的形式對(duì)信號(hào)產(chǎn)生影響,使接收端接收的信號(hào)波形出現(xiàn)毛刺或波形混亂,無法識(shí)別正確信號(hào)。雙絞線電纜的使用可有效抑制共模干擾[5],并且其扭轉(zhuǎn)結(jié)構(gòu)可以使磁場(chǎng)環(huán)境中的互感相互抵消,清除感應(yīng)耦合的影響。信號(hào)在信道上傳輸會(huì)產(chǎn)生多種損耗,如插入損耗、反射損耗等。信號(hào)衰減的程度不僅與傳輸速率的大小有關(guān),還與傳輸距離有關(guān),隨著傳輸距離增加,損耗越嚴(yán)重;隨著傳輸頻率的增加,高頻分量的損耗增大[6]。本文在電路中增加均衡器、驅(qū)動(dòng)器來提高信號(hào)質(zhì)量,減少信號(hào)衰減,增強(qiáng)信道傳輸能力;并在芯片周圍添加匹配電阻和匹配電容削弱信號(hào)反射造成的干擾。
LVDS鏈路傳輸選擇TI公司的高速差分?jǐn)?shù)據(jù)流串化器SN65LV1023ADBR芯片和解化器SN65LV1224BDBR芯片。發(fā)送端數(shù)據(jù)在FPGA的作用下,通過串化器將并行數(shù)據(jù)轉(zhuǎn)化成串行碼。由于SN65LV1023芯片的輸出信號(hào)壓差很小,僅有200 mV,無法滿足彈地之間的長(zhǎng)距離傳輸要求,因此在發(fā)送端進(jìn)行預(yù)加重處理,添加一個(gè)電纜串行驅(qū)動(dòng)器CLC001芯片,該芯片通過時(shí)域加重處理增大信號(hào)的發(fā)送幅度,延長(zhǎng)發(fā)送距離。接收端將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)并發(fā)送至FPGA[7]。由于傳輸鏈路為雙絞線,雖然可以抵消部分耦合,但隨著傳輸速率增加,傳輸距離延長(zhǎng),傳輸線引起的損耗依舊存在。在接收端加入自適應(yīng)均衡器LMH0074芯片,它可自動(dòng)均衡不同長(zhǎng)度的雙絞線,補(bǔ)償傳輸頻率為125~540 Mb∕s的信號(hào)在傳輸線上的衰減。在驅(qū)動(dòng)器芯片和接收器芯片之間加入一個(gè)LVDS隔離器ADN4651芯片,對(duì)驅(qū)動(dòng)器和解化器進(jìn)行電流隔離,實(shí)現(xiàn)LVDS彈地傳輸鏈路的直接隔離。LVDS發(fā)送端和接收端電路圖如圖2、圖3所示。
圖2 LVDS發(fā)送端電路圖
圖3 LVDS接收端電路圖
本文在鏈路設(shè)計(jì)中不僅使用預(yù)加重、均衡技術(shù)緩解信號(hào)的衰減,還通過阻抗匹配的方式[8]將傳輸鏈路中產(chǎn)生的反射干擾的影響降低。發(fā)送端電阻R1為100Ω,作為終端匹配電阻匹配雙絞線的阻抗,有效地避免在傳輸過程中引起的反射;其并聯(lián)在串化器的D0+、D0-引腳上,使得輸出的差分電壓信號(hào)值在CLC001芯片的接收范圍內(nèi)。接收端在均衡器和隔離器接收數(shù)據(jù)之前添加較大容值的隔直電容C3,C4,C5,C6,用來減少損耗。R4,R13,R14的作用同R1類似,作為源端匹配電阻。
本文軟件邏輯設(shè)計(jì)圖如圖4所示,通過乒乓緩存模式替代單流水線結(jié)構(gòu),提高傳輸速率[9]。為了保證鏈路長(zhǎng)線傳輸時(shí)的可靠性,在乒乓緩存的基礎(chǔ)上,添加8 B∕10 B編碼技術(shù),使已優(yōu)化的數(shù)據(jù)降低鏈路上的碼間干擾[10],使得數(shù)據(jù)中的1和0數(shù)量均衡[11],從而保持電流平衡。另外,通過RS 422指令識(shí)別是發(fā)送數(shù)據(jù)指令還是數(shù)據(jù)重傳指令。
圖4 軟件總體設(shè)計(jì)圖
采編存儲(chǔ)器的原始數(shù)據(jù)進(jìn)入FPGA之后,在FPGA內(nèi)部添加4 B包頭并對(duì)8 192 B數(shù)據(jù)進(jìn)行CRC運(yùn)算,將運(yùn)算結(jié)果的校驗(yàn)字續(xù)寫在數(shù)據(jù)后面[12],形成一個(gè)新的8 200 B的數(shù)據(jù)包,打包的格式為0x5A54+包計(jì)數(shù)(0x00~0xFF)+幀類型(重傳幀為0x00,非重傳幀為0x01)+8 192 B有效數(shù)據(jù)+4 B CRC校驗(yàn)值,如圖5所示。采編存儲(chǔ)器通過優(yōu)化后的LVDS鏈路將數(shù)據(jù)發(fā)送給測(cè)控臺(tái)。當(dāng)測(cè)控臺(tái)接收到數(shù)據(jù)解碼后會(huì)重新計(jì)算8 192 B數(shù)據(jù)的校驗(yàn)字,將計(jì)算結(jié)果和接收的校驗(yàn)字進(jìn)行對(duì)比[13],如果對(duì)比結(jié)果一致,表明數(shù)據(jù)接收正確;否則接收錯(cuò)誤并丟棄數(shù)據(jù)[14],隨后通過RS 422接口發(fā)送包含有重傳包計(jì)數(shù)的重傳指令,連續(xù)發(fā)送3條。
圖5 收發(fā)協(xié)議示意圖
采編控制器將準(zhǔn)備好的第n-1包數(shù)據(jù)發(fā)送至測(cè)控臺(tái),隨后發(fā)送第n包數(shù)據(jù),當(dāng)發(fā)送完第n包數(shù)據(jù)的8 100個(gè)字節(jié)后,檢測(cè)第n-1包數(shù)據(jù)是否發(fā)送成功的標(biāo)志。當(dāng)識(shí)別到重傳指令,且包計(jì)數(shù)為n-1,則停止發(fā)送第n包數(shù)據(jù),重新發(fā)送第n-1包數(shù)據(jù);當(dāng)識(shí)別到確認(rèn)指令,且包計(jì)數(shù)為n-1,則繼續(xù)發(fā)送第n包數(shù)據(jù)。隨后再發(fā)送第n+1包數(shù)據(jù),當(dāng)檢測(cè)到為確認(rèn)指令,包計(jì)數(shù)為n-2,則停止發(fā)送第n包數(shù)據(jù),重新發(fā)送第n-1包數(shù)據(jù);當(dāng)檢測(cè)到為重傳指令,包計(jì)數(shù)為n,則停止發(fā)送當(dāng)前數(shù)據(jù),從當(dāng)前數(shù)據(jù)包n的第0個(gè)數(shù)據(jù)開始重新發(fā)送當(dāng)前數(shù)據(jù)包至測(cè)控臺(tái)。
接收端每接收一包數(shù)據(jù)時(shí),先識(shí)別數(shù)據(jù)包頭和包計(jì)數(shù),假設(shè)當(dāng)前應(yīng)該接收包數(shù)據(jù)為n,若包頭正確,包計(jì)數(shù)為n-1,則向采編控制器發(fā)送n-1包數(shù)據(jù)的確認(rèn)指令,之后重新檢測(cè)數(shù)據(jù)包頭;若包頭正確,包計(jì)數(shù)為n+1,則向采編控制器發(fā)送n包的重傳指令;若包頭正確,同時(shí)包計(jì)數(shù)為n則接收數(shù)據(jù),并進(jìn)行CRC數(shù)據(jù)校驗(yàn);若包頭錯(cuò)誤,則向采編控制器發(fā)送n包的重傳指令;若包頭長(zhǎng)時(shí)間未接收到,則向采編器發(fā)送n包數(shù)據(jù)的重傳指令,并重新開始接收數(shù)據(jù)。數(shù)據(jù)傳輸會(huì)出現(xiàn)7種情況,如圖6所示。
圖6 優(yōu)化后數(shù)據(jù)包傳輸示意圖
在采編控制器和測(cè)控臺(tái)之間添加了握手機(jī)制,通過包計(jì)數(shù)的識(shí)別減少傳輸中丟包現(xiàn)象的發(fā)生,通過重傳次數(shù)判斷傳輸鏈路的好壞。
當(dāng)測(cè)控臺(tái)發(fā)送重傳指令時(shí),采編存儲(chǔ)器最快獲取指令的時(shí)間為60/ 62 500=96μs,最慢獲取指令的數(shù)據(jù)為(60+70+60+70+60)/625 000=512μs。此時(shí)采編存儲(chǔ)器發(fā)送第2幀數(shù)據(jù)到7 680 B(根據(jù)時(shí)間512μs,速度15 MB∕s計(jì)算),采編存儲(chǔ)器發(fā)送完第2幀數(shù)據(jù),即可響應(yīng)第1幀數(shù)據(jù)的重傳。采編存儲(chǔ)器采用DDR3大小為256 MB,此時(shí)DDR3緩存未溢出,第1幀數(shù)據(jù)還在,可以響應(yīng)重傳數(shù)據(jù)。
利用采編存儲(chǔ)器、地面測(cè)試臺(tái)和上位機(jī)軟件搭建系統(tǒng),對(duì)數(shù)據(jù)傳輸?shù)目煽啃赃M(jìn)行測(cè)試。上位機(jī)的校驗(yàn)結(jié)果分析包括傳輸?shù)恼`碼個(gè)數(shù)和誤碼率[15]。連接好設(shè)備,采編存儲(chǔ)器將數(shù)據(jù)發(fā)送給測(cè)控臺(tái),測(cè)控臺(tái)接收正確數(shù)據(jù),緩存到DDR3中;當(dāng)DDR3緩存到一定數(shù)據(jù)時(shí),將數(shù)據(jù)通過總線發(fā)送給上位機(jī),上位機(jī)軟件將數(shù)據(jù)寫入硬盤[16]。當(dāng)收到下載停止指令結(jié)束接收數(shù)據(jù),點(diǎn)擊數(shù)據(jù)解析,上位機(jī)軟件就可提取出有效數(shù)據(jù),并生成分析結(jié)果。測(cè)試時(shí)采用的有效數(shù)據(jù)是遞增數(shù)據(jù),方便解析時(shí)判斷數(shù)據(jù)是否誤碼和丟幀。
測(cè)試試驗(yàn)驗(yàn)證結(jié)果如圖7、圖8所示,可以直觀地看出傳輸數(shù)據(jù)的幀計(jì)數(shù)一直連續(xù)沒有丟幀現(xiàn)象的出現(xiàn)。CRC校驗(yàn)結(jié)果可以看出,校驗(yàn)出錯(cuò)位為0位,出錯(cuò)率為0,數(shù)據(jù)傳輸正確。表明在軟件邏輯中增加CRC校驗(yàn)重傳機(jī)制雖然增加了一定的傳輸帶寬,但是降低了誤碼率,保證了傳輸?shù)目煽啃浴?/p>
圖7 遞增數(shù)據(jù)
圖8 校驗(yàn)分析報(bào)告
本文系統(tǒng)將軟件和硬件共同優(yōu)化,通過硬件傳輸鏈路優(yōu)化彌補(bǔ)信號(hào)傳輸距離短的短板,通過預(yù)加重和均衡技術(shù)緩解信號(hào)鏈路的衰減和干擾,為數(shù)據(jù)延長(zhǎng)距離傳輸提供一個(gè)相對(duì)穩(wěn)定的環(huán)境。經(jīng)過CRC校驗(yàn)和反饋重傳機(jī)制可以及時(shí)地發(fā)現(xiàn)有效數(shù)據(jù)在傳輸中出現(xiàn)的誤碼,并在有錯(cuò)時(shí)及時(shí)重傳,提高傳輸數(shù)據(jù)的正確率。通過實(shí)驗(yàn)驗(yàn)證測(cè)試臺(tái)下載數(shù)據(jù)并通過上位機(jī)軟件進(jìn)行結(jié)果分析,得出本文設(shè)計(jì)的彈地系統(tǒng)誤碼率為0,可實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。