CCSDS Unified Space Data Link (USLP) Greg Kazz Feb. 18, 2015 SCaN Noon Time Talk
Purpose The Unified Space Link Protocol (USLP) is currently a Draft CCSDS Recommended Standard at the Data Link Layer to be used over all space communications links: space-to-ground, ground-to-space, and space-to-space.
Networked CCSDS Space/Ground Communications Protocol Stack Physical Link Network Transport Application Space App. Standards Time Codes Lossless Data Compression Lossy Store and Forward Interactive CCSDS File Delivery Protocol (CFDP) SCPS-FP Space FTP Internet FTP Onboard Navigation Space Packet Protocol Internet TCP/UDP SCPS-TP SpaceTCP/UDP Onboard Comm Standards Internet IPSec SCPS-SP Space Security Protocol Space Packet Protocol SCPS-NP Space Network Protocol Internet Protocol (IPv4, IPv6) Space Packet Protocol SOIF: Spacecraft Onboard Interface Standards Onboard Bus and LAN Standards TM Space Data Link Protocol AOS Space Data Link Protocol Proximity-1 Space Data Link Protocol TC Space Data Link Protocol Space Data Link Security Protocol Communications Operation Procedure Prox Communications Operation Procedure 1 Link ARQ Link ARQ Reed-Solomon Coding BCH Coding Convolutional Turbo & LDPC Code & Frame Sync. CLTU and PLOPs Synchronous Links Asynchronous Links Radio Frequency and Modulation CCSDS Recommendation Draft CCSDS Recommendation CCSDS Report Internet RFC
Evolving Space Communications Environment Development of very high rate Optical Communications Evolution of very small low cost space vehicles Small remote enterprises of communicating space entities (e.g. Multi-agency Mars enterprise) Manned missions’ utilization of Internet Protocols Growth of Delay Tolerant Network technology for use of selective retransmission and reliable link layer protocols. Flight technology to support high performance Forward Error Correcting Codes and Variable Code Modulation What’s next?
Emerging Requirements on Link Layer Higher Data Rates put increased pressure on current implementations and operational data handling and routing Larger number of space vehicles requires more spacecraft identifiers Inclusion of uplink security (CCSDS SDLS) will require new flight implementations Advances in technology provides the means to improve uplink performance using improved codes and FPGA devices. Support reprogramming of Flight FPGAs systems (S/W Radios) Increased control command size due to inclusion of security NOTE: Significant advances in technology also provides the capability to incorporate regenerative ranging for improved tracking and spacecraft clock calibration.
How USLP addresses future needs (1-2) Features Benefits Provides a single link protocol used by flight and ground across all manned and robotic space links Applicable to large and diverse set of missions from ISS to Cubesats; Once implemented, reduces future development & testing from 4 to 1 protocol Decouples the link framing from the channel coding Using S/W defined radios, missions may chose to swap in higher performing codes(~ 3 to 8 dB gain) during development or flight operations Expands the number of Spacecraft CCSDS can identify to 8192; Makes them Transfer Frame version independent Existing name space is 75% full Expectation is current ID space will run out in the next 5-10 years due to small sat growth and slow attrition Allows direct data delivery of other protocol data units (PDUs) USLP is more efficient using direct insertion requiring no encapsulation of IP Datagrams or DTN bundles Up to 32X greater transfer frame size (64K bytes) Provides efficient transfer frame processing for high rate application including optical comm.
How USLP addresses future needs (2-2) Features Benefits Provides a variable length transfer frame for all links including AOS and TM applications Provides optional Insert Zone service for low latency commanding/ARQ without forcing every frame to carry it More efficient AOS type ops by eliminating Fill frame insertion Utilizes Virtual Channels as addressable unit in all protocols Replaces MAPs in TC; Port IDs in Proximity-1 Replaces TC and Prox-1 Segmentation Master Channel Services are signaled (OCF, FECF, Insert Zone, TF length) MC Services no longer managed Data driven approach allows for more spacecraft control Can support Variable Code Modulation Physical layer parameters (modulation type, etc) can be commanded via USLP much like Proximity-1
Comparison of USLP to AOS Structural Aspects AOS USLP Maximum Frame Size (in Octets) 2048 65536 Frame Size constraint Managed/Fixed Variable/Signaled VC-OCF Presence in VC Managed Signaled Insert Zone Presence Insert Zone Size Fixed Frame Error Control Field Structural Elements AOS USLP Frame and Code block Alignment Fixed Fixed/Variable Spacecraft Ids 256 8192 Sequence Counter Size Fixed (2.7e8) Variable (0-7e16) Virtual Channels 64 maximum 64 or 32 independent/32 dependent
Frame Frame Header USLP vs AOS Structures USLP AOS USLP AOS USLP AOS 6-8 Octets Mandatory Optional Fixed 2 Octets Variable AOS USLP 8 bits Frame Header AOS Transfer Frame Data Field USLP AOS
USLP Transfer Frame Structures Header Version ID 3 bits Spacecraft 13 bits 6 Bits Virtual Channel ID Sequence Counter Value 0-56 Bits 16 Bits Frame Length 1 bit Destination or Source OCF Flag FECF Size 2 bits Length Insert Zone Included Behavior Unspecified Transfer Frame Header Transfer Frame Insert Zone Virtual Channel Security Header Virtual Channel Security Trailer Virtual Channel Operational Control Field Transfer Frame Error Control Field Transfer Frame Data Field (TFDF_SDU) Transfer Frame 6-13 Octets Variable Variable Variable 4 Octets Variable Mandatory Optional Optional Optional Optional Optional Optional MC Group VC Group Trailer Group Transfer Frame Data Field Transfer frame Data Field Header TFDF Data Zone VC Data Structure and Protocol fields Identifier Mandatory ! Optional Optional (only required for Stream Data) Optional CCSDS Space Packets Internet Datagrams DTN Bundles/Fragments User Octets Structuring Rules Contained Protocol ID Extended Contained Protocol ID First Header Pointer For packets Last valid octet for user defined data 3 bits 5 bits 8 bits 16 bits Variable
USLP Transfer Frame Header Version ID 3 bits Spacecraft 13 bits 6 Bits Virtual Channel ID VC Counter Value 0-56 Bits 16 Bits Frame Length 1 bit Destination or Source OCF Flag FECF Size 2 bits Length Insert Zone Included VC Counter Behavior Unspecified Version ID- is extended to 3 bits to accommodate an additional frame version after this one (110) is codified Spacecraft ID - allows for 8192 names Destination/Source - Identifies the Spacecraft ID as either the source of the data or the intended recipient Unspecified – A spare bit Virtual Channel ID – provides for 64 VC that can be divided into 4 groups Frame Length –(N+1) allows for frame to be as large as 65536 octets Transfer Frame Inset Zone Flag Frame Error Control Field – signals if a FECF is contained and its size in octets Operation Control Field Flag –signals the presence if an operational control field is present VC Counter Behavior Flag indicates whether there is a separate VC counter for each VC or only VCs 0-31 while VCs 32-63 share a single counter VC Counter Size – the contained value identifies the size of the VC count field– (size can be 0 to 7 octets) VC Counter Value –VC counter value field has a minimum size of 0 octet and a maximum size of 7 octets; This counter will increment for each VC or VC “Group” based on the VC Counter Behavior Flag value
Transfer Frame Data Field TFDF Header TFDF Data Zone VC Data Structure and Protocol fields Identifier Mandatory Optional (only required for Stream Data) Streaming Data Pointer CCSDS Space Packets Internet Datagrams DTN Bundles/Fragments User Octets Data Inclusion Rules Protocol ID Extended Protocol ID First Header Pointer For packets Last valid octet for user defined data 3 bits 5 bits 8 bits 16 bits Variable The organization of data within a VC is signaled within a VC header. Header identifies both the type of data unit contained and the data delimiting rules that apply. Identifies Protocol of User’s data (i.e. CCSDS Space Packets, Internet Datagrams, DTN Bundles or bundle segments, user octets) Streaming requires added header information for the VC service data unit. First header pointer Last valid user octet Data Inclusion Rules Streaming Pointer Field (Optional based on Data Rules) ‘000’ Complete User Data units Not Required ‘001’ Streaming packets First Header Pointer ‘010’ Streaming User Octets Last Valid Octet in VC Data Field ‘011-111’ To be defined via SANA To be defined per defined rules Protocol ID ‘00000’ CCSDS Packets ‘00001’ IP Datagrams ‘00010’ DTN Bundle ‘00011’ User Octets ‘11111’ Field Extension
USLP Summary Greater number of Spacecraft require a larger Spacecraft ID field Longer Frames reduce handling processing complexities at higher rates Higher rates require longer frame sequence counters for accounting Unifying the Link Layer Protocols would reduce development & maintenance costs Running the data link layer protocol unaligned to the channel code allows more independence between layers Uses data driven (Frame Header Signaled) Master Channel Services instead of control via management
Back-up
Comparison of USLP, AOS and TC for Command Structural Aspects USLP AOS TC Maximum Frame Size (in Octets) 2048 65536 1024 Frame Size Constraint Variable/Signaled Managed/Fixed VC-OCF Presence in VC Signaled Managed Not Included Control Data Flag Presence Signaled in TFDF Insert Zone Size Frame Error Control Field Managed/Optional Frame and Codeblock Aligned Fixed Variable Codeblock Spacecraft Ids 8192 256 Sequence Counter Size Variable (0->7e16) Fixed (2.7e8) Virtual Channels 64* 64 Segmentation No (uses Streaming) Separate Format Segmentation (pseudo VCs) Signaled (32 VCs) No 16 Identifies Frame Contents Managed by VC
Computed and entered in frame and inserted into frame Transfer Frame Assembly Received from OCF 2 Computed and entered in frame 4 Received from SAP and inserted into frame Generated and entered into frame Calculated and entered into frame 1 3 Transfer Frame Security Header Transfer Frame Security Trailer 5 VC Frame Data Field (TFDF_SDU) VC Operational Control Field Transfer Frame Header TransferFrame Insert Zone Transfer Frame Error Check Field 6-10 Octets Variable Variable Variable Variable 4 Octets Variable Mandatory Optional Optional Optional Optional Optional Optional VC Contents Transfer Frame Note: The number within the circles identifies the order of inclusion in the frame formation process
Coding Performance (not including short LDPC codes) (provided by JPL Coding Group) Rate ½ Block size 16 384 bits Rate ½ Block size 1024 1/2, 1024 LDPC with BCH TED LDPC Rate 4/5 Block size 16384 BCH SEC TED GSFC-LDPC (8176,7156)
Short Uplink Code Performance
Virtual Channel Processing Legend Packets VCA_SDUs TSDF_SDUs Note: -Packet SAP can support multiple users -VCA SAP can only support a single user Packet SAP VCA-SAP TSDF-SAP VC_OCF Service Data Unit Insert Zone Service Data Unit Packet Processing Function VCA Processing Function OCF-SAP OCF_SDUs VCF_SDUs Virtual Channel Creation Virtual Channel Processing Security Process Virtual Channel Processing CRC Creation Virtual Channel Data Unit (VCDU) Master Channel Process Master Channel Process (Virtual Channel Multiplexing) Master Channel Data Unit (MCDU) VCF-SDU = VC Data Field Legend All Channel Multiplexing Optional Process Multiplexer Coding and Sync Sub-Layer Process Physical Channel Replicated Processes