国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于LVDS長線傳輸?shù)母呖煽啃詢?yōu)化設(shè)計(jì)

2019-07-18 03:08:22焦新泉王淑琴劉東海
關(guān)鍵詞:校驗(yàn)碼重傳誤碼

李 金,焦新泉,王淑琴,劉東海

(中北大學(xué) 電子測(cè)試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原 030051)

隨著電子技術(shù)的飛速發(fā)展,數(shù)據(jù)傳輸系統(tǒng)被廣泛使用于越來越多的領(lǐng)域中,如工業(yè)控制、遠(yuǎn)程通信、動(dòng)態(tài)測(cè)試等領(lǐng)域.伴隨應(yīng)用的逐漸深入,人們對(duì)數(shù)據(jù)傳輸系統(tǒng)的高速性、實(shí)時(shí)性、可靠性以及傳輸距離的要求越來越高[1-3].基于某測(cè)試任務(wù),由于測(cè)試環(huán)境惡劣,為保證測(cè)試人員的安全,數(shù)據(jù)采用長線傳輸.同時(shí)測(cè)試環(huán)境電磁干擾較大,并且采用多級(jí)電連接器連接成的長電纜,進(jìn)一步加大了數(shù)據(jù)傳輸?shù)碾y度.而單純使用LVDS接口,其信號(hào)本身傳輸?shù)木嚯x只有幾米,在如此惡劣的環(huán)境下,仍然無法完成測(cè)試任務(wù)[4-6].所以在硬件電路的設(shè)計(jì)中給發(fā)送端加入了電纜驅(qū)動(dòng)器,給接收端加入電纜均衡器以補(bǔ)償信號(hào)在長電纜上的衰減.在此條件下對(duì)邏輯進(jìn)行優(yōu)化,設(shè)計(jì)了數(shù)據(jù)包的反饋重傳機(jī)制,并且對(duì)碼流重新編譯,設(shè)計(jì)了10B/6B編碼,對(duì)數(shù)據(jù)進(jìn)行前向糾錯(cuò),有效提高了數(shù)據(jù)長線傳輸?shù)目煽啃?

1 總體設(shè)計(jì)

在復(fù)雜惡劣環(huán)境下工作的現(xiàn)場(chǎng)采集設(shè)備,采集多路傳感器的模擬信號(hào)并接受PCM碼流,在FPGA內(nèi)部進(jìn)行打包編幀.數(shù)據(jù)包以8 K為單位,采用CRC校驗(yàn)將產(chǎn)生的32 b校驗(yàn)碼附于數(shù)據(jù)包的末尾,然后對(duì)數(shù)據(jù)進(jìn)行10B/6B編碼后輸出,當(dāng)遠(yuǎn)程控制測(cè)試設(shè)備通過上位機(jī)下發(fā)數(shù)據(jù)接收指令后,數(shù)據(jù)由LVDS接口發(fā)出,并經(jīng)過多段串行屏蔽雙絞線后由遠(yuǎn)程設(shè)備接收,上位機(jī)對(duì)接收到的數(shù)據(jù)進(jìn)行判別.為模擬現(xiàn)場(chǎng)多級(jí)電連接器的環(huán)境,試驗(yàn)采用了1根50 m,3根10 m和3根 3 m 的電纜串聯(lián)構(gòu)成了89 m的屏蔽雙絞電纜.系統(tǒng)總體框圖如圖1 所示.

圖1 系統(tǒng)總體框圖Fig.1 Overall block diagram of the system

2 硬件優(yōu)化設(shè)計(jì)

低壓差分信號(hào)技術(shù)LVDS (Low Voltage Differential Signaling),采用低壓擺幅和和低電流驅(qū)動(dòng)輸出,具有很強(qiáng)的抗干擾性[4,7-8].DS92LV1023和DS92LV1224是美國NI公司的10 b總線型低壓差分信號(hào)板級(jí)通訊芯片組,其中DS92LV1023是高速串行差分?jǐn)?shù)據(jù)流的串化器;DS92LV1224是接收該差分?jǐn)?shù)據(jù)流并將它們轉(zhuǎn)化為并行數(shù)據(jù)的解串器[9].

在主動(dòng)工作狀態(tài)下,系統(tǒng)上電后,DS92LV1023和DS92LV1224先置所有的輸出引腳為3態(tài),然后啟動(dòng)鎖相環(huán)跟蹤并鎖定本地的TCLK和REFCLK時(shí)鐘.其中LVDS發(fā)送模塊的串化器連續(xù)向所連接的被測(cè)設(shè)備中的解串器發(fā)送同步信號(hào),當(dāng)解串器鎖相環(huán)鎖定同步時(shí)鐘成功后,串化器開始發(fā)送串行數(shù)據(jù),LVDS發(fā)送電路如圖2 所示.

