A General Purpose CCSDS Link layer Protocol Next Generation Data Link Protocol (NGDLP) Ed Greenberg Greg Kazz 10/17/2012 1 What is the focus of the Protocol and its capability 1. Designed to support TC, TM, AOS and Proximity • Neither Insert Zone and Secondary Header services are supported • Both variable length and fixed length protocols are supported • Variable length services follow the TC/Proximity Protocol w\ LDPC • Fixed length services follow the TM/AOS Protocols • The primary header is fixed and has the same structure in all links. • Note: Emergency commanding typically does not require sequence control therefore it is possible to drop the LSB (bytes) of the sequence number and use the remaining bits for the hardware commanding thus reducing the frame size requirement to just 64 bits [to allow a 64 bit LDPC code to be used if desired]. 2. This single protocol specification supports both operational modes (asynchronous and synchronous ! fixed length and variable length) on a single link • Fixed length and/or variable length frames can flow on the same link simultaneously or limited to only fixed or variable on a link. • Thus this protocol can be used across all sectors and links in space. 3. The inclusion of security services into links will stimulate development on link equipments/software/firmware. • Investment in new implementations for processing communications link could pave the way the new frame and reduce overall cost. 2 TRANSFER FRAME STRUCTURE (1 of 2) A Transfer Frame shall encompass six major fields, positioned contiguously, in the following sequence: 1) 2) 3) 4) 5) Transfer Frame Primary Header (mandatory, Fixed Length] Security Header (optional, managed) Transfer Frame Data Field (variable,) Security MAC (optional, managed) Operational Control Support data field (4 octets, optional) • Required to support COP operations 6) Frame Error Control data Field (2 octets, optional. managed) Note: Coding is managed for a link (code type and info size) Frame Header Security Header Frame Data Field Security OCS MAC FEC 3 TRANSFER FRAME STRUCTURE (2 of 2) 1. Transfer Frame Primary Header ---The Transfer Frame Primary Header is mandatory and shall encompass the major fields, positioned contiguously, in the following sequence: 1) 2) 3) 4) 5) 6) 7) 8) 9) Transfer Frame Version Number (2 bits, mandatory); Spacecraft Destination Flag (1 bit, mandatory); Spacecraft Destination/Source Identifier (11 bits, mandatory) Data Field Content Identifiers (2 bits) (control command , VCA/octet mode, M-PDU) Virtual Channel Identifier (4 bits, mandatory); VC sub-address ID (MAP/PORT_ID replacement) (4 bits, mandatory); Frame Length (16 bits, mandatory) (Total Frame size including Security) Length/pointer field use flag (frame length or first header pointer or # of octets in VCA) VC Sequence Number (31 bits, mandatory). == 10 Bytes 4 Protocol Link Transmission Unit (PLTU) The PLTU has three functions: 1. Start Sequence (ASM) – Delimits the start of the CLTU • Start Sequence size is determined by operating symbol error rate – The start sequence may also be required to resolve data ambiguity 2. PLTU Data Zone – A series of fixed length code words that carry a frame 3. PLTU Termination – Multiple methods are possible: 1. Variable Frame Length Mode 1. 2. 2. An erred Code word Using the frame length field contents to determine the required number of code words » Requires CLTU to contain only a single frame and to extract the frame length from the header (contained in the first code word) to determine required number of code words in the PLTU Fixed Length Frame Mode uses a fixed number of code words per PLTU 5 Other PLTU Items • The variable length PLTU may be required to contain fill bits when the frame is smaller than the length of the valid code words needed to contain the frame – • similar to the current TC mode. Idle bits can be included between PLTUs – Because Isochronous insert zone is not supported, the prime reason to not allow idle between frames is gone and the only remaining issue is the added difficulty for frame syncing. – Because the ASM must support frame syncing in the variable length mode, allowing idle between PLTUs in the fixed length mode is no more difficult. • Only one code need be supported on a link. An integer number of code words up to a maximum managed number are concatenated to form the PLTU. – This allows variable PLTUs or fixed length PLTUs can be created using a single LDPC code. • Thus the link could support variable length frames as used in TC and Proximity and fixed length frames per AOS and TM. – A managed maximum number of code words would be used to delimit fixed length frames • • • In fixed length mode packet would flow into the frame as per the TM/AOS protocol. Uses a first header pointer to point to first packet in frame Uses length filed to delimit the octet data within the frame in VCA mode – A failed code word or a frame length field could be used to delimit variable length frames • • For packet transfer, In variable length mode the contents of a frame must be an integer number of packets plus added fill For control commands the frame data field would typically be a series of octets. 6 Example Variable Length Frame Mode PLTU Format One (1) PLTU ASM Code Word Code Word Code Word Code Word Erred Code Word Fill Frame Header Security Header Frame Data Field Security MAC OCS FEC optional optional Example Link Layer Operation PLTU PLTU I D PLTU I D L L E E PLTU Note: Each PLTU can have different number of code words and idle can be of any size 7 Example Fixed Length Frame Mode PLTU Format One (1) PLTU Code Word Code Word Code Word Code Word Code Word ASM Frame Header Security Header Frame Data Field Security MAC OCS FEC optional optional Example Link Layer Operation PLTU PLTU I D PLTU I D L L E E PLTU PLTU Note: Each PLTU will have the same pre defined number of code words but idle of any size can be included between PLTUs. 8 Example Mixed Mode PLTU Format Fixed PLTU Variable PLTU I D Fixed PLTU Variable PLTU I D L L E E PLTU Note: Each PLTU will have the same (maximum) number of code words but idle of any size can be included between frames. 9 Data Content Field The Data Field Content Identifier Field is 2 bits with 4 defined values: 1. 00 Identifies the content of the data field as Command/Protocol Control data 2. 01 Contains only an integer number of packets 3. 10 identifies the content of the data field as Packets: • • The 2 bytes of the length field contains a value that points to the start of the first packet in the data field The frame data field will contain Packet data. The packets need not be fully contained within the field but can rollover the excess bytes to the next frame with the same Source S/C ID, VC and MAP. 4. 11 identifies the content of the data field as an Octet stream (VCA Service) • The length field of the data field contains a value that identifies the number of valid octets contained in the data frame. Note: The Length field serves multiple functions in this proposal. If it is desired to move the coding into the physical layer then it would be required to have a 16 bit field at the beginning of the data field as a first header pointer or a number of valid octets for data modes 10 and 11 for fixed frame mode. 10 Coding Performance • Emergency Communications Code (Eb/No) Word Error Rate Undetected Error Rate 7 db 10-1 10-8 LDPC 64 Binary 2.8 db 10-1 10-5 LDPC 64 Non-Binary 2.0 db 10-1 ?? LDPC 256 Binary 2.2 db 10-1 10-8 LDPC 256 Non-Binary 0.8 db 10-1 ?? BCH (TED ) • Stable Communications Code Word Error Rate Undetected Word Error Rate >11.5/9.0 db 10-5 >10-10/10-8 LDPC 64 Binary 5.3 db 10-5 >10-9 LDPC 64 Non-Binary 4.1 db 10-5 ?? LDPC 256 Binary 3.5 db 10-5 >10-10 LDPC 256 Non-Binary 2.7 db 10-5 ?? LDPC 1024 Binary 2.0 db 10-5 >10-10 BCH (TED/SEC) ) (Eb/No) 11 A comparison of code performance for Cmd Note: Frame Error rate is Code word Error rate times the number of code words/frame the example below assume a word error rate of 10-5 • For an 8192 bit frame (using provided data on Short LDPC Codes in backup) – Using 1024 LDPC code requires 8 code words and thus requires 3.9 db (3.7+0.2 db) to provide a frame error rate of 10-5 – Using 256 LDPC code requires 32 code words and thus requires 4.7 db (4.2+0.5 db) to provide a frame error rate of 10-5 on provided table. – Using 64 BCH code (TED mode) requires 146 code words and thus requires 13.4 db (11.7+ 1.7 db) to provide a frame error rate of 10- • The advantage of the 1024 over the 256 is about 1.3 db (about 35% improvement) • The advantage of the 256 over the 64 BCH(TED) is about 8.7 db (about 800% improvement) • The advantage of the 256 over the 64 BCH(SED) is about 7 db (about 500% improvement) 12 Backup 13 14 NASA/JPL Non-Binary LDPC Short Code Performance 15 Using LDPC in Physical Layer • Changes: – ASM can be 16 bits because search for sync occurs in an “error free” environment – There is no difference between the fixed frame mode and variable frame mode except that the frame length in the header is used only for frame length and a separate 16 bit field is required at the start of the frame data field for either a first packet header pointer or to delimit the valid number of octets in a VCA frame. 16