前言
本周來到消息處理模塊,通信世界的精髓就是消息的處理,如何把0,1,0,1解析成有意義的數據,就是消息模塊需要打下的基礎。
消息處理模塊要根據在物理層已經轉變成byte的內容,進行消息解析,特別是固定的協議一般都有協議的報文頭和報文尾,根據簡單規則過濾該報文是否為合法報文,避免進一步的深度解析,減少MCU的處理壓力。

1 M-Sequence定義
11.8
主站與從站的交互,通過一系列的消息來交換數據,因此我們稱之為“M-Sequence”,它也是IO-Link里的重要概念。
IO-Link屬于典型的一問一答式交互,主站發送消息,從站回應消息,如果主站不發送消息,從站就不會回應消息。

一個M-Sequence包含了主站的消息和從站的消息:
主站消息由若干個UARTFrame組成
第一個UART為MC(M序列控制字),表示當前報文的類型,簡單理解為功能碼,表示本次M序列的功能是什么,讀寫ISDU還是讀Event等;
第二個UART的前2個bit,表示當前的M序列Type,決定了當前主站和從站的報文長度;
根據第一個UART和第二個UART就基本確定了功能和數據長度,后續就是填充數據即可。
2 M-Sequence類型

M-Sequence定義了不同階段的報文類型,雖然規范總共羅列了10種,但其實一般也就用其中的3種,包括TYPE_0、TYPE_1_V、TYPE_2_V,其他的類型在目前IO-Link v1.1.4中基本無用武之地。
TYPE_1_1是完全交互PD,不交互OD,僅在IO-Link v1.0規范中使用。
01 TYPE_0

一般在Startup使用,主站和從站還沒有協商數據時使用,一般用于讀取DPP數據;雙方來回只交互一個OD數據。
02 TYPE_1_V

一般在PRE-OP使用,沒有PD數據交互,只有OD數據,OD可以是1,2,8,32字節;通常很多廠商都是用8字節OD來交互,提高效率,又不浪費字節。
03 TYPE_2_V

一般在OP使用,主要交互PD數據,中間夾雜OD數據,確保PD按照固定數據傳輸數據,同時又可以傳輸OD的數據。
3 MC解析

MC報文的Bit 7作為區分讀寫操作的標志位。
MC報文的Bit 6和Bit5作為通訊通道的標志,因為每次循環都有OD數據,因此每次通信的通道都是3 ISDU通道;而當需要上報事件時候才會進行2 Diagnosis通道傳輸;最后是1 Page通道,在Startup階段通過1 Page通道讀取DPP1,2參數,如果在正常通信狀態下,要讀取DPP參數,也是采用1 Page通道。
最后5個bit作為地址標識,或者在進行ISDU傳輸時作為計數器,讓雙方知道當前已經發送到哪個報文了,不至于紊亂。

上圖為根據具體的標志位展示的所有可能的報文類型,大家在抓到相關IO-Link報文時可以根據這個表格去判斷當前的通道和讀寫狀態。
4 CKT解析

主站的第二個消息包含兩部分內容:
M-Sequence Type,根據所處的狀態確定其值,一般來說,Startup階段是0,PreOP階段為1,OP階段為2;當然這個不是絕對的,只是大部分這么使用而已。
Checksum,主站發送所有消息并加上一個種子值0x52一起異或,為了節約消息的開銷,又對8bit的異或值做了運算得到一個6bit的checksum和M-SequenceType拼接到一起。
異或值的計算如下:

結語
本篇內容就先到這里啦,消息處理模塊是IO-Link通信的重中之重,建議大家多花時間學習和消化。
-
IO-Link
+關注
關注
2文章
191瀏覽量
20454 -
IO-Link收發器
+關注
關注
0文章
10瀏覽量
6271
發布評論請先 登錄
睿遠研究院丨IO-Link規范解讀(八):M-Sequence Type 與消息處理狀態機
睿遠研究院丨IO-Link規范解讀(六):主從站狀態機解析
睿遠研究院丨IO-Link規范解讀(三):物理層概覽
IO-Link規范解讀(五):數據鏈路層解析
睿遠研究院丨IO-Link規范解讀(二):IO-Link通信技術概述
RASIGHT 睿遠 IO-Link智能傳感器通信解決方案
Analog Devices / Maxim Integrated MAXREFDES177 IO-Link通用模擬IO特性/框圖
意法半導體發布模塊化IO-Link開發套件
倍加福推出新型G11和G16系列IO-Link集線器
虹科直播回放 | IO-Link技術概述與虹科IO-Link OEM
IO-Link收發器怎么數據讀取
IO-Link接口的功能和特點
IO-Link收發器的工作原理和應用優勢
Profinet協議IO-Link主站網關-三格電子

睿遠研究院丨IO-Link規范解讀(七):消息處理模塊
評論