文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190150
中文引用格式: 任勇峰,,王小兵,,張凱華. 基于6B/10B編碼的RS422遙測(cè)通信技術(shù)研究[J].電子技術(shù)應(yīng)用,2019,,45(5):54-56,,60.
英文引用格式: Ren Yongfeng,,Wang Xiaobing,,Zhang Kaihua. Research on RS422 telemetry communication technology based on 6B/10B encoding[J]. Application of Electronic Technique,2019,,45(5):54-56,,60.
0 引言
在高速差分總線LVDS廣泛應(yīng)用的時(shí)代,,RS422以可靠性高以及成本低的特點(diǎn)依然廣泛應(yīng)用于各個(gè)領(lǐng)域,許多成熟定型的產(chǎn)品仍然需要采取RS422接口來(lái)進(jìn)行數(shù)據(jù)傳輸,。例如在遙測(cè)系統(tǒng)中,,RS422的抗干擾能力優(yōu)于LVDS,所以在速率不高的情況下,,依然采用RS422作為通信接口,。在通常情況下,,RS422受限于UART通信協(xié)議和自身的電器特性,無(wú)法達(dá)到很高的速率,,理論上在距離很短的情況下,,最大的傳輸速率可以達(dá)到10 Mb/s,但在實(shí)際應(yīng)用中,,波特率最高只能達(dá)到1 Mb/s,,這就是為什么很多資料中允許的最大波特率只能達(dá)到115.2 Kb/s~916 Kb/s之間[1]。一些技術(shù)(如DSLC,、HDLC等)可以將RS422的通信速率提高到8 Mb/s以上,,但是以犧牲通信距離為代價(jià),其通信的距離只有數(shù)米,。目前市面上RS422接口芯片有很多,,每種接口芯片都能滿足最大傳輸速率10 Mb/s的需求,所以在已有硬件的基礎(chǔ)上如何提高通信速率,,對(duì)RS422的應(yīng)用具有重要的意義,。
1 綜合因素分析
影響RS422傳輸速率的因素主要有兩種,一種為電纜的電氣特性,,理想狀態(tài)下電纜對(duì)傳輸?shù)男盘?hào)沒(méi)有任何的影響,,實(shí)際情況受到分布電阻和電容等的影響,使得信號(hào)在電纜中衰減,、反射,,另一種是RS422傳輸協(xié)議的弊端,UART協(xié)議是通過(guò)判斷電平來(lái)進(jìn)行解碼,,這樣增加了數(shù)據(jù)通信的間隔,,這也是限制RS422通信速率的重要因素。本文從傳輸介質(zhì)和傳輸方式兩方面分析,,找出約束傳輸速率的主要因素,,通過(guò)技術(shù)方法改進(jìn)存在的缺陷,使信號(hào)在30 m長(zhǎng)的電纜上以10 Mb/s的速率傳輸而不出現(xiàn)誤碼,。
2 電纜特性
電纜不僅僅是承載傳輸信號(hào)的媒介,,同時(shí)也是決定信號(hào)頻率優(yōu)劣的主要因素。在電纜中,,電纜的頻率特性和電纜上的反射對(duì)電信號(hào)的高速傳輸產(chǎn)生極大的影響,。對(duì)于雙絞線構(gòu)成的電纜,其線纜衰減特性等效電路模型如圖1所示,,可以看出在高速信號(hào)的傳輸中,,這些影響因素都是頻率的函數(shù)。將串聯(lián)電阻用R(f)表示,串聯(lián)電感用L(f)表示,、并聯(lián)電容用C(f)表示,,并聯(lián)電導(dǎo)用G(f)表示。
其串聯(lián)阻抗Z(f)可以表示為:
根據(jù)雙絞線傳輸線理論,,雙絞線電纜作為有損傳輸線,,其總衰減損耗包括兩部分,一部分為趨膚效應(yīng)的損耗,,趨膚損耗與頻率的平方根成正比,,并且趨膚效應(yīng)使電纜的分布電阻增加;一部分為介質(zhì)損耗,,介質(zhì)損耗與頻率成正比,,隨著頻率的升高導(dǎo)致了更為陡峭的衰減[2]。兩者都是頻率的正相關(guān)函數(shù),,也是電纜長(zhǎng)度的函數(shù),,當(dāng)頻率達(dá)到一定值時(shí),線路的損耗隨著電纜長(zhǎng)度的增加而增加,。所以在高速傳輸時(shí),,衰減損耗對(duì)有用信號(hào)傳輸?shù)挠绊懯蔷薮蟮摹?shí)際應(yīng)用中由于電纜的阻抗分布不均勻以及與接收設(shè)備的阻抗不匹配,,導(dǎo)致信號(hào)在傳輸線上反射,,這也是影響傳輸信號(hào)的重要原因。由式(3)可以得出,,雙絞線的特性阻抗是一個(gè)與長(zhǎng)度無(wú)關(guān)的量,,但是當(dāng)阻抗不匹配時(shí),由于電纜長(zhǎng)度的增加,,會(huì)使反射波在雙絞線中持續(xù)的時(shí)間增長(zhǎng),,影響信號(hào)的傳輸質(zhì)量,。
電纜的頻率特性和線上反射是決定長(zhǎng)線傳輸中信號(hào)頻率優(yōu)劣的主要因素,,考慮到電纜和UART協(xié)議的特性,理論上RS422的傳輸速率最大為10 Mb/s,,與設(shè)法提升電纜的性能相比,,設(shè)計(jì)一種適合RS422接口并且不大幅增加現(xiàn)有處理器負(fù)擔(dān)的通信協(xié)議來(lái)達(dá)到最大傳輸速率是最為有效的。本文借鑒常見(jiàn)的高速總線編碼方法,,開(kāi)發(fā)了一種適應(yīng)RS422傳輸?shù)木幋a方法,。
3 6B/10B編碼介紹
傳統(tǒng)的8B/10B編碼是將8 bit的數(shù)據(jù)拆分成兩組,分別為3 bit和5 bit,,然后再分別將3 bit映射成4 bit,,將5 bit映射成6 bit。在進(jìn)行直流平衡時(shí)提出不平衡度的概念,通過(guò)記錄前級(jí)極性的狀態(tài),,匹配相反極性的數(shù)據(jù)編碼來(lái)實(shí)現(xiàn)直流平衡和最大化信道帶寬利用率,,從而使數(shù)據(jù)可靠傳輸。為了達(dá)到直流平衡,,8B/10B編碼借助總共268個(gè)字符以及與之對(duì)應(yīng)的反轉(zhuǎn)碼來(lái)判斷極性,,在邏輯上存在很大的開(kāi)銷。在RS422接口通信中,,傳輸速率不高于10 Mb/s并且沒(méi)有交流耦合電路,,所以不需要嚴(yán)格意義上的直流平衡,并且不需要較高的傳輸效率,,這就為簡(jiǎn)化編碼提供給了可能,。
改進(jìn)型6B/10B編碼為傳統(tǒng)8B/10B編碼的精簡(jiǎn)版,在6B/10B編碼中,,降低了有效數(shù)據(jù)的傳輸帶寬,,將一次性傳輸有效數(shù)據(jù)位數(shù)減小為4 bit,增加了兩位標(biāo)志位,,確定是否是高4 bit還是低4 bit,;同時(shí)采用線性分組碼向前糾錯(cuò)方式(FEC)增加了監(jiān)督位,根據(jù)分組原則,,增加了4 bit監(jiān)督位,,從而通過(guò)監(jiān)督公式確定誤碼位置,完成數(shù)據(jù)的糾錯(cuò)控制,。6B/10B編碼需要每次傳輸10 bit,,根據(jù)線性分組碼的編碼原理采用4個(gè)監(jiān)督位理論上可以產(chǎn)生16種校正子碼組,10 bit數(shù)據(jù)需要10種校正子碼組[3],。經(jīng)過(guò)分析得出10種合適的校正碼子和誤碼位置如表1所示,。其中S1、S2,、S3,、S4表示由監(jiān)督關(guān)系方程式計(jì)算得到的校正子,A0~A9為誤碼位置,,則校正子的值可以由以下公式獲得:
在傳輸中,,信息碼元是隨機(jī)的,監(jiān)督碼元可以由其監(jiān)督公式得出,,監(jiān)督公式如下:
經(jīng)過(guò)以上分析,,得出數(shù)據(jù)的具體傳輸格式如表2所示。
具體的編碼規(guī)則為:一個(gè)字節(jié)數(shù)據(jù)分兩次傳輸,,首次發(fā)送該字節(jié)的低4 bit,,其次發(fā)送該字節(jié)的高4 bit,。確定4 bit有效數(shù)據(jù)和兩位的標(biāo)志位(10:數(shù)據(jù)低4 bit;11數(shù)據(jù)的高4 bit)后,,可以根據(jù)監(jiān)督公式確定傳輸數(shù)據(jù)10B中的后4 bit,。根據(jù)監(jiān)督公式和編碼規(guī)則可以得出64個(gè)有效碼組合來(lái)用于傳輸數(shù)據(jù),借鑒8B/10B編碼規(guī)則,,選用的有效碼組盡量做到連續(xù)“0”或“1”的個(gè)數(shù)不達(dá)到5個(gè),。通過(guò)對(duì)比,標(biāo)志位(A9,、A8)為“10”和“11”時(shí)直流平衡度要好于標(biāo)志位為“00”和“01”的有效碼組的數(shù)據(jù),。考慮到1位誤碼的冗余,,無(wú)效冗余碼接收時(shí)均當(dāng)作無(wú)效碼處理,。因?yàn)镽S422的傳輸速率不高于10 Mb/s并且沒(méi)有交流耦合電路,所以對(duì)碼組的直接應(yīng)用導(dǎo)致的非直流平衡對(duì)傳輸?shù)乃俾屎蜏?zhǔn)確度無(wú)較大影響,。采用6B/10B編碼方式與傳統(tǒng)的8B/10B編碼相比,,減小了判斷極性的復(fù)雜性,簡(jiǎn)化了邏輯,。采用傳輸4 bit有效數(shù)據(jù)降低了一定的傳輸速率,,但是對(duì)于RS422中低速傳輸沒(méi)有影響[4-6]。
4 編碼算法在RS422通信的實(shí)現(xiàn)
根據(jù)已知要求搭建硬件平臺(tái),,此平臺(tái)完成收據(jù)的收發(fā)功能,,并且能夠?qū)?shù)據(jù)進(jìn)行處理,傳輸模型如圖2所示,。系統(tǒng)中主控芯片采用XC3S400型號(hào)的FPGA,,外接40 MHz晶振滿足傳輸速率的時(shí)鐘要求[7];RS422收發(fā)芯片采用MAX3295和MAX3284,,此類芯片接口支持的最大速率可以達(dá)到20 Mb/s,,滿足設(shè)計(jì)需求。
FPGA發(fā)送端發(fā)送復(fù)位命令,,在發(fā)送復(fù)位命令的同時(shí)自身復(fù)位,,準(zhǔn)備接收數(shù)據(jù)。繼續(xù)發(fā)送字同步,、移位脈沖,,根據(jù)幀格式在每個(gè)移位脈沖的下降沿發(fā)送數(shù)據(jù)[8]。因?yàn)椴捎?B/10B編碼時(shí)有效帶寬為4 bit,,所以每個(gè)字節(jié)的有效數(shù)據(jù)需要傳輸兩次,第一次傳輸數(shù)據(jù)的低4 bit,,第二次傳輸數(shù)據(jù)的高4 bit,。接收端接收到復(fù)位命令后復(fù)位,然后根據(jù)字同步信號(hào)進(jìn)行同步處理,最后根據(jù)移位脈沖信號(hào)判斷,,在移位脈沖的上升沿接收數(shù)據(jù)并計(jì)算校正子,,對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),按照編碼格式進(jìn)行解碼,。當(dāng)傳輸數(shù)據(jù)有一位數(shù)據(jù)出錯(cuò)時(shí)可以自動(dòng)糾錯(cuò),,保證數(shù)據(jù)正確接收。發(fā)送接收流程如圖3所示,。
5 數(shù)據(jù)驗(yàn)證
為了驗(yàn)證理論的可行性,,在已有硬件平臺(tái)的基礎(chǔ)上搭建完整的閉環(huán)測(cè)試系統(tǒng)。設(shè)計(jì)RS422收發(fā)板卡并且與CPCI機(jī)箱相連[9],;搭建了30 m距離的通信電纜進(jìn)行通信,,并且編寫(xiě)相應(yīng)的上位機(jī)軟件來(lái)實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和分析。發(fā)送端以10 Mb/s向接收端發(fā)送遞增數(shù),,遞增數(shù)的內(nèi)容為00H~FFH,,并且增加幀計(jì)數(shù)用來(lái)判斷是否丟包和增加幀標(biāo)志易于一幀數(shù)據(jù)的判斷。接收端接收數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行分析和處理,,在接收1 GB的數(shù)據(jù)容量?jī)?nèi)無(wú)誤碼,。圖4為測(cè)試結(jié)果部分截圖。重復(fù)以上過(guò)程,,在100次試驗(yàn)數(shù)據(jù)中,,數(shù)據(jù)完整無(wú)誤碼,驗(yàn)證了設(shè)計(jì)的可行性,。
6 結(jié)論
本文對(duì)制約RS422傳輸距離和速率的因素進(jìn)行分析,,在不改變?cè)杏布幕A(chǔ)上,通過(guò)分析得出對(duì)電纜性能的提升存在技術(shù)和工藝上的難點(diǎn),,對(duì)信號(hào)傳輸方式的改變是簡(jiǎn)單易行的,。通過(guò)借鑒高速傳輸總線的編碼方法,提出了一種適合RS422傳輸?shù)木幋a方式,,采用8B/10B改進(jìn)版的6B/10B編碼方法,。該方法去掉了8B/10B中繁瑣的直流平衡匹配,編碼數(shù)量少并且編碼表唯一,,在一定程度上達(dá)到了數(shù)據(jù)的直流平衡,,減小了處理器負(fù)擔(dān);增加了向前糾錯(cuò)的功能,,可以自動(dòng)糾正一位出錯(cuò)位,,使數(shù)據(jù)可靠傳輸;數(shù)據(jù)從6B映射到10B,,增加了電平的跳變,,能夠使處理器更加快速地識(shí)別數(shù)據(jù)信息,,從而提高了數(shù)據(jù)的傳輸速率。經(jīng)過(guò)大量實(shí)驗(yàn)驗(yàn)證,,該編碼方法簡(jiǎn)單可靠,,能夠使數(shù)據(jù)在30 m長(zhǎng)的雙絞線電纜上以10 Mb/s的速率長(zhǎng)時(shí)間傳輸不出現(xiàn)誤碼,在工程中提高了RS422接口數(shù)據(jù)的吞吐率,,達(dá)到很好的應(yīng)用效果,。因?yàn)?B/10B編碼具有直流平衡的特點(diǎn),同樣適用于中低速的LVDS傳輸,,對(duì)LVDS傳輸邏輯上的簡(jiǎn)化也有借鑒意義,。
參考文獻(xiàn)
[1] 胡博,邢廣義,,王蕊.RS422/485串行接口數(shù)據(jù)吞吐率提高技術(shù)研究[J].工業(yè)控制計(jì)算機(jī),,2017,30(11):30-31.
[2] 方煒,,任勇峰,,儲(chǔ)成群,等.低電壓差分信號(hào)遠(yuǎn)距離通信電纜參數(shù)估計(jì)[J].科學(xué)技術(shù)與工程,,2018,,18(19):209-212.
[3] 劉佳寧,文豐,,王淑琴,,等.基于LVDS的高可靠性長(zhǎng)線傳輸設(shè)計(jì)[J].電子器件,2017,,40(5):1209-1213.
[4] 趙俊江,,張會(huì)新.一種高速大容量圖像存儲(chǔ)裝置的關(guān)鍵技術(shù)研究[J].現(xiàn)代電子技術(shù),2017,,40(12):144-147,,151.
[5] 邱永成,謝榮清,,郭軼.基于雙CPCI總線的地震數(shù)據(jù)采集接口卡設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2017,43(5):102-105.
[6] 李健,,劉歆瀏.目標(biāo)二次提取法在高幀頻視頻跟蹤器上的應(yīng)用[J].兵器裝備工程學(xué)報(bào),,2017,38(6):66-69.
[7] 李夏如,,王慧忠,,姜周曙,等.模擬發(fā)控裝置RS422通信單元可靠性設(shè)計(jì)研究[J].測(cè)控技術(shù),,2018,,37(8):107-110,,116.
[8] 呂鳴,,滕斌.一種飛機(jī)機(jī)載數(shù)據(jù)中繼管理單元設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2018,44(6):52-55.
[9] 郭佳欣,,單彥虎,,任勇峰,等.一種提高RS422/RS485可靠性通信方法的研究[J].科學(xué)技術(shù)與工程,,2017,,17(9):206-213.
作者信息:
任勇峰,王小兵,,張凱華
(中北大學(xué) 儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,,山西 太原030051)