45
FPGA をををををををををををををを (SWI M) をををををををををを 東東東東東東東東東東東東東東東東東東 東東東東東 東東東東東東東東2008 東 4 東 4 東

FPGA を用いた小型宇宙重力波検出器                     (SWIM mu ) のデジタル信号処理系

Embed Size (px)

DESCRIPTION

FPGA を用いた小型宇宙重力波検出器                     (SWIM mu ) のデジタル信号処理系. 東京大学大学院理学系研究科物理学専攻  石徹白晃治. 重力波研究交流会、 2008 年 4 月 4 日. はじめに. SWIM mn 開発が一段落 (SpC2 のプログラム開発、かみ合わせ試験、環境試験が残る ) SWIM mn : FPGA によるデジタル信号処理 DPF :共通バスとして SpW 通信を採用      ⇒ FPGA による信号処理、 IF が必要. 目的: データ取得、デジタル制御. - PowerPoint PPT Presentation

Citation preview

Page 1: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA を用いた小型宇宙重力波検出器                    

(SWIM) のデジタル信号処理系

東京大学大学院理学系研究科物理学専攻 石徹白晃治

重力波研究交流会、 2008 年 4 月 4 日

Page 2: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

はじめにSWIM 開開開開開開    (SpC2 のプログラム開発、かみ合わせ試験、環境試験が残る )

SWIM 開 FPGA によるデジタル信号処理

DPF :共通バスとして SpW 通信を採用      ⇒ FPGA による信号処理、 IF が必要

目的:データ取得、デジタル制御

目的:将来計画へ向けた知識・経験の伝達内容: FPGA による SWIM 開開開開開開開開開

Page 3: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 4: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 5: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM の目的と概要

2008 年度打ち上げ GOSAT のピギーバック小型実証衛星 SDS-1

高度 670km 太陽同期軌道サイズ: 70×70×60 cm 、

重量: 約 100kg 小型衛星 SDS-1

SpaceWire Interface demonstration Module  (SWIM)

目的 : 新しい宇宙機用通信規格「 SpaceWire 」の実証

→ ローコスト・高速・高信頼性・柔軟なネットワークトポロジー・高いスケーラビリティ  をもつ宇宙機用シリアル通信規格   NeXT や MMO 、小型衛星標準バスで採用予定

構成 : SpaceCube II ・ センサ部 ( 重力波検出器 SWIMmn ・ MHI モジュール )

Page 6: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

• 浮上マスモジュール ( ねじれ型重力波検出器 ) × 2 セット ( 互いに直交する方向 )

• アナログエレクトロニクス部• デジタルエレクトロニクス部 (FPGA 搭載ボード )

DECIGO Pathfinder のさらに前のステップ

衛星の振動環境を高精度で測定できる

目的・特徴地上のレーザー干渉計に比べ感度は悪い (h~10-7/Hz1/2  @ 1Hz)が、宇宙空間で重力波探査を行う世界初の検出器となる

DPF に向け、衛星製作・打ち上げの経験と実績を蓄積

SpaceCube II と SpaceWire を通じ接続

浮上マスモジュール

構成要素

Proof Mass

同時に、 SpaceWire の開発にも成果をフィードバックし協力している

SWIM の概要

Page 7: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM の現状

SpaceCubeII 試験品 デジタルエレキ

SpW

アナログエレキアンテナモジュール( マス・センサ・コイル )

衛星との噛み合わせ試験

現状

今後

FM 品完成・制御試験完了

FM 同等品テスト完了・FM 品製作中

FM 品完成・動作試験完了

地上試験用 SpC IIでプログラム開発中

全体での環境試験 ( 熱真空・振動試験 ) に入る

結合しての動作確認完了

SpaceWire 速度~ 1Mbps を確保

Page 8: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM の信号フロー

User 側信号処理のキーポイント: FPGA

Page 9: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 10: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA ?Field Programmable Gate Array

内部論理を再構築可能な LSI 使用例 携帯電話 自動車 GRAPE ( 重力相互作用の計算機 )

開発会社 Xilinx, Altera (Actel)

気球実験、飛行機実験データ取得用 約 5,000 円SWIM の FM 品 約 300 万円

価格例

Page 11: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA の背景1980 年代、大規模論理 LSI の設計 ASIC ・・ GateArray 方式:設計の自由度が大きい    多数のトランジスタを持つ汎用シリコンウェハから       ユーザーの設計に従ったメタル配線工程 を行う。

PLD ・・・ PLA 方式:論理が書き換え可能    規則的に配列・接続された AND-OR ゲートに、        論理式を積和形式に変換させて実装。

FPGA :GateArray の設計の自由度、 PLA の論理書き換え可能性を持つ

ユーザーが設計した論理・配線情報を SRAM 型記録素子に送ることで実現

Complex PLD :小さな PLD を結合

Page 12: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA のアーキテクチャLogic Cell:FPGA の回路規模を表す単位( 構成要素  LUT 1個、 FF 1個 )

LUT の例

Page 13: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA の優位性vs ASIC

設計から実装までの容易 少数での製造コスト 内部論理の再構築が可能

vs DSP ハード的な高速演算が可能

vs アナログ回路 相互補完的

Page 14: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA のプログラム

HDL: Hardware Description Language Verilog HDL :現 Cadence 社が開発 VHDL (Very High Speed Integrated Circuit HDL)

RTL (Register Transfer Level) での記述 ⇒ CAD ツールによる自動的にロジック回路を生成

C や Matlab のみからロジック回路生成可能 ( 有料ソフト )

:米国国防総省の提唱

Page 15: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

HDL の例 ( 論理積 )

library IEEE;use IEEE.STD_LOGIC_1164.ALL;

