ASTRO-H 衛星における 時刻付けシステムの開発 -...

79
ASTRO-H における けシステム 大学 学コース 2 : 2010 2 5

Transcript of ASTRO-H 衛星における 時刻付けシステムの開発 -...

Page 1: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

修士論文

ASTRO-H衛星における時刻付けシステムの開発

埼玉大学 理工学研究科 物理機能系専攻 物理学コース田代・寺田研究室博士前期課程 2年

神頭 知美

提出: 2010年 2月 5日

Page 2: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

概要

近年、人工衛星・科学衛星の大型化に伴い、開発にかかるコストが莫大になってい

る。これは、衛星ごとにデータ収集システムを専用設計で構築している事も一因である。

そこで世界的に衛星組込ネットワークを標準化し、どの衛星もおなじネットワーク・プロ

トコルを使うことで、検証時間を短縮し、知識や資産の継承を可能とする試みがなされ

ている。現在、このようなネットワーク・プロトコルのなかで最も標準化が進んでいるも

のが「SpaceWire」である。次期 X線天文衛星 ASTRO-Hは、日本で初めて SpaceWire

を本格的に採用する大型科学衛星で、パルサーなど速い時間変動をする X 線天体を観

測するために、高い時刻性能 (~10 マイクロ秒) が求められている。現在、ASTRO-H

で計画されている SpaceWire を用いた衛星時刻 (TI) の配信方法のなかで、特に秒以下

の TIは Time-Codeとよばれる SpaceWireの最優先時刻コードで配信される。しかし、

Time-Codeの刻みは 15.6ミリ秒しかなく、TIだけで要求時刻性能を達成することはで

きない。

そこで我々は、ASTRO-H 衛星でより細かい時刻をつける方法を検証し、検出器

エレクトロニクスでフリーランクロックと同期したより細かい刻みの時刻 (LocalTime)

と TI とを比較し内挿するという手法を提案した。さらに、実際に SpaceWire 搭載エ

レクトロニクスを用いて、この手法による時刻性能を詳細に確かめた。この手法では、

(A)Time-Codeのジッタ (時刻不定性)と、(B)フリーランクロック (水晶発振器)の温度

に対する時刻安定度が、時刻精度に影響する。実測した結果、(A)Time-Code のジッタ

は、ASTRO-H 衛星のリンクレート (20∼50 MHz) の場合、およそ数マイクロ秒程度で

あった。また、(B)フリーランクロックの時刻安定度は、温度安定度がおよそ± 5℃の環

境では 1日でおよそ 10−7 秒/秒であったが、TIと LocalTimeの比較照合データを細か

く (およそ 10秒以下の周期で)取ればほぼ無視できることがわかった。以上の実験結果か

ら、我々の提案した手法で ASTRO-Hに要求されている時刻性能が達成できることがわ

かった。

Page 3: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

iii

目次

第 1章 ASTRO-H衛星の時刻性能目標 1

1.1 X線天文学と時刻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 ASTRO-H衛星の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 時刻性能の目標と要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 本論文の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

第 2章 次世代衛星組込ネットワーク SpaceWire 7

2.1 SpaceWire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Time-Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Remote Memory Access Protocol (RMAP) . . . . . . . . . . . . . . . . . . . . . . . 13

第 3章 ASTRO-H搭載 時刻配信システム 15

3.1 衛星内時刻配信の概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2 ASTRO-Hにおける時刻配信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.1 衛星のネットワーク構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.2 衛星時刻 (TI)の配信 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3 時刻目標達成への課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

第 4章 高時刻精度を持つイベント時刻付けシステムの概念設計 19

4.1 高分解能時刻を達成する方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1.1 PLLによる衛星時刻クロックへの同期を用いる方式 . . . . . . . . . . . . . . . . 19

4.1.2 非同期クロックを用いた時刻 tick 内挿法 . . . . . . . . . . . . . . . . . . . . . . 21

4.2 非同期クロックを用いた時刻 tick 内挿法における時刻性能 . . . . . . . . . . . . . . . 23

4.2.1 Time-Codeのジッタ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2.2 LocalTimeの時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

第 5章 SpaceWire搭載機器への実装 27

5.1 実装方法の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.1.1 Field Programmable Gate Array (FPGA) . . . . . . . . . . . . . . . . . . . . 27

5.1.2 ハードウェア記述言語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2 実験機器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2.1 SpaceWire Digital I/O board . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.2.2 SpaceCube 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3 実装した機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.3.1 Time Master機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.3.2 User Nodeにおける時刻付け機能 . . . . . . . . . . . . . . . . . . . . . . . . . 32

Page 4: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

iv 目次

5.4 時刻付けに用いる各機能の動作確認実験 . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.4.1 実験セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.4.2 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

第 6章 時刻精度の測定 39

6.1 Time-Codeのジッタ測定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1.2 実験セットアップと実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1.3 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.1.4 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.2 時刻安定度の測定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2.2 実験セットアップと実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.2.3 結果 1:常温下での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.2.4 結果 2:一定温度での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.2.5 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.3 TIと LocalTimeのサンプル周期と時刻安定度の測定 . . . . . . . . . . . . . . . . . . 50

6.3.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.3.2 方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.3.3 実験セットアップと実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6.3.4 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.3.5 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6.4 本章の結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

第 7章 まとめと今後 53

付録 A 水晶発振器のドリフトの確認実験 55

A.1 実験セットアップと方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

A.2 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

A.3 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

付録 B イベント時刻付け機能の確認 57

B.1 セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

B.2 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

B.3 イベント時刻付けツールのソース・コード . . . . . . . . . . . . . . . . . . . . . . . . 59

付録 C Time Masterの User FPGAの VHDLコード 61

付録 D TIと LocalTimeのサンプル周期と時刻安定度の測定: 常温下・ルーターあり 65

D.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

D.2 実験セットアップと実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

D.3 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

D.4 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

参考文献 69

謝辞 71

Page 5: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

v

図目次

1.1 電磁波の波長と大気を透過率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 X線天体の活動のタイムスケール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 ASTRO-H衛星の完成予想イメージ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 「すざく」衛星搭載 HXDで検出した、かにパルサーの光度曲線 . . . . . . . . . . . . 5

2.1 SpaceWire規定による、Data Character、Control Character, Control Code(NULL,Time-

Code)の定義 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 SpaceWire規定によるパケットの型の定義 . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Time-Codeの配信の仕組み . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.4 2ノード間における Time-Code配信 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5 円環状ネットワークにおける Time-Code配信 . . . . . . . . . . . . . . . . . . . . . . 12

2.6 Time-Codeが失われた時 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.7 SpaceWireレイヤと RMAPレイヤの関係 . . . . . . . . . . . . . . . . . . . . . . . . 13

2.8 RMAP通信のイメージ図 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.9 ASTRO-Hにおけるネットワーク構造のイメージと SMUの位置付 . . . . . . . . . . . 14

3.1 ASTRO-H衛星のネットワーク構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 各機器における処理の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3 衛星時刻 (TI)のフォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1 基本的な Phase Locked Loop回路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2 基本的な Phase Locked Loop回路の応答 . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.3 Phase Locked Loopに分周器を入れた回路 . . . . . . . . . . . . . . . . . . . . . . . . 21

4.4 非同期クロックを用いた時刻 tick 内挿法での Time Masterと User Nodeの動作概要 . 22

4.5 時刻 tick内挿法におけるMIO boardからのテレメトリ出力 . . . . . . . . . . . . . . . 22

4.6 具体的な 時刻 tick内挿法で高い時刻精度を得る方法 . . . . . . . . . . . . . . . . . . . 23

4.7 Time-Codeのジッタが発生する原因 . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.8 NULL通信時の Time-Codeジッタの確率分布シミュレーション . . . . . . . . . . . . 25

4.9 LocalTimeの安定度と時刻精度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.1 自動化されたデジタル設計のイメージ . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.2 SpaceWire Digital I/O boardの写真と各搭載エレクトロニクス . . . . . . . . . . . . 30

5.3 SpaceWire Digital I/O boardのブロックダイアグラム . . . . . . . . . . . . . . . . . 30

5.4 SpaceCube 1の写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.5 SpaceCube 1のブロックダイアグラム . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.6 SpaceWire Digital I/O boardに実装したモジュールのブロック・ダイアグラム . . . . 34

Page 6: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

vi 図目次

5.7 確認用の実験セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.8 Time Masterの Tickと Time-Codeの出力タイミングの確認 . . . . . . . . . . . . . . 36

5.9 Time Masterにおける Time-Codeのカウントアップ確認 . . . . . . . . . . . . . . . . 37

5.10 Time Masterと User Nodeの Time-Code比較 . . . . . . . . . . . . . . . . . . . . . 37

5.11 TIと LocalTimeの照合データを SDRAMから読みだしたところ . . . . . . . . . . . . 38

6.1 実験セットアップの写真 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.2 Time-Codeのジッタ測定セットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . 40

6.3 GPSR : Furuno GF8050と GPSアンテナ : Furuno AU-117A . . . . . . . . . . . . . 41

6.4 ある日の GPS衛星の軌道解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.5 ジッタ測定の結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

6.6 時刻安定度測定実験のセットアップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.7 ある日の常温下での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.8 別の日に測定した常温下での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6.9 一定温度での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6.10 LocalTimeの時刻安定度と温度変動値の相関 . . . . . . . . . . . . . . . . . . . . . . . 51

A.1 階段状温度変動での実験における恒温槽内の温度変動 . . . . . . . . . . . . . . . . . . 55

A.2 階段状温度変動での時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

B.1 イベント時刻付け機能の確認実験セットアップ . . . . . . . . . . . . . . . . . . . . . . 57

D.1 hopなしにおけるサンプル周期と時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . 66

D.2 1 hopにおけるサンプル周期と時刻安定度 . . . . . . . . . . . . . . . . . . . . . . . . 66

D.3 サンプル周期とその間の時刻安定度の相関 . . . . . . . . . . . . . . . . . . . . . . . . 67

Page 7: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

vii

表目次

1.1 ASTRO-H搭載予定の観測機器の性能 . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1 TIの時刻範囲と配信方法のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5.1 SpaceWire Digital I/O boardの性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.2 SpaceCube 1の性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.1 遅延時間とジッタの測定値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.2 時刻安定度の測定結果のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

B.1 イベントの時刻と前後の時刻 HKデータ . . . . . . . . . . . . . . . . . . . . . . . . . 58

Page 8: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発
Page 9: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

1

第 1章

ASTRO-H衛星の時刻性能目標

1.1 X線天文学と時刻

1609年に世界で初めて望遠鏡を夜空に向けて天体観測を行ったのは、イタリア人のガリレオ・ガリレ

イだと言われる。以来、300年余りにわたって、望遠鏡といえば「可視光」の光学望遠鏡のことを指して

おり、まして天体からX線が放射されていることなど誰も知らなかった。地球の大気がX線を含む放射

線を遮断するため、地上からX線をつかった天体観測をすることができないからであった (図 1.1)。し

かし 20世紀に入って大気圏外に衛星やロケットで検出器を運ぶことができるようになると、宇宙のさま

ざまな天体からX線が放射されていることがわかってきた。X線は波長が短く、エネルギーの高い光子

なので、高エネルギーの天体現象を見ることができる。例えば、高エネルギーまで加速された電子など

の粒子が放射する電磁波として、強い磁場の中を通る場合にシンクロトロン放射が天体から放射された

り、星間空間に満ちた1億度もの高温プラズマからは熱的分布をもつ電子からの制動放射が放出される。

さらに、ブラックホールの周囲にできた降着円盤は光速に近いガスのジェットを噴出する。X線はこう

した高エネルギー天体の観測に適している。宇宙の大部分はX線でなければ観測できないとも言われて

いる。いまやX線天文学は、電波、可視光、赤外線天文学などと並んで、天体現象の解明に必要不可欠

な学問である。

図 1.1 電磁波の波長と大気を透過率。縦軸:電磁波が吸収される高度、横軸:電磁波の波長。参考のた

め、吸収する分子と高度ごとにある物も載せてある。(ASTRO-Hプロジェクトサイト [http://astro-

h.isas.jaxa.jp/]より作成)

Page 10: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

2 第 1章 ASTRO-H衛星の時刻性能目標

X線で宇宙を見ると、幅広いタイムスケールで時間変動する天体を観測することができる。図 1.2に、

X線を放射する天体のタイムスケールをまとめた。その中でも最も速い時間変動をする天体に「パル

サー」がある。パルサーは最も速いもので数ミリ秒という超高速な自転をしており、この自転にともなっ

た周期的パルスが観測される。このような超高速回転のできる天体はたいへんコンパクトでないとなら

ず、理論的に半径 10km程度の「中性子星」だと考えられている。中性子星は、太陽の 20倍ほどの質量

をもつ恒星の最期・超新星爆発のあとに残される星の「芯」が、爆発の反動によって押し固められたも

のである。あまりに高密度になりすぎ原子の形をとどめることができず、電子が陽子に捕獲されて中性

子ばかりになっている。中性子星パルサーの周期的パルスは、超高速自転にともなう磁気双極子放射が

起源と考えられており、見積もられる磁場は 108~109 テスラである。地球上でもっとも強力な永久磁石

「ネオジム磁石」の磁場:およそ 0.5テスラと比較すると、その強さがわかる。中性子星パルサーの強力

な磁場中では電子などの荷電粒子が高エネルギーにまで加速されていて、電波や可視光、X線、ガンマ

線といった電磁波を放射している。このように中性子星パルサーは、我々にとって地上で実現できない

極限物理の実験場でもある。

パルサーなどの速い時間変動をする天体を観測するため、X線天文衛星には、高い感度だけでなく高

い時刻性能が要求される。2010 年現在稼働中の日本のX線天文衛星「すざく」 [1] 搭載 硬X線検出器

(Hard X-ray Detector : HXD) [2][3] は、2010年現在、10-600 keVの光子エネルギーで世界最高感度

を誇る。それだけでなく、高い時間分解能 (61 µsec) をもつ [4] ので、数多くの中性子星パルサーの観

測にも使われてきた。しかし、パルサーは、電波で検出した個数 (およそ 1500個) [5] と比べて、X線で

検出した個数 (およそ 150個) が非常に少ない。理由として、もとからX線パルサーの数が少ない、X線

検出器の感度が足りずに見つけられていない、のふたつが考えられるが、まだ高い時間分解能と高い感

度の両方を兼ね備えた検出器が少なく、どちらかはよくわかっていない。

2014年打ち上げを目指すX線天文衛星 ASTRO-Hは、「すざく」HXDを上回る過去最高感度でいま

まで発見できなかったパルサーの発見も期待されている。こうした発見が、いままで解くことのできな

かったパルサーなどの高エネルギー天体での極限状態の物理を明らかにするかもしれない。

10-4 10-3 10-2 10-1 100 101 102 103 104 105 106 107 108

(sec)

msec sec minute hour day month year

パルサーの周期X線連星の準周期的振動の周期ガンマ線バースト 激変星の公転周期活動銀河核の変動太陽フレア地球ガンマ線フラッシュ X線新星の増光 X線新星の継続時間激変星のフレアアップX線バースト太陽系内銀河系内銀河系外

図 1.2 X線天体の活動のタイムスケール。緑は定常現象、青は突発現象をさす。

Page 11: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

1.2 ASTRO-H衛星の概要 3

1.2 ASTRO-H衛星の概要

2009/12/25

1

太陽光パネルHXI

SGD

SXISXS

望遠鏡(X線ミラー)

図 1.3 ASTRO-H 衛星の完成予想イメー

ジ c⃝JAXA

ASTRO-H [6] は、2014年打ち上げを目指している

日本第 6 番目のX線天文衛星である。JAXA*1 を中

心とした日本の研究機関・大学だけでなく、NASA*2、

ESA*3 などの国際協力で開発が進んでいる。科学的目

標として、前述のように高感度観測で新しいX線源の

発見するだけでなく、高いエネルギー分解能の分光観

測でブラックホールの回転運動の様子を解明すること、

広視野・広帯域の撮像で超新星残骸での宇宙線加速の

様子を明らかにすること、などが期待されている。

以下に、ASTRO-Hに搭載される予定の観測機器の

概要と性能をまとめる。

SXS (Soft X-ray Spectrometer) [7] + SXT-S (Soft X-ray Telescope)

(軟X線分光システム)

SXSは、X線マイクロカロリメーターと呼ばれる装置で、X線をあびた吸収体の温度上昇からX線エネ

ルギーを測定する。X線のエネルギーを光子で検出するタイプの装置なので、キャリアの統計揺らぎが

抑えられ、 eV程度のエネルギー分解能が達成される。これまで同帯域で分光観測に使われてきたX線

用 Charged-Coupled Device (CCD) と比べて 10 倍以上のエネルギー分解能に相当する。SXS のエネ

ルギー帯域のX線は、屈折角が大きいバウムクーヘン型 (Walter II 型) の多層ミラー (SXT)を使用し全

反射で集光される。焦点距離は 6メートルである。

SXI (Soft X-ray Imager) [8][9] + SXT-I (Soft X-ray Telescope)

(軟X線撮像システム)

SXIは、X線 CCDカメラである。「すざく」搭載 XIS (X-ray Imaging Spectrometer) と同じMOS型

CCDであるが、電荷損失を防ぐため SXIは Pチャネルを採用している。背面照射型にすることで電極

による吸収がなくなり、より低いエネルギー帯域のX線光子に高い感度を持つ。SXSと比べて、広視野

(35 × 35 分角) かつ広帯域 (0.3 – 12 keV) でX線画像を撮影することができる。ASTRO-Hは、放射

線環境が安定した軌道をとる予定なので、諸外国の衛星に比べ、バックグラウンドが安定し、広がった

暗いX線放射への感度が高い点も特徴である。ミラーは、SXSと同じものを用いる。

HXI (Hard X-ray Imager) [10] + HXT (Hard X-ray Telescope)

(硬X線撮像システム)

HXI は、撮像・分光型の半導体検出器で、いままで撮像することができなかった硬X線の帯域 (5 –

80 keV)のX線画像を撮影することができる。4層の Double-sided Silicon Strip Detector (DSSD) と

1層の CdTeパッドを重ねた構造になっている。ここに入射し、シリコン半導体でコンプトン散乱した

X線光子を検出することで、光子のエネルギーと入射方向を決定することができる。本体である半導体

検出器を覆うシンチレータとの反同時係数や、多層の DSSD で検出した天体方向外の信号を切り捨て

て、効率よくバックグラウンドを除去できる。このため、高感度で硬X線を検出できる。HXIの帯域の

*1 宇宙航空研究開発機構 (Japan Aerospace eXploration Agency)*2 アメリカ航空宇宙局 (the National Aeronautics and Space Administration)*3 欧州宇宙機関 (European Space Agency)

Page 12: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

4 第 1章 ASTRO-H衛星の時刻性能目標

