동기바이트(Sync Bytes) : T5A 패킷 핵심개념

송신측에서 송신한 데이터를 수신하는 수신측에서 패킷의 첫시작점을 파악할 수 있는 수단이 필요하다. LXSDF T5A 패킷에서는 동기바이트로 각 패킷 전송 초기 5개 바이트를 사용하며, 첫 1바이트 부터 255,255,255,255, 254 의 값이 기록되어있다. 즉 패킷 전체 바이트열 중에서 연속해서 4개의 255와 이후 254 가 등장하는 지점은 동기바이트가 유일하도록 설계되어 있다.

장치에서 데이터 전송시 항상 이 규격에 맞게 데이터를 호스트로 전송한다. 수신측에서는 전송되어 오는 각각의 단위 바이트들을 상시 모니터링 하여 동기 바이트를 검출하는 것으로 1패킷의 시작점을 찾을 수 있다. 시작점을 찾게 되면 LXSDF T5A 패킷 규칙에 의거하여 필요한 데이터들을 프로그램에서 추출할 수 있게 된다.

아래 그림에서 1패킷의 가장 첫부분에 주황색으로 표시된 부분에는 항상 패킷의 첫지점을 나타내는 동기바이트 5바이트 할당 되어 있고, 그 이후에 일련의 바이트 단위의 데이터들이 연속 전송된다.

 

T5A 패킷 요소 정의.

아래 표에 T5A 패킷 요소들 정의 되어있으며, 각각의 인덱스가 1바이트를 점하며 시리얼 전송시 인덱스 0, 1, 2, … 순서로 전송하게 된다.  각 패킷 인덱스 별로 탑재가능한 값이 컬럼 Value 에 정의되어있다.

Table. LXSDF T5A Packet Definitions.
 Index  Value  Packet Element Name for Stream Mode.  Packet Element Name for Non-Stream Mode.
 0  255  SyncByte0 (Synchronization Byte 0)
 1  255  SyncByte1 (Synchronization Byte 1)
 2  255  SyncByte2 (Synchronization Byte 2)
 3  255  SyncByte3 (Synchronization Byte 3)
 4  254  SyncByte4 (Synchronization Byte 4)
 5  0~254  PPD (Packet Property Data). 0~15 : Stream Mode, 16~254 : Non-Stream Mode.
 6  0~255  PCDT (PCD Type) : Bit 2,1,0.  PBS (Packet Byte Size)
 7  0~255  PC (Packet Count)  IID (Information ID)
 8  0~255  PCD0 (Packet Cyclic Data 0) LSByte  .
 9  0~255  PCD1 (Packet Cyclic Data 1) MSByte  .
 10  0~253  PCD SEP   reserved.
 11  0~255  PUD0 (Packet Unit Data 0) LSByte
 12  0~255  PUD1 (Packet Unit Data 1)
 13  0~255  PUD2 (Packet Unit Data 2)
 14  0~255  PUD3 (Packet Unit Data 3) MSByte
 15  0~253  PUD SEP  reserved.
 16  0~255  PSD0 (Packet Stream Data 0) LSByte  .
 17  0~255  PSD1 (Packet Stream Data 1)  .
 18  0~255  PSD2 (Packet Stream Data 2)  .
 19  0~255  PSD3 (Packet Stream Data 3) MSByte  .
 20  0~253  PSD SEP  .
 …  …  Can be repeated above 16~20 index  .
 Color  Description
스트림, 비스트림 모드에서 공통적인 패킷 요소들.
다채널 스트림 데이터 탑재영역. 최대 채널 수 임의 확장 가능. 대표적인 멀티 채널 스트림 데이터 소스 : 다채널 ADC 변환 값들.

 

스트림 모드와 비스트림 모드 차이점

Packet Index  Stream Mode  Non-Stream Mode
 5  PPD :  available value 0 ~ 15  PPD : available value 16 ~ 254
 6  PCDT : Packet Cyclic Data Type.  PBS : Packet Byte Size allocated.
 7  PC : +1 for each packet.  IID : Information ID allocated.
 8 ~ 10  PCD0,1,PCD SEP : PCD data is allocated each PC.  general data allocated.
 11 ~ 15  PUD0,1,2,3,  PUD SEP : Packet Unit Data.  general data allocated.
 16 and over  PSD :  real time stream data allocated.  general data allocated.

패킷 바이트 크기. 

  • 스트림 모드인 경우 : 선정의된 고정 크기 (예. 16, 32, …)를 가지며 응용에 따라 다른 값을 가질 수 있다.
  • 비스트림 모드인 경우 : 매번의 패킷 마다 패킷 사이즈는 다를 수 있으며, 패킷인덱스 6( PBS ) 에 패킷 사이즈가 기록되어있다.