Cubesat Space Protocol (CSP)

244 views
Skip to first unread message

Brian Yeomans

unread,
May 15, 2024, 3:52:10 AM5/15/24
to yamcs
A question for the wider group - does anyone have experience of interfacing Yamcs to a spaceside system using CSP? I'm guessing not, as CSP is radically different from the CCSDS protocols Yamcs can handle - very slimmed down and I suspect needing a number of (typically proprietary) enhancements to deliver equivalent functionality. However I thought I would ask!

Regards

Brian

fabia...@spaceapplications.com

unread,
May 15, 2024, 4:35:55 AM5/15/24
to yamcs
For CSP 1.x, Yamcs does include some reusable pre/post processors here:

You can use these in combination with one of the regular links, or your own. For example a bidirectional UDP link:

And for the MDB definition, there is an example here (in XTCE format):

We're using these in an integration where some kind of proprietary RPC-style protocol over CSP is used, between space and ground.

Brian Yeomans

unread,
May 15, 2024, 12:54:36 PM5/15/24
to yamcs
Hi Fabian, thanks for pointing me in the direction of these, it's really useful.
 Thinking about this further, I guess using CSP replaces the CCSDS equivalents of Space Datalink Frames and Space Packet Protocol. So I'm wondering if higher level protocols which normally run over these CCSDS ones can run over CSP? I'm thinking specifically of CFDP, which I know is supposed to be independent of the lower level protocols. In the context of the Yamcs CFDP implementation, do you think it would be possible to get it to work using CSP in substitution for the CCSDS protocols?

Regards

Brian

Nicolae Mihalache

unread,
May 15, 2024, 1:47:46 PM5/15/24
to ya...@googlegroups.com
Hi Brian,

I think CSP replaces the CCSDS Space Packets but not the CCSDS frames. The systems I have seen have their own ad-hoc framing implementation. Framing is required in order to pack variable sized CSP packets into fixed-size frames (fixed-size frames are transmitted more efficiently over wireless networks with FEC coding). For example see here Chapter 4 "Framing Format":
https://www.satlab.com/resources/SLDS-SRS3-1.2.pdf

As far as CFDP is concerned, I don't see why you wouldn't be able to run it over CSP. You just pack every CFDP PDU into one CSP packet and it's good to go. I did not look into details on what Fabian has implemented for CSP but I expect you can more or less use it the same way like we do for the CCSDS - there are some tricks in the etc/extra_streams.sql to put the right header in front of the CFDP PDUs - those would have to be adjusted to match the CSP headers.



--
You received this message because you are subscribed to the Google Groups "yamcs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to yamcs+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/yamcs/766d73f4-44f3-405a-9a55-f089177d5678n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages