跳至主要内容

🔰 HSMS 訊息封包結構

本章節解析 HSMS 傳輸層的訊息封包格式。搞懂 10-byte Header,才能從 raw log 中判讀 SxFy 與連線問題。

資料來源聲明

本文為學習筆記性質之原創整理,非 SEMI E37 全文轉載。完整定義請以 SEMI 官方標準 為準。

封包組成

[ 4 bytes Message Length ][ 10 bytes HSMS Header ][ SECS-II Data (Body) ]
部分長度內容
Message Length4 bytesHeader + Body 的總長度(大端序)
HSMS Header10 bytesSession、Header 資訊、P-Type/S-Type
SECS-II Data變長Data Item 組成的 Body

10-byte HSMS Header 欄位

偏移欄位說明
0–1Session ID連線 Session 識別
2Header Byte 2Stream(高 7 bit)+ W-Bit(最低 bit)
3Header Byte 3Function 編號
4P-Type0 = SECS-II Data Message
5S-Type訊息類型(Data Message = 0)
6–9System Bytes唯一交易識別碼

Stream 與 W-Bit 解讀

Header Byte 2 的編碼:

  • bit 0 = W-Bit(1 = 需回覆)
  • bit 1–7 = Stream 編號

例如 S2F41 W=1:Stream=2, Function=41, W-Bit=1。

P-Type 與 S-Type

P-TypeS-Type名稱用途
00Data Message一般 SECS-II 訊息
01Select.req請求建立 Session
02Select.rspSelect 回覆
03Deselect.req釋放 Session
04Deselect.rspDeselect 回覆
05Linktest.req連線測試
06Linktest.rspLinktest 回覆
07Reject.req拒絕
09Separate.req斷開連線

控制訊息(Select/Linktest 等)無 SECS-II Body。

與 SECS-II 的關係

HSMS Header 攜帶 SxFy 與 W-Bit;Body 才是 secsStructure 中的 Data Item 結構。兩層合在一起才是完整的 HSMS 訊息。

與其他文章的關聯