LXSDF T2

동기바이트(Sync Bytes) : T2 Tx packet 핵심개념

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

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

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

T2 Tx 패킷 요소 정의

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

Table. LXSDF T2 Tx Packet Definitions.
 Index  Value  Packet Element Name 
 0  255  SyncByte0 (Synchronization Byte 0)
 1  254  SyncByte1 (Synchronization Byte 1)
 2  0~254  PUD0 (Packet Unit Data 0)
 3  0~127  CRD (Command Response Data). bit 6
 PUD2 (Packet Unit Data 2). bit 5,4,3
 PCDT (Packet Cyclic Data Type). bit 2,1,0
 4  0~255  PC (Packet Count)
 5  0~127  PUD 1 (Packet Unit Data 1)
 6  0~255  PCD (Packet Cyclic Data)
 8  0~253  PSD1 (Packet Stream Data High Byte)
 9  0~255  PSD0 (Packet Stream Data Low Byte)
 10  0~253  PSD1 (Packet Stream Data High Byte)
 11  0~255  PSD0 (Packet Stream Data Low Byte)
 …  …  …
 N-1  0~253  PSD1 (Packet Stream Data High Byte)
 N  0~255  PSD0 (Packet Stream Data Low Byte)
 Color  Description
 다채널 스트림 데이터 탑재영역. 최대 채널 수 임의 확장 가능. 대표적인 멀티 채널 스트림 데이터 소스 : 다채널 ADC 변환 값들.

 

PC (Packet Count)

매번의 패킷 전송시 마다 1씩 증가되는 최대값 이후 다시 0부터 시작. PC를 이용하여 매번의 패킷마다 PCD로 전송되는 데이터가 어떤 데이터인지 식별함에 필수로 사용된다. PC의 최대값은 PCD Type값에 따라 다른 값을 갖게 되며 PCD Type = 0인 경우 PC의 최대값은 31이다.

CRD (Command Response Data)

호스트 측에서 LXSDF T2 Rx형식으로 명령을 장치로 전달한 것을 장치에서 수신 성공한 경우 CRD값을 반전한다. 활용 – 호스트에서 명령을 전송하기 전의 CRD 값이 1이었는데 명령 전송후에도 1이라면 명령전달 실패, CRD 값이 반전되어 0으로 변경되었다면 호스트에서 전송한 명령을 장치에서 수신 성공했음을 의미한다.

PUD 0, PUD 1, PUD 2 (Packet Unit Data)

주로 고속으로 전송해야할 정보류의 데이터가 할당된다.

PCDT (Packet Cyclic Data Type)

이 값에 따라 패킷카운트의 최대값이 달라지며, 또한 PCD Type값에 따라 패킷순환데이터로 전달되는 데이터가 달라진다. 장치가 켜진 초기상태는 PCD Type값은 항상 0이며, 상황에 따라 PCD모드 값이 1,2,3등의 다른 값으로 변경되어도, 해당모드의 데이터 전송이 1회 완료 되면 다시 자동으로 0으로 변경된다.
전송의 1회 완료란 PC = 0에서 시작하여 PC 의 최대값이 될 때 까지이다
.

 PCDT  PC (Packet Count) Maximum  Data
 0  31  LXSDF T2 전용 시스템 지정 데이터 및 일반 데이터. .
 1~7  제품마다 다름.

 

PCD Type 0 의 시스템 지정 PCD 데이터.

PCD Type 0 의 PC 0에서 23까지는 제품 특화된 데이터를 전송할 수 있는 구간이며, PC 24 에서 PC 31까지는 시스템 지정 데이터 영역.

 Table. PCD Designated Data of PCDT 0
 PCD[PC]  Item  Description
 PCD[31]  Com port search information  fixed value 108. Information for searching device using LXSDF T2.
 PCD[30]  LXDeviceID  Allocated value between 1 and 255. Unique ID for identifying the device.
 PCD[29]  ComFirmInfo1  Firmware ID and version for processor 1.
 PCD[28]  Number of channel  Number of channel from stream area of packet.
 PCD[27]  Number of samples  Number of samples from stream area of packet.
 PCD[26]  ComPath  Communication physical path.
 PCD[25]  ComFirmInfo2  Firmware ID and version for processor 2.
 PCD[24]  ComFirmInfo3  Firmware ID and version for processor 3.
 PCD[23]  –  – reserved
 PCD[22]  –  – reserved
 PCD[21]  –  – reserved
 PCD[20]  –  – reserved

ComPath

데이터가 어떤 통신경로로 전송되었는지 표식용으로 사용된다. 이는 1개의 기기에서 동일 패킷을 동시에 2개 이상의 통신경로로 LXSDF T2 형식의 데이터 전송 가능하며, 이를 수신한 호스트 측에서 통신경로를 확인하고자 할 때 ComPath 의 값 참조한다.

 ComPath Value  Communication Path
 0  UART
 1  USB CDC
 2  Bluetooth SPP(Serial Peripheral Profile)
 3  Bluetooth Low Energy SPS