2.2.3.1 DVC Data First PDU (DYNVC_DATA_FIRST)

The DYNVC_DATA_FIRST PDU is used to send the first block of data of a fragmented message when compression is not being used for the data block. It MUST be the first PDU sent when a message has been fragmented and the data block is not compressed. The total length, in bytes, of the message to be sent is indicated in the Length field, and the data field contains the first block of the fragmented data.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

cbId

Len

Cmd

ChannelId (variable)

...

Length (variable)

...

Data (variable)

...

cbId (2 bits): Indicates the length of the ChannelId field.

Value

Meaning

0x0

ChannelId field length is 1 byte.

0x1

ChannelId field length is 2 bytes.

0x2

ChannelId field length is 4 bytes.

0x3

Invalid value.

Len (2 bits): Indicates the length of the Length field.

Value

Meaning

0x0

Length field length is 1 byte.

0x1

Length field length is 2 bytes.

0x2

Length field length is 4 bytes.

0x3

Invalid value; MUST NOT be used.

Cmd (4 bits): This field MUST be set to 0x02 (Data First).

ChannelId (variable): A variable-length 8-bit, 16-bit, or 32-bit unsigned integer. Set to the value of the ChannelId associated with the DVC on which the PDU is being sent.

Length (variable): A variable length 8-bit, 16-bit, or 32-bit unsigned integer. Set to total length of the message to be sent.

Data (variable): An array of bytes. The first block of data of a fragmented message. Message data is sent as 8-bit unsigned integers. The DVC header size is defined as the sum of the sizes of the Cmd, Len, cbId, ChannelId and Length fields. The length of the data in the Data field is determined as follows:

  • If the sum of the DVC header size and the value specified by the Length field is less than 1,600 bytes, then the actual data length equals the value specified by the Length field.

  • If the sum of the DVC header size and the value specified by the Length field is equal to or larger than 1,600 bytes, then the actual data length equals 1,600 bytes minus the DVC header size.