비버놀로지

[SECS/GEM] SECS-I 블록 전송 프로토콜 본문

Semiconductor/SECS GEM

[SECS/GEM] SECS-I 블록 전송 프로토콜

KUNDUZ 2021. 8. 9. 10:35
728x90

SECS-I 방식으로 전송되는 모든 메시지는 블록의 형태로 전송되며, 장비와 호스트간 전송절차는 handshake에 의한 통신 초기화가 이뤄진 후에 메시지 교환을 하게 된다. 전송 메시지에는 메시지의 크기를 나타내는 length 바이트와 메시지 내용을 포함하고 있는 블록, 데이터 에러시 에러보정에 사용하는 checksum 등이 포함되며, 메시지 수신 후 수신측 은 송신측에 메시지를 정상적으로 수신했다는 메시지를 송신하면 통신이 끝나게 된다.

 

전송되는 모든 데이터 블록은 10 바이트의 헤더를 갖고 있으며 블록 헤더의 구조와 각 바이트의 의미를 표에 나타내었다. 블록 헤더에서 첫째, 둘째 바이트는 메시지의 방향과 Device ID를 나타내는 것으로 R = 0 이면 (장비→호스트), R = 1 이면 (장비←호스트)로의 메시지 전송을 의미하며, Device ID는 장비의 고유 번호를 의미하는 것으로 장비는 호스트에서 송신한 메시지의 Device ID를 검사하여 자신의 Device ID와 다른 경우에는 수신된 메시지를 폐기하며 호스트의 경우는 수신된 메시지의 Device ID를 검사하여 어느 장비에서 송신했는지 알 수 있다.

 

셋째, 넷째 바이트는 W 필드 및 메시지 ID를 나타내는 것으로 W-bit는 전송되는 메시지에 대한 수신측의 응답 여부를 결정하는 것으로 W = 1 이면 응답을 요구하는 메시지이며 W = 0 이면 응답을 요구하지 않는 메시지이다. 메시지 ID는 메시지 내용을 정의하는 것으로 장비별로 다르게 정의해서 사용하고 있다. 다섯, 여섯째 바이트는 메시지의 블록 갯수를 나타내는 것으로 E 필드 값은 전송되는 메시지의 최종 블록을 나타내는 것으로 E = 1 이면 최종 블록이라는 것을 E = 0이면 전송될 블록이 남아 있다는 것을 의미하며, 블록 넘버는 각 블록의 일련 번호로서 한 메시지에 허용되는 최대 블록은 32,767개 이다.

 

  8 7 6 5 4 3 2 1
1 R Upper Device ID
2 Lower Device ID
3 W Upper Message ID
4 Lower Message ID
5 E Upper Block #
6 Lower Block #
7 System Bytes
8 System Bytes
9 System Bytes
10 System Bytes

 

 

728x90
Comments