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