X線は全反射では集光できないので、X線ミラー (HXT) はブラッグ反射を用いて集光する。焦点距離

も 12メートル必要なため、衛星の伸展部に HXIの検出器を載せる予定になっている。

SGD (Soft Gamma-ray Detector) [11]

(軟ガンマ線分光システム)

SGDは、分光型の半導体検出器である。衛星全体で 2台設置する予定である。24層の DSSDと 2層の

CdTeパッドで、入射光子のコンプトン散乱から光子のエネルギーを検出する。HXIと同じバックラウ

ンドの除去方法を用いるだけでなく、検出器上部のコリメータが天体方向以外の光子や荷電粒子を吸収

するので、過去最高感度で硬X線から軟ガンマ線の帯域まで (10 – 600 keV)の光子を検出することがで

きる。また、コンプトン散乱の異方性を検出することで、偏光計としての役割も期待されている。SGD

をシールドしている BGOシンチレータは、バックグラウンド計数だけでなく、硬X線~ガンマ線のモ

ニター観測にも用いられ、ガンマ線バーストなどの突発現象を検出することができる。

SXS + SXT-S 焦点距離 6 m

(軟X線分光システム) 有効面積 210 cm2 (at 6 keV)

エネルギー帯域 0.3 – 10 keV

角分解能 <1.7 arcmin

画素数 6 × 6 pixel

視野 ∼3 × 3 arcmin

エネルギー分解能 < 7 eV (FWHM, at 7 keV)

時間分解能 ∼80 µsec

動作温度 47 mK

SXI + SXT-I 焦点距離 6 m

(軟X線撮像システム) 有効面積 360 cm2 (at 6 keV)

エネルギー帯域 0.3 – 12 keV

角分解能 <1.7 arcmin

画素数 1024 × 1024 pixel

視野 ∼35 × 35 arcmin

エネルギー分解能 < 150 eV (FWHM, at 6 keV)

時間分解能 4 sec

動作温度 -120 ℃

HXI + HXT 焦点距離 12 m

(硬X線撮像システム) 有効面積 300 cm2

エネルギー帯域 5 – 80 keV

角分解能 <1.7 arcmin

視野 ∼9 × 9 arcmin

エネルギー分解能 1 – 2 keV (FWHM, at 60 keV)

時間分解能 ∼10 µsec

動作温度 -20 ± 5 ℃

SGD 有効面積 >200 cm2 Photo absorption mode (at 30 keV)

(軟ガンマ線分光システム) >30 cm2 (Compton mode, at 100 keV)

エネルギー帯域 10 – 600 keV

視野 0.55 × 0.55 deg2

<10 × 10 deg2

エネルギー分解能 2 keV (FWHM, at 40 keV)

時間分解能 ∼10 µsec

動作温度 -20 ℃

表 1.1 ASTRO-H搭載予定の観測機器の性能 ([6]~[11]、および SXS, HXI内部資料をもとに作成)

Page 13: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

1.3 時刻性能の目標と要求 5

1.3 時刻性能の目標と要求

図 1.4は、「すざく」HXDが検出した最も有名なパルサーのひとつ「かにパルサー」の光度曲線 (時間

と明るさの関係を示すグラフ) である。かにパルサーの自転周期はおよそ 33ミリ秒で、その光度曲線は

図 1.4のように 2つの鋭いピークを持つ構造をしている。このような構造を明らかにするためには、時

間分解能の向上が欠かせない。時間分解能とは、各イベントにどれだけ細かく時刻情報を付けるか、を

示す値である。例えば、1周期 33ミリ秒を 10ビンでしか表せない程度の時間分解能 (33 msec / 10 ビ

ン = 3.3 msec)しかなかったら、2つのピーク構造すらはっきりと見えないことになるだろう。

図 1.4 「すざく」衛星搭載 HXDで検出した、かにパルサーの光度曲線。各グラフの縦軸は 1秒あ

たりのX線カウント、横軸はパルス位相 (phase) を表す。phase の間隔の大きさ 1が、パルスの 1周

期分に相当する。1 周期あたりの時間ビンは 128 ビン。上段 (赤) は PIN 型半導体の 10 – 70 keV、

下段 (緑)は、GSOシンチレータの 70 – 300 keV の帯域である。左:2周期分、右:青が電波で観測さ

れたパルスの到達フェーズ。電波の 1つ目のパルス・ピークの位置とのずれを拡大したもの

もっとも速く自転する中性子星パルサーは「ミリ秒パルサー」と呼ばれるタイプのものである。現在、

最速のもので自転周期がおよそ 2 msec のミリ秒パルサーが見つかっている [5]。ASTRO-Hが目指すサ

イエンスから、この明滅信号を、例えば時間ビン 200ビンで分解して光度曲線を描くことが要求される。

このとき必要な分解能は

2 msec/200 ビン = 10 µsec

となる。本論文では、10 µs を ASTRO-Hにおける時間分解能の目標値とする。

また、絶対時刻とのずれを表す絶対時刻精度は、他の衛星や地上の望遠鏡との同時観測において時間

変動を追う時に重要になる。例えば、図 1.4では、Jodrell Bank Observatoryによる電波観測から得ら

れた、かにパルサーの自転周期を参照*4し、2周期分の光度曲線を作成している。この時、電波観測で 1

つめのピークの位置を phase= 0, 1, · · · の位置に合わせている。すなわち、この図から電波とX線のパルスピークのずれの時間を測ることができる。かにパルサーの場合、可視光・X線・ガンマ線に対する

電波の遅れは 200-300 µs となることが知られている [12]。これよりも 1-2桁低い精度で遅れを測りたい

のであれば、必要な絶対時刻精度は数十~数 µs となる。本論文では、30 µs を ASTRO-Hにおける時

刻精度の目標値とする。ただし、本論文では単に時刻精度と言った場合、絶対時刻精度もしくは時間分

解能 (から制限される時刻そのものの精度)のうち大きいほうの値を指すことのする。

*4 http://www.jb.man.ac.uk/˜pulsar/crab.html

Page 14: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6 第 1章 ASTRO-H衛星の時刻性能目標

1.4 本論文の目的

ASTRO-Hにおける衛星内でのネットワーク通信には、いまや世界標準となった衛星組込ネットワー

ク「SpaceWire」(後述) が採用される。ASTRO-Hは、日本ではじめて、SpaceWireを本格的に採用す

る大型科学衛星であり、かつ 10 µs 程度の高い時刻性能が必要とされる。衛星に関連するネットワーク

をすべて標準化する試みは世界でも類をみない。今後 SpaceWireの利用が計画されている世界各国の衛

星にとっても、ASTRO-Hはいわば「SpaceWire標準化の実験台」というべき役割を担っている。

本論文では、ASTRO-H 衛星で現在採用されている SpaceWire ネットワークを用いた時刻配信シス

テムに基づき、高い分解能の時刻をつける方法を議論する。さらに、我々が選んだ方法で時刻をつける

機能を SpaceWire搭載機器に実装して、時刻精度を測定する。これらをもとに ASTRO-H衛星で達成

可能な時刻精度を見積もる。

Page 15: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

7

第 2章

次世代衛星組込ネットワーク SpaceWire

現在、人工衛星や科学衛星の規模が大きくなるにつれて、膨大な開発の手間や資金がかかっている。

これは、衛星ごとにデータ収集システムを専用設計で構築している事も一因である。一見して衛星ごと

に最適なデータ収集システムを構築することは手間を省くことに繋がりそうであるが、ゼロから設計し

開発するコストがかさんだり、機器どうしの整合などに時間がとられてしまうため、膨大な手間とコス

トがかかることになる。また、これは衛星個々だけに閉じた最適化なので、将来衛星へ資産や知識を継

承しにくい。

SpaceWireは、このような衛星搭載のデータ収集システムの問題点を解決するためのネットワーク規

格の一つであり、世界の科学衛星で統一的な規格を目指して標準化の議論を進めているネットワークプ

ロトコルである。当初、ESA が IEEE1355 をもとに宇宙機用のプロトコルとして規格化した。現在、

ESAのほか、JAXA、NASA、ROSCOSMOS*1 などが中心となって標準化作業を行っている。衛星内

機器の通信インターフェースを統一することで、短期間に開発・実証を行い、人件費や実験のコストを

おさえることが大きな目的の一つである。また、SpaceWireを用いたネットワークで構成された衛星で

あれば資産や知識を継承していくことができる。

前節でも触れたように、ASTRO-H衛星は、日本の将来の科学衛星のパスファインダーとなるべく、ほ

ぼ初めて、本格的に SpaceWire規格を採用した衛星となる。本修士論文では、国内外で標準化がすすめ

られている SpaceWire規格のうち、時刻付け機能に特化した開発実験がテーマであり、ASTRO-H衛星

の要求精度を満たすかを、実際の SpaceWire搭載の試験基板を用いて検証することが目的である。この

章では、SpaceWireの規格 [13]の概要を解説し、時刻配信に重要な最優先時刻コード「Time-Code」の規

定を詳細に述べる。また、SpaceWire の最大の特徴である Remote Memory Access Protocol (RMAP)

の規格 [15]を紹介する。

2.1 SpaceWire

衛星開発では、衛星寿命を達成できる高い信頼性、太陽光発電でも駆動する過酷な電力制限、ロケッ

トによる打ち上げから迫られる重量制限、宇宙空間の放射線環境に耐えられること、が求められる。衛

星内の統一ネットワーク・プロトコルでは、さまざまな衛星や機器に対応できる柔軟性も求められる。

SpaceWire[13] は、衛星内機器間でデータ通信を行うための高速シリアルリンクの標準規格である。

SpaceWireをハードウェアまで統一して使うことで、試験の手間を省きコストを削減することができる。

信号伝送には Low Voltage Differencial Signal (LVDS) を採用している。 0.3 Vと低い電圧で信号を伝

送するので、電力がかからない。また、放射線などの + と − の信号をクロスさせて伝送する差動式を採用しているので、絶対電位でデジタル情報を伝送する場合に比べ、ケーブル全体の絶対電位が振られ

*1 ロシア連邦宇宙局 (Russian Federal Space Agency)

Page 16: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

8 第 2章 次世代衛星組込ネットワーク SpaceWire

図 2.1 上段:Data Character。中段 4 つ:Control Character。下段 2 つ : Control Codes である

NULLと Time-Codeの中身 ([13]より)

Destination Address

Cargo

End of Packet marker

図 2.2 SpaceWire規定によるパケットの型の定義

るようなノイズに強い。ひじょうにゆるい規定にとどめることで、様々な用途の衛星にあった柔軟な設

計ができることが特徴である。 並列同時転送が可能であり、ある回線が切れた場合でも、迂回ルートを

使って目的先にデータを届けることができる。このため、さまざまな冗長系を構成できることも大きな

特徴の一つである。また、ルーターの機能により、メッシュ状のネットワークを構成することもできる。

データ転送速度は、1ラインあたり 2~400 Mbps の範囲で可変である。

SpaceWireはプロトコルが簡便なので、容易に FPGA (Field Programmable Gate Array : 5.1.1節,

27ページ) などのハードウェアに実装できる。

SpaceWire のデータリンク上を流れる情報は、すべてパケットの集合で通信される。それぞれのパ

ケットはすべて図 2.1の Data Characterと Control Chatacterの組み合わせだけで構成される。

Data Character

1 bitのパリティ (parity)、1 bitの Data-control flagのあとに続いて 8 bitのデータ部をもつ。Data-

control flagはData Characterを示す 0(ゼロ)である。8 bitのデータ部は Lower Significant Bit (LSB)

から送信される。

Control Character

1 bitのパリティ、1 bitの Data-control flagに続いて 2 bitの制御コード部をもつ。Data-control flag

は Control Character を示す 1 である。2 bit の制御コード部の値によって、FCT(フロー制御トーク

ン)、EOP(正常パケット終端)、EEP(異常パケット終端)、ESC(エスケープ)の 4つに分類される。

Page 17: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

2.1 SpaceWire 9

SpaceWire のパケットは、宛先 (アドレス) を指定して任意のデータを送るパケットと、内容があら

かじめ決められている最優先コード (Control Code)の 2種類に分けられる。前者のパケットの型を図

2.2に示す。Destination Addressは、パケットの送り先を示すアドレス部で、0またはそれ以上の個数

の Data Characterで構成される。Cargoは、パケットのデータ部である。End of packet markerは、

Control Character の EOP または EEP である。SpaceWire の規定では、パケットの先頭を示すフラ

グがないため、End of packet markerの次がパケットの先頭だと解釈される。人工衛星では、搭載機器

へのコマンド指令や、機器から収集したデータ(テレメトリー)といった「SMCPメッセージ」と呼ば

れる情報を 、CCSDS 勧告の Space Packet にまとめて、機器間、地上衛星間のやりとりを行う際に、

SpaceWire が用いられる。SpaceWire のレイヤーを細分化してみると、前述したようなパケットの集

合体で、疑似的に双方向通信が実現されている。後者の Control Codeは図 2.1に示すように、Dataを

送信していない状態を示す NULL と時刻コード Time-Code がある。NULL は Control Character の

ESCに続くパリティ 0の FCTの合計 8 bitで構成される。Time-Codeは Control Characterの ESC

に続くひとつの Data Characterの合計 10 bitで構成される。Time-Codeについては本修士論文のテー

マである「時刻付け機能」に直結したパケットであるので、次の節で詳しく述べる。

Page 18: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

10 第 2章 次世代衛星組込ネットワーク SpaceWire

2.2 Time-Code

SpaceWireは、相当に自由なネットワーク設計が可能なのは利点でもあるが、通信の相互タイミング

が規程しにくいという欠点もある。そこで、全機器を同期させるタイミングを規程するために考案され

たのが「Time-Code」という最優先時刻コードである [14]。時刻コードがすべてのノード (SpaceWire

リンクで接続された機器) で統一されるためには、Time-Codeのマスターを定義して他のノードと区別

するための時刻 ID をつける必要がある。SpaceWire Time-Code では 64 bit すなわち 0~63 の 26 個

の IDを振る。また、マスターから Time-Codeを発信するタイミングを厳密に規定する Tick信号が必

要である。SpaceWire ではこれを Tick 信号と呼ぶ。以上から、SpaceWireでは、64通りの IDをもつ

Time-Codeと Tickが考案された。

64通りの IDを持つ Time-Codeも Data Characterと Control Codeの組み合わせで構成される。詳

細は図 2.1の通りであり、10 bit の Data Character のうち 6 bit が時刻情報部に使われ、これが IDと

なっている。すなわち、Time-Code は 0 – 63 までの Data をもったものがそれぞれ 26 Hz で配信され

る。Control Flagは、ユーザーが自由に使うことができる 2つのフラグで、とくに Time-Code配信の

ための機能はない。

Time-Code で用いられる Tick は、Time-Code が出たことを示すフラグのようなものである。ノー

ドは、Tick を受信すると Time-Code を受信したと解釈する。そして、現在それぞれのポート (通信

を行うためのソフトウェアやハードウェアの末端部分 (インターフェース) のこと) で送信している

Character(NULL, FCT, Data character) の送信が完了するとすぐに、受信ポート以外のすべての

SpaceWire ポートに Time-Code を送信し、ブロードキャストしてゆく。Time-Code を送信するとき

は、同時に Tickも送信する。

Time-Code の具体的な配信方法を、図 2.3 に示す。まず、それぞれのノードやルータは 6 bit の時

刻カウンタ (Time Counter)、一つ以上の SpaceWireインターフェース (I/F)を持っている。それぞれ

I/Fは、SpaceWire Linkから Tickを受け取るための TICK INという input信号を持っている。(A)

ノードやルータが、Time-Codeが来たことを示す Tick という信号を受け取ると (すなわち、TICK IN

が 1になると)、時刻カウンタがインクリメント (1だけ増加)される。(B)Time-Codeの Control Flag

は、受け取った Time-Code のものをそのままコピーする。(C)Time-Code の時刻部分の 6 bit は、

TIME OUTに新しい時刻カウンタの値をコピーする。

Time-Code といえど、SpaceWire での通信の際に、パケットがロスする場合がありうる。Time-Code

が正しく配信されているかをチェックするために、各ノードで前回の Time-Code の ID を「時刻カウ

ンタ」として保持し、次にきた Time-Code の ID が繰り上がったことを確認し、Time-Code を配信し

てゆく。ルータの場合、この Tickはすべてのポートに伝播するので、すべてのポートから Time-Code

が送信される。図 2.4 に、2 ノード間における Time-Code の配信を示す。点線は SpaceWire リンク

を、四角はノード (N1, N2, · · · ) またはルータ (R1, R2, · · · ) を、四角の中の数字はノードやルータの持つ時刻カウンタの値を示す。(A) は初期状態である。(B)Tick が N1 に入り、N1 の時刻カウンタが

インクリメントされる。(C)N1から Time-Code 1が送信される。このとき逆戻りはしない。(D)N2は

Time-Code 1を受信する。これは N2の時刻カウンタより 1大きいので、N2は時刻カウンタをインク

リメントし、Time-Code(および Tick)を送信する。

円環状のネットワークの場合を図 2.5 に示す。(A)R1 に Tick が入り、R2 と R3 へ Time-Code が

送信される。(B)R2 と R3 は受信した Time-Code が自身の時刻カウンタより 1 大きいことを確認し、

Time-Code を送信する。(C)R3 から R2 へ送られた Time-Code は、R2 の時刻カウンタと同じ値で

ある。すなわち、受信した Time-Code が時刻カウンタより 1 大きくない。この場合、受け取られた

Time-Codeは捨てられ、R2は Time-Codeを出さない。こうすることによって、同じ Time-Codeが繰

Page 19: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

2.2 Time-Code 11

り返し送信されるのを防ぐことができる。

Time-Code が SpaceWire リンクの経路で失われたとき、そのあとで送られる Time-Code が正しい

なら通常の動作に戻るようにするべきである。図 2.6 に、Time-Code が失われた場合の動作を示す。

(A)N1から送信された Time-Code 1が N1と N2の間の SpaceWireリンクで失われたとする。(B)N1

は次の Tickで Time-Code 2を N2に送信する。しかし、この Time-Codeは N2の時刻カウンタより 1

大きいわけでも同じでもない。この場合、N2は受信した Time-Codeを時刻カウンタにコピーするが、

Time-Code は送信しない。(C) さらに次の Tick で N1 から N2 へ Time-Code 3 を送信する。N2 は、

受信した Time-Codeが時刻カウンタより 1大きいので、(D)Time-Codeを送信する。これによって通

常の動作に戻ることができる。N2より先にもノードやルータがあれば、同じような連鎖が起きていく。

通常の動作に回復するまでに必要な Tickの回数は、ノードやルータの数に依存する。

Tick や Time-Code の時刻を使うと、ネットワーク上のノードやルーターが同期できる。同期の

