次期 X 線衛星 ASTRO-H 硬 X 線撮像検出器 デジタルデータ処理系の開発と検証 櫻井 壮希 東京大学理学系研究科 物理学専攻 牧島中澤研究室 sakurai@juno.phys.s.u-tokyo.ac.jp 2012 年 1 月 2 3 概要 天体からの X 線は、ブラックホール、中性子星の近傍などを探る重要なプ ローブである。日本は現役の「すざく」まで計 5 台の X 線観測衛星を打ち上 げ、現在 6 代目の衛星、ASTRO-H の打ち上げを 2014 年に予定している。こ の衛星には 4 種の検出器が積まれ、0.3–600 keV の広帯域を「すざく」の 1–2 桁も高い感度とエネルギー分解能で観測することができる (1,2 章)。 本論文の対象は、ASTRO-H 搭載機器の硬 X 線撮像検出器 (HXI) で、5–80 keV の宇宙X線を、エネルギー分解能 ∼1 keV、解像数 128×128 で、撮像分光 する。この装置は図 1 のように、HXI-S、AE、DPU、DE の 4 コンポーネン トからなる。HXI-S はセンサー部で、主検出器であるストリップ検出器と、そ れらを囲むアクティブシールドから構成される。AE はアナログ電子回路部で、 HXI-S に電源を供給し、アクティブシールドから反同時計数に用いる veto 信 号を生成する。DPU は FPGA を用いた高速多チャンネルのデジタルデータ処 理部で、HXI-S からのトリガー信号や veto 信号を受け、計 1280 チャンネルの データ取得シーケンスを司る。そして DE では、CPU 上のソフトウェアでよ り柔軟かつ複雑なイベント処理を行っている。以上の詳細は 3 章にて述べる。 HXI は、JAXA、東大、名大、広島大、埼玉大、スタンフォード大、早大など が、三菱重工などと協力して開発中で、我々はその一環として、本論文では以 下の2つの作業を行った。 作業の 1 つは、HXI-S の主検出器部をシミュレートするファームウェアの開 発である (5 章)。これにより HXI-S 各部の開発製作と並行して、DPU と DE のデータ処理機能の検証を行うことができ、さらにイベント処理の再現性チェッ クや、任意のイベント処理を行うことが初めて可能となり、試験効率を格段に 上げられる。このために我々は、1000 行以上の FPGA ロジックを VHDL 言 語でコーディングし、市販品の FPGA ボードに搭載した。数々の修正を経て、 シミュレータは一部の課題を除いて完成し、実際の主検出器部と同様の入出力 を模擬できることを確認した。 もう1つの作業は、HXI-DE のソフトウェアの仕様策定およびその開発であ る (6 章)。衛星上の機器では、ひじょうに厳しい電力の制約があるため、DE に搭載する CPU のクロック周波数は 60 MHz と、地上の PC の ∼ 1/40 程度 にまで抑えられている。このような状況下で、DE ソフトウェアには高速な処 理と安定動作が求められる。このことを念頭に置き、私はソフトウェアの一部 である観測データ処理のプロトタイプを、実機と同様に C 言語を用いて ∼ 500 行でコーディングし、メーカーである三菱重工業へ、研究者側の意図した正し い仕様を伝えた。その際には、まずは性能の追求はせず、ソースコードの可読 性に重点を置いて開発した。そして現在、DE ソフトウェアを含めたデータ処 理系の性能評価に向けて、ソフトウェアの改修および全系の動作試験を進めて いる。 4 !"# !"#$* ・ストリップ検出器5層およびアクティブシールド からなる検出器部。 ・各層から2系統 (P/N-side)のトリガー信号と、 同じく2系統のADC値をDPUへ出力する (3,5章)。 ファームウェアシミュレータ ・HXI-Sの主検出器部を模擬するファームウェア。 ・ハードウェアは既存のFPGAボード。 ・ロジックはVHDLにて開発し、任意のデータを 出力できるようにした (5章)。 ・実際にDPUボードとつなぎ、トリガーからADC値 出力まで正しく行えるかを検証 (同章)。 !"#$() ・アナログ回路部。 ・アクティブシールドによるveto信号 を生成 (3章)。 !"#$%&' ・FPGAを用いた高速多チャンネルのデジタル信号処理部。 ・HXI-Sに制御信号を送り、データ取得シーケンスを動かす。 !"#$%) ・CPUを搭載した、ソフトウェア処理部。 ・地上からのコマンドを受け取り、その処理を行う。 ・イベントデータの選別を行う。 ・DEでのイベント選別の手法と実装法を考案し、 本物と同様にC言語でプロトタイピングを行った (6章)。 ・作成したソフトウェアを改良しながら、DPUボードおよび シミュレータと接続し、動作検証を行っている (7章)。 図 1: HXI の各コンポーネント (黒枠)。赤枠および赤字の部分は、本論文で行ったところ。 5 目次 第 1 章 はじめに 7 第 2 章 次期 X 線衛星 ASTRO-H 2.1 概要 . . . . . . . . . . . . . . . . . . . . . . . 2.2 Hard X-ray Imager (HXI; 硬 X 線撮像検出器) 2.2.1 HXI の概要 . . . . . . . . . . . . . . . 2.2.2 システム構成 . . . . . . . . . . . . . . 2.2.3 検出器部 (HXI-S) . . . . . . . . . . . . 第3章 3.1 3.2 3.3 3.4 3.5 3.6 HXI データ処理系 構成 . . . . . . . . . . . . . . . . Front-End Card (FEC) . . . . . . アナログエレクトロニクス (AE) Data Processing Unit (DPU) . . . Space Wire . . . . . . . . . . . . デジタルエレクトロニクス (DE) 3.6.1 構成 . . . . . . . . . . . . 3.7 本論文の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 4 章 選別するイベントの種類と特徴 4.1 概要 . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 イベントの種類 . . . . . . . . . . . . . . . . . . . 4.2.1 荷電粒子イベント . . . . . . . . . . . . . . 4.2.2 放射化バックグラウンド . . . . . . . . . . 4.2.3 中性子 . . . . . . . . . . . . . . . . . . . . 4.2.4 大気ガンマ線と衛星構体での 2 次ガンマ線 4.2.5 回路ノイズ . . . . . . . . . . . . . . . . . 4.2.6 CXB . . . . . . . . . . . . . . . . . . . . . 4.2.7 天体の信号 . . . . . . . . . . . . . . . . . 第 5 章 フロントエンドシミュレータ開発 5.1 開発理念 . . . . . . . . . . . . . . . . 5.2 設計 . . . . . . . . . . . . . . . . . . 5.2.1 要求 . . . . . . . . . . . . . . 5.2.2 信号線 . . . . . . . . . . . . . 5.2.3 ASIC の動作 . . . . . . . . . . 5.3 実装と動作検証 . . . . . . . . . . . . 5.3.1 構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 10 10 11 12 . . . . . . . . 15 15 16 17 17 19 20 20 20 . . . . . . . . . 23 23 23 24 24 24 25 25 25 25 . . . . . . . 29 29 29 29 30 31 33 33 6 5.3.2 5.3.3 ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 各モードの実装と検証 . . . . . . . . . . . . . . . . . . . . . . . . 第 6 章 HXI DE 科学解析ソフトウェアの開発 6.1 DE ソフトウェアの概要 . . . . . . . . . . . . 6.1.1 ソフトウェア構成 . . . . . . . . . . . . 6.1.2 動作モードとその遷移 . . . . . . . . . 6.2 観測データ処理の概要 . . . . . . . . . . . . . 6.2.1 観測データ処理の果たすべき役割 . . . 6.2.2 観測データ処理の起動と動作 . . . . . 6.2.3 プロトタイピング . . . . . . . . . . . . 6.3 観測データ処理 (1): イベントのグレード判定 6.3.1 グレードの概念 . . . . . . . . . . . . . 6.3.2 Delta-t カット . . . . . . . . . . . . . . 6.3.3 Flag selection . . . . . . . . . . . . . . 6.3.4 Number of hits . . . . . . . . . . . . . 6.3.5 Soft LD/UD . . . . . . . . . . . . . . . 6.4 観測データ処理 (2): 統計データ生成機能 . . . 6.4.1 積算カウント処理 . . . . . . . . . . . . 6.4.2 ヒストグラム生成処理 . . . . . . . . . 6.5 キャリブレーション処理 . . . . . . . . . . . . 第7章 7.1 7.2 7.3 7.4 7.5 データ処理系の試験 目的 . . . . . . . . . . . . . . . . . . . . セットアップと試験手順 . . . . . . . . . コンポーネント接続試験 . . . . . . . . . 7.3.1 手順 . . . . . . . . . . . . . . . . 7.3.2 DE ソフトウェア単体試験 . . . . 7.3.3 シミュレータ–DPU–DE 接続試験 取得イベント数の確認 . . . . . . . . . . 今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 41 41 42 43 43 44 44 45 45 46 47 48 48 49 49 49 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 53 54 54 54 55 56 56 第 8 章 まとめ 59 付 録 A フロントエンドシミュレータ A.1 DIO2 ボード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2 ASIC の Slow Control モード . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 62 付 録 B DE ソフトウェア B.1 システム共通ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . B.2 イベントのグレード判定 . . . . . . . . . . . . . . . . . . . . . . . . . . . B.2.1 Flag selection の判定法 . . . . . . . . . . . . . . . . . . . . . . . . 63 63 63 63 7 第 1 章 はじめに X 線天体物理学は、1962 年の R.Giacconi らによるロケット実験に端を発する。当初の 目的であった月とは全くの別方向からの放射を検出し、宇宙には強い X 線天体があるこ とを発見した。宇宙からの X 線は地球大気で完全に吸収されてしまうため、人類はこの ことを知らなかったのである。以降、Uhuru や「はくちょう」など、X 線観測衛星が次々 と打ち上げられ、X 線源の主要な一群の正体がブラックホールや中性子星などのコンパ クト天体であることが突き止められた。物質がそれらの天体に降着するさい、重力エネ ルギーの解放によって ∼1000 万℃という非常に高温になり、強い X 線が放射される。そ の X 線スペクトルは、降着円盤やブラックホール、中性子星の近傍などを探る大きな手 がかりとなり、一般相対論効果を含む高エネルギー現象の宝庫である。このように、X 線による観測は、天体の高エネルギー現象を研究するために不可欠なものとなった。 X 線観測における花形の一つが、中性子星である。中性子星は、太陽の 10–20 倍程度 の質量を持った恒星が超新星爆発を起こすさい、その中心部が重力収縮して作られる高 密度の天体で、中性子の縮退圧によって非常に強い重力を支えている。例えば弱磁場の 中性子星に連星をなす相手の星からガスが降着すると、降着物質からエネルギーを貰っ て中性子星のほぼ全表面が光る様子が見られ、そのスペクトルは図 1.1 のように、円盤 放射と黒体放射で近似できる。我々はこの黒体放射のパラメータが光度によってどう変 化するのか、 「すざく」衛星を用いて図 1.2 のように明らかにしてきた [1]。その結果、高 光度では小さく押し込められていた中性子星の磁気圏が、降着率の低下に伴い頭をもた げる結果、しだいに降着流が磁極に絞られ、黒体放射の面積が小さくなることを発見し、 X 線パルスが見えるという可能性を明らかにした。しかし、この状態は非常に X 線光度 が低いため、現状の観測機器ではごく少数の天体しか研究できない。そこで、あと 1 桁 ほど感度の高い観測装置があれば、低い X 線光度の弱磁場中性子星連星を数多く観測し、 X 線パルス (=中性子星の自転) を検出できる。その軌道ドップラー変調を可視光による 伴星の観測と合わせることで、これら多数の弱磁場中性子星の質量を決定できると期待 される。 日本は現在までに、1979 年の初代 X 線衛星である「はくちょう」をはじめ、 「てんま」、 「ぎんが」、「あすか」、そして「すざく」衛星を打ち上げ、観測と研究ともに世界をリー ドしている。そして今、日本は 6 代目にあたる X 線観測衛星、ASTRO-H の打ち上げを 2014 年に予定している。この衛星には 4 種類 6 台の検出器が積まれ、0.3–600 keV の広 帯域を「すざく」の 1–2 桁も高い感度とエネルギー分解能で観測することができる。 我々は ASTRO-H に搭載する検出器の 1 つである Hard X-ray Imager (HXI; 硬 X 線撮 像検出器) の開発を行っている。この検出器は 5–80 keV 帯域で ∼ 1 分角の撮像と分光を 行い、既存の衛星に比べて 2 桁も感度が高い画期的なものであるが、データ量が多いた め、適切なデータ処理系の開発が極めて重要である。本論文では、このデータ処理系の 試験と検証のためのファームウェアシミュレータの開発、およびソフトウェアを用いた 科学観測データの適切なセレクションロジックの設計についてまとめる。 8 第1章 はじめに 図 1.1: 中性子星連星 Aql X-1 の、「すざく」衛星による放射 X 線スペクトル。異なる色 の点 (十字) は異なる日の観測を表す。赤の破線が円盤放射で、青が黒体放射のモデル。 図 1.2: Aql X-1 の光度と、黒体放射半径の関係。光度は Eddington 光度で規格化して いる。 9 第 2 章 次期 X 線衛星 ASTRO-H 2.1 概要 ASTRO-H は日本の 6 機目の X 線衛星で、2014 年に打ち上げを予定している。この衛 星には図 2.1 のように、Soft X-ray Spectrometer (SXS, 軟 X 線分光検出器)、Soft X-ray Imager (SXI, 軟 X 線撮像検出器)、Hard X-ray Imager (HXI, 硬 X 線撮像検出器)、Soft Gamma-ray Detector (SGD, 軟ガンマ線検出器) の 4 種類の検出器が搭載され、これらに よって 0.3–600 keV という広帯域を観測する。このうち SXS と SXI は、それらの前方に 置かれた Soft X-ray Telescope (SXT, 軟 X 線望遠鏡) によって、また HXI は Hard X-ray Telescope (HXT, 硬 X 線望遠鏡) によってそれぞれ X 線を集光し、有効面積を稼ぐと同 時に、バックグラウンドの大幅な低減を図っている。 ASTRO-H のおもな科学目標は 1. 銀河団における熱的/非熱的エネルギーの全体像を明らかにし、ダイナミックな銀 河団の成長を直接観測する。 2. 厚い物質に覆われた遠方の活動銀河核 (巨大ブラックホール) を「すざく」の 2 桁 以上の感度で観測し、その進化と銀河形成に果たす役割や、硬 X 線背景放射の起 源を解明する。 3. ブラックホール近傍における降着流の幾何を調べることで、相対論的時空の構造を 明らかにする。 4. さまざまな磁場強度の中性子星を詳しく観測し、高密度物質や核物質の物理を追求 する。 などであり、いずれも 4 種の検出器による世界最高の広帯域と高感度をもってして、初 めて実現できるものである。 従来の衛星にくらべ、ASTRO-H では読み出しチャンネル数が圧倒的に多くなるため、 並列処理を行う Application Specific IC (ASIC) や、FPGA などデジタルエレクトロニク スへの依存度が大幅に増大している。同様に、データレートの増大によって機器間の通 信が複雑になり、衛星内の通信レートも増加の一途をたどっている。従来こうした通信 プロトコルは個別に設定されることが多く、汎用性を欠くため、搭載機器の開発や衛星 の組上げ試験に多大な時間と努力を要していた。そこでこの欠点を補い、開発の効率性 を高めるため、衛星上の機器どうしの統一的な通信規格として Space Wire が開発された [2]。ASTRO-H でも、後段のエレクトロニクスでは Space Wire を採用し、衛星固有の 通信方法を用いる場合に比べ、開発や試験の効率を格段に向上させている。しかし日本 の X 線衛星として Space Wire を用いるのは、ASTRO-H が初めてであり、それを用い たデジタル信号処理の開発は、重要な課題である。 第 2 章 次期 X 線衛星 ASTRO-H 10 図 2.1: ASTRO-H 搭載機器 [3] 2.2 2.2.1 Hard X-ray Imager (HXI; 硬 X 線撮像検出器) HXI の概要 本論文で扱う HXI は、5–80 keV の帯域で表 2.1 に示す性能を目標にして、X 線光子 1 個ずつの撮像と分光を行う装置である [4]。コンポーネントの多くは、HXT の焦点面で ある図 2.1 最下部の HXI プレートに置かれ、軌道上で伸展されることで 焦点距離 12 m を維持する。有効面積を増やし、信頼性を高めるため、完全に同型のものが 2 台、衛星 上の対称な位置に搭載される。 HXI の前身となったのは、「すざく」に搭載された硬 X 線検出器 (HXD; [5]) で、シリ コン PIN フォトダイオードと GSO シンチレータを段重ねにすることで、10–600 keV と いう広帯域をカバーする。さらにこれら主検出器の全体を、BGO シンチレータでできた アクティブシールドで囲むことで、きわめて低いバックグラウンドを実現し、大きな成 果を挙げつつある。しかし「すざく」HXD は、撮像機能を持たなかった。 ASTRO-H -HXI は、 「すざく」HXD の基本思想を踏襲しながら、いくつかの点で大幅 な改良を図っている。そのキーポイントは、集光と撮像である。軌道上でのバックグラウ ンドは概ね検出器素子の体積に比例するため、サイズは小さいほど良い一方で、有効面 積の観点からは大きいほど良い。この両者を実現するのが HXT と HXI の組み合わせで あり、HXT による集光のおかげで、HXI は一基の有効面積を HXD と同等に保ちながら 素子の体積を ≤ 1/16 に抑えることに成功し、結果としてバックグラウンドを HXD より ∼2 桁も低減している。また HXI は撮像機能も有するため、観測対象を望遠鏡の結像サ 2.2. Hard X-ray Imager (HXI; 硬 X 線撮像検出器) 11 イズだけ画像からくり抜けば、第 4 章で述べる CXB や他の残存バックグラウンドの大部 分を除去でき、さらに 1 桁以上もの低減になる。これらによって、HXD よりも 100 倍以 上も高い感度で観測が実施でき、検出できる天体数は HXD のときと比べ、∼ 100 倍 (銀 河系内の天体の場合) から ∼ 1000 倍 (銀河系外の天体の場合) も増加すると期待される。 表 2.1: HXT+HXI の目標性能 エネルギー帯域 (keV) エネルギー分解能 (keV) 時間分解能 (µs) 有効面積 (cm2 ) 角度分解能 (arcmin) 2.2.2 5–80 2 (FWHM) 60 300 (@30 keV) 1.7 (in HPD) システム構成 HXI は図 2.2 のようなシステム構成をもつ。すべて HXI の 1 基分であり、全体として 1.∼4. が 2 系統、搭載される。 1. 検出器部 (HXI-S)。5 層の半導体両面ストリップ検出器素子からなる主検出器部、 その読み出し ASIC を載せた Front-End Card (FEC)、およびそれらを取り囲む アクティブシールドとして 9 個に分割された BGO 結晶シンチレータを Avalanche Photo-Diode (APD) で個別に読み出す。これらはすべて、CFRP1 とアルミででき た構造体に収められている。 2. アナログエレクトロニクス部 (HXI-AE)。Camera Power Management Unit (CPMU) と、APD Power Management Unit (APMU) に分かれる。前者は HXI-S の主検出 器部と FEC への電源供給を行う。後者はアクティブシールド部の APD への電源 供給だけでなく、その信号読み出しも行う。 3. Data Processing Unit (HXI-DPU)。2 枚の Multiple I/O (MIO) ボードで構成され、 搭載 FPGA を用いて多チャンネルの信号処理を行う。MIO1 は AE の制御やその House Keeping (HK) データ取得を行う。MIO2 は FEC の制御や ADC 値の読み出 しを行い、イベントデータを生成する。 4. デジタルエレクトロニクス部 (HXI-DE)。DPU から取得した HK データやイベン トデータを搭載 CPU で処理し、地上へ送信するためのパケット生成を行う。また バス機器から受信したコマンドを解釈し、実行する。これら周辺機器とのデータ送 受信はすべて、3.5 節で述べる Space Wire を用いて行われる。 この中で HXI-DE だけは衛星本体のサイドプレートに置かれ、その他の部分は ∼ 6 m 離 れた HXI プレートに位置する。 1 Carbon Fiber Reinforced Plastics (炭素繊維強化プラスチック)。高い強度と軽さを併せ持つ。 第 2 章 次期 X 線衛星 ASTRO-H 12 !"# !"# !"#$% !"#$)* !"#$&'( !"#$&* Satellite シールド系 BGO バス機器 APMU Management Unit MIO1 9: APD+CSA Data CPMU 検出器 検出器 検出器 検出器 検出器 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD FEC FEC FEC FEC ASICx8 FEC ASICx8 ASICx8 ASICx8 ASICx8 機器間個別/#34/567&%8 Recorder MIO2 %+,-./012./#34 図 2.2: HXI の構成 2.2.3 検出器部 (HXI-S) HXI-S は図 2.3 のように、半導体両面ストリップ検出器からなる主検出器部と、それを 取り囲むアクティブシールドから構成される。主検出器部は Double-sided Silicon Strip Detector (DSSD)4 枚と CdTe Double-sided Strip Detector (CdTe-DSD)1 枚を積み重ね た半導体検出器で、両者の諸元は表 2.2 に示す。DSSD の全厚みは 2 mm で、これは「す ざく」HXD の PIN 検出器のものと等しく、エネルギーが ∼ 30 keV 以下の X 線は主に DSSD で、20 ∼ 80 keV のものは CdTeDSD で光電吸収される。CdTe は半導体検出器と しての高いエネルギー分解能と、NaI シンチレータにも並ぶ高い検出効率をもち、HXI の硬 X 線観測で重要な役割を持っている。これら半導体に入射した X 線光子が光電吸 収、もしくはコンプトン散乱すると、電子とホールのペアが生成される。それらが半導 体内の電場にそって電極まで移動する際に誘導電荷が生じ、これを電荷信号として検出 する。 DSSD や CdTeDSD のようなストリップ検出器の場合、P-side と N-side で直交する向 きにストリップを走らせ、それら両面から信号を読み出すことで、X 線の 2 次元の位置 を決定できる。ピクセル検出器では N 2 (N は 1 次元の画素数) 本の読み出し系統が必要 なのに対し、両面ストリップ方式では、2N 系統ですみ、読み出しチャンネルをあまり増 やさずに高い位置分解能を実現できる。各層では P-side と N-side で計 256 のチャンネル (N = 128) があり、それらを 8 枚のアナログ ASIC (VATA 461.3) で読み出す。ASIC で は各チャンネルからの電荷を Charge Sensitive Amplifier (CSA) を通して電圧に変換し、 トリガーの生成および ADC を行う。この詳細は 3 章で述べる。 アクティブシールドには、9 個の BGO シンチレータを用いる。これは「すざく」衛星 の HXD では、小さい主検出器を単純な形のアクティブシールドで囲った検出器モジュー ルを、16 本束ねて用いたのに対し、HXI-S ではそうしたモジュール構造はもたず、比較 2.2. Hard X-ray Imager (HXI; 硬 X 線撮像検出器) 13 的大型の主検出器を、いろいろな形状の BGO ブロックを組み合わせて囲うためである。 読み出しには光電子増倍管ではなく、ひじょうに小型な APD を用いることで、これら BGO ブロックを隙間なく配置することが可能となった。さらに APD は、消費電力が低 く、ロケットの振動でも破損しにくく、用いる高電圧も光電子増倍管の約 1/2 で済み、さ らに磁場の影響を受けにくいなど、多くの利点がある。BGO で検出した荷電粒子やガン マ線などの信号は、APD で電荷に変換され、直後の CSA で電圧に変換されたのちに後 段の APMU が処理し、反同時計数のための veto 信号を発生する。 図 2.3: HXI の模式図 [6] と写真。(左) 検出器の断面図で、水色が BGO 結晶、薄緑がス トリップ検出器、濃緑がエレクトロニクス、茶色が CFRP ハウジングを表す。(右上) ス トリップ検出器の拡大図。(右下) 主検出器部 1 層の写真。 表 2.2: DSSD および CdTeDSD の詳細 項目 サイズ (mm2 ) 厚み (mm) ストリップ数 (P/N-side) アノード電極 カソード電極 DSSD CdTeDSD 32×32 32×32 0.5 0.75 128/128 128/128 Al Al Al Pt 15 第 3 章 HXI データ処理系 3.1 構成 HXI の観測データは、図 2.2 に示すように、HXI-S、DPU、DE の順で段階的に処理 され、さらに DE の後段にあるバス機器の Satellite Management Unit (SMU) を通じて、 最終的に Data Recorder (DR) へ書き込まれる。DR は地上へ送信するデータを貯める テープレコーダーのようなもの1 であり、再生時にはデータを書き始めた位置から順に送 信する。 検出器 (HXI-S) からのデータは図 3.1 のように流れる。アナログ信号はストリップ検 出器から FEC までの間のみで、それ以降は FEC 上の ASIC のもつ ADC によりデジタ ル信号となる。 1. ストリップ検出器 1 層あたり 256 チャンネルの電荷信号が FEC の ASIC でアナロ グ電圧に変換される。それらは個々にコンパレータと ADC へ同時に入力される。 256 チャンネルのコンパレータ出力を OR したものが、その層でのトリガーとなり、 各層から DPU (MIO2) に出力される。ADC はこの時点では開始せず、MIO2 の制 御信号を待つ。 2. MIO2 において、5 層のトリガーの or をとり、トリガーがかかった場合は APMU から出力される fast BGO 信号を一定時間監視する。信号がなければ、FEC に制御 信号を送って ADC を開始させ、データ (ADC 値) の読み出しを行う。もし信号が あった場合には veto と判断し、ADC の動作に移行しない。 3. MIO2 にて読み出した ADC 値をまとめ、時刻などを付けてイベントデータに整形 し、MIO 内の SDRAM へ書き貯める。 4. DE が 1 Hz で MIO2 にイベントデータがあるか見に行き、あればその SDRAM か ら Space Wire 規格 (3.5 節参照) のシリアル通信経由で取得する。 5. DE の CPU 上で、取得したイベントデータの選別を行い、SDRAM に書き込む。 6. 衛星バス機器の SMU が、DE の SDRAM にデータがあるかを毎秒見に行く。 7. DE にデータがある場合、SMU がそのデータを DR へ書き込む。 8. DR から地上へテレメトリ送信される。 という流れになる。1.∼5. が HXI での処理、6. 以降は衛星バス機器での処理となる。 1 実際、初期の衛星では磁気テープを使用していた。「再生」という言葉もその名残である。 第3章 16 !"#$% 検出器 検出器 検出器 検出器 検出器 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 1~4層: DSSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD 5層: CdTeDSD FEC FEC FEC FEC ASICx8 FEC ASICx8 ASICx8 ASICx8 ASICx8 !"#$&'( バス機器 !"#$&) MIO2 CPU SDRAM ③書込み (1Hz) ⑤書込み User ②制御, 読み出し 機器間LVDS ⑥読み出し SMU (1Hz) CPU ④読み出し ①トリガー (5層でor) HXI データ処理系 SDRAM FPGA 機器内バス ⑦書込み DR !"#$%&'()%&*+,- 図 3.1: HXI でのデータ取得の流れ。矢印に縦線の入ったところはパラレルで、無いとこ ろはシリアル伝送。1∼3 までは、1→2→3→1.. というループで行われる。 3.2 Front-End Card (FEC) ストリップ検出器からの信号を読み出す ASIC を載せているのが FEC である。FEC に は図 2.3 および図 3.2 のように、1 枚あたり 8 つの ASIC が搭載され、1 つあたり 32 チャ ンネルをもち、合計ですでに述べたように 256 チャンネル (1 層あたり) を読み出してい る。ASIC と DSSD の各チャンネルはワイヤーボンディングで、CdTeDSD とはバンプ接 合とワイヤーボンディングによって接続されている。 図 3.2: FEC1 枚あたりの ASIC の配置。N 側の ASIC は裏面に置かれる。 ASIC には IDEAS 社の VATA461.3 というアナログ ASIC を使用する。各 ASIC の 32 チャンネルは完全に等価であり、1 チャンネルでは図 3.3 のように検出器からの電荷信号 はプリアンプで電圧パルスに変換されたのち、TA と VA という 2 つの処理チェーンに分 岐する。TA の fast shaper は、非常に短い (∼ 0.6µs) 時定数をもち、ここで threshold を 超えているかを素早く判定し、3.1 節の項目 1. で述べたトリガーを生成する。他方、VA の slow shaper は比較的長い (∼ 3 µs) 時定数をもち、TA でトリガーがかかって一定の処 理があった後、Hold 信号を受け取って ADC を行う。こうして 1 つの ASIC が担当する 32 本のストリップに、1 個もしくは複数個のヒットがあったとき、OR された 1 つのトリ ガー信号が送出され、32 チャンネルの 10 ビットデジタル波高値が、マルチプレクスさ れた 1 本のシリアルデータとして送出される。この処理については、5 章にて詳述する。 3.3. アナログエレクトロニクス (AE) 17 図 3.3: ASIC VATA461.3 のブロック図 [8]。等価な 32 チャンネルから成る。 3.3 アナログエレクトロニクス (AE) AE 部は、CPMU と APMU の 2 つのモジュールにより構成され、図 3.4 のようにア ナログとデジタルの境界に位置する。両者とも、後段の MIO1 によって制御され、また Power Supplying Unit (PSU) から電力を供給されている。CPMU は HXI-S の主検出器部 と接続され、主検出器部である DSSD や CdTeDSD の電源供給および高電圧制御を行っ ている。 APMU はアクティブシールドに用いられる APD を制御し、CPMU と同様に電源供給 および HV 制御を行っている。さらに、APD の読み出しも担っているため、波形整形ア ンプや ADC などのアナログ回路部も持ち合わせている。APMU における APD の波高 値の分析には、fast BGO と Hitpat という 2 種類があり、どちらも反同時計数に使用する ための veto 信号に相当する。fast BGO は、アナログ出力を ∼ 1 MHz で連続的に AD 変 換してデジタル時系列データとし、それに単純なデジタルフィルタを施し、値が LD 以 上であったら High になる信号である。精度は低いが 5 µs 以内の短時間で出力できるの が特徴で、MIO2 で信号のトリガー処理をする時に veto として用いる。いっぽう Hitpat は、fast BGO に比べて精緻なデジタルフィルタリングを行うため精度が良く、veto の threshold を下げることができるが、出力には時間がかかってしまうため、データ取得の veto には用いず、事後のデータ処理の時のためのフラグとしてラッチする。 3.4 Data Processing Unit (DPU) 図 3.5 のように、DPU は MIO1 と MIO2 によって構成される。DPU は CPU を用いず、 ハードウェアロジックで、大量かつ多チャンネルのデジタルデータを高速に処理する部 分である。中心となるのは 2 個の FPGA で、一方は Space Wire プロトコルを司る共通 仕様のもの、他方は HXI 固有の処理を詰め込んだ User FPGA である。MIO1 は APMU や CPMU から電圧値などの House Keeping (HK) 情報を取得し、HK データを生成する 第3章 18 !"#$% APD1 CSA1 HV1 APD2 CSA2 AE APMU HXI データ処理系 &'( PSU Power HV control MIO1 ADC HV2 CPMU DSSDx4 Power CdTeDSD HV control 図 3.4: HXI–AE 周辺のブロック図。赤と青の矢印がアナログ、黒がデジタルを表す。ア ナログのうち赤はパワーライン、青はデータを示す。デジタルのうち白抜き矢印は機器 間個別 LVDS を表す。 ことと、APMU からの veto 信号 (fastBGO、Hitpat) を MIO2 へ受け渡すことが主な仕 事である。 MIO2 は図 3.5 の FEC I/F において、FEC へ制御信号を送って ADC 開始や波高値読 み出しをするなど、イベント生成の中心的な役割を果たす。図 3.6 にその時の動作を示 す。FEC からトリガーを受け取ると、MIO2 はひとまず各 ASIC に現在の波高値をホー ルドするよう命令し、一定時間 (5∼13 µs) 待機しながら fast BGO 信号を監視、すなわ ちアクティブシールド部から信号が来るかどうかを見る。もし High になったら、ADC は行わずに元のトリガー待機の状態へ戻り、Low のままであったら ADC を開始させ、波 高値の読み出しを行い、イベントデータを生成する。この通信の相手である FEC 側の動 作は 5 章で述べるため、そちらも参照されたい。 MIO2 は初めにトリガーを受けたとき、そのレイヤーのパターンでもある程度の選別を かけている。場合の数は 25 = 32 あるが、ここではトリガー数やレイヤーの間隔で分類し た 18 個のグループ単位で判定され、属するグループが Disable されていたら、fast BGO 信号が来た時と同じようにトリガー待機へ戻る。他に疑似イベントや強制トリガー、お よびキャリブレーションのモードがあり、前者 2 つは自らトリガーを生成し、図 3.6 の (2)∼(4) の処理を行う。キャリブレーションの場合は FEC の ASIC に制御信号を送り、 ASIC の信号入力へテストパルスを出力させるため、トリガーが生成される。 3.5. Space Wire 19 !" DPU APMU MIO1 User FPGA APMU CPMU Control CPMU Control HXI-DE SpW FPGA MIO2 #$%&' FEC FEC FEC FEC FEC ASICx8 User FPGA Event FEC data I/F 生成 SpW FPGA 図 3.5: DPU 周辺のブロック図。ここでの通信はすべてデジタルで、白抜き矢印が機器 間個別 LVDS、黒塗りが Space Wire 接続を表す。 3.5 Space Wire Space Wire は、人工衛星やロケットに搭載される電子機器間の標準通信インターフェー スであり、ヨーロッパ宇宙機関 (ESA)、日本の宇宙航空研究開発機構 (JAXA)、アメリ カ航空宇宙局 (NASA) などを中心に開発が進められてきた。従来の衛星開発では、機器 間の通信インターフェースが衛星ごとにばらばらであったため、新しい衛星を作るたび にコネクタの形状や信号の電圧、通信プロトコルを 1 から開発し直し、試験にも長い時 間を要した。Space Wire を用いることによって、これらを簡略化できるとともに、信頼 性も確保できる。 Space Wire の特徴の 1 つとして、ルーティング機能によって自由なネットワークトポ ロジーを構成できる、ということがある。例えば複数の機器があった場合に、それらを 直列に接続していると、万一どれかが故障してしまった場合に、両端の機器は互いに通 信が出来なくなってしまう。Space Wire では、複数の機器間をたとえば蜘蛛の巣状に接 続しておくことで、どれか 1 つが故障した場合でも、Space Wire ルータによって生存し た機器をたどってアクセスすることができる。これは衛星でいたずらにコンポーネント を増やすことなく冗長系を構築する上で、ひじょうに重要なポイントである。 Space Wire で機器間の通信をする際は、Remote Memory Access Protocol (RMAP) と いうプロトコルを用いる。RMAP によって、互いの機器の内部バスにアクセスすること が可能となる [7]。これによって、他のボード上の SDRAM のデータを読み書きしたり、 FPGA のレジスタを変更するなどの処理が容易に行える。 ASTRO-H でも Space Wire を導入しており、とくに後段のデジタル機器間に用いら れている。HXI では図 2.2 や図 3.6 に示したように、DPU 内では MIO1 と MIO2 の間、 DPU と DE の間、そして DE とバス機器間が Space Wire 接続されている。よって、図 3.1 の 4,6,7 に示したようなデータの読み書きは RMAP を用いて実現されている。また、 第3章 20 HXI データ処理系 地上から送信されるコマンド2 は、まず衛星の SMU によって一括して解読されたのち、 宛先に応じて分配され、最終的には Space Wire 接続された特定の機器への RMAP によ る読み書きに帰着される。このように、Space Wire RMAP は ASTRO-H のデジタル回 路部で非常に大きな役割を持っている。 3.6 3.6.1 デジタルエレクトロニクス (DE) 構成 DE は、CPU を用いたソフトウェア処理を中心としたコンポーネントで、Space Card と呼ばれるボード 1 枚で構成される。Space Card には図 3.7 のように CPU と CPU FPGA とよばれる FPGA が搭載され、後者は Space Wire FPGA の用途に加え、万一 CPU が 動作しない場合のコマンドのバックアップ処理なども行う。DE は、ソフトウェアの一部 を除いて各観測機器で共通となっている。このため ASTRO-H では、各機器のものとは 別に X-MDE という緊急時用の DE を搭載しており、万一どこかの DE が破損した場合 でも、代わりにその処理が行えるようになっている。 メインプロセッサは SH4 互換の CPU であり、Silicon On Insulator (SOI) ウエハになっ ている。SOI にすることにより、高い放射線耐性や高速化、そして衛星に最も重要な低 消費電力が達成される。クロック周波数は 60 MHz、キャッシュ (SRAM) は 4 MB、メ インメモリ (SDRAM) は 64 MB で、キャッシュ以外は 2011 年現在の商用 PC の数十分 の 1 である。とくにクロックは消費電力に直結するため、地上に比べてかなり遅い値と なっている。これにより、消費電力を ∼ 3.3 W に抑え、一般の PC3 よりも大幅に低減し ている。 DE では、2 つの機能がメインとなる。1 つは、DPU から取得した HK データやイベン トデータの処理を行い、テレメトリ送信用のパケットに整形することである。もう 1 つ は、SMU からコマンドを受け取り、DE 自体に適用する、もしくは HXI の各コンポーネ ントに配信することである。他にもさまざまな機能があるが、DPU や FEC で行われる ような DAQ4 シーケンスのリアルタイム制御は行わない。なお、DE ソフトウェアの詳細 は 6 章で述べる。 3.7 本論文の目的 この章で述べてきたように、検出器のデータ処理系は、検出器そのものに負けず劣ら ず重要で、最終的な性能を左右する部分でもある。とくにエレクトロニクスの比重が高 い ASTRO-H HXI では、縁の下の力持ちというより、もはや大黒柱であるといっても 過言ではない。よって本論文では、この章で述べてきたデータ処理系、とくにイベント データ処理に深く関わる HXI-S–DPU–DE の性能の評価およびその向上を目的とし、最 後方である DE の観測データ処理機能の開発、およびそれを用いたデータ処理機能の検 証を行う。 2 例えば、「CdTeDSD の高電圧を ON にする」などの命令 ディスプレイを切った状態でも、消費電力は 10 W 以上ある。 4 Data Acquisition の略。 3 3.7. 本論文の目的 21 !"#$%&''(%待機 $%&' *+,--.+ (") !)#サンプルホールド $%&' #/012. 3425 (") *+,+"-+./+待機 vetoが かかった !"# 6& !-#012クロック送信 $%&' 78) )249: (") !3#読み出しRead-out )249: $%&' (") ADC value 図 3.6: MIO2 のデータ取得時の動作フロー。 第3章 22 HXI-DE MIO1 SpW I/F CPU HXI データ処理系 バス機器 SpW I/F CPU FPGA 図 3.7: HXI-DE および周辺機器のブロック図。接続はすべて Space Wire である。 23 第 4 章 選別するイベントの種類と特徴 4.1 概要 衛星軌道上において検出器から来るイベントは、宇宙線などによるバックグランドが 大半を占め、欲しい天体からの信号はわずかに過ぎない。地上実験であれば、バックグ ラウンドであろうがイベントは全て取得し、後の解析で判別して削ぎ落とすことが可能 である。しかしながら、衛星という特殊な条件下においては、地上に送信できるデータ レートが限られているため、バックグラウンドは出来る限り機上で除去し、欲しい信号 だけを送るようにしなければならない。 イベントの選別は、広義にはエレクトロニクス部全体で行われており、図 4.1 のように 各部分でスクリーニングされる。よりフロントエンドに近い AE や DPU では、多チャン ネルの信号を素早く同時に扱う必要があるため、LSI (FPGA や ASIC) を用いて処理が 行われている。ここで、バックグランドの大半を占める宇宙線イベントを、アクティブ シールドを用いた反同時計数によって除去する。最後方に控える DE では、AE や DPU と違って多量かつ同時の処理は求められないが、例えば「アナログ LD1 をわずかに超え ているが、ヒットしたチャンネル数が異様に多い場合はノイズと判断して除去する」な どのより複雑で柔軟な処理を、ソフトウェアを用いて行う。 4.2 イベントの種類 HXI のストリップ検出器で想定されるおもなイベントは、以下に分類される。 • 荷電粒子イベント • 放射化バックグラウンド • 中性子 • ガンマ線 • 回路ノイズ • 宇宙 X 線背景放射 • 天体の信号 1 ASIC で設定する digital threshold 第 4 章 選別するイベントの種類と特徴 24 もちろん観測者が欲しいのは天体の信号だけであるため、他 6 種のバックグラウンドイ ベントの特徴を把握し、それらを衛星上や地上で除去することが重要である。このさい、 バックグラウンドをどこまで除去できるかと同時に、正しい信号を誤って除いてしまう 確率をなるべく小さくする (信号アクセプタンスを保つ) ことも必要で、両者の兼ね合い で信号対ノイズ比を最大にすることが目標となる。 4.2.1 荷電粒子イベント 衛星軌道上において、検出器は高いレートの宇宙線に曝され、一次宇宙線の内の陽子 がそれらの大半を占める。地球磁場によって、低エネルギーの陽子やその他の荷電粒子 (核種) はある高度までしか侵入できないが、ASTRO-H の軌道高度では ∼ 2 GeV 以上の 陽子が飛び交っていると予想される。このようなエネルギーを持つ陽子は、シールド部 を容易に貫通し、検出器本体を鳴らしてしまうが、アクティブシールドを用いた反同時 計数によって除去できる。ただし、南大西洋地磁気異常帯 (South Atlantic Anomaly) と 呼ばれる領域では、地磁気の磁気鏡にトラップされた ∼ 100 MeV 以上の陽子が大量に 存在し、カウントレートは他領域の 1000 倍以上にもなるため、いかにアクティブシール ドを巧みに設計しても、デッドタイムが大きくなりすぎるし、検出器に放電などの危険 が及ぶことさえも稀ではない。そのため SAA 中では、基本的に観測を期待しない。 4.2.2 放射化バックグラウンド 高エネルギーの陽子がシールドや検出器を貫通したとき、それらは検出器材料に含ま れる重元素の一部と原子核反応を起こして不安定原子核を作り、検出器やその周辺を「放 射化」してしまう。これらの核種は、おもに β 崩壊により高エネルギーのガンマ線と e± を放出し、検出器を鳴らしてしまう恐れがある。もしアクティブシールド部の放射化で あれば、e± がシールドを鳴らすため、ガンマ線が検出器に当たっても、荷電粒子イベン トと同様に除去することができる。主検出器が放射化した場合は検出器が鳴ってしまう ので、2 次的に放射されるガンマ線がシールドに当たれば除去できるが、ガンマ線も検 出器の他の層で吸収されてしまったり、アクティブシールドをすり抜けて逃げた場合に は、それは天体による本物の信号と区別が付けられない。核ガンマ線のエネルギーはた いてい高く、Si や CdTe での光電吸収断面積は小さいため、その多くはシールドに入っ て光電吸収されると期待される。よって放射化によるバックグラウンドは、基本的に荷 電粒子イベントと同様にアクティブシールドで除去することができるが、その除去率は ∼ 50%に留まると見積もられる。 4.2.3 中性子 一次宇宙線が大気中や衛星構体と相互作用すると、二次宇宙線として荷電粒子の他に も中性子が作られ、これが「すざく」HXD では無視できないバックグラウンドとなっ た。中性子はほぼ強い相互作用しか起こさないため、電子とはほとんど相互作用しない。 シールド部の原子核は重いため、強い相互作用によって衝突を起こしても運動量移行は 小さく、結果としてシールドは貫通してしまう。問題は主検出器部の Si など軽い原子核 4.2. イベントの種類 25 が、中性子から強い反跳を受けた結果、それらが検出器を鳴らしてしまうことである。 この対策としては、シールドの外側に低密度の層を設けるなども考えられるが、現状で は設計には含まれておらず、中性子由来のイベントは除去が難しい。 4.2.4 大気ガンマ線と衛星構体での 2 次ガンマ線 一次宇宙線が大気や衛星構体に衝突することよって生成された二次宇宙線には、π 0 の 崩壊などによるガンマ線が含まれる。これは基本的に検出器の視野外から到来するため、 シールド部にて高確率で相互作用を起こし、veto 信号が出力されることで除去できる。 アクティブシールドとして、重量の大きな結晶シンチレータを用いる主目的は、こうし たガンマ線 (4.2.2 節で述べたものも含む) を検知することにある。 4.2.5 回路ノイズ 「すざく」HXD では、衛星電源の制御系のノイズが回り込み、HXD-PIN に Common mode noise が生じていることが確認され、DE のデータ解析ソフトにより、上空でこれ を除去している。HXI では、グラウンディングを改善することで、このような問題がで きるだけ発生しないようにしているが、万一にもそうした Common mode noise が残っ た場合、DPU や DE により除去する必要がある。この他にも HXI では、FEC への制御 信号がトリガー部に回り込み、偽のトリガーを発生させてしまうことがあり得る2 。この 偽トリガーには、イベント取得の直後に起きるという性質があるため、DPU にて一定時 間トリガーを無視したり、DE で時間差を見て除去することができる。 4.2.6 CXB Cosmic X-ray Background (CXB, 宇宙 X 線背景放射) は、ほぼ等方的に降り注ぐ X 線 放射であり、その多くは遠方の活動銀河核によるものであるということが、これまでの 研究により明らかになっている [9]。HXI の視野外から到来するものについては、上記ガ ンマ線と同様にシールドにより除去できる。しかし視野内の成分は、天体からの放射と ほとんど区別がつかないため、機上で除去することは原理的に難しい。目標天体が点源 である場合は、HXI の撮像機能を活かし、その周辺のデータを用いればよい。目標が広 がっている場合、この方法は使えないが、CXB の輝度は全天で ∼ 15%以内で一様であ ることが知られているので、その寄与をモデル化することは容易である。 4.2.7 天体の信号 本当に欲しい天体の信号は、HXI 視野内の X 線として到来する。∼ 80 keV までの X 線はおおむね 5 層目の CdTeDSD までに光電吸収される。各層での相互作用にはコンプ トン散乱と光電吸収があり、多くの場合 P/N-side でそれぞれ 1 個のチャンネルにヒット 2 実際、DSSD の動作試験中に、リセット信号による偽トリガーが確認された。 第 4 章 選別するイベントの種類と特徴 26 がある。まれにあるスプリットイベント3 では、P/N-side のいずれかで 2 チャンネルに ヒットが出て、1 層当たりのヒット数が 3、もしくは 4 になる。なお、コンプトン散乱に よって X 線が主検出器部から逃げることがあり、この場合は到来エネルギーが正しく再 現できないが、幸いそうしたイベントはアクティブシールドにより高い確率で検出でき るので、反同時計数で除去することができる。80 keV 以上の X 線の多くは 5 層とも貫通 してシールド底部に到達し、こちらも反同時計数で除去される。 我々が必要とするのは、天体からの X 線の到来位置と、全エネルギーである。前者に ついては、最初のヒット位置から計算することができる。後者のエネルギーは、ヒット した全チャンネルの ADC 値と、それらの較正曲線から求められる。このように、原理 的にはどのイベントでも位置とエネルギーを特定できるが、エネルギー算出時にはチャ ンネルごとにエラーが付加されるため、チャンネル数はできるだけ少ない方が良い。し たがって、どこかの 1 層で P/N-side それぞれ 1 チャンネルだけヒットしたイベントが最 も望ましく、それよりヒット数が増えるにつれ、イベントの価値は減少していく。 3 X 線がストリップ間に当たり、複数のチャンネルで電荷回収されるイベント 4.2. イベントの種類 27 !"#$%& $" 荷電粒子 イベント 放射化 バックグラウンド 中性子 ガンマ線 CXB 回路ノイズ 天体の信号 図 4.1: 検出器からの信号とその選別 地上 29 第 5 章 フロントエンドシミュレータ開発 この章では、HXI-S と DPU における DAQ シーケンス、すなわちトリガー発生から データ取得までがどのようにして行われるのかを説明し、その動作を模擬するファーム ウェア1 の開発について述べる。そして 6 章では、ここでのデータ処理を踏まえ、後段の DE がどのような処理をするかを説明する。 5.1 開発理念 データ処理系の試験をしようとした時に、ハードウェアとしては DE と DPU の Bread Board Model (BBM)、およびそのソフトウェアと FPGA ロジックが用意できている。本 物であれば、この先に主検出器と FEC がつながることになる。しかし、データ処理系 の試験を目的とする場合、検出器は実は不適格である。というのも、検出器では全く同 一の任意なイベントを好きなだけ何度も起こすことができず、処理の再現性を見るのが ひじょうに困難なためである。さらに、再現できるイベントのパターンは限られており、 さまざまなエネルギーのガンマ線イベントや、高エネルギーの宇宙線イベントを再現す るのは難しい。そもそも衛星搭載の検出器は 1 台しかないため、たとえば研究者側と製 造側 (MHI) とで試験を並列化することができず、大事な実機を何度も移送して、破損の 危険にさらすことにもなる。このような理由から、検出器を用いたデータ処理系の試験 は、効率がひじょうに悪いため、その代替モジュールの開発が必要とされている2 。 そこで我々は、検出器を模擬するファームウェアシミュレータの開発に着手した。シ ミュレータでは任意のイベント入力に対してデータ処理系 (DPU および DE) の出力を調 べられ、検出器よりも格段に柔軟な処理ができることを目的とする。将来的には、この シミュレータと、現存の Geant4 を用いた検出器のモンテカルロシミュレーションと組み 合わせれば、任意のイベントを模擬することができる。さらに、カウントレートも制御 すれば、天体からの信号もほぼ完全に再現できるため、最終的なパフォーマンス評価を も可能にできる。 5.2 5.2.1 設計 要求 シミュレータを作成するにあたって、おもな要求事項は 1 2 ここでは、組み込みソフトではなく、FPGA ロジックを指す。 MHI 側からも要請されている。 第 5 章 フロントエンドシミュレータ開発 30 1. MIO2 と LVDS で通信を行い、タイミングなども含めて仕様に則ったやりとりを する。 2. 検出器のようにトリガーを出し、そのレートは可変である。 3. 各チャンネルの ADC 値を含め、出力するデータはユーザが好きに設定できる。 である。2. と 3. こそがこのシミュレータの醍醐味であるが、それにはまず 1. を満たす 必要がある。このため、ASIC の動作はもちろんのこと、通信相手である MIO2 の User FPGA の中身も知っておかねばならない。以下では、その詳細を述べる。 5.2.2 信号線 MIO2 と FEC は、各層で図 5.1 に示すような信号を使ってやり取りをしている。各層へ 入力される信号は図 5.2 のように 8 枚の ASIC に振り分けられ、中でも I3 と O5 が Daisy chain となっている [10]。I1P/N は P/N-side の ASIC に共通で、I3 は P-side の先頭 ASIC のみに入力される。出力信号 O5 は N-side の末尾の ASIC からとり、O6P/N はそれぞれ の 4ASIC で OR をとっている。 HXI-S MIO2 +/01234 レイヤー0 Daisy chain-0 Daisy chain-0 Daisy chain-0 Daisy chain-0 ASIC ASIC ASIC (P-side) ASIC +,--. ASIC I/F-0 ASIC I/F-0 ASIC I/F-0 ASIC I/F-0 ASIC I/F-0 '*$%& ') '( ASIC ASIC ASIC (N-side) ASIC !" !#$%& 全レイヤー共通 各レイヤー個別 レイヤー5,6*75.6)共通 図 5.1: MIO2–FEC 間における 1 層あたりの信号線。Fan-out ボードは省略してある。 5.2. 設計 ()*+,-./ (/0&1 31 レイヤー (Daisy chain) &2# ASIC ASIC !& &' ASIC !& !" #$ #% ASIC !& !" #$ #% !& !" #$ #% !" #$ #% OR !"# !% &2$ ASIC !& !" ASIC #$ #% !& !" ASIC #$ #% !& !" ASIC #$ #% !& !" #$ #% OR !"$ 図 5.2: 観測モード (Acquisition、Conversion、Read-out) における 1 層内の信号結線。8 つの ASIC で共通の S LATCH、S、I4 はまとめて表記している。 ASIC の動作 5.2.3 ASIC は表 5.1 のような動作モードを有しており、MIO2 から出力される信号 S (0∼2 の 3 bit) および S LATCH によってそれらの遷移が制御されている。モードによって各 信号の役割は変化し、観測時 (Acquisition、Conversion、Read-out モード) では表 5.2 の ようになる。 表 5.1: ASIC の主な動作モード モード S0..2 処理内容 Slow Control Loading 000 / 1011 レジスタの設定変更 Slow Control Read-back 100 レジスタ値の出力 Acquisition 010 TA のトリガーを待機し、出力 2 Conversion 110 / 011 全チャンネルで ADC を行う Read-out 001 Conversion で得た ADC 値を出力 1 2 S=101 では S=000 で設定時のものを上書きしない。 S=011 では TA の threshold を上げ、Acquisition の間トリガーを無効に する 32 第 5 章 フロントエンドシミュレータ開発 Acquisition モード Acquisition は TA のトリガーを出力するモードであり、これを機に MIO2 は、およそ VA の Shaping time だけ経過した後にサンプルホールド信号を I1 へ出す。ASIC がサン プルホールドを受け取ると、その時点での VA 出力をホールドし、ADC を待つ。その後 MIO2 はモード信号 S を変更し、ASIC を Conversion モードへ移行させる。 Conversion モード Conversion では、I4 (リセット信号) の立ち下がりと同時に ADC を開始する。このと き I1 から ADC クロックが入力されるため、その立ち上がりごとにカウンタをインクリ メントしていく。ramp up が進み、ホールドした VA 出力と等しくなるとカウンタを止 め、その時点での値が ADC 値となる。これがすべてのチャンネルで完了したら O5 ピン を High にし、MIO2 へ ADC 完了を伝える。全層の ASIC で完了すると、MIO2 は ASIC を Read-out モードへ移行させる。なお、このモードの始めに MIO2 にて veto 信号が入 力された場合には、I4 が Low にならず、そのまま Acquisition モードに立ち戻る。 Read-out モード Read-out では、I3 が High の間だけ、I1 の Read-out クロックに合わせて表 5.3 の値を 先頭から 1 bit ずつ出力していく。その ASIC ですべて出力し終えると、O5 ピンを High にし、データを出し終えたことを知らせる。出力線は 1 層あたり O6P/N の 2 本しかない ため、P/N-side の ASIC は順番に出力していく。 表 5.2: 観測時の ASIC の各動作モードにおける信号の役割 I/O 信号名 Acquisition Conversion Read-out I S LATCH モードの切り替え命令 (S0∼2 のラッチ) I S0..2 010 110 / 011 001 I I1 サンプルホールド ADC クロック Read-out クロック I I3 Low O5 の出力許可 (High 時) データ出力許可 (High 時) I I4 ADC のリセット信号 O O5 Low ADC 終了 (High 時) データ送信終了 (High 時) O O6 TA トリガー Low ADC 値のシリアル出力 5.3. 実装と動作検証 33 表 5.3: ASIC(VATA461) が出力するデータフォーマット 項目 Start Chip data TA trigger SEU Channel data Ref. Ch. ADC value Ch. ADC values Common mode noise Stop 合計 1 2 3 5.3 5.3.1 サイズ (bit) 1 1 1 1 34 10 10/ch 10 1 3 5∼379 意味 有効なチャンネル1があれば 1 TA でトリガーがあれば 1 SEU があれば 1 有効なチャンネルは 12 Ref. チャンネルの ADC 値 各チャンネルの ADC 値 コモンモードノイズ値 有効なチャンネル数に依存 ADC 値が digital threshold を超えていること。 Reference チャンネル、Common mode noise の bit も含む。 Chip data が 0 のとき、SEU の次が Stop になる。 実装と動作検証 構成 5.2 節でも述べたように、MIO2 とは複数の信号線で同時にやりとりする必要があるた め、ハードウェアロジックによる実装が望ましい。このため、VHDL を用いてシミュレー タ開発を行った。シミュレータのブロックダイアグラムを図 5.3 に示す。FEC の Daisy chaining および ASIC の仕様を満たすため、本物と同様に、ASIC モジュールを 4 × 2 個 まとめた層 (Layer) があり、それをさらに 5 つ並列に持つものとした。このようにブロッ ク化することで、機能の追加が容易となる。 5.3.2 ハードウェア シミュレータを載せるハードウェアとしては、市販品の Shimafuji 社製 DIO2 ボードを 使用した [11]。DIO2 ボードの外観は図 5.4 のようになっている。DIO2 ボードは MIO の 代替、および MIO との接続を想定して開発されたもので、Space Wire インターフェー スとデジタル入出力を兼ね備えている。Xilinx 社製の XC3S1000 という FPGA が 2 枚搭 載されており、1 枚が Space Wire FPGA、他方が User FPGA として使用される。 5.3.3 各モードの実装と検証 現状で対応する ASIC の動作モードは表 5.1 の Acquisition、Conversion、Read-out の 3 つで、Slow Control については観測模擬をする際に必須ではないため、今回は割愛し た。また、信号 S LATCH は配線上の問題から使用しないこととした。モード信号 S の 第 5 章 フロントエンドシミュレータ開発 34 /0 !"#$%&'$(&)*+,-.%#" '+)D?-1":#+) </$#$:/1 2:1#??/1&4+,/E&1":/3 A;/):&B-CC/1 0"%/1&2!"#$%&'("#)3&4+,-./ !"#$%&'("#)&*+,-./ !"#$%&'("#)&*+,-./ !"#$%&'("#)&*+,-./ !"#$%&'("#)&*+,-./ >1#??/1&@/)/1":+1 567'&*+,-./ 567'&*+,-./ 567'&*+,-./ 589-#$#:#+) 567'&*+,-./ 567'&*+,-./ 567'&*+,-./ 567'&*+,-./ 567'&*+,-./ 5!'+);/1$#+) </",&=-: 1234 6F"8/&G71/ 内部バス LVDS 図 5.3: フロントエンドシミュレータのブロック図 変化と S LATCH は必ずペアになっているため、ロジックでは S をクロックごとにラッ チしていれば、動作上は問題ない。 開発したフロントエンドシミュレータは、図 5.5 のように MIO2 の BBM と接続して動 作試験を行った。MIO2 には MHI 製の FPGA ロジックを使用し、動作確認のための出力 はシミュレータ (DIO2) のピンから取り、ロジックアナライザを用いて取得した。MIO2 とシミュレータの双方で Space Wire アクセスが必要なため、Space Wire to Gigabit Ether (SpWtoGbE) を 2 台使用し、イーサネットハブを用いて PC から接続した。 以下では、各動作モードの実装方法を述べ、シミュレータの動作 (タイミングチャー ト出力) が実際の ASIC および FEC のものと等しいかどうかを検証する。 Acquisition モード トリガーの出力には表 5.4 のように 3 種類のモードを用意した。トリガーモードは Space Wire 経由でレジスタを書き換えることで遷移させられる。図 5.3 に示すように、Trigger Generator は各層が持っており、トリガーは本来ばらばらに出力されるものであるが、今 回は全層が同時に出すものとした。 5.3. 実装と動作検証 35 図 5.4: Shimafuji 社製の DIO2 ボード。User FPGA には LVDS 入力が 16、出力が 32 チャ ンネル接続されている。 実際に MIO2 と接続し、Acquisition モードにしたところ、図 5.6 のように動作した。 O6P/N からのトリガー出力から 500 ns 後 (MIO2 設定) に、I1P/N へサンプルホールド信 号が入力され、Conversion モードへ遷移している。なお、トリガーパルスは Conversion モードへ移行するまで HIgh にするものとした。 表 5.4: Acquisition でのトリガーモード モード番号1 トリガー 0 出力しない 1 一定周期 2 ランダム 1 2 レート (Hz) 5∼390k2 0.2∼2k アドレス 0x01010020 番地に書き込む ことで遷移する。 5×107 Hz で、0 ≤ n ≤ 10000。 128+1024n Conversion モード Conversion における ADC 時間は、本来は各 ASIC における最大の ADC 値が律速する ため、イベントごとに変わるはずである。この実装はやや複雑となるため、現状では約 4 µs だけ待機するものとした。将来的には、イベントごとに外部から設定した時間 (ADC クロック数) を待機時間にする予定である。 実際に MIO2 と接続して Conversion モードにすると、図 5.7 のように、ある時間後3 に O5 が High となり、仕様通りに動作することが確認できた。 3 MIO2 からの ADC クロックが一定数来たとき 第 5 章 フロントエンドシミュレータ開発 36 DIO2 LVDS CMOS Out Logic Analyzer PC MIO2 BBM Front End Simulator LVDS Out !" I/O Dsub 50 User FPGA LVDS I/O !" SpW FPGA Dsub 50 Dsub 9 micro Dsub 9 SpW to GbE SpW to GbE Ethernet Hub 図 5.5: シミュレータ動作試験の配線図 Read-out モード Read-out では表 5.3 に示すデータをシリアルで送信する。ユーザーが出力データを任意 に設定できることが、このシミュレータの主目的でもある。そこで、シミュレータ (DIO2) にある SDRAM をイベントデータの外部書き込み用ストレージとして利用することにし た。SDRAM には Space Wire 経由で書き込むことができるが、揮発性であるため電源投 入後に行う必要がある。各 ASIC の出す項目のうち、表 5.5 に示すものを外部から与え ることができ、全 5 層を合わせると、最終的なデータフォーマットは表 5.6 となる。本来 は可変長データのため、詰めることで領域を節約できるが、FPGA 上でビットの切り分 けを行わせるとオーバーヘッドになってしまい、シミュレータ由来のデッドタイムが増 えてしまう。よってデータは全て 16 bit 単位で与えるようにし、データサイズも 1 イベ ントあたり最大長である 2886 B に固定した。SDRAM の容量は 16 MB であるため、約 5700 イベント分を書き貯められる。HXI の帯域では、ブラックホール連星 Cyg X-1 が 最も明るい天体の一つで、想定されるカウントレートの上限値は ∼ 1 kHz である。した がって、最初にイベントの疑似データリストを一度 SDRAM にフルに書き込むと、観測 模擬は ≥ 6 秒程度になる。現状ではデータサイズが最大に固定されているが、以後は可 変長に対応させ、より多くのイベントを書き込めるようにする予定である。 MIO2 と接続し、Acquisition、Conversion を終えて Read-out モードに突入すると、図 5.8 および図 5.9 のように動作した。現状の仕様では、すべての ASIC から全チャンネル の ADC 値を出力するため、読み出しには ∼ 300µs という大きな時間がかかっている。 Read-out クロックの立ち上がりでデータ出力を行い、出し終えると完了の信号を出して おり、正しい動作となっている。 5.3. 実装と動作検証 37 図 5.6: Acquisition 時の動作。クロック周波数は 50 MHz で、縦の青点線の間隔は 250 ns である。 表 5.5: シミュレータで使用する 1ASIC あたりのデータフォーマット 項目 Lower Ch. Data Bit Upper Ch. Data Bit Ref. Ch. ADC value Ch. 0 ADC value .. . サイズ (bit) 16 16 16 (10)1 16 (10)1 .. . 意味 ヒットしたチャンネルのパターン (0∼15 ch) 〃 (16∼31 ch) reference チャンネルの ADC 値 チャンネル 0 の ADC 値 .. . Ch. 31 ADC value Common mode noise 合計 16 (10)1 16 (10)1 576 チャンネル 31 の ADC 値 コモンモードノイズ値 1 上位 6 bit は使用しない 第 5 章 フロントエンドシミュレータ開発 38 図 5.7: Conversion 時の動作。縦の青点線の間隔は 1 µs である。ここでは ADC 時間を約 4 µs にしている。 表 5.6: シミュレータで使用する 1 イベントあたりのデータフォー マット 項目 Header Layer trigger pattern ASIC0-0 data .. . サイズ (bit) 16 16 (10)1 576 .. . 意味 ヘッダー (0xAAAA) トリガーのある層2 1 層目の ASIC0 のデータ3 .. . ASIC0-7 data ASIC1-0 data .. . 576 576 .. . 1 層目の ASIC7 のデータ3 2 層目の ASIC0 のデータ3 .. . ASIC4-7 data Footer 合計 576 16 2886 Bytes 5 層目の ASIC7 のデータ3 フッター (0xFFFF) 1 2 3 上位 6 bit は使用しない。現状では無効。 各層で P-side と N-side に分けてある。現状では無効。 表 5.5 参照。 以上の一連の動作は図 5.10 のようになり、本物と同様の動作をすることが確認できた。 これをもってシミュレータの単体試験とし、正しい動作を確認できたと結論する。 5.3. 実装と動作検証 図 5.8: Read-out 時の動作。縦の青点線の間隔は 32 µs である。 図 5.9: 図 5.8 の先頭部の拡大図。縦の青点線の間隔は 250 ns である。 39 40 第 5 章 フロントエンドシミュレータ開発 図 5.10: シミュレータ–MIO2 接続における観測モードのタイミングチャート。Acquisition から Read-out までの 1 シーケンスを示す。 41 第 6 章 HXI DE 科学解析ソフトウェア の開発 6.1 6.1.1 DE ソフトウェアの概要 ソフトウェア構成 HXI も含め、ASTRO-H の DE では、TOPPERS/JSP1 に準拠したリアルタイム OS を 使用する。リアルタイム OS では、例えば地上から HV 制御などの重要なコマンドを送 信した際に、その応答が一定時間内に返ってくることが確約される。HXI-DE でのソフ トウェアは、大まかには上記 OS、システム共通ソフトウェア、そして HXI ユーザーソ フトウェアの 3 つにより構成される。システム共通ソフトウェアについては、補遺 B.1 にて記述する。 HXI ユーザーソフトウェアは、HXI に固有の処理を行う部分で、図 6.1 中の赤枠に示 す。それぞれの処理は以下のようになる。 • 初期化処理。HXI-DE をはじめ、DPU や AE、HXI-S の FEC 部の初期化を行う。 • DPU コマンド出力。DE から DPU へコマンド送信 (データ転送を含む) を行う際 のインターフェースとなっている。主に SMU からのコマンドや初期化処理、キャ リブレーション処理のときに使用される。 • DPU データ受信。DPU からのデータ読み込みを行う。主に観測データや HK デー タを受信する際に使用される。 • 観測データ処理。イベントデータを DPU データ受信機能から受け取り、イベント の選別などを行った後にテレメトリ処理へ受け渡す。 • テレメトリ処理。データを受け取り、地上に送信するための Space Packet に整形 する。 この中の観測データ処理では、検出器からのイベントデータ選別と、それらの統計情報 の生成を行う。この処理は HXI 全体の性能に直結するため、処理の内容は検出器を熟知 する研究者側が主導して決める必要がある2 。 1 Micro Industrial TRON (µITRON)4.0 のスタンダードプロファイルに準拠した、組み込み向けのリ アルタイム OS。 2 最終的な実装は MHI が行う。 第6章 42 MIO1 HXI DE 科学解析ソフトウェアの開発 バス機器 HXI-DE DPU コマンド受信 コマンド出力 DPU キャリブレー データ受信 ション処理 観測 データ 初期化 !"データ テレメトリ 処理 観測データ処理 WDT 制御 メモリ 機能 IPL 機能 図 6.1: HXI DE ソフトウェアのブロック図で、主な機能のみ示してある。黒枠がシステ ム共通ソフトウェアで、赤枠が HXI ユーザーソフトウェアを表す。 6.1.2 動作モードとその遷移 DE のソフトウェアの動作は図 6.2 のように規定される。起動時にはまずシステム共通 ソフトウェアが動き、IPL によって RAM プログラムを開始する。RAM プログラムには 主に 5 つのモードがあり、 • Initialize モード。初期化処理を行う。図 6.1 の「初期化」に対応する。完了すると、 Idle モードへ自動的に遷移する。 • Idle モード。初期化後に最初にとるモードで、Run や Utility モード移行を待機す るほか、エラー情報等のシステム HK データをテレメトリ出力する。 • Utility モード。Idle と同様にシステム HK データを出力するほか、メモリの読み出 しおよび書き込みが可能である。 • Run モード。観測データの取得や処理を行う。実際には中で Standby、Observation、 Calibration とさらに細分化されており、観測データ処理などは Observation で行わ れる。Calibration については 6.5 節で述べる。 • Halt モード。以上のモードで重大エラーを検知すると、このモードに遷移する。エ ラーの情報をログとして保存したのち、機能を停止させる。CPU リセットや電源 OFF によって起動時の状態に戻る。 となっている。これらのモード遷移は、Initialize→Idle や Halt への遷移を除いて、すべ て地上からのコマンドによってなされる。 6.2. 観測データ処理の概要 43 !"#$%&'(&)* Diagnostic 起動 (診断モード) Initial Program Load !+#$%&'(&)* Initialize 自動遷移 Halt Idle Utility !,-$.観測モード) Cal. Standby Obs. 図 6.2: HXI DE ソフトウェアのモード遷移 6.2 6.2.1 観測データ処理の概要 観測データ処理の果たすべき役割 これまで 3 章や 5 章で述べてきたように、HXI-S の検出器からのデータは、DPU に よってイベントデータとして整形され、一時的に書き貯められる。ここまでで、AE や DPU により、4 章で列挙したイベントのうち、明白にバックグラウンドと判断できるも のは除去され、完全に捨ててしまう。よって DE では、AE–DPU をすり抜け、明確にバッ クグラウンドと判断できないイベントを受け入れ、天体のカウントレートやテレメトリ の状況を顧みながら、それらのイベントの取捨選択を柔軟に行うことが目的である。 DE が取得したイベントは、まず原則としては何も捨てずにそのまま地上へ送ること が望ましい。しかし、それが衛星–地上間の転送レートを上回る場合、限られた条件につ いては、機上で一部を捨てることが必要である。その場合、イベントを捨てることで情 報を損ない、観測性能を低下させることは避けなければならない。したがって機上での イベント選別は、地上の詳細データ解析で行われる条件と同様に行われることが極めて 第6章 44 HXI DE 科学解析ソフトウェアの開発 重要である。このため HXI DE の観測データ処理では、6.3 節に示す基準でイベントの 質を判断し、DR へ書き込む (∼ 地上へ送る) さいの優先度 (High, Middle, Low) を決定 して、なるべく良質なイベントを捨てないように努める。 衛星と地上とのコンタクト3 の時間は、1 回あたり約 10 分と、ひじょうに短い。この間、 地上ではデータを受信する一方で、衛星および検出器が異常動作をしていないか、即座 に診断する必要がある。しかし、イベントデータをそのまま送っているだけでは、地上 で depacket 処理などを毎回行うことになり、短いコンタクト時間をつぶしてしまう。こ のため、観測データ処理において、イベントデータの一部の情報を抜き出して集積し、 統計情報を地上に送ることで素早く診断できるようにした。「すざく」HXD の PI プロ グラム4 では、「診断ヒストグラム」と「観測補助ヒストグラム」という 2 種類の統計情 報を生成し、地上へ送信していた [12]。HXI でも、6.4 節に述べるように、「積算カウン ト」と「ヒストグラム」の 2 種類のデータを生成する。HXD のものとは必ずしも実装は 同じでないが、「積算カウント」は診断ヒストグラムに、「ヒストグラム」は観測補助ヒ ストグラムに近い目的を持つ。 6.2.2 観測データ処理の起動と動作 観測データ処理は、6.1.2 節で述べたように、図 6.1 の Run モード中の Observation モー ドにて起動される。Observation モードでは、DPU (MIO2) にイベントデータがあるか どうかを 1 Hz で監視し、データがあれば DPU データ受信機能を用いてそれを取得し、 DE 上のバッファに書き貯める。取得するデータには主に 2 種類あり、検出器にかかる HV 値などの HK データと、イベントデータに分けられる。前者はそのままテレメトリ 処理に渡され、後者は観測データ処理に渡される。 観測データ処理では、まず 6.3 節に述べるように、一定の基準に従ってイベントの選 別を行う。そして、6.4 節の積算カウントおよびヒストグラムという 2 つの統計情報を生 成する。これらが終了すると、イベントデータおよびカウンタ、ヒストグラムをテレメ トリ処理に渡す。 6.2.3 プロトタイピング 観測データ処理の仕様決定、およびプロトタイピングは我々が行った。このプロトタ イピングに際し、何より重要なポイントはソースコードの可読性である。言葉で決定し た仕様だけでは、プログラムの動作との間に隔たりがあり、実際にコーディングを行っ て見る必要がある。このため、我々は図 6.3 のように、観測データ処理の各処理をブロッ ク化し、ソフトウェアのコンポーネントと元の仕様の対応がわかりやすいようなコード にした。本来であれば DE ソフトウェアには、安定動作、実行速度、省メモリなどの事 項が求められるが、これらの性能の追求は今後の課題とする。なお、このコードの一部 の動作検証は 7.3.2 節にて述べる。 3 4 地上局と衛星が通信できる状態。 HXI での観測データ処理に相当。 6.3. 観測データ処理 (1): イベントのグレード判定 45 観測データ処理 1.depacket処理 イベント イベントデータ データ コピー 1-1.データコピー イベントデータ バッファ depacket 1-2.イベント情報取得 イベント情報 イベント1 時刻 フラグ値 ヒットCh数 ADC値 イベント2 時刻 フラグ値 ヒットCh数 ADC値 2.グレード判定 統計情報 3.ヒストグラム 生成 3.ヒストグラム生成 !!!!!! 4.積算カウント ヒスト グラム 4.積算カウント 2-1.グレード判定 カウンタ 判定 delta-Tカット Flag selection Number of hits Soft LD/UD 5-2.定期的に送信 グレード付け 2-2. グレード 書き込み 5.データ送信 5-1.送信 送信 バッファ 図 6.3: プロトタイピングで実装した観測データ処理のブロック図。 6.3 6.3.1 観測データ処理 (1): イベントのグレード判定 グレードの概念 観測データ処理でイベントの善し悪しを決める際は、より柔軟な処理に対応できるこ とが重要である。よって、単にイベントを捨てる/捨てないという 1 bit の情報にいきな り落とし込むのではなく、より多元的な情報を持たせるようにした。具体的には、表 6.1 ように主に 4 つの判断項目を持ち、計 5 bit の「グレード」という量を導入する。各々の 判断項目でも、1∼2 bit 値のグレードを返し5 、それらをまとめることで 5 bit 値となる。 グレードの各 bit は判断項目に対応した物理的意味を持つため、この時点ではイベント の情報を抽出したことになる。 グレードが付けられたら、最終的には地上へ送信する際の優先度6 である、High, Middle, Low の 3 つのカテゴリに落とし込む必要がある。考えられるアルゴリズムは多数あるが、 グレードの場合の数が精々32 パターンであることから、ここでは最も単純に対応表を用 いて変換を行うことにした。よって、High, Middle に対応した2つ7 のグレードテーブル を用意し、判定により得られたグレード (5 bit) はこれらと照合され、即した優先度に 従って DR へ記録される。対応表にしたことで、グレード、すなわちイベントの物理情 報に対する優先度を柔軟に設定できる。なお、もしイベントが捨てられてしまった場合 でも、いくつ失われたかが後でわかるよう、3 つのカテゴリに対応した 3 つのカウンタ を用意し、割り振られたイベントの数をかぞえるものとした。 5 各判定を行うかどうかはパラメータにより可変で、行わない場合は 1 もしくは 11 を返す。 正確には、DR へ書き込みを行う際の優先度。 7 Low については High, Middle のいずれにも該当しなかった場合であるので、テーブルは不要である。 6 第6章 46 HXI DE 科学解析ソフトウェアの開発 1つのイベントのグレード G の判定は、グレードテーブルに与えられたパターン P の 列に対して if (G == P1high ) or (G == P2high ) or · · · then priority =High else if (G == P1mid ) or · · · then priority =Middle else then priority =Low のように行われる。 表 6.1: イベントのグレード判定項目 判定内容 番号 項目 1 2 3 4 Delta-t カット Flag selection Number of hits Soft LD/UD イベントの時間間隔が ∆t 以内に入っていないか 様々なフラグのパターンマッチング hit した総チャネル数がある数以下か 各チャネルの ADC 値がある範囲内にあるか 付与グレード (bit) 1 2 1 1 表 6.2: DE で取得する 1 イベントあたりのデータフォーマット。空き bit は省略 している。 項目 Data size Start Local Time Flag Live Time Hit ASICs ASIC ID-1 ASIC data-1 .. . サイズ (bit) 24 16 32 32 24 8 8 69∼379 .. . 意味 イベントのデータサイズ TA トリガー到来時刻 (0∼1 day, 50 ns 刻み) 表 6.4 参照 前回のトリガーからの時間 (0∼13 s, 50 ns 刻み) ヒットした ASIC の数 (以後 n とする) ヒットした ASIC の 1 つ目の ID 表 5.3 参照 .. . ASIC ID-n ASIC data-n End 8 69∼379 16 ヒットした ASIC の n つ目の ID 表 5.3 参照 - 以降では、表 6.1 の個々の判定項目について説明する。 6.3.2 Delta-t カット 4.2.5 節で述べたように、リセットパルスに由来するトリガーのリンギングによるイベ ントはおおむね DPU によって除去できるが、その取り残しがある場合は DE で除かな 6.3. 観測データ処理 (1): イベントのグレード判定 47 ければならない。それには、表 6.2 にある Live Time の情報を利用する。この情報は、 MIO2 が前回 DAQ を行ったとき8 から次の DAQ までの時間を教えるものである。この 時間が閾値より短ければ、偽のイベントである疑いが強いため、ここでのグレードを 0 とし、そうでなければ 1 を付ける。閾値は Live Time と同様に 0 ∼ 13.422 s までの 24 bit 値で設定できるものとした。 表 6.3: Delta-t カットにおけるグレード (1 bit) 条件 グレード LIVETIME> ∆t 1 LIVETIME≤ ∆t 0 6.3.3 Flag selection 各イベントデータには、表 6.4 のように様々な情報の入ったフラグ値が持たせてある。 個々の情報に関連性はないが、データ上で連続に配置していることから、表 6.4 の 32 bit 値はまとめて 1 つの値として判定を行う。この中で特に重要なものは FastBGO や Hitpat、 trigpat である。なお、具体的な判定方法は、補遺 B.2.1 に述べる。 APMU からの fast BGO 信号は、シールド系の APD 信号をモニターし、それが LD を 超えたかどうかを出力するものである。この信号は、3.3 節で述べたように、検出器にト リガーがかかったときに veto 信号を素早く出力することに重点を置いていて、あくまで Quick Look の値に過ぎない。そこで後ほど重要になるのが Hitpat 信号で、veto 信号に 用いるには間に合わないが、ADC が完了するまでにはその値を出力できるため、その判 定はフラグ値として DE に委ねられている。 trigger フラグおよび trigpat フラグは、その名の通り検出器 5 層のトリガーに関する ものである。trigger は、検出器の中で最初にトリガーを出したレイヤーのみを表してお り、trigpat は最終的に9 トリガーのかかったもの全てを表す。とくに trigpat はイベント の性質を如実に表すものである。検出器に入ったガンマ線は、各層の Si もしくは CdTe で光電吸収もしくはコンプトン散乱され、後者の場合は次のレイヤーで相互作用するか、 シールドに向かって吸収される。もしガンマ線が ∼ 100keV 以上のエネルギーを持てば、 散乱断面積の角度分布は前方に集中するため、散乱後も次の層へ向かい、多層での反応 が起きやすい。一方 HXI が対象とする 5∼80 keV の帯域では、散乱方向が比較的等方で あるため、例えば 5 層全てで反応するとは考えにくい。よって、これらのレイヤー数お よびそのパターンでスクリーニングを行い、その第一段階は 3.4 節で述べたように DPU で行われる。そして、DPU で選別されたグループ内での差異は DE がチェックすること になる。さらに、trigger と trigpat には 5 層の情報以外に、3.4 節で述べたような疑似イ ベント、強制トリガー、そしてキャリブレーションを示す 3 つの bit があり、DE では例 えば疑似イベントの優先度を高くするといった処理も行える。 8 9 ASIC が ADC を行ったとき、とも言い換えられる。 ASIC が ADC を開始する直前の時点。 第6章 48 HXI DE 科学解析ソフトウェアの開発 表 6.4: イベントデータの flag (32 bit) の構成 名称 FastBGO Hitpat trigger trigpat SEU Flag Length chk reserved 1 2 6.3.4 サイズ (bit) 2 2 8 8 5 5 2 内容 APMU からの fast BGO 信号 APMU からの hitpat 信号 最初にトリガーのかかったレイヤー 最終的にトリガーのあったレイヤー Single Event Upset1の有無 データ長に誤りが無いか2 宇宙線によるメモリのビット反転 ヒットしたチャンネル数と、読み出したデータサイズが無矛盾か Number of hits ある層でトリガーがあった場合、理想的には表面 (P-side) と裏面 (N-side) の電極が1 つずつ電荷回収を行う。しかし片面で 2 つ以上のチャンネルでヒットすることがあり、そ の場合はキャリブレーションの精度も落ちてしまう。したがって DE では、ヒットした チャンネル数10 がある設定値よりも多い場合は低いグレードをつけることとした。一方、 6.3.3 節でも述べたように、多層でのヒットは起きづらいため、例えばヒット数が 12 以上 (∼3 層以上で相互作用) のイベントなどは、異常動作の疑いもある。このような場合に は、異常をいち早く知ることが重要なので、逆に優先度を高くする11 ことも考えられる。 表 6.5: ヒットしたチャンネル数とそのグレード (1 bit) hit channels グレード Max number of hits 未満 1 Max number of hits 以上 0 6.3.5 Soft LD/UD ASIC で ADC が完了したとき、設定した ditgital threshold より ADC 値が大きいチャ ンネルだけが出力され、これがアナログ LD に相当する。LD を下げていくと、その付近 のイベントの数が相当数になるため、これとは別に、DE では可変の LDs /UDs 値を設定 する。これにより、アナログ LD より高めに設定した LDs 未満の ADC 値や、UDs 以上 の ADC 値しかもたないイベントは、ノイズまたは宇宙線イベントと考え、除去する。 10 11 ADC 値が ASIC の digital threshold を超えたものの数。 ここではグレード 0 が付くが、優先度へ変換するときの対応表で調整できる。 6.4. 観測データ処理 (2): 統計データ生成機能 49 表 6.6: LD/UD 判定におけるグレード (1 bit) 条件 グレード 少なくとも1つのチャネルで LD≤ADC 値 ≤UD 1 全チャネルで、ADC 値 <LD または >UD 0 6.4 6.4.1 観測データ処理 (2): 統計データ生成機能 積算カウント処理 グレード判定を終えたイベントは、もとのイベントの情報を失わずにそのまま地上へ 送られるため、科学者が詳細解析するための、いわば”Slow Look”用データである。一方 で、衛星を運用する際には、それらのイベントデータや HK データをリアルタイムで見 て、検出器に異常がないかを常に監視する。HXI では、イベントデータを詳細解析する ことなく、簡素に診断を行うため、「すざく」HXD の診断ヒストグラム同様に、積算カ ウントを用意することにした。積算カウントを用いれば、どこかの層の何番目の ASIC のあるチャンネルが故障し、常にトリガーが出続ける、もしくは全く出ないといったこ とがすぐにわかるようになる。 積算カウント処理では、HXI-S の全 1280 チャンネルごと、および全 40ASIC ごとにカ ウンタを持ち、それぞれのチャンネルや ASIC にヒットした個数を数えるものである。 ADC 値の情報は見ず、イベント毎に、ASIC に設定した digital threshold 以上のチャン ネルではすべてインクリメントする。データサイズが比較的大きい (2.5 kB) ため、32 秒 に一回の割合で地上にテレメトリ送信する。なお、送信した際にもカウンタはリセット せず、地上からのコマンドによってのみリセットされる。これは、もし自動リセットし てしまうと、カウンタ値として 0 が出力され続けたし場合に、本当にヒットが全く無かっ たのか、カウント処理の以上であるかが見極めにくいためである。 6.4.2 ヒストグラム生成処理 積算カウント処理では、チャンネルでのヒット数で診断を行い、ADC 値は無視してい た。それに対しヒストグラム処理では、チャンネルの情報を捨て、ASIC ごとの ADC 値 に着目する。積算カウントは診断の意味合いが強かったが、ヒストグラムでは観測補助 に用いられる。とくに、6.5 節のキャリブレーションでは、基本的にこのヒストグラムを 用いてエネルギー較正を行うことを考えている。 ヒストグラム処理では、HXI-S の全 40ASIC ごとに ADC 値を横軸としたヒストグラ ムを作成する。例えばあるイベントで、1 番目の ASIC の 2ch と 3ch にヒットがあり、そ れぞれの ADC 値が 100 と 200 であったとすると、1 番目のヒストグラムの 100 番ビンと 200 番ビンをともにインクリメントする。こちらもカウンタと同じくサイズが大きい (82 kB) ため、長めの周期12 でテレメトリ送信する。 12 可変で、デフォルトは 10 分 第6章 50 6.5 HXI DE 科学解析ソフトウェアの開発 キャリブレーション処理 衛星に搭載する主検出器は、打ち上げの前に地上で線源やテストパルスを用いるのは もちろんのこと、SPring-8 も利用して精緻なキャリブレーション行っておく。しかし打ち 上げ後は、もはや検出器に触れることはできないため、たとえばゲインシフトや、放射 線損傷などによるエネルギー分解能の劣化は、衛星上で較正を行って調べる必要がある。 衛星上での検出器のエネルギー較正には、主に 2 種類の方法がある。1 つは、衛星に 載せるキャリブレーション用の線源 (プラスチックシンチレータに埋め込まれた 241 Am) で、特定のエネルギーの X 線を出すため、電荷とエネルギーの対応を数点だけ知ること ができる。もう 1 つがテストパルスによるもので、ASIC に内蔵されるパルスジェネレー タを使用する。この場合、注入する電荷量を ASIC のレジスタ値で設定できる13 ため、電 荷量と ADC 値の対応を見ることができる。電荷量に半導体素子の電子ホール対生成の エネルギー (Si では ∼3.6 eV、CdTe では ∼ 4.4 eV [13]) をかければエネルギーとなり、 また 241 Am のラインから得た数点からもエネルギーが求められる。なお、キャリブレー ション処理は、主に SAA 通過中や地没14 に行われる。 テストパルスによる較正を行う際は、6.4.2 節のヒストグラムを使用する。1 つのヒス トグラムに複数チャンネルの ADC 値が詰められていると、後ほど切り分けられないた め、「一定の電荷、1 つのチャンネル」ごとにヒストグラムを作成しなければならない。 さらに、電荷量は複数の値を入力していくため、結果として、電荷量とチャンネルをそ れぞれ変えながらヒストグラムを作成する。そして、この電荷の変更とチャンネルの変 更は、地上のコマンドだけで行うとひじょうに煩雑であるため、DE ソフトウェアとの 間で処理を分担することにした。 地上で行うキャリブレーションのオペレーションでは、較正したいチャンネルの番号 と、テストパルスの入力電荷量の範囲とステップの電荷量を指定するコマンドを送信す ればよい。ASIC あたりのチャンネル数は 32 なので、32 回コマンドを送り、40 × 32× ステップ数のヒストグラムを受け取れば、一通り完了する。他方、DE ソフトウェアの キャリブレーションモードでは、図 6.1 に示すように、DPU へ連続的に特定のコマンド を送信する。具体的には、1 つのチャンネルの番号 (0..31) と、入力電荷量の範囲および ステップ数を受けとって、図 6.4 のように電荷量の変更を自動で行いながら、ヒストグ ラムを生成して送信する。 13 14 1.25∼18.75 fC までの 15 段階。 天体が地球の陰に隠れてしまう時間帯。 6.5. キャリブレーション処理 51 Calibration タスク開始 Charge = min, max, step !"#$レジスタ設定 %電荷量, チャンネル& ヒストグラム生成 ヒストグラム テレメトリ出力 Charge Calibration タスク終了 図 6.4: キャリブレーション時の動作 53 第 7 章 データ処理系の試験 7.1 目的 これまでに開発してきたフロントエンドシミュレータと、MHI 製試作 DPU、そして 我々の開発したユーザーアプリケーションを含む MHI 製試作 DE を用いて、全系を通し た試験を行う必要がある。ここで大切なことは、各モジュール間のハードウェア、ソフ トウェア的なインターフェースが正しく動作すること、そしてその条件のもとで、ユー ザーアプリケーションを含むデータ処理系が必要な機能を持つことである。最終的には DE におけるイベント選別の動作時間を調べ、これにより全系でのスループットを計測 する。HXI の性能要求である 6000 イベント/秒が達成できるかを確認し、もし難しけれ ばボトルネックの把握とともにその対策を講じることを目指している。 7.2 セットアップと試験手順 フロントエンドには、第 5 章で作成したシミュレータを用いた。DPU のハードウェア は MIO1 および MIO2 の Bread-Board Model を使用し、UserFPGA には MHI 製ロジッ クを書き込んだ。DE には CPU ボードである SpaceCard を使用した。CPU 上のソフト ウェアは、ユーザーアプリケーションの部分だけ書き換えが可能で、第 6 章で決めた仕 様に従ってコーディングを行った。DR としては、MHI 製の DR 模擬装置を使用した。こ れは Space Card 上の SDRAM から Space Wire 経由でデータ取得するソフトウェアであ る。セットアップを図 7.1 に示す。 試験の段階としては、 1. コンポーネントの接続試験 2. 取得イベント数の確認 3. グレード判定機能の検証 4. イベントレート試験 のようになる。1. で各コンポーネントの単体動作、およびそれらを接続した時に正しく 動作することを確認する。そののちにシミュレータ–DPU–DE の全系を接続し、2. でイ ベントの取りこぼしが発生しないか、3. でグレード付けが正しく行われるかを調べる。 そして 4. ではイベントレートを調整し、目標の 6 kHz を達成できるかどうか確認する。 第 7 章 データ処理系の試験 54 01*2! DIO2 01*2/3 バス機器 試作Space Card PC MHI 試作DEソフト 試作FPGA DR (MHI製) + 模擬装置 01*2/45 試作MIO1 フロント エンド シミュレータ (firmware) 試作MIO2 (MHI製) ユーザアプリ MHI 試作FPGA or -./! !"#$%&'()%&*+, ダミーFPGA 図 7.1: データ処理系の試験セットアップ。 7.3 7.3.1 コンポーネント接続試験 手順 データ処理系の全系が正しく動作することを確認するため、まず接続試験を 1. ハードウェアシミュレータ単体試験 (5 章) 2. DE ソフトウェア単体試験 3. シミュレータ–DPU 接続 4. DPU–DE 接続 5. シミュレータ–DPU–DE 接続 のように行った。個々の動作を確認したうえで、フロントエンドから順に接続を行い、そ れらの噛み合わせがうまくいくことを確認しながら、全体の接続へ前進していく。ここ で、DPU については、DE との接続によってはじめてアクセスが可能となるため、単体 試験はスキップし、DPU–DE の接続試験で同時に行うものとした。同様に、シミュレー タ–DPU 接続試験では、DPU の FPGA に、一部を除き本物と同様の動作をするロジッ クを書き込んで行う。1. のシミュレータ単体試験については、5 章で述べている。 7.3.2 DE ソフトウェア単体試験 DE ソフトウェア、つまりユーザーアプリケーションの単体試験としては、実機上で はデータ入出力の手段が乏しいため、あくまでソフトウェアのロジックを試験するもの とした。具体的には、ユーザーアプリケーションの C 言語による実装を PC 上で同様に コーディングし、そのソフトウェアでデータ入出力を確かめるというものである。プロ 7.3. コンポーネント接続試験 55 グラム構造は図 6.3 と同様であるが、PC 上では入力のイベントバッファおよび送信バッ ファをファイルとした。その結果、6 で決めたとおりに、グレード付け、積算カウント、 ヒストグラム生成の処理が行えることを確認した。実際にはソフトウェアの動作はコン パイラに規定される1 ため、実機と同じコンパイラを用いたうえで試験する必要がある。 これが全系試験の目的の一つである。 7.3.3 シミュレータ–DPU–DE 接続試験 以上で単体での試験はおおむね完了したものとし、シミュレータ–DPU–DE 全系の接 続へ向け、まずはシミュレータ–DPU 接続、次に DPU–DE 接続、そして全系と進む。 シミュレータと DPU の接続では、図 7.2 のように、DPU の FPGA へ本物と同様の動 作をするダミーロジックを書き込んだ。シミュレータの SDRAM へイベントを書き込み、 DPU から Space Wire 経由でデータ取得を行ったところ、書き込んだものと同じイベン トが取得できることを確認できた。 DPU–DE 接続では、図 7.3 のように、MHI 製のロジック、DE ソフトウェア、および DR 模擬装置を使用した。PC 上の DR 模擬装置を用いて DE ソフトウェアを起動し、DPU への Space Wire ルーティングを行ったところ、DPU へは DE 経由にて Space Wire アク セスができることを確認できた。次に、DE から DPU へモード切り替えコマンドを送信 したところ、DPU のモードが切り替わらないことが判明した。これは、現状の DE ソフ トウェアにはコマンド送信機能が (中身まで) 実装されていないためと考えられる。ただ し、代わりに Space Wire 経由で DPU のレジスタ変更を直接行ったところ、モードの切 り替わりを確認できたため、以後データ取得を行う際 (OBS モード切り替え) はこの手 法を用いる。このように柔軟に対応できることが、Space Wire 規格の特徴である。以上 で、シミュレータ–DPU 間、および DPU–DE 間の接続試験は一通り成功したものとし、 以降の試験に進んだ。 %&'($ DIO2 フロント エンド シミュレータ %&'(#)* -.*/023 試作MIO2 試作MIO1 ダミー 試作FPGA -.*/01 バス機器 試作Space Card PC MHI 試作DEソフト (MHI製) FPGA DR 模擬装置 (MHI製) 試作MIO2 (firmware) MHI 試作FPGA !"#$ !"#$%&'()%&*+, 図 7.2: シミュレータ–DPU 接続試験のセッ 図 7.3: DPU–DE 接続試験のセットアップ。 トアップ。 1 とくに組み込みでは、エンディアンや型の仕様に差が出る場合がある。 第 7 章 データ処理系の試験 56 7.4 取得イベント数の確認 シミュレータ–DPU–DE の接続が成功したら、まず確認すべきことは、シミュレータ が非デッドタイム時に出したトリガー数と、DE で取得したイベント数が一致している かどうかである。このために、ハードウェアシミュレータのさらなる機能として、 「出力 した総トリガー数」および「デッドタイムに出力したトリガー数」の計測を付け加えた。 それらはレジスタ値として持つようにしたため、Space Wire RMAP で読むことができ る。これを用いて、シミュレータのトリガーを ON から OFF にするまでのトリガー数を 数え、同時に DE から取得されたイベント数を計測し、一致することを確認する。 DPU に MHI 製 FPGA を、DE には MHI 製ソフトウェアを載せ、図 7.1 のセットアップ にてデータ取得を試験した。なお、ここではユーザーアプリケーションの機能を OFF に し、イベントデータはそのままの形で出力するものとした。シミュレータからトリガー を一定周期 (∼12 Hz, 500 Hz, 1 kHz) で約 10 秒ほど発生させたところ、最終的に DE で ユーザーアプリケーションが呼び出され、DR 模擬装置にてデータが取得できた。しかし ながら、その数をシミュレータでの出力トリガー数と比較すると、表 7.1 のように、イベ ントレートによって 20∼100 程度のイベントを取りこぼしていることが発覚した。この ときデッドタイムに出力されたトリガー数を確認すると、いずれも 0 であったため、ト リガー数はイベント数と一致している必要がある。この原因を考察したところ、DPU の User FPGA の出力するイベントデータフォーマットが、DE ソフトウェアで想定したも の食い違っているためと判明した2 。とくにデータサイズの解釈が異なるため、DE ソフ トウェアは正しいサイズよりも少なく見積もって、データ取得を行っていたのである。 表 7.1: 各トリガーレートにおける、発生トリガー 数と総取得イベント数。 イベント レート (Hz) 12 500 1k 7.5 シミュレータの 発生トリガー数 216 6700 10249 テレメトリ出力 イベント数 198 6579 10111 今後の課題 このように試験準備を進めて来たものの、7.4 節で述べたように、実は DE ソフトウェ アと DPU の User FPGA のデータのやり取りに不整合があり、データ取得の試験はス トップしている。HXI ソフトウェアは MHI の管轄であり、本試験で具合が発覚しても、 その場で修正することができないためである。その原因は明らかとなっているので、現 在その修正を急ピッチで行っている。 修正中に行える課題としては、DE ソフトウェアの一部機能の実装と、その試験であ る。試験については、現状では 7.3.2 節と同様に、実機ではなくソフトウェアのロジック としての検証を考えている。なお、それらが完了した暁には、イベントのグレード付け に関する 6.3.1 節の各項目の検証を、以下の手順で実行する予定である。 2 DE ソフトウェアをリリースした後に、DPU FPGA の仕様が変更されていたため。 7.5. 今後の課題 57 • Delta-t カットは ADC 値によらない判定であるため、シミュレータの出力トリガー を一定周期にし、レートを上げていくことで確かめられる。 • Flag selection は、32 bit 値を無機的に扱うため、どこの bit を用いて検証を行っ てもよい。したがって今回は、シミュレータの出力するトリガーを表 5.6 の Layer trigger pattern で変えることで、Flag の値を制御する。 • Nubmer of hits は、書き込みデータにおける表 5.5 の同項目を変更することによっ てチェックする。 • LD/UD も、書き込む ADC 値を変えて検証する。 なお、入力に対するグレードの確認方法としては、DE から出力されるイベントデータ の空き bit にグレードを書き込むようにし、PC でデータ取得後に調べる。 2012 年 4 月を目処に衛星搭載品のハードウェア製作が始まるため、DE のソフトウェ アとしても、基本的な動作試験をそこまでに終えておくことが極めて重要である。我々 の開発した試験セットアップは、この試験を迅速に進める上で不可欠なものであり、ソ フトウェア修正後の本試験へ向けて、着々と準備を進めておくものとする。 59 第 8 章 まとめ 本論文の結論を以下にまとめる。 • ASTRO-H 搭載 HXI において、機上でのさまざまなバックグラウンドイベントを 想定し、特徴と除去方法についてまとめた。 • バックグラウンドの中で、データ処理系の LSI や FPGA で除去しきれないものに ついて、CPU 上のソフトウェアで除去する方法を考案した。考案した手法に従っ て実装を考え、実際にプロトタイピングを行った。 • ソフトウェアを含めた HXI のデータ処理系を試験するにあたり、検出器を模擬す るシミュレータが必要と考え、その開発および動作検証を行った。 • データ処理系の性能評価のための実験セットアップを構築した。DE ソフトウェア 単体での動作試験、および全系を通してのイベントデータ取得の検証は、今後の課 題とする。 今後は、データ処理系の試験を行う際に発見した、ソフトウェアおよび FPGA の不具合 が解消されたのちに、性能評価を行う予定である。それまでは、DE ソフトウェアの一 部実装と動作検証を行う。 61 付 録A A.1 フロントエンドシミュレータ DIO2 ボード DIO2 ボードのブロック図は図 A.1 のようになっている。搭載 FPGA である XC3S1000 は、1920 個の Configurable Logic Block (CLB) を有し、使用可能な Block RAM (BRAM) の容量は 54 kB である。SDRAM の容量は 16 MB で、Space Wire FPGA に接続されて いるため、User FPGA が使用する時は外部バスを経由する必要がある。 図 A.1: Shimafuji 社製 DIO2 ボードのブロック図 [11]。SDRAM は Space Wire FPGA に接続されており、User FPGA は外部バスを経由してアクセスする。 付 録A 62 A.2 フロントエンドシミュレータ ASIC の Slow Control モード ASIC の Slow Control モードにおいて、各信号は表 A.1 のような役割をもつ。Read-out モードの時とは異なり、ASIC はレジスタ値の設定完了や出力完了を MIO2 へ通知せず、 MIO2 が代わりに出力する。シミュレータをこのモードは対応させることは、今後の課 題の 1 つである。 表 A.1: レジスタ設定時の ASIC における信号の役割 I/O 信号名 Slow Control Loading Slow Control Read-back I S LATCH モードの切り替え命令 (S0∼2 のラッチ) I S0∼2 000 / 101 100 I I1 書き/読みクロック I I3 書き込む設定値 O5 の出力許可 (High 時) I I4 設定値出力完了 (High 時) 設定値読み込み完了 (High 時) O O5 レジスタ値出力 O O6 Low 63 付 録B B.1 DE ソフトウェア システム共通ソフトウェア システム共通ソフトウェアは、名前の通り ASTRO-H 搭載機器に共通の部分であり、 すべて三菱重工業 (MHI) が実装を行っている。機能としては、図 6.1 の黒枠で示したよ うに、Initial Program Loading (IPL) やメモリ機能、Watch Dog Timer 制御やバス機器 (SMU) からのコマンド受信など、ソフトウェアの基礎的な部分を担当する。 • IPL では、RAM プログラムを起動する。 • メモリ機能では、搭載する SRAM や SDRAM のメモリパトロールを行い、ビット 反転が起きていないかを定期的に監視し、あれば修正を行う。書き込み回数の限ら れる EEPROM は、地上からコマンドを送った時のみ実施する。 • WDT 制御は動作の異常を検知することを目的とする。WDT は周期的にリセット されるが、もしタイムアウトした場合は、エラーをログとして保管した後、ソフト ウェアの動作を停止する。 • コマンド受信機能では、バス機器の SMU から受け取ったコマンドが正規のもので あるか1 を確認する。そして宛先が DE であれば該当する操作を行い、DPU 以降の 機器であればのコマンドを受け渡す。 B.2 B.2.1 イベントのグレード判定 Flag selection の判定法 32bit のフラグをまとめて判定する方法は、グレード → 優先度への変換時のものの拡 張となる。最大で 3 種類の Flag パターンテーブルを用意し、それぞれに Flag パターン P (32 bit) とマスク M (32 bit) の列を 8 個与え、基本的にはマスクを用いたパターンマッ チングを行う。しかしながら、Flag は reserved を除いて 30 bit もあるため、判定が煩 雑になる恐れがある。例えば先述の SEU Flag や Length chk などが立っていた場合は、 比較的重要なエラーであるため、優先度を高くして送るということが考えられるが2 、そ の場合 31 パターン (0x01∼0x1F) も判定しなくてはならず、非常に煩わしい。これを避 けるための案として、Flag パターンとマスクのペアそれぞれに対して “判定のパターン” H (2 bit) を与え、パターンマッチング以外の判定方法も可能にした。考えうる判定パ 1 2 正しいフォーマットで、引数の値は範囲内にあり、DE がそのコマンドを受け付けるモードにあるか。 状況によっては優先度を下げる場合もありうる。 付 録B 64 DE ソフトウェア ターンは表 B.1 のとおりで、上記 SEU Flag や Length chk の場合は、H = 1 を用いれば よい。実装は、あるイベントでの Flag 値を F とすると下記のようになる。 H 0 1 2 表 B.1: 判定方法 H の値と論理式の対応 判定方法 論理式 備考 マスク上で完全に一致 F &M == P &M 特定の bit が 1 F &P M は任意 特定の bit が 0 !(F &P ) 〃 if hantei(F, P10 , M10 , H10 ) or hantei(F, P20 , M20 , H20 ) or · · · or hantei(F, P80 , M80 , H80 ) then grade =0 else if hantei(F, P11 , M11 , , H11 ) or · · · then grade =1 ··· bool hantei(F, P, M, H){ if H == 0 then return (F &M == P &M ) else if H == 1 then return (F &P ) else if H == 2 then return !(F &P ) } グレードは 0 ∼ 3 まであり、優先度判定と同様にテーブルはグレード 0 ∼ 2 用の 3 つで、 グレード 3 は 0 ∼ 2 のどれにも該当しなかったときに付けられる。 65 謝辞 本研究は、多くの方々のご支援なしには成立しませんでした。牧島先生には、常日頃 からご指導ご鞭撻いただき、物理の面白さから実験物理学者としての心得まで、幅広く 教えていただきました。中澤先生には、実際に実験をするさいの、より具体的かつ的確 な助言をいただいたほか、研究の見通しの相談にものっていただきました。また故 F 先 生には、幼少時代から科学のおもしろさを教えていただき、何よりも夢を与えていただ きました。直接お会いできたことはありませんが、間違いなく、人生に最も大きな影響 を与えた人物の一人です。 宇宙研の小高さんには、本研究の立ち上げから今まで、誰よりも懇切丁寧に見てくだ さり、とても頭が上がりません。ソフトウェアの仕様からシミュレータの開発、修士論 文の文章構成まで、すべてにおいて監修していただきました。湯浅さんには、本郷時代 からソフトウェアの基礎や楽しさを教えていただき、今のソフトウェアの知識や技術の 半分以上は、そのときに授かったものです。本研究にも、ご自分の時間を惜しまずにご 助力いただき、やはり頭が上がりません。高橋先生および渡辺さんには、実験に際して さまざまなアドバイスをいただいたり、本研究に対してたいへん面白いビジョンを示し ていただきました。このビジョンはいずれ実現したいと思っています。国分先生は、未 熟な私をソフトウェア会議に参加させてくださったほか、設計の思想を教えてくださり、 とても勉強になりました。三菱重工業の方々には、会議はもちろんのこと、実際の動作 試験で私の質問やミスにも対処していただき、たいへん感謝しております。 理研の山田さんには、M1 時代から天体解析の論文の指導や、日常の色々な相談にも のっていただきました。広島大学のひろたかさんには、天体の論文の指導をはじめ、本 研究に対するアドバイスもいただきました。また、本研究立ち上げの際には、首都大の 石崎先生や埼玉大の方々にもたいへんお世話になりました。 本郷の内山さん、そして D1 の鳥井さんと野田さんには、修士論文の方向性などを相談 させていただきました。鳥井さんはシミュレータの開発も手伝ってくださり、いといろ と差し入れまでしてくださいました。たぶん総額は 36 万、いや 4000 円はくだらないで しょう。野田さんおよび内山さんとは、休みの日に F 先生作の大長編猫型ロボットの鑑 賞をして、夢を取り戻すことができました。鼻でスパゲッティ食わせたり目でピーナッ ツ噛ませたこともありましたが、今では心の友です。同期の笹野、中野両名および M1 の西田くんには、おもにくだらない雑談と、まれに物理の高尚な話にもつき合ってもら いました。あの無駄な時間は、私の勲章です。 このように、お世話になった方々には枚挙に暇がありませんが、以上に書ききれなかっ た方も含め、ご協力くださった方々には誠に感謝しております。本研究は皆様の多大な るご助力あってのことです。御礼申し上げますとともに、これからもよろしくお願い申 し上げる次第です。 67 関連文書 [1] S. Sakurai, et al. “ Accretion Geometry of the Low-Mass X-Ray Binary Aquila X-1 in the Soft and Hard States ”, PASJ Vol.64 No. 4, 2012 in press, [2] European Space Agency, ECSS-E50-12A, ”SpaceWire: Links, Nodes, Routers and Networks ”, 2003 [3] T. Takahashi, et al.“ The ASTRO-H Mission ”, Proc. SPIE Vol. 7732, 77320Z, 2010 [4] M. Kokubun et al., “ Hard x-ray imager for the ASTRO-H Mission ”, Proc. SPIE 7732, 2010 [5] Takahashi, T., Abe, K., Endo, M., et al. 2007, PASJ, 59, 35 [6] ASTRO-H Quick Reference [7] T.Yuasa, “ Development of SpaceWire-based waveform-sampling pulse height analyzer and its application to a hard X-ray detector ”, master thesis, 2007 [8] IDEAS, ”VATA451 Documentation (V0R6) ”, 2009 [9] Moretti, A., Campana, S., Lazzati, D., & Tagliaferri, G. 2003, ApJ, 588, 696 [10] IDEAS, ”VATA461.3 Documentation (V0R3)”, 2011 [11] SpaceWire DIO-II ボード 取り扱い説明書 Ver 0.1 [12] 寺田幸功「ASTRO-E 衛星搭載硬 X 線検出器におけるデジタルデータ処理システム の開発と検証」 修士論文、東京大学、1999 [13] KNOLL 放射線計測ハンドブック、第 3 版、2001
© Copyright 2024 Paperzz