CSP (Cubesat Space Protocol) #22015年10月08日 13時17分

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. 

The source code includes a MAC layer interface for CAN bus with support
for fragmentation. Drivers are available for the Atmel AT90CAN128,
Atmel AT91SAM7A1 and all hosts supporting the Linux SocketCAN framework,
including the Analog Devices Blackfin DSPs. The CAN interface is easily
extensible with new CPU architectures. 

Cubesat Space Protocol(CSP) は、Cubesats衛星のために設計されたネットワー
ク層配信プロトコルです。 2008年にオールボー大学(Denmark)の学生グループの
アイデアによって開発され、さらに 2011年に打ち上げ予定の AAUSAT-3 Cubesat
ミッションのために開発されました。(訳注.2013年2月25日に打ち上げ成功)

プロトコルは、トランスポンダーとネットワーク層の両方の情報を含む32ビット
のヘッダーに基づいています。 その装置は、Atmel の 8ビットAVRマイクロプロ
セッサー および32ビットARM, AVRのような (これに限定されるものではないが)
システムに組み込むために設計されました。 この装置は、GNU_C言語で書かれて
おり、現在、Linux と BSD のような FreeRTOS や POSIS といったオペレーティ
ングシステム上で実行するように移植されています。

3文字に略される CSP は、もともと最初の MAC層ドライバーが CANパスのために
書かれたため、CAN Space Protocol の略でした。物理層は、spacelink や I2C,
RS-232インターフェイスをサポートするように拡張されたので、省略形の表現を
変えることなく、より一般的な Cubesat Space Protocol に変更されました。

プロトコルとその装置は今日、オールボー大学の学生と spin-off (訳注.特定の
部門を独立させた新企業という意味) のGomSpace ApS社によって、積極的に維持
されています。注目すべき特徴は次のとおりです。

 - バークレーソケット(berkely socket)と同様のシンプルな API
 - スタティックルート(static route)を使用したルーターコア(router core)
   例えば spacelink上の転送パケットの透明化をサポート
 - (UDPと同様の)非接続操作と(RFC-908,1151)接続指向の操作の両方をサポート
 - ping やバッファステータスなど、ICMPのような要求を実装する装置サービス
 - ループバック網(loopback trafic)をサポート。
   これは例えばサブシステムのタスク間の内部処理通信に使用される。
 - 物理インターフェイスによる場合、通信網をオプションでサポート
 - 物理インターフェイスによる場合、雑多(promiscuos)モードを
   オプションでサポート
 - CTRモードの XTEA で、暗号化モードをオプションでサポート
 - HMAC-SHA1 が切断された時の RFC2104パケット認証をオプションでサポート

ソースコードには、断片化をサポートする CANバス用の MAC層インターフェース
を含んでいます。ドライバーは、 Atmel AT90CAN128, Atmel AT91SAM7A1 および
Analog Devices Blackfin DSPs を含む Linux SocketCAN framework をサポート
する全てのホストに対応しています。CANインターフェースは、新しいCPUの構造
に対し容易に拡張することができます。

GomSpace CSP Library
Google Cubesat-Space-Protocol
Alminde_Software_Frameworks.pdf

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
Tropical fish?

コメント:

トラックバック