entity test isPORT(

A : in std_logic;B : in std_logic;C : out std_logic

);end test;

architecture Behavioral of test is

beginC <= A and B;

end Behavioral;

ライブラリ宣言

エンティティ宣言( 外部 IF 定義 )

アーキテクチャ宣言( 内部動作の定義 )

Page 16: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

RTL の例 ( 論理積 )

Page 17: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

合成された回路 ( 論理積 )

Page 18: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

動作検証 ( 論理積 )

Page 19: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

実際の配線図

Page 20: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

VHDL 演算子による加算回路例: C <= A + B (A,B,C は符号無しの 3bit)

合成回路結果: 同時桁上げ式加算回路

論理演算子から直列、並列型の加算回路も作れる

Page 21: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 22: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM の信号フロー

Page 23: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

境界条件: ExtBus 規格

Page 24: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

FPGA の仕事

データ取得 、 TAM のデジタル制御それに付属した詳細な機能 ダウンサンプリング、 Bus ステートマシーン、 HK データ生成  ADC,DAC,MUX のコントロール、 LED の on/off 、信号対角化

UserFPGA の仕事

SpWFPGA の仕事

User側が設計、作成

SpW IP 、デジタルボード管理

三菱重工が作成気球実験、飛行機実験で使用したボードではシマフジ電機

Page 25: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM の信号処理系

Page 26: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM FPGAXilinx XQVR600(UserFPGA, SpwFPGA)

UserFPGA の開発、試験@東大 ⇒ 論理合成、試験@ MHI  ⇒ 実機試験@東大

SWIM デジタルボード

SWIM DAC ボード

SWIM ADC ボード

Page 27: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 28: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM のデータ取得

① SCII が UserRegister の DAQ 開始 Register を On

② UserFPGA が SRAM に フレームデータを書き込む

③ SCII が SRAM から フレームデータを読み込む

Page 29: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

連続データ取得試験SpC から連続データ取得成功(2008/3)

SpCII プログラム開発中 ( 穀山くん )

Page 30: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 31: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM 制御ループ

Page 32: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

SWIM 制御ループ50mm

捩れ型回転子 変位センサー (PS)

コイル = 磁石型アクチュエータ

ADC

MUX

IC 型加速度計、ジャイロ

発光強度モニター (PSm)

PS x6PSm x6

EN x4

ADC ボード

Digital signals x2

FPGADAC ボード

DAC

Page 33: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

UserFPGA の信号処理Decorder 128kHz,16bit,2signals ⇒ 2.15kHz,16bit,16signals

Filter 4PS signals ⇒ Yaw,Z Error signals ⇒ Yaw,Z Feedback signals by PD fitlters ⇒ Signal injection ⇒ Coil Feedback signals

CoilController 2’s complement ⇒ Offset binary

Page 34: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

Decorder

77us

465us (~2.15kHz)

PS1

PS2PS3

PS4

PS5

PS6

EN1EN2

PS signlas  ← 4 点平均  ← PS LED on/off 引き算EN signals ← 6 点加算 /8

PS LED は間欠点灯例 :PS1 LED の点灯タイミング

Page 35: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

Filter

PS6Offset

PS4Offset

PS3Offset

PS1Offset

PS6[k]

PS4[k]

PS3[k]

PS1[k]

2102

10

02102

1

Z_Er[k]

Yaw_Er[k]

Z_inj[k]

Yaw_inj[k]

Z_Fb[k]

Yaw_Fb[k]

10

10

01

01

Coil4[k]

Coil3[k]

Coil2[k]

Coil1[k]

1]-Z_Er[k-Z_Er[k]32

1]-Yaw_Er[k-Yaw_Er[k]4

Z_Er[k]32

Yaw_Er[k]

Z_Fb[k]

Yaw_Er[k]

対角化

PD フィルター

対角化

制限:加算 + 零点シフトのみで構成

Page 36: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

Filter

1]-Z_Er[k-Z_Er[k]32

1]-Yaw_Er[k-Yaw_Er[k]4

Z_Er[k]32

Yaw_Er[k]

Z_Fb[k]

Yaw_Er[k]

周波数 [Hz]

ゲイ

Page 37: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

Filter

伝達関数測定のため FB 信号の矩形波を注入可能

Page 38: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

デジタル制御試験

Torsion Antenna Module

ネオジム磁石

SWIM 開開開開開開開開開

磁石で鉛直方向に DC 的な力を付加

FM 品の制御成功 (2007/12)

Page 39: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 40: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

試験の様子

SpaceCube

デジタルボード

DACボード

ADCボード

TAM

Page 41: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

力学的特性回転方向 鉛直方向

Page 42: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

オープンループ伝達関数回転方向 鉛直方向

Page 43: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

エラー信号鉛直方向 回転方向

10-8 [m/Hz1/2]@1Hz4x10-8 [m/Hz1/2]@1Hz

Page 44: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

目次SWIM と SWIM の概要

FPGA?

SWIM のデジタル信号処理系

SWIM 開開開開開開開

SWIM のデジタル制御

特性評価

まとめ

Page 45: FPGA を用いた小型宇宙重力波検出器                        (SWIM mu ) のデジタル信号処理系

まとめSWIM:FPGA によるデジタル信号処理

目的:浮上質量のデジタル制御、データ取得

SWIM 開開 SWIMFM 品をフレームに実装 (4/3@ イデア )      FM 品の振動試験 (4/4 @明星電気 )  SpCII :NEC で振動試験⇒ 4/6,7 に SWIM 開開開 開開開開開開開開開 @JAXA-ISAS

実機試験に成功 ⇒ 現状:取得データから FM 品特性評価軌道上で特性評価が可能であることを確認