HART協議的數據鏈路層規范
基于軟件設計的HART協議物理層規范在前面的文章中,我們已經簡單地介紹過了。通過對OSI模型的了解,以及HART協議的相關知識,我們知道,在數據鏈路層的規范還是比較復雜的。現在就來具體看一下吧。
HART協議數據鏈路層規范
1設備類型
通訊協議能確認三種不同類型的設備,最普遍與最基本的類型是從設備,接收與提供帶有測量值或其他數據的數字信號,除了有特別要求之外,即該設備在主從關系中總是作為從動裝置起作用。從設備如現場儀表,壓力變送器,溫度變送器,執行器等。
第二種類型的設備是burst模式設備,這種設備在固定的時間間隔發出帶有測量值或其他數據的數字信號響應,而不包含被特別請求的數據,即該設備通常是作為一個獨立廣播的設備。
第三種類型的設備是主設備,主設備負責初始化、控制和終止與從設備或burst模式設備的交互。將主設備分為一級主設備和二級主設備是為了在HART通訊鏈路上同時使用這兩種主設備,一級主設備和二級主設備除了使它們區分開的時限需要定制以外使用相同的協議規則。一級主設備通常指上位PC機,二級主設備指HART設備的手操器。
2 幀格式
根據每一幀發送者的不同可分為:主-從型幀,從-主型幀。根據幀的長度可分為:長型幀,短型幀。注:每格表示1個字節,每字節中***和***位的順序為從左向右。
①先導字符(preambles)
所有從主設備、從設備或burst模式設備發送的幀都有特定個數的十六進制“FF”字符放在前面,這些字符被稱為一個幀的先導字符。某些物理層協議需要它們去作用調制解調器的電路。定界符前的先導字符可能有多個,但協議規定只有兩個連續的先導符后的定界符才標志著一個幀的開始。
②定界符 (delimiter)
此字段的低3位表示了不同的幀類型;***位標志著該幀是長幀還是短幀;其余位保留。
③編址
每一個HART幀都需要地址字段來標明其源和目的地址。
(1)長幀格式地址:實際上是每一臺從設備的唯一標識符,除了***兩位外的低38位即標識了此唯一標識符。***位指明與此幀相關的主設備。一級主設備為“1”,二級主設備為“0”。從設備必須將該域不變的返回。次高位指明從設備是否處于BURST模式,是則此位為“1”,否則為“0”。
(2)短幀格式地址:只有0號短幀命令支持短幀地址。該地址指明了主機與現場設備之間的網絡地址,在鏈路初始化時短幀0號命令返回所有與指定網絡相連接的現場設備的唯一標識符,即這些設備所處網絡端口地址。
④命令域
只有一個字節,指明該幀所封裝的HART命令號。從設備返回的命令字節值應與主設備所發送的幀中的命令號相同。
⑤數據字節記數域
只有一個字節,指明此字節與一幀***的校驗字節之間的數據字節個數。
⑥數據域
在主-從長型幀中,此域存放了用戶對設備的請求數據。即為了得到從設備的返回值而必須對從設備進行設定的值。
在從-主長型幀中,此域存放了現場設備響應主設備(上位機)的請求,返回的數據。
⑦校驗字節
此字節用來存放對幀中的所有字節(不含此字節)進行徑向(Longitudinal Parity)校驗的結果。HART協議通信中,在兩個維數上對傳送的信息進行校驗。
(1)徑向校驗值為所有字節依次按位異或后所得的結果;
(2)垂直校驗(Vertical Parity)值為在通信過程中硬件自動對每個字節的所有位進行奇偶校驗后產生的結果。即前面提到的HART協議物理層規范中規定的數據流格式中的奇校驗位。
⑧響應碼字段
該字段包含2個字節,只在從-主長型幀中出現。它指明了HART通信的狀態。若響應碼***個字節的***位(BIT7)為1,說明主、從設備之間的通信出現了錯誤,該字節的其余各位給出了通信錯誤的總結信息。BIT7為0時,該字節的其余各位給出了現場設備對該幀所對應的命令的響應情況的總結信息。
響應碼的第2個字節指出了現場設備的工作狀態。此字節只在響應碼***字節的BIT7為0,即沒有通信錯誤時有效。