C&DH系(Command & Data Handling Subsystem:コマンド・データハンドリング系)は、人工衛星全体の「頭脳」および「神経網」として機能する中枢サブシステムである。地上局から受信したコマンドの解釈・実行制御、および衛星内部で生成される様々なデータの集中管理・処理・蓄積を担う。
概要
C&DH系が扱うデータは、その方向性と目的によって大きく「コマンド」と「テレメトリ」の2つに大別される。地上局から衛星に向けて送信される制御信号や動作プログラムのデータがコマンドであり、C&DH系はこれを受信して内容をリアルタイムに解析し、該当する各サブシステムへ実行命令を下す。逆に、衛星から地上局に向けて送信される各種情報がテレメトリである。
テレメトリとして集約されるデータは、さらにその性質によって2つに分類される。1つは、衛星内の各コンポーネントの電圧、電流、温度、動作ステータスなど、機体自体の健全性を監視するための「ハウスキーピングデータ(HKデータ)」である。もう1つは、搭載されたカメラによる撮像画像や、観測センサが捉えた科学データなど、衛星のミッション目的そのものに直結する「ミッションデータ」である。一般に、常時監視を行うHKデータに比べてミッションデータは圧倒的にデータサイズが大きくなる。そのため、限られたダウンリンクの通信帯域(データ伝送レート)やオンボードストレージ(フラッシュメモリ等)の容量を圧迫しないよう、C&DH系において各種アルゴリズムを用いたデータ圧縮処理(可逆・非可逆圧縮)や一時蓄積の制御を行うことが不可欠となる。
通信方式と信号制御
C&DH系のメインプロセッサ(OBC:オンボードコンピュータ)と、周辺の各種センサ、アクチュエータ、周辺IC(集積回路)との間を結ぶ基板レベル・機内レベルの通信には、用途や要求速度に応じた多様なデジタル通信プロトコルが使い分けられる。
代表的な通信方式として、非同期シリアル通信の基本であり1対1のデータ伝送に広く使われるUART、2本の信号線(クロック・データ)のみでマスター・スレーブ間の1対多通信をシンプルに構築できるI2C、および4本の信号線を用いて高速な全二重同期型データ伝送を可能にするSPIなどがある。これらはコンポーネントのデータレートや基板設計の複雑さに応じて最適配置される。また、C&DH系を構成するIC(マイコンやFPGA等)の機能としては、デジタル信号のパルス幅(デューティ比)を動的に変化させることで、アナログ的な電力制御やモータ・駆動装置の細かな制御、ヒータの出力調整などを可能にするPWM(パルス幅変調)などの信号制御機能も頻繁に活用される。
回路設計とデータ表現
C&DH系のハードウェアインターフェースや内部回路を安定して動作させるためには、デジタル信号線における電気的な振る舞いを緻密に設計する必要がある。信号線がどこにも接続されず電位が不安定になる「フローティング状態」を防ぎ、高(High)または低(Low)の論理レベルを確実に固定するため、電源側に抵抗を挟むプルアップや、グランド側に抵抗を挟むプルダウンの処理が回路各所に施される。
特にI2C通信などのバス共有回路においては、複数のICが同時に信号線へ出力した際の衝突(ショート)を防ぐため、出力ピンに内部のトランジスタで引き込み(Low出力)のみを行うオープンドレイン構造が採用され、外部のプルアップ抵抗と組み合わされる。この構成により、バスに接続されたいずれか1つでもLowを出力するとバス全体がLowになり、すべてのICがHigh(開放)のときのみ全体がHighとなる、電気的な論理回路であるワイヤードANDが成立し、安全なマルチマスター・マルチスレーブ通信が担保される。また、これらハードウェア回路を流れる、あるいはソフトウェア内で計算されるデジタルデータにおいて、センサの正負の温度情報や宇宙機の相対位置といった負の整数(マイナスの値)をコンピュータのバイナリ(2進数)上で矛盾なく効率的に表現・演算するために、符号付き数数値表現である2の補数表現が標準的なデータ数理モデルとして一貫して用いられている。