タイミングは、Time-Code の刻みを変えることで、ユーザーの好みに設定できる。ASTRO-H では、

Time-Codeを用いて同期を行うだけでなく、秒以下の衛星時刻 (後述)の配信に積極的に利用される。

Tick

Time-Code

TICK_IN

TIME_IN

CONTROL_FLAGS_IN

Time Counter

Tick TICK_OUT

TIME_OUT

CONTROL_FLAGS_OUT

(A)

(B)(C)

Time-Code

図 2.3 あるノードもしくはルータを例にした、Time-Codeの配信の仕組み。詳細な説明は文中を参照

Page 20: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

12 第 2章 次世代衛星組込ネットワーク SpaceWire

N10

N20

(A)N11

N20

(B)Tick

N11

N20

(C)N11

N21

(D)Tick

図 2.4 2ノード間における Time-Code配信

R11

R20

R30

(A)

R11

R21

R31

(B)

R11

R21

R31

(C)

図 2.5 円環状ネットワークにおける Time-Code配信

N11

N20

(A)N12

N22

(B)

N13

N23

(C)N13

N23

(D)Tick

Tick

図 2.6 Time-Codeが失われた時

Page 21: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

2.3 Remote Memory Access Protocol (RMAP) 13

2.3 Remote Memory Access Protocol (RMAP)

ネットワークの末端機器のメモリー空間を操作するためには、その末端機器に Central Processing

Unit (CPU)*2を搭載するのが最も安易な解である。しかし、衛星内のスペース、電力、重量等の制限の

なかで末端機器まで CPUを搭載することが難しく、自由な制御体系が組みにくい状況にあった。日本

の科学衛星では、PIMという特殊なシステムで CPU非搭載の機器のメモリー空間まで操作できるシス

テムがあり成功をおさめていたが、SpaceWire でも同様のプロトコルとして RMAPが提唱されている。

Remote Memory Access Protocol (RMAP) [15]は、上位の CPU搭載ノードから、あたかも自分のメ

モリ空間の一部として、ネットワーク末端機器の搭載メモリにアクセスできる機能を提供する。しかも、

SpaceWire の上位のレイヤーに相当する RMAPはプロトコルレベルで規程されているので、末端機器

に CPUを搭載する等の特別な実装を施す必要はない事も特筆すべき点である。

SpaceWire

RMAP

User Application

SpaceWire interface

User memory control

User application(hardware/software)

図 2.7 SpaceWireレイヤと RMAPレイヤの関係。ユーザーは SpaceWireネットワークでのメモ

リ読出し/書込みに RMAPレイヤを使う。

図 2.8 に簡単な RMAP パケットのやりとりのイメージを示す。RMAP は Command パケットと

Reply パケットの組 (Transaction) をひとつの単位として動作する。Command を出す側を Initiator、

受け取る側を Targetと呼ぶ。RMAPではよく、write(メモリ書き込み)と read(メモリ読み出し)のふ

たつの命令を使う。RMAP readの場合、Initiatorが Commandを送信すると、Targetは、要求された

アドレスに対応する値が含まれる Replyパケットを Initiatorに返す。Initiatorが write Commandを

送信すると、Targetは要求されたアドレスのメモリを書き換えて、書き換えたことを示す Replyパケッ

トを Initiatorに返す。

RMAPパケットの送り先をDestination、送り元を Sourceと呼ぶ。すなわち、Commandパケットの

Destinationは Target、Sourceは Initiatorである。また、Replyパケットの Destinationは Initiator、

Source は Target である。通常、アドレスやデータ長などを表す部分を RMAP のヘッダと呼び、

Destinationや Replyパケットを作る際に必要な Sourceのパス・アドレスなどが書かれている。データ

部 (Data) は 8 bitから 16 Mbyteまで可変である。

ASTRO-Hでは、データ収集をつかさどる搭載コンピュータ SMU(Satellite Management Unit : 次

章参照)を頂点とする tree 状のネットワーク構成をとり、SpaceWire RMAPを用いて、末端の搭載機

器にコマンド*3) 指令を送信したり、観測装置などから発生する観測データ (テレメトリー)を収集した

りする。テレメトリー・コマンドの送受信の方式としては、RMAP write で送りつける PUSH 方式と、

*2 コンピュータなどで計算処理を行う部分。アプリケーションから渡された情報を加工し、出力する。中央演算処理装置とも呼ばれる

*3 以後、区別のため、RMAP “command”は英字表記、衛星内搭載機器への命令を記したパケットを表す「コマンド」はカタカナ表記とする。

Page 22: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

14 第 2章 次世代衛星組込ネットワーク SpaceWire

RMAP read command Register 1

Register 2

Register 3RMAP read reply

Initiator Target

RMAP write command Register 1

Register 2

Register 3RMAP write reply

Initiator Target

図 2.8 RMAP通信のイメージ図。上段 : RMAP readの場合。下段 : RMAP writeの場合。

RMAP read で読みに行く PULL 方式とが考えられるが、ASTRO-Hでは、コマンド送信は SMU か

ら末端機器に PUSH し、テレメトリー受信は SMU が末端機器から PULL する方式をとる。これは、

中央コンピュータ SMUの設計を簡略化し、衛星内データのやり取りを SMUで一括管理するためであ

る。特に SMUから各機器へ送る時刻情報は、RMAP writeだけでなく、SpaceWire Time-Codeでも

配信される。次章では、ASTRO-H 衛星内の SpaceWire ネットワークで時刻情報をどのように配信す

るかを述べる。

SMU

Router

Node Router

Node Node

Router

Node Node

・・・コマンド・・・テレメトリ図 2.9 ASTRO-H におけるネットワーク構造のイメージと SMU の位置付。矢印は RMAP

write/read commandの方向を、N1や R1はそれぞれノード、ルーターを示している。SMU以外

のノードやルーターは RMAP commandを出すことはできない

Page 23: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

15

第 3章

ASTRO-H搭載 時刻配信システム

3.1 衛星内時刻配信の概念

衛星内の検出器で受けたイベントに時刻を付けるためには、衛星内の「時刻配信」が不可欠である。

第一章で述べたようなパルサー等の天体解析を行うためには、衛星内の検出器で受けたイベントの一つ

一つに「時刻」情報を与えることが重要である。衛星内の各ノードからでる Space Packet に時刻情報

を付与する作業を時刻付けと呼ぶ事にする。前述の通り、ASTRO-H のような tree 状のネットワーク

構成をとるシステムでは、衛星内の時刻情報をネットワーク最上位にあるノードで一括管理し、それを

各ノードに配信する、というやり方を取るのが楽である。ここで管理する「衛星内時刻」を TI と呼ぶ。

衛星内ネットワークでは、あるひとつのノードが時刻を生成して配信するという時刻管理を一括して行

うべきである。

衛星時刻の精度は、おもに「時刻専用線の有無」と「絶対時刻との同期方法」に依存する。

時刻専用線とは、テレメトリーやコマンドを送るための信号線とは別に、時刻情報だけを送受信する

ためにある信号線のことである。これにより、時刻情報を送信するとき他のデータが割り込んでタイミ

ングがずれてしまうのを防ぐことができる。たとえば、「すざく」衛星では専用設計のネットワーク構造

をもっており、時刻専用線をとおして常時 秒以上の TIの値と、秒以下の正確なタイミングを末端の機

器まで送ることができる*1 [4]。ASTRO-H衛星の場合、時刻を含むすべての情報は SpaceWireの信号

線でやり取りされ、時刻専用線をもたない。このため、衛星時刻が末端の機器に通知されるタイミング

がの規定が難しくなる。

また、時刻管理をするノードで絶対時刻と TIを同期させることで、絶対時刻精度が向上する。「すざ

く」の場合は、各 10分、一日 5回、衛星と地上運用局が交信できる際に、中に地上のセシウム時計と TI

を照合していた [4]。この方法では、地上のアンテナと交信できない時間帯の時刻は、時刻照合時の値の

内挿で概算するしかなく、絶対時刻精度が低下してしまう。静止衛星でない限り、観測時間の大半は地

上のアンテナと交信できず、絶対時刻精度が高い時間帯はわずかである。そこで、近年の衛星によくつ

かわれるのが GPS システムで配信されるの時刻情報である。ASTRO-Hでは、GPS衛星の絶対時刻の

タイミングから衛星時刻を生成して配信する。衛星軌道上で GPS 衛星を捕捉しているときならいつで

も、高い絶対時刻精度を保つことができるのが利点である。

*1 正確には、32 bit の衛星時刻 (TI)のうち、秒以上の 24 bit は、時刻専用線で搭載機器の CPU搭載部のレジスタに書き込まれ、秒以下は 1 Hzの正秒を示すクロックと、512 kHz のクロックとで伝達されている。

Page 24: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

16 第 3章 ASTRO-H搭載 時刻配信システム

3.2 ASTRO-Hにおける時刻配信

3.2.1 衛星のネットワーク構成

ASTRO-H で現在計画されている衛星全体のネットワーク構成 [16] を図 3.1 に示す。まず、おおま

かにデータ処理系と姿勢制御系のふたつのネットワークで構成される。データ処理系は、観測データな

どを処理するための機器がある。主に、SMU(Satellite Management Unit)や観測機器系のネットワー

クが含まれる。姿勢制御系は、衛星の向きと光軸中心に対する回転 (衛星の姿勢) を制御する機器から

成る。衛星の姿勢制御は、衛星の生死を決めることがあるので、データ処理系から姿勢制御系を制御で

きないようにする。具体的には、データ処理系と姿勢制御系は別の SpaceWireネットワークに分けて、

AOCP(Attitude and Orbit Control Processor)というノードを通してブリッジ接続させる。

Router

S-band

AOCP

X-band

SpWRHXI-DE SGD-DE SXI-DE

GPSR

1 pp

s/ 1

Mpp

s

HXI-DPU SGD-DPU SXI-PESXS-PSP

SMU

SpaceCube2(IN)

SpaceCard (IN)

MIO board (NN)

SpaceWire

姿勢制御系HXI-S SGD-S SXS-S SXI-S

SXS-Xbox

SpWR SpWR

SpWR

X-MDE

DR

データ処理系観測機器系SpWR SpaceWire Router

SMU

SpWR

AOCP

図 3.1 ASTRO-H衛星のネットワーク構成。上にいくほどネットワークで上位のノードである。凡

例の INはインテリジェント・ノードを、NNはノンインテリジェント・ノードを示す。([16]および

ASTRO-Hの内部資料をもとに作成)

ASTRO-H 衛星のネットワーク全体を管理するノードは、最上位ノードの SMU である。SMU は、

SpaceWireリンクで接続された下位の各ノードへ RMAP writeでコマンドを送ったり、各ノードから

RMAP readでデータを収集する。また、自身に接続されている GPS受信機 (GPSR)のクロック*2 か

ら TI を生成して配信する。さらに、地上交信用のアンテナ (S帯と X帯)と接続している。

観測機器系は、DR (Data Recorder)と、SXS, SXI, HXI, SGDの各検出器においてデジタル処理を

担う ノードで構成される。後者を CPUをもつノード (インテリジェント・ノード) と、CPUをもたな

いノード (ノンインテリジェント・ノード) に分ける [17]と、それぞれの役割と名称をそれぞれ図 3.2の

ようになる。観測機器系のノンインテリジェント・ノードは、検出器本体 (Sensor : S)から出てくるイ

ベント信号に対して、本論文のテーマである時刻付けや、波高値解析、画像処理、グレード判定、など

*2 ある一定の周波数の矩形波。「時計」の刻みを与えるために使うのでクロックと呼ばれる。

Page 25: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

3.2 ASTRO-Hにおける時刻配信 17

のデジタルデータ処理を行う FPGA基板である。これを、上位のインテリジェント・ノードが RMAP

read で読出し、不要なデータを除去してから Space Packet (宇宙機用のパケット) にする。インテリ

ジェントノードから送られる情報の中身は、日本が標準化を進めている SMCP [18]の枠組みに沿って

生成され、この SMCPメッセージを SpacePacket としてまとめる際には、CCSDS 勧告にそった形式

(CCSDS形式:[19])をとる。

Intelligent Node(SpaceCard)

Non-Intelligent Node(MIO board)

Sensor

•不要データ除去•パケット化 •波高値解析

•画像処理•グレード判定•時刻付時刻付時刻付時刻付けけけけ etc.

•イベント検出•波形整形•不要イベント除去SpaceWire上位へ

図 3.2 各機器における処理の概要。凡例は図 3.1と同様。

これにより、機器同士の整合にとられる手間などを省くことができる。SMU には A 社製の Space-

Cube2が採用されている。観測機器系のインテリジェント・ノードには、SXS-PSPのCPU部、SXI-DE、

HXI-DE、SGD-DEが相当するが、B社製の SpaceCardを用いる予定である。また、観測機器系のノ

ンインテリジェント・ノードには、SXS-PSP の FPGA 部、SXI-PE、HXI-DPU、SGD-DPU が相当

し、同じく B社製のMission I/O board(以下MIO board)を使用する予定である。

3.2.2 衛星時刻 (TI)の配信

ASTRO-H で用いる TIの構造は、図 3.3に示すように、秒以上の TIME DATA 32 bitと秒以下の

Time-Code 6 bitの全体で 38 bitである。TIのカバーする時刻の範囲は 232 – 1/26 秒すなわち約 136

年 – 15.6 ミリ秒である。

2009/12/25

1

TIME DATA Time-Code

32 bit 6 bitCCSDS secondary header32 bit

秒以上 秒以下図 3.3 TIのフォーマット

長さ 時刻範囲 配信方法

TIME DATA 32 bit 232 – 20 秒 (136年 – 1秒) RMAP write

Time-Code 6 bit 20 – 2−6 秒 (1秒 – 15.6ミリ秒) SpaceWire Time-Code

TI 38 bit 232 – 2−6 秒 (136年 – 15.6ミリ秒) TIME DATA + Time-Code

表 3.1 TIの時刻範囲と配信方法のまとめ

Page 26: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

18 第 3章 ASTRO-H搭載 時刻配信システム

ASTRO-Hのネットワークでは、Time-Codeを管理するノードを Time Master、時刻を受ける下位

のノードを User Nodeと呼ぶことにする。

Time Master

Time Master は、SpaceWire Time-Code を生成・配信する機能や、その機能をもつノードのことで

ある。ひとつのネットワーク内に同時にひとつのノードが Master 機能を保有できる。データ処理系

(AOCP含む)のネットワークでは、SMUが Time Masterである*3。

User Node

User Nodeとは、Time Masterから SpaceWireリンクで配信された Time-Codeや衛星時刻を受け取

るノードやルーターのことである。ASTRO-Hでは、SMUを除く全てのデータ処理系のノード (AOCP

含む)は SMUの User Nodeにあたる。イベント時刻付けの点で特に重要な User Nodeは観測機器系の

MIO boardである。

ASTRO-Hで採用する予定の GPS受信機 (GPSR)は、GPS時刻と同期した 1 pps(正秒のタイミン

グを与える信号)と 1 Mpps(1/106 秒周期のクロック)を送信する [20]。SMUは、GPS 1 Mppsクロッ

クから 64 Hzでカウントアップする Time-Codeを生成する。Time-Codeは 6 bitなので、1秒でひと

まわりする。生成された Time-Code は SpaceWire リンクを通じて下位の User Node へ配信され、末

端機器の User Nodeへと伝播していく。また、SMUは同時に GPSクロックから TIME DATAも生成

し、RMAP writeによって各 User Nodeの衛星時刻用のレジスタに書き込む。User Nodeは、RMAP

writeで書き込まれた TIME DATAと SpaceWireで配信される Time-Codeから、TIを再合成する。

ASTRO-H衛星では、GPS 故障時に備え、「すざく」方式の時刻付け機能も併用する。すなわち、TI

の値だけが含まれた時刻専用の Space Packet を用いて、地上の運用局にあるセシウム時計と TI を照

合するルートも確保している。

実際に運用者やデータ解析者が配信された TI を利用するためには、テレメトリとしてノードから出

力する必要がある。インテリジェント・ノード*4から出力される CCSDS 形式のパケットのセカンダ

リ・ヘッダに、そのパケットを生成したノードの TI のうち下位 32 bit (TIME DATA 下位 26 bit +

Time-Code 6 bit)が埋め込まれる [21]。

3.3 時刻目標達成への課題

以上が、ASTRO-H 衛星に搭載が決まっている設計の概要である。前述のとおり、SMUが衛星全体

に SpaceWire を通じて配信する TI の時間分解能は 15.6 ミリ秒である。衛星のバス系としてはこれで

十分であるが、ASTRO-H搭載の天体観測装置の時刻精度としては、1.3節で述べたような時刻性能要

求 (時間分解能 ∼10マイクロ秒)を達成できない。本修士論文では、科学データに要求された時刻性能

を満たす設計を模索し、イベント時刻付けの概念設計を次章で行うと共に、この設計案にもとづいた検

証実験も行う。

*3 姿勢制御系の AOCP以外のノードには SMUから送られる Time-Codeが到達しない。そのため、姿勢制御系は別のネットワークとして扱われる。本論文では特に姿勢制御系の時刻配信については議論しない。

*4 SMUも含まれていることに注意する。

Page 27: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

19

第 4章

高時刻精度を持つイベント時刻付けシステムの概念設計

ASTRO-H 衛星の観測機器に必要な時間分解能と時刻精度は、それぞれ 10 µsec と 30 µsec である

(第 1章)。しかし、前章で述べたように、ASTRO-H衛星の衛星時刻 (TI)の時間分解能および時刻精度

は Time-Codeの刻みと同じ 15.6 msecしかなく、観測機器での X線検出時刻に用いるには不十分な精

度である。観測機器系の側で TIとは別により細かい時刻精度をもたせる方法を考える。このように、観

測機器で検出した X線光子一つひとつに時刻情報を与えることを、以下、「時刻付け」と称し、要求精度

の時刻付け手法を確立することが、本修士論文のテーマである。

4.1 高分解能時刻を達成する方法

観測機器で検出したX線イベントに高い時間分解能と時刻精度をもった時刻をつけるためには、観測

機器系の User Node (実際はMIO board) に要求分解能をもった時刻カウンタをもつ必要がある。本論

文では、この時刻カウンタのことを「LocalTime」と呼ぶことにする。

LocalTime をつくる方法は、TI と同期させる方法と、同期させない方法のふたつがある。前者は、

Phase Locked Loop (PLL) という方法で、4.1.1 節で詳しく述べる。後者 (4.1.2 節) は、「LocalTime

が Aという値のとき、TIは B という値だった」という照合を何らかの方法で行わなければならない。

ASTRO-Hに適切な手法を選ぶには、宇宙機用ハードウェア・ロジックに実装できるか、要求時刻精度

を達成できるか、といった点も評価しなければならない。以下に、両者の手法の原理をまとめ、こうし