圖2 LVDS發(fā)送電路Fig.2 LVDS transmission circuit

為延長LVDS數(shù)據(jù)發(fā)送的距離,增加了電纜驅(qū)動(dòng)器和均衡器,來增強(qiáng)信號(hào)的驅(qū)動(dòng)能力和補(bǔ)償能力.驅(qū)動(dòng)器和均衡器選用NS公司的CLC001AJE和CLC014AJE,CLC001AJE的傳輸速率可達(dá)622 Mbps,通過配置外圍電阻可將DS92LV1023輸出的低壓差分信號(hào)的壓差從200 mV 提升至0.9 V~1.1 V,有效增強(qiáng)了信號(hào)的驅(qū)動(dòng)能力.在信號(hào)的接收端,信號(hào)經(jīng)過屏蔽,雙絞線有衰減,很容易造成碼間串?dāng)_,CLC014AJE可針對(duì)對(duì)帶寬為50~650 Mbps的信號(hào)進(jìn)行補(bǔ)償.恢復(fù)信號(hào)強(qiáng)度后,再通過DS92LV1224將串行數(shù)據(jù)解串[10].

3 邏輯優(yōu)化設(shè)計(jì)

為保證LVDS數(shù)據(jù)的高可靠性傳輸,在數(shù)據(jù)傳輸?shù)脑O(shè)計(jì)上采用帶CRC校驗(yàn)的反饋糾錯(cuò)重傳機(jī)制和線上前向糾錯(cuò)編碼相結(jié)合的方式.

3.1 LVDS發(fā)送和接收邏輯

數(shù)據(jù)包以2 K為單位,在發(fā)送前采用CRC查找表的方法產(chǎn)生32 b校驗(yàn)碼,附于8 K數(shù)據(jù)之后,然后對(duì)每字節(jié)數(shù)據(jù)進(jìn)行10B/6B重新編碼,將重新編碼后的數(shù)據(jù)通過LVDS接口發(fā)送至接收方.LVDS接收方接收到數(shù)據(jù)后,做先逆向解碼,然后再將2 K數(shù)據(jù)做相同的CRC運(yùn)算得到校驗(yàn)碼,并與接收到的校驗(yàn)碼比較,若校驗(yàn)碼相同,則通過422發(fā)送數(shù)據(jù)確認(rèn)指令;若校驗(yàn)碼不同,說明數(shù)據(jù)包中有誤碼,則丟棄這包2 K數(shù)據(jù),并向發(fā)送方發(fā)送重傳指令,且設(shè)置重傳3次為上限,防止因數(shù)據(jù)一直錯(cuò)誤而循環(huán)重傳造成“死機(jī)”.

在數(shù)據(jù)的實(shí)際傳輸過程中,若發(fā)送方每發(fā)送 2 K 數(shù)據(jù),均等待接收方反饋后,再通知發(fā)送下一個(gè) 2 K 數(shù)據(jù),必然會(huì)導(dǎo)致數(shù)據(jù)傳輸速率的下降.所以,開2個(gè)4 K的RAM進(jìn)行交替緩存,實(shí)現(xiàn)兩個(gè)RAM緩存的流水線作業(yè).

如圖4 所示,對(duì)于發(fā)送方而言,數(shù)據(jù)經(jīng)過main_ctr模塊,以ping-pong的方式交替寫入2個(gè)RAM緩存,每完成2 K數(shù)據(jù)寫入后,寫緩存計(jì)數(shù)write_cnt加1,CRC_check模塊從2個(gè)RAM中同樣以ping-pong方式交替讀出,CRC校驗(yàn)碼生成后附加在2 K數(shù)據(jù)之后,讀緩存計(jì)數(shù)read_cnt加1.通過計(jì)算write_cnt和read_cnt的差值,來對(duì)A,B2個(gè)RAM進(jìn)行讀寫控制,實(shí)現(xiàn)流水線作業(yè),提高了數(shù)據(jù)傳輸效率,數(shù)據(jù)接收端原理類似.

圖4 數(shù)據(jù)傳輸鏈路設(shè)計(jì)Fig.4 Data transmission link design

3.2 CRC校驗(yàn)

3.2.1 CRC校驗(yàn)原理

對(duì)于要發(fā)送的信息碼M有k位數(shù)據(jù)M=(mk-1,mk-2,…,m1,m0),k個(gè)信息位可表示為多項(xiàng)式M(x)的系數(shù),即

