CSP (Cubesat Space Protocol)


[Google Project Hosting]

Cubesat Space Protocol (CSP) is a small network-layer delivery protocol
designed for Cubesats. The idea was developed by a group of students from
Aalborg University (Denmark) in 2008, and further developed for the AAUSAT3
Cubesat mission scheduled for launch in 2011. The protocol is based on a
32-bit header containing both transport and network-layer information.

Its implementation is designed for, but not limited to, embedded systems
such as the 8-bit AVR microprocessor and the 32-bit ARM and AVR from Atmel.
The implementation is written in GNU C and is currently ported to run on
FreeRTOS or POSIX operating systems like Linux and BSD.

The three letter acronym CSP was originally an abbreviation for CAN Space
Protocol because the first MAC-layer driver was written for CAN-bus.
The physical layer has since been extended to include support for e.g.
spacelink, I2C and RS232 interfaces and the name was thus changed to the
more general Cubesat Space Protocol without changing the abbreviation.

The protocol and the implementation is today actively maintained by the
 students at Aalborg University and the spin-off company GomSpace ApS.

Notable features include:

 - Simple API similar to Berkeley sockets.
 - Router core with static routes. Supports transparent forwarding
   of packets over e.g. spacelink.
 - Support for both connectionless operation (similar to UDP), and
   connection oriented operation (RFC 908 and 1151).
 - Service handler that implements ICMP-like requests such as ping
   and buffer status.
 - Support for loopback traffic. This can e.g. be used for Inter-process
   communication between subsystem tasks.
 - Optional Support for broadcast traffic if supported by the physical
   interface.
 - Optional support for promiscuous mode if supported by the physical
   interface.
 - Optional support for encrypted packets with XTEA in CTR mode.
 - Optional support for RFC 2104 authenticated packets with truncated
   HMAC-SHA1. 


[eoPortal Directoy]

A key distinguishing feature of the architecture is the use of the CSP
 - a service oriented network protocol implemented on all the subsystems
and extending transparently across the space link to the ground segment.
CSP is developed in collaboration between Aalborg University and GomSpace
and is available as open source.

This "mission internet" provided by CSP, and the design philosophy behind
it, makes it very easy to integrate and test systems - the process is
referred to as "One- Step Integration" and offers much more flexibility
than a typical star-topology with the OBC (On-Board Computer) in the
middle as the facilitator of all communication.

With CSP, all subsystems are autonomous nodes that can access and command
resources available on the network. Further "virtual subsystems" exists
such as e.g. the system-wide logging service that is a software task on
the OBC with its own network address.




(Supplement)

CSP protocol by JE1CVL
http://blog.goo.ne.jp/je1cvl/d/20151004
http://blog.goo.ne.jp/je1cvl/d/20151007
http://blog.goo.ne.jp/je1cvl/d/20151008

LilacSat-2 CSP first decoded by JH4XSY
http://jh4xsy.asablo.jp/blog/2015/09/26/
http://jh4xsy.asablo.jp/blog/2015/10/04/
http://jh4xsy.asablo.jp/blog/2015/10/06/
http://jh4xsy.asablo.jp/blog/2015/10/12/

LilacSat-2 CSP telemetry decoding by PE0SAT
http://www.pe0sat.vgnet.nl/2015/lilacsat-2-telemetry/
http://www.pe0sat.vgnet.nl/2015/lilacsat-2-telemetry-28-08-2015/

CSP protocol
http://code.google.com/p/cubesat-space-protocol/
http://directory.eoportal.org/web/eoportal/satellite-missions/g/gomx-1

CSP pdf
GS-CSP-1.1.pdf
Alminde_Software_Frameworks.pdf

GomSpace CSP library
http://github.com/GomSpace/libcsp
http://github.com/bg2bhc/gr-lilacsat


Back to Top
Back to Home Page