半导体基础SECS协议(SECS-I)

发布时间 2023-11-06 10:48:43作者: 略茫然

  阅读导言可知,在SECS协议的基础结构中,SECS-I是一项物理链路协议,采用了R232串口的物理连接方式,定义设备在链路上使用的消息格式以及一些消息交互行为。以下介绍将大致以消息传输与消息格式两部分进行。

1. 消息传输 - 物理传输*

START

Bit

LSB

1

 

2

 

3

 

4

 

5

 

6

 

7

MSB

8

STOP

Bit

1.1 SECS-I的实际传输格式

  在实际的传输中,SECS-I要求设备使用多个连续的10 bit进行传输,大致如上所示,为 1 start bit + 8 data bits + 1 stop bit,其中的两个特殊bit决定了消息传输的方向,为 Start - > Stop 。

  同时,传输的过程双向、异步,方向由特殊字符和握手建立,同一时间只能有一个方向的数据进行传输。

 

2. 消息传输 - 逻辑传输*

  在传输的过程中,消息被视为一个完整的通信单元,但并非最小的单元,这是由于消息格式限制导致的 - SECS-I要求每个最小单元(Block)中数据最大字节长为254,因而消息数据被分为了许多个块,有一个消息可以拥有最多32767(2^15 - 1)个块。

 

 

3. 消息格式 - Block的结构:

Length Byte(1)

Data Byte(10 + N)

CheckSum(2)

 

Header10

MessageN

1.2 Block的数据格式

   Block由Length Byte Data ByteCheckSum三部分构成

3.1 Length Byte:单字节,用于记录后续数据的字节数,不包括最后两位校验码的数据。

3.2 Data Byte:10-254字节,包括Header(10字节)和Message两部分。

 3.2.1 Header - 由10个字节构成,用于描述Message部分的内容:

R
Upper Device ID
Lower Device ID
Wait
Upper Message ID
Lower Message ID
End
Upper Block No.
Lower Block No.
System Byte
System Byte
System Byte
System Byte

        图1.3 Data Byte Header

 3.2.2 Message 

    数据部分,格式由更高一层的设备间消息协议定义(当前我们假定为SECS - II)。

3.3 CheckSum

  SECS - I 中校验码采用校验和的方式,将数据部分全部相加(不包含Length以及CheckSum本身)。

 

4. 消息传输 - Block的传输

4.1* 传输顺序

  在传输时,设备将先传输块的长度,再传输块。

4.2 SECS - I 握手规则

  SECS - I规定设备在每次消息交换前都进行一次握手,握手过程及过程中使用的握手码如下所示:

Name

Code(bit8-1)

Function

ENQ

00000101

Request to Send

EOT

00000100

Ready to Receive

ACK

00000110

Correct Reception

NAK

00010101

Incorrect Reception

1.4 Block 握手编码

              

              图1.5 SECS-I传输过程

图1.5中的T1、T2为超时参数(SECS协议中常见,用于各种超时警报的参数),定义分别如下:

  T1:限制设备接收Length字节后与接收CheckSum前,数据块中每个字节的传输时间间隔。

  T2:限制设备发送ENQ与接收EOT间的时间间隔。

 

  下一节:半导体基础SECS协议(HSMS)

 

 

 

Header10个字节组成,用于描述Message部分的内容