?

TCN項目中基于RS-485通信的工程應用研究

2022-01-18 14:53徐蔚中
科海故事博覽·中旬刊 2022年1期
關鍵詞:主從應用層校驗

徐蔚中

摘 要 在當前軌道交通車輛列車控制與診斷系統中,將TCN掛載在RS-485通信總線上的系統或設備接入到MVB總線或者列車以太網仍是一項關鍵的技術項點,并且不同總線和網絡的接口轉換實現效果將影響網絡通信的質量。本文從TCN工程應用項目中遇到的RS-485總線網絡接入MVB總線網絡的實際問題點出發,重點關注RS-485通信的半雙工主從通信模式的特點,主要討論應用層面的半雙工主從通信需要掌握和注意的關鍵技術要點,以及介紹其在TCN項目中起到的作用。

關鍵詞 RS-485 半雙工 主從通信 總線數據碰撞 通信質量

中圖分類號:TN91 文獻標識碼:A 文章編號:1007-0745(2022)01-0022-03

當今列車通信網絡(TCN,Train Communication N-

etwork)正朝著高速率、多功能、大數據量等方向飛速發展,與現代社會互聯網應用和信息科技領域的發展趨勢相吻合。目前行業內的TCN主要是基于多功能車輛總線(MVB,Multifunction Vehicle Bus)和絞線式列車總線(WTB,Wire Train Bus)來實現[1],并且正朝著基于列車實時數據協議(TRDP,Train Real-time Data Protocol)的以太網通訊網絡(ECN,Ethernet Consist N-

etwork)方向發展和推廣。與此同時,在實際的TCN應用中,由于技術、成本等原因,還可能存在著其他形式的現場總線網絡介質和接口。RS-485通信就是其中一種,由于其雙絞線式總線成本低廉、抗干擾力較強、傳輸速率較高、便于實現等特點,仍有著較為廣泛的應用。本文將結合工程項目中的實踐經驗,對RS-485主從通信接口轉換技術要點進行研究和分析,形成公式,便于理解其技術要點,并助力于工程應用設計開發。

1 基本原理和項目實踐介紹

實際項目運用的接口示意簡化圖如圖1所示,主設備Master和從設備Slave均有兩個冗余接口(Port1和Port2),接口均為UART(通用異步收發器)。主、從設備上的每個接口均通過RS-485總線與對方設備的對應接口連接,總線為差分數據傳輸方式,半雙工通信。主、從設備間通過Port1連接組成通道1,通過Port2連接組成通道2。

需要主從通信雙方協商確定的接口設置主要有表1所示幾項(參數為示例值)。

示例為半雙工主從通信機制,僅Master設備能夠根據應用層協議,輪詢周期每50ms主動發出一個數據幀,作為通信請求。Slave設備在收到Master設備的請求數據幀后,經過呼吸時間延時,根據應用層協議發出響應數據幀進行回復響應[2]。Master的請求數據幀將同時從通道1和通道2發送至Slave設備,Slave設備默認從通道1進行響應回復。Slave設備如果連續5個輪詢周期(250ms)內均未收到Master設備的請求數據幀,則切換至通道2進行回復響應。若Master設備在連續10個輪詢周期(500ms)內均未收到Slave設備的響應回復,則視為通信異常。

上述UART接口配置中的數據格式即為RS-485通信的數據層協議。每次即將開始傳送一個字符時,先發出一位邏輯“0”信號作為起始位,隨后開始數據傳輸(本示例項目為8位)。奇偶校驗位通過將該bit位置位為邏輯“1”或“0”,來控制數據中的邏輯“1”的數量為偶數(偶校驗)或奇數(奇校驗),本示例項目不配置奇偶校驗位。

本字符傳輸結束后,隨即發出1位、1.5位或2位高電平,作為字符傳輸結束的標志。由于數據是在傳輸線上定時的,并且每一個設備都有其自己的時鐘,很可能在通信中兩臺設備間會出現細微的不同步現象。因此停止位不僅僅是表示傳輸的結束,并且提供設備收發接口校正時鐘同步的機會,適用于停止位的位數越多,不同時鐘同步的容忍程度越大,但是數據傳輸率同時也越慢。

實際項目中應用層另需雙方定義應用層的數據通信協議,示例Master設備發送至Slave設備的請求數據幀協議為30個字節,Slave設備發送至Master設備的響應數據幀協議為10個字節,幀頭和幀尾標識均為固定值,數據幀的序號為0-255逐幀增加,累計至255后重新賦值為0,以便區分不同數據幀。CRC校驗結果為針對B1至B26/B6數據的循環冗余校驗結果(具體校驗算法可結合實際確定)。

2 存在的問題與初步分析

在實際項目運用中,發現存在偶發性通信異常問題,導致應用業務故障,獲取實際總線數據發現數據存在錯亂的情況。

