Cubesat Space Protocol

From Wikipedia, the free encyclopedia

CubeSat Space Protocol (CSP) est un protocole réseau léger conçu pour la communication entre composants dans des satellites miniatures tels que les CubeSats.

Fonction CubeSat
Sigle CSP
Date de création 26 avril 2010
Auteur(s) / Autrice(s) Johan de Claville Christiansen
Faits en bref Fonction, Sigle ...
Cubesat Space Protocol
Informations
Fonction CubeSat
Sigle CSP
Date de création 26 avril 2010
Auteur(s) / Autrice(s) Johan de Claville Christiansen
Fermer
Créateur Johan de Claville Christiansen
Développé par SpaceInventor, GomSpace, Space Cubics
Première version Voir et modifier les données sur Wikidata
Dernière version 2.1 ()
Faits en bref Créateur, Développé par ...
Cubesat Space Protocol
Informations
Créateur Johan de Claville Christiansen
Développé par SpaceInventor, GomSpace, Space Cubics
Première version Voir et modifier les données sur Wikidata
Dernière version 2.1 ()
Dépôt https://github.com/libcsp/libcsp
État du projet actif
Écrit en C, Python
Système d'exploitation FreeRTOS, Linux, Zephyr, Mac OS X, Windows
Type Protocole de communication
Licence MIT License
Documentation https://libcsp.github.io/libcsp/
Site web https://github.com/libcsp/libcsp
Fermer

L'idée a été développée par un groupe d'étudiants de l'Université d'Aalborg en 2008, et développée ultérieurement pour la mission AAUSAT3 CubeSat lancée en 2013.

Le protocole est basé sur un en-tête 32 bits contenant à la fois des informations sur la couche réseau et la couche transport. Son implémentation est conçue pour les systèmes embarqués tels que le microprocesseur AVR 8 bits et les ARM et AVR 32 bits d'Atmel.

L'implémentation est écrite en C et est portée pour fonctionner sur les systèmes d'exploitation FreeRTOS, Zephyr et POSIX et basés sur pthreads tels que Linux.

L'acronyme à trois lettres CSP a été adopté comme abréviation de CAN Space Protocol car le premier pilote de couche MAC a été écrit pour le bus CAN.

La couche physique a depuis été étendue pour inclure plusieurs autres technologies, et le nom a donc été étendu au protocole spatial CubeSat plus général sans changer l'abréviation.

Le protocole et son implémentation sont activement maintenus par Johan de Claville Christiansen, Space Inventor, GomSpace et Space Cubics. Le code source est disponible sous licence MIT et hébergé sur GitHub.

Description

CubeSat Space Protocol (CSP) est un protocole de transport au niveau réseau, conçu pour les CubeSats.

L’idée a été développée en 2008 par un groupe d’étudiants de l’Université d’Aalborg, puis perfectionnée pour la mission CubeSat AAUSAT3, lancée en 2013.

Le protocole repose sur un en-tête de 32 bits contenant des informations à la fois du niveau réseau et du niveau transport.

Son implémentation est pensée pour les systèmes embarqués, tels que les microprocesseurs 8 bits AVR, ainsi que les architectures 32 bits ARM et AVR d’Atmel.

Le code est écrit en C et a été porté pour fonctionner sur FreeRTOS, Zephyr, ainsi que sur des systèmes d’exploitation basés sur POSIX et pthreads, comme Linux.

L’acronyme à trois lettres CSP signifiait à l’origine CAN Space Protocol, car le premier pilote de couche MAC avait été développé pour le bus CAN.

La couche physique a depuis été étendue à plusieurs autres technologies, et le nom a donc évolué vers CubeSat Space Protocol, sans modifier l’abréviation.

Les principales caractéristiques comprennent :[réf. nécessaire]

  • API simple similaire aux sockets Berkeley.
  • Noyau de routeur avec routes statiques. Prend en charge la transmission transparente des paquets via, par exemple, Spacelink.
  • Prise en charge du fonctionnement sans connexion (similaire à UDP ) et du fonctionnement orienté connexion (basé sur RUDP ).
  • Gestionnaire de services qui implémente des requêtes de type ICMP telles que le ping et l'état du tampon.
  • Prise en charge du trafic en boucle. Cela peut par exemple être utilisé pour la communication interprocessus entre les tâches du sous-système.
  • Prise en charge facultative du trafic de diffusion si elle est prise en charge par l'interface physique.
  • Prise en charge facultative du mode promiscuité si pris en charge par l'interface physique.
  • Prise en charge facultative des paquets chiffrés avec XTEA en mode CTR.
  • Prise en charge facultative des paquets authentifiés HMAC avec SHA-1 HMAC tronqué.

Systèmes d'exploitation pris en charge

CSP devrait pouvoir être compilé sur toutes les plateformes disposant d'une version récente du compilateur gcc. CSP nécessite la prise en charge des fonctionnalités C99 telles que les fonctions en ligne et les initialiseurs désignés.

Pilotes de couche physique

CSP prend en charge plusieurs technologies de couche physique. Le code source contient une implémentation d'une interface CAN fragmentée et des pilotes pour SocketCAN et les processeurs Atmel AT90CAN128, AT91SAM7A1 et AT91SAM7A3. À partir de la version 1.1, CSP inclut également des interfaces pour I2C et RS-232. Les interfaces doivent uniquement implémenter une fonction pour transmettre un paquet et insérer les paquets reçus dans la pile de protocoles avec la fonction csp_new_packet. Le CSP a été testé avec succès sur les couches suivantes :

En-tête de protocole

Version 1

La plage de ports est divisée en trois segments réglables. Les ports 0 à 7 sont utilisés pour les services généraux tels que le ping et l'état du tampon, et sont implémentés par le gestionnaire de services CSP. Les ports de 8 à 47 sont utilisés pour les services spécifiques au sous-système. Tous les ports restants, de 48 à 63, sont des ports éphémères utilisés pour les connexions sortantes. Les bits de 28 à 31 sont utilisés pour marquer les paquets avec le cryptage HMAC, XTEA, l'en-tête RDP et la somme de contrôle CRC-32.

Davantage d’informations Décalage binaire ...
En-tête CSP 1.x
Décalage binaire 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 Priorité Source Destination Destination



Port
Source



Port
Réservé H

M

A

C
X

T

E

A
R



D



P
C



R



C
32 Données (0 – 65 535 octets)
Fermer

Version 2

Davantage d’informations Bit offset ...
CSP Header 2.x
Bit offset 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 Priority Destination Source Destination

Port
Source

Port
Reserved H

M

A

C
X

T

E

A
R

D

P
C

R

C
48 Data (0 – 65,535 bytes)
Fermer

Références

Liens externes

Related Articles

Wikiwand AI