地磅稱重儀表的CAN總線通信設計
本文介紹了一種高速CAN總線稱重儀表,該儀表集成了 CANopen協議,以及儀表與傳感器通信的內部CAN協議。文中對地磅稱重儀表CAN接口電路、CANopen應用 協議及內部CAN協議設計的關鍵點進行了重點闡述。
引言
CAN總線是一種現場總線,由BOSCH公司于 1986年正式推出。CAN總線最早應用于汽車上,憑借著快速、可靠、高效的特點,CAN總線的應 用很快便拓展到過程控制、工業機械、紡織機械、軌道交通、船舶等領域,并在相應領域誕生了各 具特色的應用標準。
相較于傳統的RS485串口通信,CAN有著如 下顯著特征:
?多主通信,非破壞性仲裁;
?速率高達1Mbps,實時性好;
?錯誤處理和檢錯機制可靠;
?短幀結構單個報文可攜帶8字節數據,
可實施復雜的數據加密策略;
?嚴重錯誤情況下,故障節點自動關閉,不 影響其他節點通信。
CAN是一種開放性的現場總線,其本身只定 義了數據鏈路層和部分物理層內容,允許用戶更 大程度的去開發或定義自己的通信應用。筆者通 過深入了解稱重行業的實際需求及國內外的發展動向,開發了一款集成了 CANopen協議和自定義 CAN協議(以下簡稱KLink協議的稱重儀表, 其中CANopen協議用于連接儀表和PC域PLC 等,其協議棧完全符合CiA DS301規范;而 K L ink協議則用于連接儀表和數字傳感器,缺省狀 態下,該協議運行于125kbps波特率,可連接多達 16個的傳感器,通信距離達200米。
1.國內外稱重行業C A N總線應用情況
CAN是當前唯一入選ISO標準的現場總線氣 在國內外眾多領域中得到廣泛應用。在稱重行業, 國外有很多廠家或組織對其展開了研究,并將其 應用到相關稱重產品中去,其中較為知名的是CiA CAN inAutomatW 協會發布的 C iA DSP459、C iA DSP461設備描述文件。
C A這兩份有關稱重系統的CANopen設備描 述文件,對于建立統一的稱重設備通信接口,實 現不同廠家CANopen設備的互聯互通有著重要意 義。這兩份協議中,CiA DSP459定義了車載稱重 設備的CANopen應用,其中包含了一般要求、通 信參數規范、應用參數規范等內容,主要用于卡車、非道路車輛,如叉車、垃圾收運車;而CiA DSP461則定義了常規稱重設備的CANopen應用, 其中包含數據加密、儀表及傳感器設備描述文件 等,主要用于衡器,如貿易用稱重設備。
但在國內,由于技術引入較晚,且相對集中 于車輛、工業機械等行業,CAN總線并不為稱重 行業所熟悉,相應的CAN總線稱重儀表也并不多 見。
2.CAN接口電路設計
儀表的CAN接口電路起著連接C A N總線網絡 和CAN控制器的作用,它是實現CAN數據收發的 關鍵。
本設計中C A N收發器采用TI公司的SN 65H V D 251。該收發器符合ISO11898-2標準,能以高達 1Mbps的速率實現CAN數據的差分發送和接收。 SN65HVD251收發器有8個引腳,如圖1所示,其 中D連接到CAN控制器的TX引腳、R連接到 CAN控制器的RX引腳、Rs用于設定收發器工作 模式斜率、高速。
CAN接口電路中的浪涌保護和信號隔離電路,會對波形質量或傳輸延時有所影響,設計時應選擇 結電容小的浪涌保護器件、傳輸延時小的隔離器 件。
3.CANopen協議設計
在本設計中,CANopen協議是儀表同PC或 PLC等上位機進行通信的協議。該協議的設計完全 符合CiA DS301規范,支持基于LSS服務的節點 號或波特率更改。
在實際的工控或車載使用中,CANopen稱重儀 表往往作為從站運行,故本設計中將儀表設計為 CAN open從站。作為CAN open從站的儀表,其狀態 運轉如圖3所示完全受控于主站的NMT指令。
為減少信號跳變沿的諧波成分,收發器的RS 引腳通過10Kft電阻接地,從而實現收發器的斜 率控制。
由于稱重儀表使用環境的多樣性,在設計 CAN接口電路時,要特別注意接口的浪涌保護。 本設計中采用了由氣體放電管、TVS、熱敏電阻等 組成的二級浪涌保護電路如圖2所示。在后期的 試驗中,該電路通過了 8KV的靜電放電實驗以及 3KV的雷擊浪涌實驗,這表明該電路能對CAN接 口提供有效保護。
此外,若傳輸距離較遠,CAN接口電路還應 采用相關隔離保護手段。
CANopen協議有多種通信對象,如NMT、 SDO、PDO、EMCY等,對應不同的NMT狀態, 從站可提供的通信對象是不同的見圖3中各狀 態框。在確定采用何種通信對象時,必須綜合分 析所要傳輸信息的性質及通信需求。在本儀表的 設計中,稱重儀表的重量信息皮重、毛重、凈 重等作為過程數據,以PDO的形式進行通信; 而其他配置信息或功能設定信息,則采用需確認的SDO進行通信。其中,PDO采用發送類型為 255的異步發送,以TPDO1為例,其通信參數如 表1所示。
CANopen協議棧的核心是對象字典,應用程 序和CANopen協議棧以此為中心進行數據的交換。 對象字典的設計嚴格遵循C iA DS301及C iA DS306 協議。根據稱重儀表數據傳輸的實際需求,在可 使用的范圍內,本設計將對象字典索引區間進行 了劃分如表2所示。
4.KL’nk應用協議設計
KLink協議是儀表和傳感器間的CAN通信協 議。KLink協議采用主從結構,其中儀表作為通信 主站,負責發起通信并監控網絡運行狀態;而傳 感器則作為通信從站,不主動發起任何通信,僅 響應主站的請求。
儀表和傳感器之間傳輸的數據主要有重量信 息和各種配置、標定、狀態信息,它們有著如下 特點:
a重量信息需要持續傳送,要求具備最高的 傳輸優先級;
b配置、標定、狀態信息只在特定條件下才 會訪問,且需要回應;
c配置、標定、狀態信息與具體傳感器息息 相關;
d信息需要加密傳輸; e信息傳輸要求高的實時性。
結合上述信息傳輸的特點,K L ink協議采用了 兩種通信模型:點對點通信如圖4所示、廣播 通信如圖5所示。設計通信協議的時候,根據 通信對象的屬性,如讀寫、存儲、加密、校驗等, 為每種通信對象指定了具體的通信模型和通信服 務。對于需頻繁傳輸的重量數據,應支持主從廣 播通信;同時,為方便特定條件下的使用,也應 支持主從點對點通信。
試驗表明,在連接16個傳感器,波特率設定 為125kbps的情況下,KLink協議可實現對重量數 據57Hz的高速讀取。該讀取頻率與網絡節點數 量、波特率相關,在傳感器數量減少或波特率提 高的情況下,讀取速度還會有更大提升。
5.總結
結合CAN總線的一系列特點,筆者全新開發 了一款CAN總線稱重儀表,并在仔細分析稱重儀 表數據傳輸需求的基礎上設計了其通信協議。相 較于傳統RS485接口的儀表,該儀表在速度、加 密傳輸等方面都顯示了其顯著優勢。
目前,前述研發成果已應用在多款帶CAN接 口的物聯網及工控儀表中,如D39-W -CAN如圖6 所示、KL3101-D2+C、KL3101-D2+C (CANopen。 憑借優異的防作弊性能和高可靠性,該系列儀表 在市場上已得到眾多終端用戶的青睞。
CAN總線在極度重視安全性、可靠性的汽車 行業應用多年,并在工控等領域得以持續發展其高速、可靠的特性完全勝任稱重儀表的數字傳 輸需要,在未來的稱重行業必將有著廣闊的應用 空間。