M(x)=mk-1·xk-1+mk-2·xk-2+…+

m1·x1+m0·x0.

他開始關(guān)心女孩的身世,不僅是好奇,而是真心地希望知道。他開始關(guān)注女孩身體上的傷口,因它們的存在而感到心疼,同時(shí),也因它們愈合得毫無疤痕而開心,就像望著一塊破碎的美玉,一點(diǎn)一點(diǎn)地復(fù)原。

(1)

發(fā)送方與接收方約定一個(gè)n階生成多項(xiàng)式表示為g(x),則在式(1)兩端乘以xn得到

xnM(x)=mk-1·xn+k-1+mk-2·xn+k-2+

…+m1·xn+1+m0·xn.

(2)

xnM(x)與g(x)做模2除法運(yùn)算,得到t-1階余數(shù)多項(xiàng)式R(x),R(x)可表示為

R(x)=rt-1·xt-1+rt-2·xt-2+

…+r1·x1+r0·x0.

(3)

構(gòu)成t位的監(jiān)督碼附在數(shù)據(jù)M之后,將構(gòu)成的新數(shù)據(jù)M′=(mk-1,mk-2,…,m1,m0,rt-1,rt-2,…,r1,r0)發(fā)送至接收方.接收方收到后,做相同運(yùn)算,與約定的的生成多項(xiàng)式g(x)做模2除法運(yùn)算,若得到余數(shù)為0,則認(rèn)為接收到的數(shù)據(jù)正確,反之錯(cuò)誤.

3.2.2 CRC校驗(yàn)優(yōu)化設(shè)計(jì)

針對(duì)模2除法的運(yùn)算,實(shí)質(zhì)上是通過反復(fù)移入低位,消除高位來完成的,逐位運(yùn)算效率較低.優(yōu)化后的設(shè)計(jì)采用的CRC查找表法,一次可處理多位數(shù)據(jù),大幅提高效率,有利于大數(shù)據(jù)量的運(yùn)算.本設(shè)計(jì)利用4 bit查找表實(shí)現(xiàn)CRC校驗(yàn),所構(gòu)建的查找表僅為16個(gè).

3.3 10B/6B編碼

3.3.1 10B/6B編碼原理

由線性分組碼的編碼原理可知,要求(n,k)分組碼必須滿足2r-1≥n(r=n-k)的條件,才能使用r個(gè)監(jiān)督位來構(gòu)造出r個(gè)監(jiān)督關(guān)系式[8,11],并且利用監(jiān)督關(guān)系式來唯一確定數(shù)據(jù)中的一位誤碼有可能出現(xiàn)在的所有位置,以此來實(shí)現(xiàn)數(shù)據(jù)傳輸過程中的1位誤碼糾錯(cuò).LVDS的傳輸過程是將10 bit 數(shù)據(jù)并行發(fā)送給接口芯片進(jìn)行串化,因此至少需要4 bit的來完成對(duì)10 bit數(shù)據(jù)的監(jiān)督.

3.3.2 10B/6B編碼邏輯設(shè)計(jì)

在10B/6B的編碼中,1個(gè)完整碼組中出現(xiàn)的1位誤碼,其所在位置與編碼過程中所設(shè)定的校正子是有唯一對(duì)應(yīng)關(guān)系的,如表1 所示.

由表1 可知,當(dāng)誤碼位置出現(xiàn)在a0,a2,a3,a6,a8時(shí),校正子S1=1,否則S1=0.因此有

S1=a0⊕a2⊕a3⊕a6⊕a8.

(4)

同理有

S2=a0⊕a1⊕a2⊕a3⊕a9,

(5)

S3=a1⊕a3⊕a5⊕a7⊕a9,

(6)

S4=a1⊕a2⊕a4⊕a7⊕a8.

(7)

表1 校正子與誤碼位置關(guān)系Tab.1 Corrector and error position relationship

對(duì)數(shù)據(jù)進(jìn)行重新編碼時(shí)選取10位數(shù)據(jù)中的高6位a9,a8,a7,a6,a5,a4為信息碼元,而低4位a3,a2,a1,a0則為監(jiān)督碼元,信息碼元為實(shí)際傳輸中的有效數(shù)據(jù),而監(jiān)督碼元?jiǎng)t是由監(jiān)督關(guān)系式?jīng)Q定的,由以下4個(gè)監(jiān)督方程式唯一確定

a0=a4⊕a5⊕a6⊕a9,

(8)

a1=a6⊕a8⊕a9,

(9)

a2=a4⊕a6⊕a7⊕a9,

(10)

a3=a5⊕a6⊕a7⊕a8.

(11)