正常情況下在50ms的輪詢周期中,應為Normal所示每個輪詢周期一幀請求數據后跟隨一幀響應數據的情況。而異常情況下,會出現Error所示三種情形:1、請求數據后跟隨多幀響應數據;2、請求數據后無響應數據;3、數據錯亂,數據幀不完整。

結合基本原理和項目實際情況分析,由于RS-485半雙工通信的特點,總線上同一時間僅能夠供給1個設備發送數據,所以需采用主從輪詢的方式進行通信[3]。某一設備在檢測到總線上有數據傳輸時,應不允許自身數據發送。若同一時間雙方或多方設備同時發送數據,則在總線上會出現數據碰撞的情況,導致數據錯亂。此處的異常情形3即為主從雙方設備同時發送數據,導致主設備的輪詢數據無幀頭(數據碰撞導致數據錯亂)。異常情形1為從設備自身未考慮半雙工通信的特點,在收到主設備請求數據后多次重復發送響應數據。異常情形2為從設備采樣檢測請求數據周期不滿足要求,以及接收到的主設備請求數據錯誤或不完整,導致無法正確發出響應數據。

因此在實際的運用實踐中,需結合通信方式和實際配置的特點,對涉及的接口參數和程序開發形成正確引導[4],故對此類通信接口的特性展開研究是很關鍵的。

3 細化分析與研究

示例的半雙工主從通信過程示意圖如圖2所示,描述了一個通用示例周期的主從通信過程。在每個通信輪詢周期中,主設備傳輸完一幀請求數據,且從設備正確接收后,應反饋且僅反饋一次響應數據幀。圖中標出了各個關鍵時間參數,其值為示例值。圖中參數具體含義如表2所示。

由于實際的程序運行和數據傳輸時間等都存在難以避免的誤差,所以實際情況下上述所有參數都是理論值。尤其是主設備的tRound與從設備的tCheck之間不可能完全同步,導致二者時間會存在著各種程度的錯位(圖中體現為tCheck與tRound開始、結束時間點的錯位),因此需考慮最差情況下的通信情形,以明確tCheck的參數設置要求。

分析可知,各參數之間應滿足以下關系:

tBlind+n*tCheck+tResponse≤tRound(n≥1)

tResponse≥tBreath+tAck

另外,理論上tBlind≤tReq,最差情況下出于預留應考慮tBlind≥tReq。

現擬定擬定tBlind=tReq tCheck,tResponse= tBreath+ tAck,可得知tCheck應滿足:

tCheck≤(tRound-tBlind-tResponse)/n(n≥1)

其中tReq與tAck需根據通信接口波特率設置、數據傳輸格式和應用層協議數據幀長度進行計算。例如示例項目波特率為38.4kbps,傳輸每個字符(Byte)需消耗1個起始位,8個數據位和1個停止位,共計10bit。請求數據幀為30Byte,響應數據幀為10Byte,可得知傳輸請求數據幀和響應數據幀分別需要7.8125ms和2.6042ms。

為便于計算與預留時間余量,設定tReq=10ms,tBreath+tAck=10ms,則示例中tCheck最大設置值(n=1時)應滿足tCheck≤30ms。且從設備應保證每次正確接收完請求數據后僅發送一幀響應數據。

4 結語

通過對RS-485通信的原理及應用情景介紹和研究,深入了解了其在實際應用中的實現方式和技術要點,結合工程實踐指出了在工程項目實踐中需要避免的問題點,分析研究了通信接口應用參數的關系,最終以公式化的形式總結出其限制條件,對應用開發形成了引導性結論。在應用實踐中可參考本文內容進行設計和問題排查,避免工程應用中出現設計問題導致的通信故障和功能缺陷,提高應用工程的效率和穩定性,保障實踐應用的安全。

參考文獻:

[1] 劉濤.帶有RS485轉換功能的一類網卡設計與實現[D].大連:大連理工大學,2006.

[2] 趙亮,張吉禮.提高RS485總線通信可靠性的優化設計方法[J].大連理工大學學報,2015,55(04):393-398.

[3] 陳航,嚴帥,劉勝,等.基于RS485總線的分布式高精度數據采集系統[J].儀表技術與傳感器,2021(02):71- 74,79.

[4] 柏思忠.基于RS485數據幀計時的總線設備間距離測量[J].工礦自動化,2021,47(07):92-97,114.

猜你喜歡
主從應用層校驗
使用Excel朗讀功能校驗工作表中的數據
電能表在線不停電校驗技術
兒童氣候教育者讓成人開眼看氣候
鳥類世界的愛因斯坦
旋轉位似的性質與主從聯動法
精通文件校驗的“門道”
多種方法快速校驗文件
傳輸層和應用層的隧道技術
基于分級保護的OA系統應用層訪問控制研究
物聯網技術在信息機房制冷系統中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合