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