た評価を下すべく思考実験を行う。

4.1.1 PLLによる衛星時刻クロックへの同期を用いる方式

Phase Locked Loop (PLL)は、クロックの同期に用いられる回路である。はじめ、フランスの H. de

Bellescizeが 1932年に Synchrodyne(同期受信機)という名前で提唱した。現在では、テレビ、ラジオ、

コンピュータ、携帯電話など、身近な電子機器には欠かせない技術となっている。

PLLの基本的な回路は、図 4.1のように、以下の 3つの要素から成り立っている。

位相比較器

2つの入力信号の位相差を出力する。位相比較器には、デジタル方式とアナログ方式がある。

ループ・フィルタ

Page 28: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

20 第 4章 高時刻精度を持つイベント時刻付けシステムの概念設計

ローパス・フィルタ (積分回路)である。位相比較器からのリップル*1を含んだ直流信号を平均化し、交

流成分の少ない直流信号に変換する。ループ・フィルタには、リップルを取り除くほかに、PLLのルー

プ制御を行うために伝達特性を決めるという役割もある。つまり、ループ・フィルタの時定数を間違え

ると、位相がロックしなくなってしまう。

Voltage Controlled Oscillator (VCO)

入力の直流信号の電圧によって発振周波数が制御できる、可変周波数発振器である。

PLL回路は、出力信号を制御して、位相比較器に入るふたつの入力信号の位相が同じになるようにする。

すなわち、水晶発振器のクロック周波数 fin と、VCOの出力周波数 fout が同じになる (fin = fout)。も

し、fin と fout が違う時には、図 4.2 のように、位相比較器から位相差を示す信号 (A) が出る。結果、

ループ・フィルタからの出力信号 (B)が変動するが、徐々にある一定の電圧に落ち着き、fin = fout と

なる。この状態を「ロック」と呼ぶ。

2009/12/25

1

位相比較器 ループ・フィルタ VCO水晶発振器 fin

fout

fout

(A) (B)

図 4.1 基本的な PLL回路。灰色点線で囲んだ部分が PLLである

図 4.2 基本的な PLL回路 (図 4.1)の応答のようす。(A), (B)は図 4.1に対応している。