由上述的4個(gè)方程式可以得到64個(gè)許用碼組,用以傳輸LVDS數(shù)據(jù).LVDS有效數(shù)據(jù)每個(gè)字節(jié)需要發(fā)送兩次,第一次發(fā)送低4 bit,第二次發(fā)送高4 bit,LVDS數(shù)據(jù)的高兩位作為高低bit標(biāo)示.LVDS數(shù)據(jù)10位數(shù)據(jù)位的具體含義見表2.

表2 LVDS數(shù)據(jù)位具體含義Tab.2 LVDS data bit specific meaning

無效數(shù)據(jù)0000011111作為同步碼,在線上空閑時(shí)發(fā)送,用于LVDS器件的鎖定和同步,本設(shè)計(jì)在數(shù)據(jù)傳輸?shù)倪^程中采用有效數(shù)據(jù)和同步碼交替發(fā)送的方式,在總線空閑時(shí),發(fā)送端發(fā)送同步碼來填充鏈路,使數(shù)據(jù)傳輸鏈路保持通暢,這種傳輸方式既保證了有效數(shù)據(jù)碼率與發(fā)送碼率相匹配,又提高了數(shù)據(jù)傳輸鏈路的可靠性[12].同步碼因?yàn)闆]有實(shí)際意義,所以沒有必要對(duì)同步碼進(jìn)行編碼,從而節(jié)省帶寬.

4 系統(tǒng)可靠性驗(yàn)證

在傳輸距離為89 m,傳輸速率為330 Mbps的條件下,并且經(jīng)過10輪-40 ℃~60 ℃的溫度循環(huán)試驗(yàn)的測(cè)試,讀取數(shù)據(jù),利用上位機(jī)對(duì)數(shù)據(jù)進(jìn)行分析處理,結(jié)果為幀計(jì)數(shù)連續(xù),沒有出現(xiàn)丟數(shù)、多數(shù)和誤碼的現(xiàn)象,實(shí)現(xiàn)了LVDS數(shù)據(jù)的高可靠性長線傳輸.原始數(shù)據(jù)如圖5 所示,其中55AA為幀同步字,146F為幀標(biāo)志,每一幀還包括4 B的幀計(jì)數(shù).

圖5 原始數(shù)據(jù)Fig.5 Raw data

5 結(jié)束語

本文對(duì)利用LVDS來進(jìn)行長線傳輸?shù)南到y(tǒng)分別從硬件和軟件2個(gè)方面做出了優(yōu)化設(shè)計(jì),硬件方面增加信號(hào)的驅(qū)動(dòng)和補(bǔ)償能力,軟件方面加入CRC校驗(yàn)算法和10B/6B編碼算法,提高了數(shù)據(jù)傳輸?shù)目煽啃?經(jīng)試驗(yàn)驗(yàn)證,經(jīng)過優(yōu)化后的該系統(tǒng)運(yùn)行穩(wěn)定、可靠性高,能夠在多級(jí)電連接器串聯(lián)的89 m長電纜上,以330 Mbps的傳輸速率實(shí)現(xiàn)零誤碼率傳輸.

猜你喜歡
校驗(yàn)碼重傳誤碼
ZPW-2000A電碼化軌道電路誤碼問題分析及解決方案
面向異構(gòu)網(wǎng)絡(luò)的多路徑數(shù)據(jù)重傳研究?
一種基于CAN總線的誤碼測(cè)試方法
電子制作(2018年11期)2018-08-04 03:25:58
基于Excel實(shí)現(xiàn)書號(hào)校驗(yàn)碼的驗(yàn)證
多支路兩跳PF協(xié)作系統(tǒng)的誤碼性能
基于FPGA的循環(huán)冗余校驗(yàn)碼設(shè)計(jì)
電子世界(2015年14期)2015-11-07 05:32:29
身份證號(hào)碼中的數(shù)學(xué)
數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進(jìn)
誤碼問題分析與處理
MPTCP中一種減緩緩存阻塞的重傳策略
托克逊县| 新巴尔虎左旗| 肥西县| 蓝田县| 韩城市| 楚雄市| 新乡市| 南昌县| 铜山县| 毕节市| 桦川县| 甘孜县| 航空| 土默特左旗| 凤冈县| 交城县| 保靖县| 田东县| 东山县| 东方市| 安宁市| 原阳县| 河曲县| 湾仔区| 房山区| 石棉县| 肥东县| 两当县| 安陆市| 繁峙县| 桂阳县| 虎林市| 竹山县| 江西省| 嘉黎县| 常熟市| 陆川县| 南丹县| 黄山市| 南靖县| 扎兰屯市|