(http://gate.ruru.ne.jp/rfdn/TechNote/BasePllTech.asp から引用)

fin より細かい時刻を作り出すためには、図 4.3のように、VCOから位相比較器へと入力される線の

間に分周器を挟む。すると、fin = fout/N となるように制御されるため、VCOからの出力周波数は、

fout = N × fin

となる。これで N 倍の周波数のクロックを得ることができる。

*1 交流を直流に変換したときに残る電圧振動。

Page 29: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

4.1 高分解能時刻を達成する方法 21

2009/12/25

1

位相比較器 ループ・フィルタ VCO水晶発振器 fin

fout

fout /N 分周器1/N倍

図 4.3 分周器を入れた PLL回路。灰色点線で囲んだ部分が PLLである

ASTRO-H で Time-Code からより細かい時刻を得るために PLL を使うとするならば、観測系の

FPGA 搭載部 (MIO board : 第 3章)の FPGA にデジタル的に実装する必要がある。この場合、全ての

ロジックをデジタルで処理するために、前述の各モジュールをデジタル位相比較器やデジタル VCO(電

圧ではなく数値で周波数を変える) で代用することになる。雑音を除去できるうえ、動作検証が容易に

なるが、以下の欠点がある。

1. アナログと比べてロジックを多く必要とする

2. VCOの周波数が低く、ジッタ (時刻不定性)が大きい

3. ロックするまでの時間が長い

特に位相比較器と VCOは、デジタル的に実現するためにはかなりの実装ロジック数が必要になる。上

記 2と 3の問題を改善するためには、さらに高度な回路を実装しなくてはならない。すでに波高値解析

や画像処理など別の機能にロジックを占有されているMIO boardに高性能なデジタル PLLを実装する

のは非現実的である。さらに、

4. 衛星に要求されるレベルの高信頼性ロジックの入手が困難

という問題もある。デジタル PLL自体は各所で開発され、フリーな IP core として配布されているもの

が多いが、実績があり信頼性の高いロジックは、相当なロジック数が必要となる。ASTRO-H衛星に限

らずとも、色々な規模の衛星で SpaceWire ネットワークを有効に用いるためには、末端ノードにばらま

く通信素子は、できるだけ小規模なロジックのものに収めたいものだが、衛星搭載用 PLL回路は (末端

機器にばらまくにしては) 高機能すぎる。

そこで、次節では、これらの問題を解決し、現在稼働中の「すざく」HXDでも実績のある、フリーラ

ンクロックによる内挿方式を提案する。

4.1.2 非同期クロックを用いた時刻 tick 内挿法

観測機器系の User Node で Time-Code より高い時刻精度をもつ時刻をつくる方法として、Time-

Codeと同期していない LocalTimeをもつという手法がある。LocalTime 自体が TI よりも高い時間分

解能を持つクロックであることは PLL 法と同じであるが、LocalTime と TI の同期をあきらめ、定期

的に両者を(高い時刻精度で)「照合」することで、ユーザーノードにおいて疑似的に高い時間分解能を

もたせるのである。具体的には、図 4.4のように、MIO boardで自身の持つ LocalTimeと SMUから

受けた TIとを、「照合」することになる。ただし、この手法では、LocalTime が TI と照合されるタイ

ミングが PLL法に比べてまばらであるため、「照合と照合の間の LocalTime カウンターの進みは一定

である」という仮定を置いて、TI よりも高い時刻精度の情報を補完する。本論文では、この手法を 非

同期クロックを用いた時刻 tick 内挿法、または簡単に 時刻 tick内挿法と呼ぶことにする。

時刻 tick 内挿法のためには、(A) X線イベントの検出時刻を高い時刻精度でつけた LocalTime、

Page 30: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

22 第 4章 高時刻精度を持つイベント時刻付けシステムの概念設計

Non-Intelligent Nodes(MIO board)

GPSR

SMU(SpaceCube2)

• Time-Code• TIME DATA (RMAP write)

・・・• TI (from SMU)• LocalTime (by free-run clock)

・・・図 4.4 非同期クロックを用いた時刻 tick 内挿法での Time Master と User Node の動作概要。

SMUとMIO boardの間のネットワークは省略している。

(B) TI と LocalTime の照合データ、のふたつをテレメトリに出す。そのパケットのイメージを図 4.6

に示す。(A)は、X線イベントごとに LocalTimeをラッチし、波高値、検出ピクセル位置などのイベン

ト情報を含む Space Packet (Science Data Packet と呼ぶ) にして、SMU に RMAP read されること

にする。その際、SpacePacket が生成された時点の TI がヘッダーに含まれるので、(A)の光子検出時

点付近の TI値もテレメトリーにでる。(B)のほうは、別の Space Packet (時刻の HK packet) として

SMUに RMAP readされる。

MIO board

Science Data Packet (Space Packet)時刻のHK packet

Header Evt1LocalTime1

Evt2LocalTime2

・・・TI_a

LocalTime_a

TI_bLocal

Time_b・・・Header

SpaceCard, SMU

図 4.5 時刻 tick内挿法におけるMIO boardからのテレメトリ出力。Evt1, Evt2, ... には、波高

値、検出ピクセル位置などの情報が含まれている

LocalTime をイベントに付けただけでは、GPS 時刻と同期した時刻になっていない。これを改善す

る方法を図 4.6に示した。MIO board では、ある一定のタイミングで TIと LocalTimeの照合表を記

録しておき、テレメトリとして出力し地上へと送る (この照合表をテレメトリ出力する際のパケットを、

本論文では「時刻の HK パケット」と呼ぶ)。地上で、衛星管理者や解析ユーザーなどが、LocalTime

と TI の相関データをこの照合表から調べ、各データ点間をある関数で内挿する。そして、イベントに

ついている LocalTime の値をその関数に代入すれば、そのイベントの TI が推定でき、その分解能は

LocalTimeと同じになる。

ただし、イベント一つ一つに付く LocalTimeのデータ長はあまり長いものにはできないため、137年

持つ TI よりもずっと短い時間で桁上がりが生じる。この方法の時刻付けに関しては、観測機器系のデ

ジタル処理部 (具体的には CPUをもつ SpaceCard) に、「LocalTime が桁上がるまえに TI の値をイベ

ントの SpacePacket に編集する」ことが要請される。この条件を守ることで、イベントの TI から、ど

のラウンドの LocalTime であるかが推定でき、「時刻 HK」から正確な TI を 1:1 で対応づけることで、

Page 31: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

4.2 非同期クロックを用いた時刻 tick 内挿法における時刻性能 23

より長い時刻情報も付加できるようになる。

TI LocalTime

00000… …XXX…

00010… …XXX…

… …

Loca

lTim

e

TI

2

1

時刻のHK

2点間をある関数で内挿Science PacketUser Nodeでつけられた各イベントのLocalTime

TI相当の時刻を推定3

Science PacketUser NodeでつけられたSpacePacket headerのTI

4 正解のTIを判断図 4.6 具体的な 時刻 tick内挿法で高い時刻精度を得る方法。1. 時刻の HK (TIと LocalTimeの

照合表)から、TIと LocalTimeの相関をとる。2. データ点間をある関数で内挿する。3. 各イベン

トについている LocalTimeを 2の関数に代入して、TIを推定する。LocalTimeのカウンタが回り

きるので、推定される TIは複数ある。4. SpacePacketのセカンダリ・ヘッダに埋め込まれた TIか

ら、正解の TIを選定する。

この方法では、衛星軌道上で TIとより細かい時刻 (LocalTime) を同期させる必要がないため、単純

なロジックで済む。よって、デジタル PLLで問題となっていたロジック数の多さを改善できる。また、

61 µsecの時間分解能を誇る「すざく」衛星でも実績のある方法である [4]。

4.2 非同期クロックを用いた時刻 tick 内挿法における時刻性能

以上から、ASTRO-H衛星に搭載するハードウェア・ロジックに実装できるかという観点からは、フ

リーランクロックを用いた時刻照合による方式が、もっとも適していると言える。次に、ASTRO-Hに

科学面から要求されている時刻精度を達成できるか検証する必要がある。この節ではフリーランクロッ

ク方式で検証すべき、時刻精度を悪化させる原因となる現象をまとめる。

4.2.1 Time-Codeのジッタ

ASTRO-H衛星の場合、時刻専用線を使わないため、SpaceWire の Time-Code で機器間の同期が行

われるが、ユーザーノードに到達する時刻がゆらぐ。一般に、信号の時間的なずれや揺らぎをジッタと

いい、おもに信号の伝送経路の影響で発生する。Time-Codeジッタのおもな原因は、SpaceWireを通じ

て配信される Time-Codeが、他のデータやコマンドに割り込むタイミングがランダムになることであ

る。すなわち、ここで見積もるジッターは、PLL 法、非同期クロック法のいずれでも時刻精度悪化の原

因になる。この節では、その割り込み課程を具体的に述べ、ジッタの値を見積もる。

SpaceWireでは優先度が設定されていない。しかし、Time-Codeはその例外で、最優先時刻コードで

ある。つまり、Time-Codeは、RMAPパケットより小さい単位の Characterの間に割り込むことがで

きる (この Characterは 2章で説明した Data Characterや NULL, FCTである)。Time-Codeのジッ

タが発生する過程を図 4.7に示す。SpaceWireリンクでいま送信完了した他のデータ (Data Character)

直後に Time-Code (Tick) が送信されると、Time-Codeの遅延は固定遅延 (ケーブルや他の信号線を通

るのにかかる時間) のみとなる。一方、他のデータが送信されているときに Time-Code が送信される

と、Tickが出力されてから Time-Codeが出力されるまで時間差ができてしまい、固定遅延に上乗せし

て遅延が発生する。本論文ではこの時間差をジッタと呼ぶ。固定遅延は固定長でゆらがないと予想され

Page 32: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

24 第 4章 高時刻精度を持つイベント時刻付けシステムの概念設計

るので、打ち上げ前の衛星などで計測しておけば済むものである。しかし、Tickがどのタイミングで入

力されるかによりジッタの値がランダムに変化してしまうので、ジッタの値は時刻の「誤差」となり時

刻精度を悪化させる要因となる。

Data Character(10 bit)

Data Character(10 bit)最良の場合:

TickTick

Data Character(10 bit)

Data Character(10 bit)

通常の場合:

Data Character(10 bit)

Data Character(10 bit)最悪の場合:

Time delay

Time-Code(14 bit)

Time-Code(14 bit)

Time-Code(14 bit)

TickTick

TickTick Time delay 時間図 4.7 Time-Codeのジッタが発生する原因

1 bit 転送するのにかかる時間を 1 clock cycle と言うことにすると、Data Character(10 bit) 転送

中に発生する Time-Code のジッタは 10 clock cycle になる。なぜなら、Tick が、Data Character の

0 bitから 10 bitまでのランダムな位置で出るからである。リンクレートが R Hzなら、1 clock cycle

= 1 / R secだから、

10 bit× 1/R = 10/R sec

となる。第 6 章で実測結果を述べる 100 MHz リンクにおける NULL(8 bit) 転送中の Time-Code の

ジッタは、

8 bit× 1/(100× 106 Hz) = 80 nsec (4.1)

になるはずである。ASTRO-Hの場合は 20 MHzリンクなので、同様の場合、

8 bit× 1/(20× 106 Hz) = 400 nsec (4.2)

となる。

さらに、ルーターを 1 個, 2 個,· · · と介すると、このような現象が多重発生することになり、ジッタは 2 倍, 3 倍,· · · となる。Time-Code の伝送経路中に挟むルーターの個数を N、ルーターを挟まない

時の Time-Code のジッタを ∆tint とすると、∆tint × (N + 1) が N 個ルーターを挟んだ時に生じる

Time-Codeのジッタとなる。ASTRO-H衛星では、SMUから User Node (MIO boardとする) までの

経路で N = 2 – 3個である。SpaceCube2, SpaceCard, MIO boardそれぞれが内部ルーターを持って

いることも考えると、SMUからMIO boardまでの N = 5 – 7 個になる。ゆえに 4.2式から、SMUで

送出した Time-CodeがMIO boardで、

400 nsec× (5–7) + 1 = 2.4–3.2 µsec (4.3)

となる。

NULL 通信だけを行っている時、ルーターを N 個に挟んだ場合の Time-Code のジッタの確率分布

は、8つの目をもつサイコロを (N + 1)個同時に振ったときの目の和の確率分布と同じ原理で説明でき

Page 33: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

4.2 非同期クロックを用いた時刻 tick 内挿法における時刻性能 25

0

200

400

600

800

1000

1200

1400

1600

1800

2000

0 5 10 15 20 25 30 35 40

clock cycles

coun

tsno hop1 hop2 hops3 hops4 hops

図 4.8 NULL通信時の Time-Codeジッタの確率分布シミュレーション。赤:ルーターなし、緑:

ルーター 1個、マゼンタ:ルーター 2個、青:ルーター 3個、オレンジ:ルーター 4個。

る。各ルーターにおける Time-Codeのジッタ (サイコロなら目の数)を乱数で与え、N 回足し算するこ

とでシミュレーションすると、図 4.8のようになる。

Time-Code のジッタは MIO board で合成される TI の精度にもろに影響する。したがって Local-

Time の内挿方式によって推定される時刻精度を悪化させる。6 章 6.1 節では、Time-Code のジッタ

を実際に SpaceWire 搭載エレクトロニクスを用いて測定し、ASTRO-H 衛星における時刻精度を見積

もる。

4.2.2 LocalTimeの時刻安定度

もうひとつ、時刻精度に影響するパラメータとして、フリーランクロックの時刻安定度と時刻の HK

のサンプル周波数がある。LocalTimeのベースとなるフリーランクロックはMIO boardの水晶発振器

である。水晶発振器は、温度変化やそれ以外の要素によって出力するクロック信号の刻みが変化する。

特に、温度が変わると通常の水晶発振器の場合でおよそ 10% も周波数が変わることがある。その特性は

発振器によって異なる。また、周波数安定度を上げた「温度補償付水晶発振器」や「恒温槽付水晶発振

器」もある。

フリーランクロックを用いた時刻照合で細かい刻みの時刻をつけるとき、時刻の HKのサンプル周波

数が長いと、水晶発振器の安定性を拾ってしまうことになる。逆に、サンプル周波数が十分短いと、水

晶発振器の安定性をほとんど無視できることになるが、時刻の HKパケットの量が多くなり、他の観測

データなどを圧迫しかねない。TIとの時刻照合の時間間隔を S sec、LocalTimeの安定度を A sec/sec、

LocalTimeに要求されている時刻精度を Y secとすると、

Y > S ×A

Page 34: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

26 第 4章 高時刻精度を持つイベント時刻付けシステムの概念設計

となる。すなわち、

A < Y/S

が要求される。6章 6.2節では時刻安定度を実測するとともに、6.3節でサンプル周波数と時刻精度の関

係を SpaceWire搭載エレクトロニクスで実測する。これらの実験結果から、要求時刻性能を満たす適切

なサンプル周波数を見積もる。

2009/12/25

1

テレメトリ出力 テレメトリ出力TI

LocalTimeイベント (推定推定推定推定したしたしたしたTI) (本当本当本当本当ののののTI)図 4.9 LocalTime の安定度と時刻精度。サンプル周波数が長すぎると水晶発振器の周波数不定性

から、内挿した関数が実際の挙動と違ってしまうので、時刻照合による時刻精度が悪化する

Page 35: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

27

第 5章

SpaceWire搭載機器への実装

現在 ASTRO-H で計画されている衛星時刻 (TI) は要求時間分解能を達成できない。そこで前章で、

より高い時間分解能の時刻をイベントにつける方法を提案した。我々は、その次のステップとして、実

際にこの枠組みで時刻配信と時刻付けを行うためのシステムを ASTRO-Hを模擬した地上試験用エレク

トロニクスに構築した。この章では、その詳細について述べる。

5.1 実装方法の概要

時刻付け機能のうち、タイミングを厳密に規定すべき箇所は、CPU によるソフトウェア処理を介

さないほうがよいので、FPGA(次節 5.1.1) 搭載の MIO board (section 3?) に搭載する。それ以外の

SpacePacket 生成等の機能は CPU 基板 SpaceCard の機能として提供される。本節では MIO board

に搭載する FPGA のハードウェアロジックについての開発を行う。したがって、時刻付けに関する地

上試験を行うためには、FPGAに機能を実装する必要がある。この節では、FPGAを用いた実験のおお

まかな流れを述べる。

5.1.1 Field Programmable Gate Array (FPGA)

FPGAは、人が自由にハードウェア・ロジックを設計できる「デジタル回路」をもった素子である。

高性能でさまざまな用途の論理回路を、簡単に設計できるのが魅力である。

まず、デジタル回路といえば、複数の同一のゲートを備えた IC(Integrated Circuit) があげられる。

数種類の ICを大量にならべればどんな論理の回路も作成することができる。この方法は単品が安価で

あるが、プリント基板に並べていちいちハンダ付けしなければならず、実装面積が大きくなる、など、手

間や時間のかかる面で難がある。高信頼性が要求される衛星の信号処理部では、電源制御等の一部の回

路には  IC と 抵抗やコンデンサーによる実装が施されるが、ミッションにクリティカルでない部分は、

実装面積や設計の自由度等の利点から、FPGA 等の集積回路がよく利用される。

近年、主流となったデジタル設計は、デスクトップ上で自動化 (EDA : Electorical Design Automation)

されている。すなわち、EDAツールでシミュレーションと論理合成 (実際の設計の実装に置き換える作

業) を行い、ハードウェアに実装するのである。これらハードウェアは、たいてい CMOS*1テクノロジ

を利用し、高密度でプログラム可能なロジックをもっている。単品は ICよりもはるかに高価であるが、

迅速な論理の実装とデバッグ作業の魅力のほうが上回る場合が多い。

プログラム可能なハードウェアの中で最も複雑なものが、Field Programmable Gate Array (FPGA)

である。FPGAの中の構造は、製造会社によって違う。そのため、専用の EDAツールを使う必要があ

*1 Complex MOS (Metal Oxide Semiconductor) に利用される技術の総称。半導体技術を応用することで、トランジスタやインバータを実現でき、AND, ORなど各種ゲートを作り出すことができる。

Page 36: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

28 第 5章 SpaceWire搭載機器への実装アイデアHDLで記述 EDAツールシミュレーション・論理合成 ハードウェアに実装

図 5.1 自動化されたデジタル設計のイメージ

る。例えば、本論文で扱う Xilinx (ザイリンクス)製の Spartan-3というタイプの FPGAは、論理セル

のアレイで構成されていて、PROMというフラッシュメモリを使ってプログラムされる。EDAツール

は ISEというWindows用ソフトウェアである。

FPGAは、宇宙用に使われ始めた当初、信頼性が低く、衛星軌道上の放射線環境下では寿命も短かっ

た。だが、最近では、FPGAの信頼性も高くなっており、宇宙機用にも使えるものが増えてきている。

現在では、ほとんどの人工衛星や科学衛星のハードウェアに FPGAが搭載され、実際に軌道上で成果を

上げている。

IP core の一つには、 SpaceWire や RMAP の規格に基づいたロジックが SpaceWire IP core とし

て提供され、ユーザーが自由に使える形になっている。ただし、MIO board 等の衛星搭載品には、担

当業者が SpaceWire等の規格にのっとり、衛星用として開発・品質保証したロジックが搭載される。ま

た、MIO boardの FPGAのみ、光子イベントへの波高値解析、画像処理、時刻付けといった機能も実

装される。

こうした機能をFPGAに実装するためには、ハードウェア記述言語 (Hardware Description Lauguage

: HDL) などを用いて回路の論理を記述しなければならない。次の節では、HDLの概要を述べる。

5.1.2 ハードウェア記述言語

FPGAに論理を実装するには、人が論理を EDAツールに教える必要がある。そのための方法として、

回路図を書いて EDAツールに読み込ませる方法と、ハードウェア記述言語 (HDL)を使って論理をプロ

グラムする方法がある。現在は、後者の方法が主流となっている。

はじめ FPGA製造会社ことに 1種類の HDLを使っていたため、他の FPGAに実装する際は人は言

語の書き換えをしなくてはならなかった。現在、HDLはおもに Verilog HDLと VHDLの 2種類に統

一されている。EDAツールは FPGAごとに違えど、言語が同じなので、FPGAを変えるごとに言語の

書き換えをする手間がなくなった。

本実験では、VHDLを用いてハードウェアの論理を記述する。

5.2 実験機器

3章で紹介した ASTRO-H 用の SpaceWire 搭載エレキ、SpaceCard と MIO board は、まだ開発段

階にある。本修士論文では、これらに代替する商用の SpaceWire 搭載エレクトロニクスとして下記を使

用する。

• SpaceWire Digital I/O board : CPUなし、FPGA搭載。MIO boardおよび SMUの時刻

配信部の代役として使用

• SpaceCube 1 : ルーターおよびデータ読出し (SpaceCard の代用)として使用

Page 37: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

5.2 実験機器 29

を紹介する。

5.2.1 SpaceWire Digital I/O board

SpaceWire Digital I/O board(以下 DIO board) は、シマフジ電機が JAXA と共同開発した

SpaceWire 搭載用の FPGA ボードである。主に衛星搭載前の (地上における) 開発段階で使われ

る。本実験では、SMU (SpaceCube2) の中の時刻配信機能を持つ部分 (Time Master) と、観測系のノ

ンインテリジェント・ノード (MIO board / User Node) の代わりとして、DIO boardを用いた。

DIO board の写真と搭載エレクトロニクスを図 5.2 に示す。ボードには、2 個の FPGA が搭載さ

れている。これらはそれぞれ、SpaceWire FPGA、User FPGA と呼ばれる。SpaceWire FPGA は

SpaceWireや RMAPのインターフェースに関するロジック (IPコア) を、User FPGAはユーザーが

自由に実現したい論理を、それぞれ実装するために搭載されている。このように二つに FPGAを分ける

ことで、どのシステムでも共通な機能と、システムごとに変えなければならない機能を明確に分離して

いる。

購入時、SpaceWire FPGAには、シマフジ製の SpaceWire IPコアと RMAP IPコア (RMAP仕様

に基づいた通信のためのロジック)、SDRAM*2コントローラ (SDRAMへの読み書きを制御する) が実

装されている。User FPGAには、CMOS I/F、LVDS I/F、LED、Dipスイッチが User FPGAに接

続されていて、ユーザーは User FPGAからこれらの信号を入出力として使うこともできる。(例えば、

特定の信号をオシロスコープで見たり、ある状態に遷移したら LEDを点灯させることができる) また、

SpaceWire FPGAを経由すれば、User FPGAから SDRAMにデータを記録したり、SpaceWireリン

クへパケットを送ることもできる。

5.2.2 SpaceCube 1

SpaceCube 1は、シマフジ電機が JAXAと共同で、SpaceWireの地上実験向けに開発した小型コン

ピュータである。本実験では、ルーターとして、ルーター機能付き IP コアを実装した SpaceCube 1

を使用した。また、次節で紹介する SpaceWire Digital I/O board からデータを読み出す際にも同じ

SpaceCube 1を用いた。

SpaceCube 1 は図 5.4 のような外観をしている。SpaceCube 1 の性能を表 5.2 にまとめた。内部構

造は、図 5.5 ようになっている。SpaceWire 通信をするための SpaceWire のポートは三つあり、そ

のコネクタには、3 つの Dsub 9pin を採用している。FPGA には、シマフジ製の SpaceWire IP コア

(SpaceWire 仕様に基づいた通信のためのロジック) が実装されている。搭載 OS(Operating System)

は、TRONプロジェクトの一環で作られたリアルタイム OSの「T-Kernel」である。SpaceCube 1は

大変小さいながらも、ディスプレイやキーボードなどを接続すればふつうの PCと同じように使うこと

ができる。

SpaceCube 1 の FPGA 部分をルーター機能つきの SpaceWire IP コア (ルーター IP コア) にし、

CPU 上でルーター用ドライバを動かすと、外部 SpaceWire インターフェース 3 つが CPU 経由でス

イッチングされてルーターのようにつながる。

*2 揮発性の記憶装置。多くのパソコンのメモリに使用される

Page 38: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

30 第 5章 SpaceWire搭載機器への実装

SpaceWire Interface

SpaceWire FPGA User FPGA

図 5.2 SpaceWire Digital I/O boardの写真と各搭載エレクトロニクス

インターフェース SpaceWire (Dsub 9pin),

LVCMOS IN 8bit / OUT 8bit,

LVDS IN 12bit / OUT 12bit,

RS232C, RS422

JTAG × 2

その他 FPGA : Xilinx Spartan-3 XC3S1000 × 2

SDRAM : 16 MBytes

OSC clock : 48 MHz

電源 DC +5V

表 5.1 SpaceWire Digital I/O boardの性能

SpaceWire FPGA

Xilinx Spartan-3

XC3S1000

User FPGA

Xilinx Spartan-3

XC3S1000

DDR SDRAM

16 MB

LVDS I/O 4bit

CMOS I/O 8bit

LED x 2

DIP Switch

Clock 48 MHz

Reset Switch

x 16 bit

RS422

SpW

I/F

ch2

SpW

I/F

ch1

LED x 4 RS232C JTAG JTAG

PROMPROMLVDS I/O 8bit

図 5.3 SpaceWire Digital I/O board のブロックダイアグラム (シマフジ電機による SpaceWire

Digital I/O board仕様より作成)

Page 39: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

5.2 実験機器 31

図 5.4 SpaceCube 1の写真

CPU VR5701, 200 MHz

RAM 64 MBytes

Flash Memory 16 MBytes

インターフェース SpaceWire (Dsub 9pin) × 3,

Compact Flash (True IDE),

XGA video out (1024 × 768),

Ethernet (100Base),

Audio(Stereo), RS232C, USB 1.1,

JTAG (Debug/FPGA)

電源 DC +5V

サイズ 52 × 52 × 55 mm3

表 5.2 SpaceCube 1の性能

CPU

(VR5701)

Reset Switch

JTAG

RTC

DDR SDRAM

64 MB

FLASH Memory

16 MB

Compact Flash

I/F

RS232C

I/F

Mini Jack

D-sub 15 pin

Type A I/F

Audio Codec

Video

USB

Ethernet

Controler

FPGA

(SpW Logic)

Peripheral

Controller

RJ 45 SpaceWire

I/F x 3

IDE

PCI

Mini Jack

SP

MIC

D-sub

9 pin

図 5.5 SpaceCube 1のブロックダイアグラム。(シマフジ電機による SpaceCube 1の仕様および

[24]より作成)

Page 40: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

32 第 5章 SpaceWire搭載機器への実装

5.3 実装した機能

私は、ハードウェア記述言語 VHDL を用いて時刻配信機能 (Time Master機能) と User Nodeにお

ける時刻照合およびイベント時刻付け機能を作成し、2枚の DIO boardの FPGAに実装した。この節

では、その機能を詳しく述べる。

2枚の DIO boardにはそれぞれ、Time Master として時刻配信を司る機能を持つ SMU、User Node

として時刻付けを司る機能を実装させる MIO board「User Node」の役割をおわせる。前にも述べた

ように、まず Time Master (18 ページ) で 64 Hz の Time-Code を生成し、SpaceWire リンクを経由

して User Node へ送信する。User Node はフリーランクロックの時刻カウンタ LocalTime (4.1.2 節,

21ページ) をもつ一方、受け取った Time-Codeをもとに TIを合成し、時刻の HK (TIと LocalTime

の照合表) を SDRAM に記録していく。また、User Node は、イベントが入力されると、そのときの

LocalTimeを SDRAMに記録する。

すべての機能をまとめてひとつの VHDL ファイルに記述するのは大変なので、通常、個々の機能は

個々の「モジュール」という単位に分けて記述する。図 5.6に、実際に、本修士論文で設計したモジュー

ル間の機能ブロック図を示す。

5.3.1 Time Master機能

Time Master は、SpaceWire Time-Code を生成して配信する。SMU の場合はそれだけでなく、

TIME DATAも生成して RMAP writeで配信するのだが、本実験では簡単のため TIME DATAの生

成・配信を省略した。

Time-Code の生成には GPS クロックを使った。我々が用いた GPSR は、古野電機製 GF8050 で、

出力されるクロックは 1 pps と、10 MHz であった。Time Master となる DIO board の CMOS I/F

を通してこのクロックを User FPGAに入力した。(詳細は第 6章で述べる)

Time Master の詳しい FPGA モジュールの構造を図 5.6(上段) に示した。まず、CMOSIn から

GPSRからのクロック (10 MHz)を入力する。TimeCode64HzSendModuleがこのクロックを分周して

64 Hzで 1カウントアップする Time-Codeを生成し、SpaceWire FPGAに送る。SpaceWire FPGA

には、単に SpaceWire IPコアのみをが実装されており、Time-Codeの tick信号とデータが SpaceWire

の port から配信される。*3。

5.3.2 User Nodeにおける時刻付け機能

User Node(18ページ)は、Time Masterから受け取った Time-Codeと TIME DATAを合成して TI

を合成する。しかし、本実験では、Time Masterでの TIME DATAの生成・配信を省略したため、User

Nodeで Time-Codeを元に擬似的な TIME DATAを作り TIを合成した。また、高時間分解能を達成

するため、User Nodeにはフリーランクロックから高時間分解能の時刻カウンタ (LocalTime) を生成す

る機能も持っている。

具体的な User Nodeの動作は、次のような流れになる。

*3 購入時のシマフジ製 IPコアから不必要な機能を削除している。

Page 41: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

5.3 実装した機能 33

まず、配信された Time-Codeから TIを生成する流れは、以下の通りである。

(1) TICounterModule は Time-Code が 0 (ゼロ) のタイミングで 1 カウントアップする時刻カウンタ

「TIME DATA」を生成する。

(2) カウントアップしたら、すぐに TIRegisterModule の「次の TIME DATA 用レジスタ」に TIME

DATAを書きこむ。書き込みは内部バス経由で行う。

(3) TIRegisterModuleは Time-Codeが 3のタイミング*4 で「今の TIME DATA用レジスタ」に「次

の TIME DATA用レジスタ」の値をコピーする。

一方で、高分解能の時刻をつけるために、下記の二つの機能を実装した。

(4) (1)~(3)の間も、LocalTimeを生成している。

(5) Time-Codeが 0 (ゼロ) のとき TI (TIME DATA + Time-Code)と LocalTimeをラッチ*5し、外

部バスを経由して SDRAMに書き込む。

また、イベントへの時刻付けとして、下記の機能を実装した。

(6) CMOSInから信号を受けると、その時の LocalTimeをラッチして、外部バス経由で SDRAMに記

録する。

User Nodeの SpaceWire FPGAと User FPGAの両者に外部バス (External Bus)が備わっており、

両者の間のデータはバス経由でやりとりされる。User FPGAの各モジュール間のデータは内部バス経由

でやりとりされる。User FPGAのロジックは、日本 SpaceWireユーザー会によるUserFPGATemplate

をもとに作成した。SpaceWire FPGAは、シマフジ製 IPコア*6と SDRAMコントローラ (SDRAMC)

のコードに加えて、外部入出力 (aux) から Time-Code (Tickと 6 bitの時刻情報部) を User FPGAに

出力する機能を追加した。これによって Time-Codeを User FPGAで参照できるようにした。

*4 このタイミングを選んだ理由は、TIME DATA レジスタと時刻照合表の書込みタイミングをずらすためである。Time-Codeが 3で「次」から「今」に書き換えるのは、ASTRO-Hと同じ仕様でもある。

*5 ある瞬間のレジスタなどの値をコピーしておくこと。バス経由でメモリ領域に書込みをするとき、その瞬間の値を記録したい場合は、カウンタなどの値が書込み時間中に変化してしまう可能性があるので、ラッチした値を書き込むようにする。

*6 http://www.shimafuji.co.jp/を参照

Page 42: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

34 第 5章 SpaceWire搭載機器への実装

2010/2/18 1

Use

r N

ode

RM

AP

IP c

ore

Ext

. B

us

SD

RA

MC

ontr

olle

r

Spa

ceW

ire

IP c

ore

Ext

erna

l B

us I

/FT

ICou

nter

Mod

ule

TIR

egis

terM

odul

e

Loc

alC

ount

erM

odul

e

Tim

eLat

chM

odul

e

Spac

eWir

eF

PG

AU

ser F

PG

A

SpWch1

Eve

ntTr

igge

r(C

MO

SIn)

Tick

Out

Tim

eOut

(6)

(aux

)

Bus

Arb

iter

Bus

Arb

iteriB

us_B

usI/

F

Eve

ntT

imeM

odul

eE

vent

Tim

eReg

iste

r

TIL

atch

Reg

iste

r(32

)

LTL

atch

Reg

iste

r(32

)

Loc

alTi

me

Cou

nter

(32)

TIN

extR

egis

ter(

26)

TIP

rese

ntR

egis

ter(

26)

TIM

E_D

ATA

Cou

nter

(26)

(Lat

ch S

igna

l :

whe

n Ti

me-

Cod

e=3)

(cou

nt-u

p w

hen

Tim

e-C

ode=

0)

Lat

ch

Latch

(Lat

chSi

gnal

)

Latch

SD

RA

M16

MB

ytes

(Lat

ch s

igna

l: w

hen

Tim

e-C

ode=

0)

(to

SDR

AM

acr

oss

Bus

)

(to

SDR

AM

acr

oss

Bus

)

(to

TIN

extR

egis

ter

acro

ss B

us)

Tim

eCod

e64H

zSen

dMod

ule

Spac

eWir

eF

PG

AU

ser F

PG

A

SpWch1G

PS 1

0MH

z(C

MO

SIn)

Tick

In_O

utS

pace

Wir

eIP

cor

e

Tim

e M

aste

r

Tim

e C

ount

er(6

)

Tim

eIn_

Out

(6)

SpaceWireLink

iBus

_Bus

I/F

iBus

_Bus

I/F

iBus

_Bus

I/F

iBus

_Bus

I/F

Latch

iBus

_Bus

I/F

・・・TI register ・・・LocalTimeregister

図 5.6 SpaceWire Digital I/O board の SpaceWire FPGA と User FPGA に実装したモジュー

ルのブロック・ダイアグラム。矢印の緑は FPGA の内部のバスに関する信号および信号線、赤は

FPGAの外部との入出力やインターフェースからの入出力を示す。水色の四角は TIに関するレジス

タ、オレンジの四角は LocalTimeに関するレジスタを示す。

Page 43: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

5.4 時刻付けに用いる各機能の動作確認実験 35

5.4 時刻付けに用いる各機能の動作確認実験

前節で述べたように、我々は Time Master や User Node の FPGA ロジックを新たに設計した。そ

こで、この FPGAロジックが期待される動作をしているか確認した。本節の実験の目的は、(1) Time-

Master で期待される Time-Code と Tick が出力されているか、(2) User Node で Time-Code が受信

できているか、さらに、(3) SDRAMに書き込むデータは正しく書きこまれているか、確かめることで

ある。

5.4.1 実験セットアップ

Time Masterと User Node両者の SpaceWire port (ch1)を SpaceWireケーブルで接続した。今回

はロジックのみの確認実験であるため、GPS 受信機 (GPSR) は使用せず、代わりに GPSR からのク

ロックを模擬した 10 MHzの階段波を用いた。DIOボードの CMOS Outから Tick信号と Time-Code

の時刻部分 6 bitを出力し、デジタル入力をもつオシロスコープで可視化した。

Clock Generator (TECHNOLAND CORP. N-TM 203)から出力される TTL信号は振幅 +5 Vで

あるため、DIO boardの LVCMOS (LVTTL : +3.3 V) にそのまま入力できない。そのため、抵抗を間

にはさみ電圧降下させ、3.3 Vに調節した。

Clock Gen.

DIO board(Time Master)

DIO board(User Node)

(CMOS In)

LVTTL変換(抵抗)

SpaceWire

Oscilloscope

Digitalx 6 bit Digital

x 6 bit

AnalogTime-Code

Tick

Time-Code(CMOS Out)(CMOS Out)

図 5.7 確認用の実験セットアップ。GPS 10 MHzクロックの代わりに 10 MHzの矩形波発生装置を使用した。

Page 44: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

36 第 5章 SpaceWire搭載機器への実装

5.4.2 結果

前述の目的 (1),(2),(3)を行うためには、それぞれ順に下記の (a),(b),(c)の実験を行う必要がある。こ

の節では、それぞれの実験結果をまとめる。この節では、(a) Time Master : Time Codeを 64 Hzで送

信、(b) User Node : Time Codeを 64 Hzで受信、(c) User Node : TIと LocalTimeの比較表の記録

を確認した実験の結果をまとめる。

(a) Tickと Time-Codeの出力確認

まず、Time Masterの「TimeCode64HzSendModule」が、期待される Tickと Time-Codeの時刻を

生成していることを確認した。図 5.8はオシロスコープで確認した Tickと Time-Codeの中身のようす

である。Tickは Time-Codeが送信されるときに “1”であることが規定されていた (2.2節)が、そのと

おりに出力されていた。

図 5.8 Time Masterの Tickと Time-Codeの出力タイミングの確認。黄色は模擬 GPS 10 MHz

クロックを、水色と紫色がそれぞれ User FPGAが出力している Tickと Time-Codeの時刻 (16進

数)を示している。

次に、Time-Code の時刻がおよそ 15.6 ミリ秒周期すなわち 64 Hz で1ずつカウントアップし、16

進数で 0x00 – 0x3F(10 進数で 0~63) まで回りきったら、次はまた 0 に戻ることを確認した。図 5.9

はオシロスコープで確認した Time-Codeのカウントアップのようすである。Time-Codeが 16進数で

0~3F(10 進数で 0~63) までカウントアップし、次はまた 0 に戻っていた。また、64 Hz で安定した

Time-Codeが出力されていた。

(b) Time Masterで生成した Time-CodeがUser Nodeで正しく受信されていることの確認

さらに、Time Master から配信された Tick と Time-Code の時刻が、UserNode で、正しいタイミ

ングで正しい時刻データが受信できているかを確認した。図 5.10 はオシロスコープで確認した Time

Masterと User Nodeの Time-Codeカウントアップのようすである。両者ともに Time-Codeが 16進

数で 0x00 – 0x3F(10 進数で 0~63) までカウントアップし、次はまた 0 に戻っていた。また、およそ

15.6 ミリ秒周期すなわち 64 Hzで Time-Codeが送受信できており、そのタイミングも同じであった。

Time Masterのほうが User Nodeよりも Time-Codeが 1大きいのは、Time Masterの User FPGA

から出力されている TimeInは次の Tickで出力する Time-Codeと、User Nodeの User FPGAから出

力されている TimeOutは受け取った Time-Codeとを比較しているからである。つまり、Time Master

Page 45: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

5.4 時刻付けに用いる各機能の動作確認実験 37

図 5.9 Time Master における Time-Code のカウントアップ確認。色の別は図 5.8 と同じ。黄色

はクロックより大きい周波数のビートが見えている

図 5.10 Time Master と User Node の Time-Code を比較したもの。黄色は模擬 GPS 10 MHz

クロックを、水色が User Nodeの User FPGAが SpaceWire FPGAから受信した Tickを示して

いる。また、紫色の上 (左)二桁が Time Masterの User FPGAが出力した Time-Codeを、下 (右)

二桁が User Nodeの User FPGAが受信した Time-Codeの時刻 (16進数)を示している。黄色は

クロックより大きい周波数のビートが見えている

と User Nodeで送受信されている Time-Codeの値は同じだったことが確認できた。

Page 46: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

38 第 5章 SpaceWire搭載機器への実装

(c) User Nodeで TIと LocalTimeの照合表が SDRAMに記録されていることの確認

最後に、User Node で、TI と LocalTime が正しく生成され、これらを照合したデータが正しく

SDRAMに書き込まれていることを確認した。

図 5.11は、SDRAMを SpaceCube 1を用いて読みだしたデータをWindows PCのエミュレーター

越しに見た画面である。TI は、Time-Codeが 0(ゼロ)のときにラッチしたものを書きこんでいるので、

2進数にして下 6桁がすべて 0(ゼロ)になっていた。また、上 26桁は TIME DATAを示しており、1

ずつカウントアップしていた。

図 5.11 TIと LocalTimeの照合データを SDRAMから読みだしたところ。

Page 47: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

39

第 6章

時刻精度の測定

これまで、ASTRO-H 衛星における時刻付け手法を SpaceWire 搭載エレクトロニクスに実装する方

法と、その機能の動作確認を行った結果を示した。この章では、この時刻付け手法における時刻精度を

悪化させる、(1) Time-Codeのジッタ、(2) ローカルクロックの時刻安定度を実測した実験について詳

細に述べる。さらに、(1)と (2)をトータルで考えた時刻精度を測定した実験について述べる。最後に、

実験結果から、ASTRO-Hに要求されている時刻精度を達成できるか議論する。

6.1 Time-Codeのジッタ測定

6.1.1 概要

Time-Codeのジッタは、4.2.1節で述べたように、ASTRO-H衛星の時刻付けにおいて User Nodeで

再合成される TIの時刻精度を悪化させる。したがって、本論文で検証する時刻付け手法を用いたとき、

イベントの時刻精度に影響する。ここでは、SpaceWire エレクトロニクスに ASTRO-H と同様の時刻

配信機能を実装し (前章参照)、Time-Codeのジッタを測定する実験について述べる。

6.1.2 実験セットアップと実験方法

図 6.2 は、実験のセットアップである。10 MHz は TTL 規格 (0 ~ +5 V) の正弦波だが、DIO

boardに入力するには LVTTL規格 (0 ~ +3.3 V) の矩形波に成形する必要がある。そこで、Discrim-

inater (LeCroy MODEL 623B) で NIM 規格の階段波に成形し、さらに、Gate Generator (TECH-

NOLAND CORP. N-TM 203)で TTL規格の矩形波に成形する方法をとった。Time Masterは成形さ

れた 10 MHzクロックから 64 Hzでカウントアップする Time-Codeを生成し、SpaceWireポートへ送

信する。このとき生成された Tickは CMOS Outから出力される。User Nodeは、SpaceWire リンク

を通して Time Masterが生成した Time-Codeを受け取り、内部信号の Tick(TICK OUT)を CMOS

Outへ出す。Time Masterと User Nodeから出力された Tickは、Gate Generator (Phillips Scientific

MODEL 794)を通して LVTTL規格から NIM規格に変換されて、Time-to-Analog Converter(TAC)、

そして Pocket MCAへ入力される。TACや Pocket MCAは、Time-Codeのジッタを測るのに重要で

あるので、42ページに詳細を述べる。

第 5 章でも述べたように、SpaceWire 搭載エレクトロニクスとして SpaceWire Digital I/O board

(DIO board) と SpaceCube 1 を用いた。Time Masterは、第 5章で述べたままであるが、User Node

の FPGAでは、極力 Time-Code以外のジッタが入らないよう、Time Masterと同じ内容の SpaceWire

FPGAから受信した Tickをそのまま CMOS Outに出力するだけの構造になっている。また、本実験

では SpaceWireのリンクレートは 100 MHzに設定されていた。

Page 48: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

40 第 6章 時刻精度の測定

GPS AntennaGPS Antenna

[[FurunoFuruno AUAU--117A]117A]

Time Master

User Node

GPSR [Furuno GF8050] Shimafuji

SpaceCube

Shimafuji

SpaceWire DIO board

Windows PC

SpaceWireSpaceWire

(100 MHz link)(100 MHz link)

Oscilloscope

Power Supply(for DIO boards)

図 6.1 実験セットアップの写真

GateGen.

DIO board(Time Master)

DIO board(User Node)

10 MHz LVTTL(CMOS In) LVTTL変換変換変換変換

(抵抗抵抗抵抗抵抗)

Spac

eWir

e

Discri-minator

GPSR(FurunoGF8050)

TTL10 MHz

TTL10 MHz

Antenna(Furuno

AU-117A)

Windows PC

GateGen.

Tick(CMOS Out)

Tick(CMOS Out)

TAC

Pocket MCA

START

STOP

LVTTL

LVTTL

NIM

NIM

NIM

SpaceCube 1(Router)

Spac

eWir

e

※HopなしのときはRouterを挟まない

図 6.2 Time-Codeのジッタ測定セットアップ

Page 49: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.1 Time-Codeのジッタ測定 41

GPSR および GPSアンテナ

過去のX線天文衛星の地上実験で実績のある古野電機製の GPSRを使用した。我々が実験に用いたの

は、GPSR : Furuno GF8050 (図 6.3左) と GPSアンテナ : Furuno AU-117A (図 6.3右) である。

Furuno GF8050 は、恒温槽付発振器と、クロック生成機能をもつ FPGA から構成される。後者の

FPGAには、GPSアンテナより受信した正秒のタイミング (1 pps) から 10 MHzクロックを生成する

ロジックが焼きこまれている。電源投入後、GPSアンテナから GPS衛星の電波を受信し、一定時間 (約

30分~1時間)GPS衛星を捕捉した状態が続くと、出力クロックの時刻精度 (< 300 nsec) が安定してく

る。もし GPS衛星を 1機も捕捉できない状態が続いても、FPGAロジックが GPS時刻のトレンドか

らおおよその補正をする仕組みになっている。どの状態に遷移したかどうかは、基板に配置された LED

の点灯パターンからわかるようになっている。

アンテナは、ベランダに出し、できるだけ広い空をとらえられるように設置した。図 6.4に示すよう

に、現在稼働中の GPS衛星は東京の全天で同時に 10~15台程度見える。しかし、天候が荒れると GPS

衛星の電波が厚い雲にさえぎられてしまう。このような場合、GPSRが高い精度のクロックを出せない。

我々は、つねに GPSRから高い精度のクロックを得るため、晴天もしくは曇天の日のみ実験を行った。

図 6.3 (左) GPSR : Furuno GF8050、(右) GPSアンテナ : Furuno AU-117A

図 6.4 ある日の GPS衛星の軌道解析。東京の上空 (水色円内)で各 GPS衛星が 1時間のあいだに

どのような軌道をたどるかを示している。凡例は GPS衛星の番号を示す

Page 50: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

42 第 6章 時刻精度の測定

TAC (Time-to-Analog Converter)

TACは、Time-to-Pulse-height converterとも呼ばれ、2つの信号の時間差を電圧に変換する。

我々が用いたのは、ORTEC 467 Time-to-Pulse Height Converter/SCAで、“START”と “STOP”

に入力した信号の時間差を電圧に変換する仕組みになっている。このとき、電圧と時間差は線形の相

関をもっている。電圧と時間差の関係を変えるパラメータとして、Range (測定可能な最大時間幅)、

Multiplier (倍数)がある。たとえば我々の実験では Range 0.4 µsec、Multiplier ×10 だったので、信

号の時間差∆tと TACの出力信号 VTAC の関係は、

∆t

VTAC=

0.4× 10 µsec

Max 10 V(6.1)

となる。ただし、最大値付近は電圧と時間差の線形性が低い。実験ではこのことを考慮して、適切な

GainとMultiplierを選んだ。

Pocket MCA

MCA (Multi Channel Analyzer) は、ある一定の電圧幅をひとつのチャンネルとして、電圧値をチャ

ンネルという単位に変換する。チャンネルと電圧は線形の相関をもつ。我々は、Amptek Pocket MCA

8000Aを用い、Amptek ADMCAというソフトウェアでチャンネルを横軸とした TAC出力の電圧値の

ヒストグラムを作成した。我々の実験での ADMCAおよび Pocket MCAの設定から、MCAに入力さ

れる信号電圧 VMCA と電圧とMCAチャンネル (ch)の比は、

Channel

VMCA=

Max 4096 ch

Max 5 V(6.2)

であった。(6.1)式と (6.2)式から、TACに入力した 2信号の時間差をMCAのチャンネルの値NChannel

から計算すると、VTAC = VMCA なので、

∆t =∆t

VTAC÷ Channel

VTAC×NChannel ≃ 0.49 nsec×NChannel (6.3)

6.1.3 結果

ルーターなし (以下、hopなし)と、1つルーターを挟んだとき (以下、1 hopあり) それぞれの Time

Masterと User Nodeの Tickの時間差を、前に述べたようなセットアップで測定した。なお、測定中、

SpaceWireリンクでは、データ送信を行わなかった。すなわち、Time-Code以外で通信されるパケット

は NULLのみであった。

図 6.5は、MCAから得られた時間差のヒストグラムである。6.3式を用いてMCAチャンネルから時

間差に変換した。ジッタは図 6.5では、ヒストグラムの裾の左端から右端までの x軸方向の距離として

計算すると、hopなしと 1 hopありのときの固定遅延とジッタの値は、表 6.1のようになった。

固定遅延 (nsec) ジッタ (nsec)

hopなし 160 90

1 hop 410 160

表 6.1 遅延時間とジッタの測定値

6.1.4 考察

Time-Codeのジッタ値

Page 51: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.1 Time-Codeのジッタ測定 43

0

500

1000

1500

2000

2500

3000

3500

4000

4500

0 100 200 300 400 500 600 700

Cou

nts

time delay (nsec)図 6.5 ジッタ測定の結果を示すヒストグラム。赤は hopなし、緑は 1 hopあり。

Time-Codeのジッタは、既に第 4章で、no hopのときに 80 nsec、1 hopのときは 2倍の 160 nsec

と見積もった。実験結果は、no hop のときだけ 10 nsec 大きく、no hop のときにジッタは 1 hop の

2 倍になっていなかった。原因として、Time-Code のジッタのほかに、FPGA 内で生じる信号線由来

の時刻揺らぎ (これもジッタと呼ぶことにする) が TACで測定されていることが考えられる。本来は、

Time-Codeのジッタそのものに近い値を測るためには、Time Masterと User Node両者の SpaceWire

FPGAから出力される Tickを TACに入力しなければならなかった。しかし、今回は技術的な問題か

ら、Time Masterでは User FPGAで生成した Tickを使用した。そのため、純粋な Time-Codeのジッ

タのみを測ることができなかった可能性がある。

ここで、hopなしのときの Time-Codeのジッタを σtc、その他のジッタを σother と置く。Time-Code

のジッタは n hop のとき (n + 1)σtc、σother は hop の数に限らず同じだと仮定すると、本実験セット

アップの TACで観測される全ジッタ σall は、

hopなし : σallnohop = σtc + σother

1 hop : σall1hop = 2σtc + σother

上の 2式の σall に表 6.1の実測値を代入して解くと、

σtc = 70 nsec, σother = 20 nsec (6.4)

である。よって、hopなしのときの Time-Codeのジッタは 70 nsec、1 hopのときの Time-Codeのジッ

タは 140 nsecである。

Time-Codeは NULL (第 2章参照)の通信中に送信されていた (24ページ 図 4.7の Data Character

(10 bit) が NULL (8 bit) になったと考えればよい)。なので、1 bit 分のジッタは 70/8 = 8.8 nsec と

なる。これが Time-Code に割り込みする Character のなかで、Time-Code 以外で最も大きい Data

Characterは 10 bitなので、予想されるジッタは 88 nsecとなる。

Page 52: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

44 第 6章 時刻精度の測定

ジッタのヒストグラムの確率分布

我々の実験では、Time-Codeは NULL(8 bit)の通信中に 100 MHzリンクレートで送信されていた。

この条件での Time-Codeジッタのヒストグラムの確率分布をシミュレーションすると、図 4.8 (25ペー

ジ) のようになる。この確率分布の形状は、実測したヒストグラム (図 6.5)と良く合っている。

ASTRO-Hにおける Time-Codeジッタ

我々の実験で、SpaceWireのリンクレートは 100 MHzであった。ASTRO-Hの場合、電力などの観

点から、SpaceWireのリンクレートは現在 20~50 MHzになることが検討されている。Time-Codeの

ジッタはリンクレートに反比例する (式 (4.1)を見よ)ので、リンクレートが遅い (値が小さい)とジッタ

は大きくなる。

ASTRO-Hのリンクレートがネットワーク全体にわたって 20 MHzだったとき、1 hopごとの Time-

Code のジッタ (NULL のみ転送しているとき) は、100 MHz リンクにおける Time-Code のジッタが

70 nsecだったので、

70 nsec× 1

20 MHz/100 MHz= 350 nsec

さらに、Time Master (SMU) から User Node まで介するルーターの数も考えなくてはならない。

SpaceCard で合成した TI を MIO board で参照して時刻 HK に用いるとすると、MIO board におけ

る TI の精度は SpaceCard で受け取る Time-Code のジッタに依存する。現在の計画では、SMU から

SpaceCardまでもっとも多くて 10台のルーターを通るので、

350 nsec× 10 = 3.5 µsec

もし、SpaceWire リンクでかならずデータが通信されているとき (Data Character 10 bit の間を

Time-Codeが送信されるとき)には、

88 nsec× 1

20 MHz/100 MHz× 10 = 4.4 µsec

が SpaceCardで受け取る Time-Codeのジッタになる。

Page 53: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.2 時刻安定度の測定 45

6.2 時刻安定度の測定

6.2.1 概要

第 4 章で提案した非同期クロックを用いた時刻 tick 内挿法では、Time-Code のジッタ以外にも

LocalTimeの時刻安定度も時刻精度を悪化させる要因となる。LocalTimeはMIO boardの水晶発信器

の周波数安定度そのものである。水晶発信器の周波数は、温度変化によって安定度が悪化する傾向にあ

る。この現象は「温度ドリフト」と呼ばれている。そこで我々は、温度ドリフトに対して LocalTimeの

時刻安定度がどのように変化するか測定した。ただし、後述の測定手法上、Time-Codeのジッタ込みで

の測定となる。

実験はおおまかに以下の 2つに分かれる。

1. 常温 : 温度変化をとくに制御しない。したがって温度は気温と共に変動。

2. 一定温度 : 恒温槽 (後述)を使って温度を一定に保った。

6.2.2 実験セットアップと実験方法

実験のセットアップを図 6.6に示す。GPSクロックを LVTTL矩形波にし、Time Masterでそれを源

信として Time-Codeを生成・送信する過程は前節と同じである。User Nodeには、5.3節の SpaceWire

FPGAと User FPGAを用いたので、Time Masterから Time-Codeを受け取ると SDRAMに TIと

LocalTimeの照合表が書き込まれていく。また、2枚の DIO board間の SpaceWireリンクにルーター

を挟まなかった。実験 2では、User Nodeの DIO boardを恒温槽に入れた。

GateGen.

DIO board(Time Master)

DIO board(User Node)

10 MHz LVTTL(CMOS In) LVTTL変換変換変換変換

(抵抗抵抗抵抗抵抗)

Spac

eWir

e

Discri-minator

GPSR(FurunoGF8050)

TTL10 MHz

TTL10 MHz

Antenna(Furuno

AU-117A)

NIM

SpaceCube 1

SpaceWireRS232C Windows PC

(Emulator)

図 6.6 時刻安定度測定実験のセットアップ

恒温槽

恒温槽とは、中の温度を制御できる装置のことである。我々が用いた恒温槽は温度が安定するまで 30

分ほどかかるので、はじめ 30分間は定値運転で運転し、測定はしなかった。その後は、およそ 1時間の

間、恒温槽の温度計で計測した、恒温槽内の温度安定度は ± ∼0.1 Kであった。運転開始から 1時間半

後は、ほぼ安定した温度であった。

Page 54: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

46 第 6章 時刻精度の測定

6.2.3 結果 1:常温下での時刻安定度

まず、とくに恒温槽を使わず、常温のもとで時刻安定度を 2回測定した。

1回目の測定

1回目の測定時間はおよそ 23時間 (TI=5.3×106 相当)だった。測定開始時刻は午後 11時、測定終了

時刻は午後 10時だった。また、この日の気温変動は外気で ± ∼5℃だった。

図 6.7は、1回目の測定を行った結果である。横軸は  TI で差し渡し一日ちかい変動を見ているため、

先の節のジッターには影響されないタイムスケールの変動をみた実験結果である。昼ごろもっとも高く

なり、未明にもっとも低くなるという一日の気温の変化と同期した LocalTimeのゆらぎがみられる。

p.m. 11:00 正午L

ocal

Tim

e

1 x 109

8 x 108

6 x 108

4 x 108

2 x 108

20

0

-20Res

idua

l

TI

1 x 106 2 x 106 3 x 106 4 x 106 5 x 1060

0

図 6.7 ある日の常温下での時刻安定度。横軸は User Nodeで合成した TI、縦軸は LocalTime、下

段は、データ点を一次関数で fitしたときの残差を示している。

Page 55: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.2 時刻安定度の測定 47

2回目の測定

2回目の測定時間はおよそ 24時間 30分 (TI=5.6×106 相当)だった。測定開始時刻は午後 6時、測定

終了時刻は午後 6時 30分だった。また、この日の気温変動も外気で ± ∼5℃だった。

図 6.8は、2回目の測定を行った結果である。こちらも一日の気温の変化と同期した残差のゆらぎがみ

られるが、やや安定度が小さい。

p.m. 6:10 正午日付変L

ocal

Tim

e

1 x 109

8 x 108

6 x 108

4 x 108

2 x 108

20

0

-20Res

idua

l

TI

1 x 106 2 x 106 3 x 106 4 x 106 5 x 1060

0

図 6.8 図 6.7と別の日に測定した常温下での時刻安定度。凡例やラベルは図 6.7と同じ。

Page 56: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

48 第 6章 時刻精度の測定

6.2.4 結果 2:一定温度での時刻安定度

我々は、前節で測定した時刻安定度の変化が温度によるものかを確かめるため、温度を一定に保ったと

きの時刻安定度を測定した。User Nodeの水晶発信器の温度を一定に保つ必要があるので、User Node

のみを恒温槽に入れた。

図 6.9 は、温度 25 ℃で 6 時間、定値運転したときの時刻安定度を示している。温度変動がない場合

は、ほぼ時刻は安定しており、LocalTimeの分解能 (80 µsec)の以上の安定度であることがわかる。

0.4 x 106

2.0 x 108

1.0 x 108

3

0

0.8 x 106 1.2 x 106

TI

Loc

alT

ime

Res

idua

l

-3

3.0 x 108

図 6.9 一定温度での時刻安定度。凡例やラベルは図 6.7と同じ。

Page 57: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.2 時刻安定度の測定 49

6.2.5 考察

結果 1と結果 2の比較から、LocalTimeの時刻安定度は、温度の変化に影響されることがわかる。こ

れは、水晶発振器の振動周波数が、温度とともに変化するからである。

結果 1の常温下では、1回目の測定 (図 6.7)において 23時間の測定時間に対し、残差のゆらぎ幅およ

そ LocalTime 30カウント分なので、

30× 80 µsec = 2400 µsec

よって、1秒あたりの LocalTimeのゆらぎ幅 (時刻安定度)は、

2400 µsec÷ (23 hours) = 2.9× 10−8 sec/sec

となる。同様にして、2回目の測定 (図 6.8)においては、3.6× 10−8 sec/secとなる。もし水晶発振器の

ドリフトの振舞いが ASTRO-H搭載品と同じならば、要求時刻精度を Y sec、TIと LocalTimeのサン

プル周期を P secとすると

Y > (3.6× 10−8 sec/sec)× P

となる Pを選べばよい。よって Y = 30 µsecから、

P < 200 sec

が見積もれる。次の節では、さらに詳細な測定から、適切な P を見積もるための実験について述べる。

測定時間 (hours) 測定時間中の LocalTimeゆらぎ (µsec) 時刻安定度 (sec/sec)

1回目 23 2400 2.9× 10−8

2回目 24.5 3200 3.6× 10−8

表 6.2 時刻安定度の測定結果のまとめ

Page 58: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

50 第 6章 時刻精度の測定

6.3 TIと LocalTimeのサンプル周期と時刻安定度の測定

6.3.1 概要

これまで、時刻精度とは Time-Codeのジッタと LocalTimeの時刻安定度に影響されるので、その両

者を実測する実験を行ってきた。特に後者は、時間とともに変動する温度に大きく影響されていた (温度

ドリフト)。LocalTimeの時刻安定度は、表 6.2に示す通り、1秒あたり 40 nsec程度であった。すなわ

ち、このゆらぎのトレンドを掴みさえすれば、時刻精度に影響するパラメーターは Time-Codeのジッタ

のみになる。

LocalTimeの刻みの速度のトレンドを正確に追うためには、TIと LocalTimeの照合表 (時刻 HK)を

できるだけ細かく記録すればよい (以下、時刻 HKを記録する時間的間隔を「サンプル周期」と呼ぶこと

にする)。しかし、軌道上では SDRAMの容量は限られているし、SpaceWireリンクで転送できるデー

タ量の制限の中で他のデータなどを圧迫しないようにしなくてはならない。

我々は、適切なサンプル周期を選ぶため、温度安定度とサンプル周期を変えたときの時刻精度を実測

した。この節では、この実験の結果と考察をまとめる。

6.3.2 方法

サンプル周期と時刻精度の相関は、サンプル周期 P (sec)の時間のあいだ時刻がどれだけゆらいだか

を調べることでわかる。時刻安定度を D (sec/sec)とすると、ゆらぎは、D × P となるはずである。よ

り具体的には、まず、時刻 HK(TIと LocalTimeの照合データ)をできるだけ細かくとっておく。次に、

調べたいサンプル周期ごとに時刻 HKを選び出す。そして、選び出した 2データ間を一次関数で内挿す

る。この関数と、細かくとっておいた時刻 HKとの残差から、時刻のゆらぎを計算する。

6.3.3 実験セットアップと実験方法

実験セットアップは、前節の図 6.6と同じである。ただし、User Nodeは恒温槽に入れて温度変動を

制御した。また、今回は Time-Codeのジッタの影響も加味して測定するため、2枚の DIO boardの間

にルーターを挟んで (1 hop)の測定も行った。

User Nodeの User FPGAは、以下のように変更した。

サンプル周期

実際に SDRAMに記録するサンプル周期は、Time-Codeと同じ 64 Hz = 15.6 msec にした。(ある

サンプル周期の間の時刻安定度を測るときは、前述のようにした)

LocalTimeの分解能

LocalTimeの分解能は、これまで 80 µsecにしてきたが、今回はそれより小さな時刻精度を測るため、

DIO boardの水晶発振器の周期と同じ 1/(48 MHz) ∼ 20 nsecとした。

Page 59: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

6.3 TIと LocalTimeのサンプル周期と時刻安定度の測定 51

6.3.4 結果

User Nodeを恒温槽に入れ、槽内をある一定の温度安定度に保ったときの時刻安定度を測定した。そ

の際、

(1) 温度変化量は ±5 ℃,±10 ℃, ±20 ℃、

(2) 温度は 25℃を基準値とし、

(3) 温度変化のタイムスケールは ASTRO-Hで予想される周回周期 90分

とした。なお、見込まれる温度変化はミッション機器ごとに違うが、過去の経験から最悪でも ±20 ℃程

度と予想される。また、本節の実験において、ルーターは介さなかった。

図 6.10は、上記の環境下で測定したサンプル周期と時刻安定度の相関である。サンプル周期が粗くな

ると時刻安定度が悪くなるのは図 D.3と同様の結果である。サンプル周期の最大値 80秒は要求時間分

解能で LocalTimeが回りきるまでを基準としており、これ以上大きくするのはロジック設計面で適切で

ない。よって、サンプル周期 80秒が最悪の時刻安定度となる。一方で、温度変動値が大きくなると、時

刻安定度が顕著に悪化するのがわかる。したがって、80秒のサンプル周期かつ温度安定度 ±20 ℃にお

ける時刻安定度が最も最悪のケースである。

図 6.10 LocalTime の時刻安定度と温度変動値の相関。恒温槽内の温度変動値については、赤が

±5 ℃, 青が ±10 ℃, ±20 ℃を示している。縦軸、横軸に関しては、図 D.3と同じ。

6.3.5 考察

適切なサンプル周期

本実験から、適切なサンプル周期を定めることで DIO board の水晶発振器のドリフトの影響を小さ

くできることがわかった。ASTRO-Hの場合、Time-Codeのジッタは 6.1節で触れたとおり、1 hopご

とに 350 µsecだった。例えば、ドリフトの影響をこれより小さい範囲で収めるならば、サンプル周期を

10 sec以内にすればよい。

要求を満足するか

結果 2でも示したように、80秒のサンプル周期かつ温度安定度± ∼20 ℃における時刻安定度 1.3µsec

が最も最悪のケースである。これは Time-Codeのジッタ 4.4 µsecと合わせても、要求時刻精度 30 µsec

より良い。

Page 60: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

52 第 6章 時刻精度の測定

6.4 本章の結論

ASTRO-Hでの要求時刻精度を達成できるか

本章で述べた実験から、時刻 tick 内挿法における時刻精度 ∆t は、Time-Code のジッタ σtc(sec)

と、LocalTime の時刻安定度 D(sec/sec)、TI と LocalTime のサンプル周期 P (sec) その他のジッタ

σother(sec)から決まる。

∆t = σtc + σother +D × P

この式に実測値を代入 (σtc のみ ASTRO-H相当のものに置き換え)すると、

∆t = 1.8 µsec + 4× 10−8 sec/sec× P

ここで、σother は非常に小さい (20 nsec)ので無視した。∆tを ASTRO-Hに必要な時刻精度は 30 µsec

とすると、P = 600 sec となる。原理的には、ここまで遅いサンプル周期でも要求時刻精度を満たせる

はずだが、LocalTimeが回りきるまでに設定しなければならないので、最大でも P = 80 sec 程度にす

べきである。また、P =1 secで十分な時刻精度を達成できることが確認できているが、このサンプル周

期ならば他のデータなどを圧迫しない。

衛星搭載品の水晶発振器と DIO boardのとでは D が違うが、最大でも ± 20℃程度になる見込みで

ある。この場合における、最悪の時刻安定度は 1.3 µsec であり、Time-Codeのジッタと合わせても要

求時刻精度 30 µsecを満たす。すなわち、我々の提案した 非同期クロックを用いた時刻 tick 内挿法は、

P がいくつであっても (ただし P < 80 sec)、かならず ASTRO-Hの要求時刻精度を満たす。

Page 61: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

53

第 7章

まとめと今後

パルサーなどの観測をするため、ASTRO-H衛星に必要な時間分解能は 10 µsec、時刻精度は 30 µsec

程度である。しかし、ASTRO-H 衛星で採用予定の SpaceWire を用いて配信される衛星時刻 (TI) で

は、観測機器に必要な時刻精度を達成できない。そこで、我々は、高い時刻精度を得るための方法とし

て、ASTRO-Hのネットワークの末端機器にまで実装することができる、非同期クロックを用いた時刻

tick 内挿法を提案した。これは、観測機器の FPGA搭載ボードで TIと別に自身の水晶発振器に同期し

た細かい刻みの時刻カウンタ (LocalTime)をもち、TIと LocalTimeを照合することで高い時刻精度を

得る方法である。

さらに、我々は、自ら提案した非同期クロックを用いた時刻 tick 内挿法を実際に SpaceWire搭載機

器に実装して、時刻精度を測定する実験を行った。時刻精度は、Time-Code のジッタ、および TI と

LocalTimeの照合データをとるサンプル周期と LocalTimeの時刻安定度によって決まる。実験結果か

ら、Time-Codeのジッタは、ASTRO-Hで採用されるネットワークや機器でおよそ 4.4 µsec以下であ

ることがわかった。さらに、サンプル周期は LocalTimeが回りきる 80 sec以内にすれば、要求時刻精

度が達成できることが見積もれた。以上から、我々の考案した方法で、ASTRO-Hの観測機器に必要な

時刻精度を達成できることがわかった。

今後は、以下のような作業が必要である。

衛星搭載品での実験

まず、我々の採用した 非同期クロックを用いた時刻 tick 内挿法が ASTRO-H衛星の観測機器に搭載

でき、実際に必要な時刻精度が得られることを確かめるため、ブレッド・ボード・モデル (BBM)品での

実験が必須である。今後、我々は、MIO boardを使った同様の実験を行っていく予定である。また、実

際に、地上で衛星搭載品で衛星全体のネットワークを構築して、時刻配信や時刻付けの試験を行うこと

も必要である。

GPS衛星の捕捉状況と時刻精度

本論文で我々が下した結論には、「SMU で生成される TI(TIME DATA + Time-Code) の絶対時刻

精度は無限小」という仮定があった。しかし、これは GPS衛星を十分な数だけ捕捉している場合に限ら

れる。

ASTRO-Hで採用予定の GPSRは、GPS衛星を 1機も捕捉していない時間帯の前後数分間はクロッ

クを出さない仕組みになっており [25]、この間は SMU の内部クロックと同期した衛星時刻 (TIME

DATA, Time-Code) を配信することになっている。SMUの内部クロックは、当然ながら、温度変動で

ドリフト (6.2節) を起こすので、時刻精度は GPS捕捉時より悪くなることが懸念される。

GPS 衛星を捕捉しているかいないかは GPSR が出すテレメトリにあるフラグから判断できる。こ

Page 62: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

54 第 7章 まとめと今後

れを SMU で参照できるようにし、衛星時刻の精度が信頼できないことをテレメトリに出す必要があ

る。また、GPS衛星を捕捉していない場合の衛星時刻の精度を推定するため、SMUの水晶発振器に温

度計を取り付けて温度ドリフトの様子をテレメトリ出力するなどの方法が要求される。このためには、

SpaceCube2を使った地上実験で、あらかじめ SMUの水晶発振器の温度ドリフトと衛星時刻精度の相

関を実測しなくてはならない。また、GPS衛星の可視解析や、GPS衛星の捕捉数と絶対時刻精度の関

係などを明らかにしていくことも必要である。

Page 63: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

55

付録 A

水晶発振器のドリフトの確認実験

TI と LocalTime を照合する 非同期クロックを用いた時刻 tick 内挿法 (第 4 章や第 6 章を参照) で

は、時刻精度が LocalTimeの時刻安定度に依存する。温度変動に対して、時刻安定度がどう変わるか、

は第 6章で議論してきた。

「温度変化」という現象は、3つのパラメータで表現できる。(1) 温度の変化分はいくらか。(2) 何

度を基準に変化したのか。(3) どのくらいのタイムスケールで変化を起こしたか。 本実験では、とくに

(2)をクローズアップした実験を行った。

A.1 実験セットアップと方法

6.2.2節に同じ。恒温槽は、プログラム運転 (槽内の温度変化の様子を設定して運転) を行った。この

温度変動の様子を A.1に示す。

time (hours)

Tem

pera

ture

(

℃)

3 240

40

0

6

5

10

図 A.1 階段状温度変動での実験における恒温槽内の温度変動

Page 64: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

56 付録 A 水晶発振器のドリフトの確認実験

A.2 結果

図 A.2は、図 A.1の温度変動下で測定した TIと LocalTimeのトレンドである。温度が変化した時間

に残差の振る舞いも変化していた。また、残差の傾きは低温の方が急になっていた。

2 x 106

1.6 x 109

1.0 x 109

0.4 x 109

200

0

-200

4 x 106 6 x 106 8 x 106

TI

Loc

alT

ime

Res

idua

l

0℃ 5℃ 10℃ 15℃ 20℃ 25℃ 30℃35℃ 40℃

図 A.2 図 A.1に示す温度変動下での時刻安定度。凡例やラベルは図 6.7と同じ。

A.3 考察

前節の結果から、低温のほうが、同じ温度変動をしても、水晶発振器の周波数が大きく変わることが

わかった。すなわち、温度変動のパラメータのひとつである「基準温度」が LocalTimeの時刻安定度に

影響する。よって、高い時刻安定度を得るためには、できるだけ低温を避け、温度の変化分が少ない環

境にMIO boardを配置することが望ましい。

Page 65: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

57

付録 B

イベント時刻付け機能の確認

実際にイベントに時刻付けをする機能の実装は、第 5 章で述べた。この機能を使った実験について

は [26] に詳細が書かれる予定なので、ここではおおまかな機能について確認した実験を載せる。

B.1 セットアップ

実験のセットアップを図 B.1 に示す。イベント信号の代わりに、Gate Generatorからの信号を利用

した。Trigger Switchを押すと、LVTTL信号が User Nodeに入力される。

User Nodeの SDRAMに記録されたイベントの時刻データ (LocalTime)から、時刻 HKデータによ

る内挿 (第 4章参照) で TI相当の時刻を求めた。内挿を行うための、Perlスクリプトを作成した。スク

リプトの詳細は B.3節を参照されたい。

GateGen.

DIO board(Time Master)

DIO board(User Node)

LVCMOS

LVTTL変換(抵抗)

Spac

eWir

e

Discri-minator

GPSR(FurunoGF8050)

TTL10 MHz

TTL10 MHz

アンテナSpaceCube1

RS232C Windows PC(Emulator)

LVCMOS

LVTTL変換(抵抗)

GateGen.

TTL

Trigger Switch

図 B.1 イベント時刻付け機能の確認実験セットアップ

Page 66: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

58 付録 B イベント時刻付け機能の確認

B.2 結果

LocalTime の時間分解能は 80 µsec とした。およそ 5 秒おきに手で Trigger Switch を 3 回押した。

結果を表 B.1に示す。TIは 1 secで 64増えるので、データは 5秒間隔でとれていたことがわかる。

イベントの 推定した 前の TI 前の LocalTime 後の TI 後の LocalTime

LocalTime TI相当時刻 (時刻HK) (時刻HK) (時刻HK) (時刻HK)

655151 352.2236387374 320 648595 384 661616

724719 694.1648106904 640 713699 704 726720

784839 989.6677674526 960 778803 1024 791824

表 B.1 イベントの時刻と前後の時刻 HKデータ

Page 67: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

B.3 イベント時刻付けツールのソース・コード 59

B.3 イベント時刻付けツールのソース・コード

1 #!/ usr / bin / p e r l

2

3 #EVTTIME. p l

4 #==========

5 #2009 .11 . 06 − ver 1

6

7 i f (@ARGV != 3){8 pr in t ”Usage : \n” ;9 pr in t ” . / evtt ime . p l IN HK . dat IN EVT . dat OUT. dat\n” ;

10 pr in t ”−−−−−−−−−−\n” ;11 pr in t ”IN HK . dat = HK Data f i l e (must be in dec )\n” ;12 pr in t ”IN EVT . dat = EVT l i s t f i l e (must be in dec )\n” ;13 pr in t ”OUT. dat = EVT time tab l e Output\n” ;14 e x i t ( 0 ) ;

15 }16

17 # di sp l ay the T i t l e

18 pr in t ” evtt ime . p l running . . . \ n” ;19

20 # arguments

21 $hk = $ARGV[ 0 ] ; # HK data

22 $evt = $ARGV[ 1 ] ; # EVT data

23 $out = $ARGV[ 2 ] ; # Output data

24

25 open (EVT, ” $evt ” ) | | d i e ”can not open $evt . ” ;

26 open (FOUT, ”+>$out” ) | | d i e ”can not open $out” ;

27

28 #−−−−−−−−−−−−−−−−−−−−−−−−−−−−29 # make HK & EVT data in dec .

30 #−−−−−−−−−−−−−−−−−−−−−−−−−−−−31

32 $hk t i p = hex ( f f f f f f f f ) ;

33 $hk l t p = hex ( f f f f f f f f ) ;

34

35 whi le (<EVT>){36 i f (/ (\S+)/){37 $ e v t l t = $1 ;

38

39 open (HK, ”$hk” ) | | d i e ”can not open $hk . ” ;

40

41 whi le (<HK>){

Page 68: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

60 付録 B イベント時刻付け機能の確認

42 i f (/ (\S+)\ s+(\S+)/){43 $hk t i = $1 ;

44 $hk l t = $2 ;

45

46 i f ( $hk l t > $ e v t l t && $hk l t p < $ e v t l t ){47

48 # assume l i n e a r func t i on : y=ax+b

49 $a = ( $hk l t − $hk l t p )/ ( $hk t i − $hk t i p ) ;

50 $b = $hk l t p − $a ∗ $hk t i p ;

51 $ e v t t i = ( $ e v t l t − $b )/ $a ; # x=(y−b)/ a52

53 p r i n t f ( ”Event LocalTime : %6.1 f \n” , $ e v t l t ) ;

54 p r i n t f ( ” c a l c u l a t ed Event TI : %6.10 f \n” , $ e v t t i ) ;

55 pr in t ”Used HK data\n” ;56 pr in t ”−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n” ;57 pr in t ”HK LocalTime TI\n” ;58 pr in t ”−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n” ;59 pr in t ”Post $hk l t $hk t i \n” ;60 pr in t ”Pre $hk l t p $hk t i p \n” ;61 pr in t ”−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−\n” ;62 p r i n t f FOUT (”%6.10 f %6.10 f \n” , $ ev t l t , $ e v t t i ) ;

63 }64

65 #present va lue −> prev ious va lue

66 $hk t i p = $hk t i ;

67 $hk l t p = $hk l t ;

68 }69 }70 c l o s e (HK) ;

71 }72 }73

74 c l o s e EVT;

75 c l o s e FOUT;

Page 69: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

61

付録 C

Time Masterの User FPGAの VHDL

コード

Time Masterの User FPGAの VHDLコードを一部掲載する。

1 −−UserFPGA DIO . vhd

2 −−Time−Code 64HzSend Module

3

4 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−5 −−Dec l a ra t i on s o f L i b r a r i e s used in t h i s UserModule

6 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−7 l i b r a r y i e e e , work ;

8 use i e e e . s t d l o g i c 1 1 6 4 . a l l ;

9 use i e e e . s t d l o g i c a r i t h . a l l ;

10 use IEEE . s t d l o g i c un s i g n ed . a l l ;

11

12 l i b r a r y unisim ;

13 use unisim . Vcomponents .ALL;

14

15 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−16 −−Entity Dec la ra t i on o f UserFPGA

17 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−18 en t i t y UserFPGA DIO i s

19 port (

20 Clock : in s t d l o g i c ;

21 GlobalReset : in s t d l o g i c ;

22 CMOSIn : in s t d l o g i c v e c t o r (7 downto 0 ) ;

23 CMOSOut : out s t d l o g i c v e c t o r (7 downto 0 ) ;

24 LEDs : out s t d l o g i c v e c t o r (1 downto 0 ) ;

25 −−t imecode r e l a t ed−s i g n a l s

26 TickIn : out s t d l o g i c ;

27 TimeIn : out s t d l o g i c v e c t o r (5 downto 0 ) ;

28 Revis ion : in s t d l o g i c v e c t o r (15 downto 0)

29 ) ;

30 end UserFPGA DIO ;

Page 70: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

62 付録 C Time Masterの User FPGAの VHDLコード

31

32

33 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−34 −−Behaviora l d e s c r i p t i o n o f t h i s UserModule

35 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−36 a r c h i t e c t u r e Behav iora l o f UserFPGA DIO i s

37

38 −− LED output

39 s i g n a l l ed : s t d l o g i c v e c t o r (1 downto 0 ) ;

40

41

42 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−43 −− GPS Clock no syuhasu to

44 −− TimeCode no syuhasu wo nyuryoku s h i t e kudasai

45 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−46 constant GPSClock Hz : In t eg e r := 10000000; −− in Hz

47 constant TimeCode Hz : In t eg e r := 64 ; −− in Hz

48

49 −− GPSClock

50 s i g n a l GPSClock : s td Log i c := ’ 0 ’ ;

51 s i g n a l GPSClock previous : s td Log i c := ’ 0 ’ ; −− 1 c l o ck mae no a t a i

52 s i g n a l ClockCounter : i n t e g e r :=0;

53 s i g n a l TimeCodeCounter : s t d l o g i c v e c t o r (5 downto 0) := ( othe r s => ’ 0 ’ ) ;

54 s i g n a l TickIn sync : s t d l o g i c := ’ 0 ’ ;

55 s i g n a l T i ck In sync pr ev i ou s : s t d l o g i c := ’ 0 ’ ;

56 constant count max : In t eg e r := GPSClock Hz / TimeCode Hz ;

57

58

59 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−60 −−Beginning o f behav io ra l d e s c r i p t i o n

61 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−62 begin

63

64 −−s t a t i c r e l a t i o n s

65 GPSClock <= CMOSIn( 7 ) ;

66 LEDs <= led ;

67

68

69 proce s s (GPSClock , GlobalReset )

70 begin

71 i f ( GlobalReset = ’0 ’) then

72 TickIn <= ’0 ’ ;

73 TimeIn <= ( othe r s => ’ 0 ’ ) ;

74 l ed (1 ) <= ’0 ’ ;

Page 71: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

63

75 e l s i f (GPSClock = ’1 ’ and GPSClock ’ Event ) then

76 i f ( ClockCounter=count max−1) then

77 i f ( TimeCodeCounter=TimeCode Hz−1) then

78 TimeCodeCounter <= ( othe r s => ’ 0 ’ ) ;

79 l ed (1 ) <= not l ed ( 1 ) ;

80 e l s e

81 TimeCodeCounter <= TimeCodeCounter + 1 ;

82 end i f ;

83 TickIn <= ’1 ’ ;

84 TimeIn <= TimeCodeCounter ;

85 ClockCounter <= 0 ;

86 l ed (0 ) <= not l ed ( 0 ) ;

87 e l s e

88 ClockCounter <= ClockCounter + 1 ;

89 TickIn sync <= ’0 ’ ;

90 end i f ;

91 end i f ;

92

93 end proce s s ;

94

95

96 end Behaviora l ;

Page 72: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発
Page 73: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

65

付録 D

TIと LocalTimeのサンプル周期と時刻安定度の測定: 常温下・ルーターあり

D.1 概要

6.3節 (50ページ)の実験と同様ながら、User Nodeを恒温槽に入れず常温のままで時刻安定度を測定

した。したがって、温度変動は制御していない。

D.2 実験セットアップと実験方法

実験セットアップや方法は、前節の図 6.3節と同じである。ただし、常温下で実験を行うため、User

Nodeは恒温槽に入れなかった。また、今回は Time-Codeのジッタの影響も加味して測定するため、2

枚の DIO boardの間にルーターを挟んで (1 hop)の測定も行った。

D.3 結果

まず、hop なし (ルーターなし) の測定を行った。そのデータをもとに、あるサンプル周期の間にお

ける時刻安定度を調べた。サンプル周期は、1/64 sec, 1 sec, 10 sec, 30 sec, 60 sec について調べた。

1/64 secのときは、水晶発振器の温度ドリフトの影響は無視でき、ジッタ (90 nsec : 6.1節)と同じ値

となった。1 secより大きなサンプル周期では、図 D.1のようにドリフトの影響がみられた。1 secのサ

ンプル周期ではおよそジッタに上乗せして <40 nsecのゆらぎがあった。これは、前節の結果と合って

いる。

次に、1 hop(ルーター 1個を挟む)の測定を行った。サンプル周期 1 sec, 10 sec, 30 sec, 60 secにつ

いて、図 D.1のような結果が得られた。no hopより残差が大きいが、そのトレンドから DIO boardの

水晶発振器のドリフトと違ったゆらぎがみられる。

サンプル周期と、その間の時刻安定度の相関をとると、図 D.3のようになる。no hop、1 hopともに、

サンプル周期が大きくなると時刻安定度も悪くなっている。

D.4 考察

1 hopで時刻安定度が悪化する原因

1 hop でサンプル周期 60 sec のとき、1.8 µsec 程度の時刻安定度で、no hop より 5 倍以上悪い。

もし、1 hop ごとに 5 倍時刻精度が悪化すると、ASTRO-H の場合、Time Master (SMU) から User

Node (SpaceCard)まで 4~5個のルーターを介するので、300 ns × 54 ∼ 55 = 200 ∼ 1000 µsecとな

るので、要求時刻精度 (30 µsec)を満たせない。この結果は、以下のような原因が考えられる。

Page 74: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

66 付録 D TIと LocalTimeのサンプル周期と時刻安定度の測定: 常温下・ルーターあり

図 D.1 hopなしにおけるサンプル周期と時刻安定度。サンプル周期は、(a) 1 sec, (b) 10 sec, (c)

30 sec (d) 60 sec

図 D.2 1 hop におけるサンプル周期と時刻安定度。サンプル周期は、(a) 1 sec, (b) 10 sec, (c)

30 sec (d) 60 sec

Page 75: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

D.4 考察 67

0

500

1000

1500

2000

0 10 20 30 40 50 60 70

Tim

e S

tabil

ity (

nse

c)

Sample Period (sec)

no hop1 hop

図 D.3 サンプル周期とその間の時刻安定度の相関。同じサンプル周期でプロットが重なっている

のは、一回の測定でとれるサンプルが複数あったため

1. たまたま DIO boardの温度の変動が激しかった

2. ルーターのクロックと DIO boardのクロックの時刻安定度が違っていた

前者は、測定回数を増やすことで明らかになる。後者の場合は、DIO boardとルーター両者を温度安定

させることで調査できそうであるが、ルーターに使っている SpaceCube 1は、通電後に急激な温度上昇

を起こすことがあるため、測定が困難である。

Page 76: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発
Page 77: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

69

参考文献

[1] Mitsuda, K., et al. 2007, PASJ, 59, S1

[2] Takahashi, T., et al. 2007, PASJ, 59, S35

[3] Kokubun, M., et al. 2007, PASJ, 59, S53

[4] Terada, Y., et al. 2008, PASJ, 60, S25

[5] Manchester, R. N., Hobbs, G. B., Teoh, A., Hobbs, M., 2005, The Astronomical Journal, 129,

1993

[6] Takahashi, T., et al., 2008, Proc. SPIE, 7011, 14

[7] Mitsuda, K. 2009, High Resolution X-ray Spectroscopy: Towards IXO, p.28

[8] Takagi, S.-I., et al. 2007, Nuclear Instruments and Methods in Physics Research A, 582, 546

[9] 澤田真理, 「次期X線天文衛星 Astro-H搭載 CCDカメラ SXIの軌道上バックグラウンドの評価お

よびカメラボディの設計」, 修士論文, 京都大学, 2009

[10] Kokubun, M., et al. 2008, Proc. SPIE, 7011, 21

[11] Tajima, H., et al. 2005, IEEE Transactions on Nuclear Science, 52, 2749

[12] The Fermi LAT collaboration, & Abdo, A. A. 2009, arXiv:0911.2412

[13] Parkes, S. M., et al., “SpaceWire - Links, nodes, routers and networks”, European Cooperation

For Space Standardization, Standard No. ECSS-E-50-12A, Issue 1, 24 January 2003

[14] Parkes, S. M., “The Operation and Uses of the SpaceWire Time-Code”, International

SpaceWire Seminar (ISWS 2003), ESTEC Noordwijk, The Netherland, 4-5 November 2003

http://spacewire.esa.int/content/TechPapers/documents/

SpaceWireTime-CodesISWS2003.pdf

[15] Parkes, S. M., et al., “RMAP Protocol Specification”, European Cooperation For Space Stan-

dardization, ECSS-E-50-11 Draft F, 4th December 2006

[16]「ASTRO-H SpaceWireネットワーク ユーザーズマニュアル」, ASTH-112 Draft, 4th June 2009

[17] 宇宙科学研究本部, 「衛星の機能モデル (FMS)」, GSTOS-201-0.7

[18] 宇宙科学研究本部, 「衛星監視制御プロトコル (SMCP)」, GSTOS-200-0.10, 2009年 9月 10日

[19] Consultative Communitee for Space Data System, “Space Packet Protocol”, CCSDS 133.0-B-1,

September 2003

[20] 宇宙航空研究開発機構 誘導・制御グループ, 「次世代衛星搭載用 GPS受信機の仕様と開発計画」,

平成 21年 1月

[21] 「ASTRO-H テレメトリ/コマンド設計基準」, ASTH-111 Rev. 1, 10th November 2009

[22] 湯浅孝行, 日本スペースワイヤーユーザー会, 「SpaceWire/RMAP Library」, 2008

[23] Yuasa T., et al. 2008, “A Portable SpaceWire/RMAP Class Library for Scientific Detector

Read Out System”, proceeding of International SpaceWire Conference Nara 2008, pp.173

http://2008.spacewire-conference.org/downloads/Papers/Onboard%20Equipment%

20&%20Software/Yuasa.pdf

[24] Yuasa, T., “Development of SpaceWire-based waveform-sampling pulse height analyzer and its

Page 78: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

70 参考文献

application to a hard X-ray detector”, 修士論文, 東京大学, 2008

[25] 「ASTRO-H SMU/GPS 時刻 I/F概要メモ」, ASTH-NT-D09095, 2009年 12月 9日

[26] 岩瀬かほり, 「次世代X線天文衛星 ASTRO-H における時刻付け方法の検証」, 卒業論文, 埼玉大

学, 2010

Page 79: ASTRO-H 衛星における 時刻付けシステムの開発 - …crystal2.heal.phy.saitama-u.ac.jp/OB/2009/kouzu_mthesis...修士論文 ASTRO-H 衛星における 時刻付けシステムの開発

71

謝辞

本修士論文を書くにあたり、本当にたくさんの方々にお世話になりました。この場を借りて、心から

感謝申し上げます。

指導教官である埼玉大学 寺田幸功 准教授には、現在運用中の「すざく」衛星で実際に使われている時

刻付けの方法やノウハウを 1から教えて頂いたほか、当実験の進め方や FPGAロジックの組み方、本論

文の校正など、本当に様々なことを相談させて頂きました。当実験はもちろんのこと、「すざく」衛星の

データ解析やパルサーの知識など、さまざまなことを教えて頂いております。

東京大学 湯浅孝行さんには、SpaceWireの何から何まで教えて頂きましたが、それ以前に、ログノー

トの取り方、電源の入れ方までも教わりました。その後もアドバイスやご助力をたくさん賜りました。

特に Time-Codeのジッタ測定では、湯浅さんの先行実験を参考にさせて頂きました。

埼玉大学 田代信 教授には、実験のノウハウやセンスを教えて頂きました。実験に対するアドバイスも

たくさん頂きました。Time-Codeのジッタ測定では、田代先生の作成されたスクリプトを使用させて頂

きました。

埼玉大学 田代・寺田研究室の学生のみなさまには毎日お世話になっております。岩瀬かほりさんに

は、理学部の卒業研究にも関わらず VHDLを書くという大仕事をして頂きました。また、本修士論文に

掲載した実験の大半をともに行ってくださいました。SXS/PSPチームの瀬田裕美さん、下田優弥くん、

朝比奈正人くんとは、SpaceWireに関する情報を共有しながら実験を進めることができました。

大阪大学 能町正治 教授にもアドバイスを頂きました。私が参加させて頂いている ASTRO-H HXI・

SGDチームのみなさま、特に宇宙科学研究本部 高橋忠幸 教授、国分紀秀 准教授、東京大学 中澤知洋 講

師にもお世話になりました。ASTRO-H SXS/PSPチームのみなさま、特に首都大学東京 石崎欣尚 准

教授にもアドバイスやコメントなどを頂きました。

東京大学 牧島・中澤研究室には、実験でたびたびお邪魔させていただきました。埼玉大学 井上研究室

のみなさま、井上直也 教授には、実験機器も貸していただきました。理化学研究所 牧島宇宙放射線研究

室のみなさま、特に玉川徹 専任研究員と岩橋孝典くんには、実験に必要な機器をお貸し頂きました。