SoCを用いたフィールド計測東京大学地震研究所 武多昭道
2017/10/2 計測システム研究会@函館 1
概要
1. イントロ
2. SoCの説明
3. SoCを用いたフィールド観測の事例
4. 今後の展望
2017/10/2 計測システム研究会@函館 2
概要
1. イントロ
2. SoCの説明
3. SoCを用いたフィールド観測の事例
4. 今後の展望
2017/10/2 計測システム研究会@函館 3
本講演におけるフィールド計測とは
• マイコンやFPGAのみでカバーできない範囲の計測• 情報量が数Mbps以上 →マイコンではカバーできない• 多様なI/Oと自律制御 →FPGAのみでは困難
•室内実験とは異なる条件• 基本的に屋外での使用を想定• 温度範囲が広い• 消費電力が低い• 十分な対候性
•市場規模はあまり大きくない• したがって市場に製品は出回っていない• 必要に応じて設計・製造する必要がある
2017/10/2 計測システム研究会@函館 4
2017/10/2 計測システム研究会@函館 5
Mt. Satsuma Iwo Jima
0 1 2 (km)
(m) 700
600
500
400
300
200
100
1.75 1.81 1.86 1.91 1.96
density (g/cc)
2017/10/2 6計測システム研究会@函館
N
ISTL
Mu
F=0 mrad
F=-600 mrad
F=600 mrad
Fault outcrop
Predetermined Fault line
100 m
Seismic fault zone
2017/10/2 計測システム研究会@函館 7
FractureZone
Fault crop
2017/10/2 計測システム研究会@函館 8
2017/10/2 計測システム研究会@函館 9
概要
1. イントロ
2. SoCの説明
3. SoCを用いたフィールド観測の事例
4. 今後の展望
2017/10/2 計測システム研究会@函館 10
本講演におけるSoCとは
• SoC=System on Chip• 本来は幅広い用途で用いられる
• 本講演では、FPGA-CPU混載チップを指す• Xilinx ZynqやIntel Startix, Intel Arria等• CPUは通常ARMが用いられる
• メリット• ディスクリート・プロセッサーとデジタル信号処理 (DSP) 機能を単一の FPGA に統合することで、システム消費電力、コスト、およびボードサイズを削減
• プロセッサーと FPGA 間の広帯域幅インターコネクトによってシステム性能を向上
• デメリット• 導入コスト• 研究者コミュニティー内での実績・資産が少ない
2017/10/2 計測システム研究会@函館 11
System-on-a-Board
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 12
System-on-Chip (SoC)
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 13
FPGA with Soft Processor Core
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 14
A Simplified Model of the Zynq Architecture
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 15
Simplified Hardware Architecture
of an Embedded SoC
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 16
Mapping of an Embedded SoC
Hardware Architecture to Zynq
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 17
The Zynq Processing System
Source: The Zynq Book
Co
nfi
gura
ble
MIO
s!
2017/10/2 計測システム研究会@函館 18
Basic Design Flow for Zynq SoC
Source: The Zynq Book 2017/10/2 計測システム研究会@函館 19
Design Flow for Zynq SoC
Source: Xilinx White Paper: Extensible Processing Platform2017/10/2 計測システム研究会@函館 20
(私が)SoCを用いる動機• 貧乏なので大規模なインフラを作れない
• 計測・通信用にどうしてもOSが必要となる• 開発コストもかけられない• バスは嫌い(高いので)
• FPGA・CPU混載ボードの開発は大変• CPUとののインターフェーシング(PIO,DMA,etc)• OSのブートストラップや割り込み処理の自作、OSごと自作の場合も• 必要となる言語が多い(アセンブリ言語の習得にはコストがかかる)
• 開発に必要な人的・金銭的リソースの減少• ものづくりのできる人材が急速に減少• それに伴う、基礎開発・R&Dに対する評価の低下
• 車輪の再生産を、多大な労力を払って行っている• ニーズはどこも似たり寄ったり• 最先端技術にキャッチアップできない
• インターフェース・デバイスの共通化によって、多様なニーズを満たす• 分野を超えた協働が可能• それによる人的・金銭的コストの削減
2017/10/2 計測システム研究会@函館 21
概要
1. イントロ
2. SoCの説明
3. SoCを用いたフィールド観測の事例
4. 今後の展望
2017/10/2 計測システム研究会@函館 22
地震研におけるZynqの導入例①
• ZedBoardを用いた水文観測• 2012年より
• カスタムOS
• FMCに自作FADCボードを接続
• 既存の資産を最大限活用したプロトタイピング
2017/10/2 計測システム研究会@函館 23
0
2
4
6
8
10
12
14
16
18
20
240 250 260 270 280 290
Flu
x [m
Hz]
water equivarent density length [cm]
data
simulation
180
200
220
240
260
280
-10 0 10 20 30 40
0
5
10
15
20
25
wate
r equiv
are
nt density length
[cm
]
rain
fall
[mm
]
time from rain start [hour]
data (left axis)
average (left axis)
rainfall (right axis)
2017/10/2 計測システム研究会@函館 24
地震研におけるZynqの導入例②• ボアホール内からのミューオンラジオグラフィー
• プロトタイピングの経験を活かし、小型化・多チャンネル化
• Linux OS
• 比較的高い拡張性
• 32ch 12bit 80MHzで10Wを下回る消費電力(まあまあ)
• PoE給電、その他いろいろ便利なものがついている
• 製品化(業者が)、初年度だけで40台出荷
• CPU+FPGAと比べると、FW,SW開発が非常に楽になった
2017/10/2 計測システム研究会@函館 25
概要
1. イントロ
2. SoCの説明
3. SoCを用いたフィールド観測の事例
4. 今後の展望
2017/10/2 計測システム研究会@函館 26
今後の展開に向けて・現状のニーズ
• 火山透視• FADC+TDCシステム
• 32ch 40MSPS 12bit x 8
• 断層観測• FADC+TDCシステム
• 32ch 40MSPS 12bit
• SFP+
• 大気蛍光望遠鏡• 16ch 80MSPS 12bit x 12
• 可変ゲインレシーバ
• 電波観測• 8ch 200MSPS 10bit
• 8GByte程度のバッファ
• 岩石破壊実験・微小地震観測• 16ch 40MSPS 14bit
→ 積算して16ch 10MSPS 16bit
• 1時間の連続観測
2017/10/2 計測システム研究会@函館 27
全て既存の装置では対応できず、自分たちで開発・製作が必要なものデッドタイム0が要求される、チャンネル数は1000未満それなりに複雑なトリガーが必要な場合が多い
全て1種類のFADC(ADS52J90,TI)で対応可能!100オーム作動受け、32ch入力・32chモード 32.5MHz/14bit 40MHz/12bit 50MHz/10bit・16chモード 65MHz/14bit 80MHz/12bit 100MHz/10bit・32chモード 130MHz/14bit 160MHz/12bit 200MHz/10bit
超高エネルギー宇宙線観測のためのフレネルレンズ型大気蛍光望遠鏡 (CRAFFT)
図1. フレネルレンズ望遠鏡
研究体制神奈川大(工), 信州大学(工), 東京大学宇宙線研究所
検出器の主な構成
フレネルレンズ (1 m2) UV透過フィルター
FADC (80 MHz, 12 bit) 高圧電源
PMT (8 inc.) アルミフレーム
将来構想超高エネルギー宇宙線の起源解明現行実験(TA実験など)の10倍の観測感度を実現70,000km2に望遠鏡を展開望遠鏡ステーション(60台)を15km間隔で設置
進行中の研究計画(平成28,29年度)
望遠鏡4台による宇宙線試験観測(@TA実験サイト)
自律稼働システムの構築
申請予定の研究計画現行実験と同規模の感度での宇宙線観測望遠鏡60台製作予定 (汎用読出回路を用いる)
図2. 2016年秋の試験観測. 擬似宇宙線事象(レーザー)の観測に成功
1m
フレネルレンズ
UV透過フィルターとPMTからなる受光部
米国ユタ州(TA実験サイト)10km先のレーザーを観測
観測したレーザーの波形
2017/10/2 計測システム研究会@函館 28
新型大気蛍光望遠鏡アレイによる次世代の極高エネルギー宇宙線観測計画(FAST)
http://www.fast-project.org
• 東京大学、シカゴ大学(アメリカ)、アデレード大学(オーストラリア)、パラツキー大学(チェコ共和国)の国際共同実験
• 新型大気蛍光望遠鏡を150,000 km2に展開し、極高エネルギー宇宙線への感度を一桁向上させる
• 自立観測できる望遠鏡を20 km間隔で設置
• 試作機をテレスコープアレイ観測サイトに設置し、観測を開始した
• 2年後に申請予定の大型科研費を獲得できれば、~100台の汎用読出電子回路が必要となる
FAST TA
2017/10/2 計測システム研究会@函館 29
電波を用いた宇宙線の測定
• 電波を用いた宇宙線の測定
• 安価、昼夜天候によらない観測、宇宙線組成の測定、誤差の少ない電磁成分のみに由来する信号、非常に小さい大気減衰
• テレスコープアレイ実験(米国)、オージェ実験(アルゼンチン)の相互較正
• 米国ユタ州の砂漠にあるテレスコープアレイ実験サイトに、自立稼働する電波検出器(30-80MHz帯)を100m及び200m間隔で57台設置
• 本年度に科研費を申請済• 来年度から2年半で建設予定、計画通りならこの期間中に57台の汎用読出電子回路が必要
• 東京大学、甲南大学、神奈川大学、大阪市立大学、信州大学、ユタ大学(米国)、カールスルーエ工科大学(ドイツ)の協力
電波検出器配置予定図
前実験で用いたlog periodic アンテナ
これを再設計した物を垂直方向に向けて設置
2017/10/2 計測システム研究会@函館 30
基本構成
• 要素ごとにボードを分離
• 多様な検出器が使えるようになる
• デジタル入出力も
• 親ボードにOSを搭載
• FPGA-CPU混載チップによって可能となった
• 自立したDAQシステムの構築
• フィールド計測の幅が広がる
• HDMIによるケーブル接続またはFMCによるコネクタ接続
• 検出器の多様な配置を可能にするため
• 通信はHDMI規格とは異なっていても良い
PC
/ストレージ
検出器
子ボード
/ハブ
SoCボード
2017/10/2 計測システム研究会@函館 31
アナログ
F/E
AD
Cボード
MIOボード
FMC/HDMI
FMC/HDMI
SoCボード+MIOボード
2017/10/2 計測システム研究会@函館 32
• ZynqのMIOはユーザーが自由に変更できる• MIOを決め打ちにせず、ニーズに合わせて変えられるようにするため、
MIO基盤を分離
• I/O(HP,HR)とGTXの大半はFMCから外部に出力• 現在の開発ではGTXはPCIe(NVMe) SSD用だが、他にも使える• FMCのI/OはADCボードに接続、またはHDMIを増やすため
子ボード+ADCボード
• ADCボードはFMCフォームファクターに準拠• ZedBoard/Zyboなどを用いたプロトタイピングが可能• そのままZedBoardなどに搭載可能
• 子ボードにKintex-7、SO-DIMM、USB、TDC-on-FPGAを搭載• TDC-on-FPGAは1chにつきLVDSを2組仕様• HDMIハブ機能(プロトコルはHDMIに限らず自由)• HDMIを通じた電源・クロック供給・リコンフィギュレーション
2017/10/2 計測システム研究会@函館 33
課題• 落雷対策・・・
• フィールド観測の永遠の課題
• ビット落ち・アドレス/データの飛び・etc,etc…
• 完全に対策することはあきらめることが賢い対策
• ISEからVIVADOへの更新• とても苦しんでいる
• たぶんフルスクラッチからやり直すことになる
• 大半の要素については開発実績があるか、リファレンスデザインがある• ADCは初めて使うものだが、設計を間違えていない限りは動く
• SFP+/Ether用のPHYはZynqでの動作実績が確認できていない
• MIOのシグナルインテグリティーが重要
• M.2 SSDのファームウェア、ドライバーは無償のものがないか、あっても遅くて使えない
• 多くの人が使えるHW,FW,SWのプラットフォーム構築
• 回路設計、基板設計の工数が多い
2017/10/2 計測システム研究会@函館 34
まとめ
• SoCを使った計測システムは、ペリフェラルが多く必要となる場合はとても便利• 外部機器とのI/Fが1種類で、割り込みもOSも必要ない場合は、当然だが
FPGAの方が楽
• 読み出し側に不揮発性メモリ(SDカードなど)、GPIO、TCP/IPが欲しい、という場合はSoCが良い
• 既に設計資産がwebにたくさん転がっているので、プロトタイピングの工数が短縮できる• FMC規格のADCがすでにたくさん販売されているので、似たようなものを作ればよい
• 新しいFADCや高速I/Oを試してみたい場合は、DAQが組みやすいSoCに軍配が上がるだろう
• ユーザーからはLinuxが搭載されたFPGAボードに見える
• ただし導入コストは多少必要
2017/10/2 計測システム研究会@函館 35
おまけ
(1) クロック周波数は40MHzから200MHzの間で可変、信号の方向はファームウェアレベルで固定、動的な変更は行わない
クロック入力としても使えるようにCCIO(MRCC)に接続
(2) レーン当たりのデータレートは最大1Gbps、信号の方向はファームウェアレベルで固定、動的な変更は行わない
(3) SPIを想定、接続先はFPGAのコンフィギュレーションピンおよびI/Oピン。I/Oピン側はSSを正論理として扱う
(5) 2.8V ロジック(PA6Hの場合)だが、3.3Vで問題ないはず、レベルコンバータ不要
(6) 2.54mmピンヘッダによる実装を想定している
(7) レベルコンバータ不要
(8) 1.8V電源入力対応のものが望ましい、I2C通信のものが望ましい、1PPS以外はPSに接続した方がよさそう
(10) 10MHzから200MHzで可変
(11) 信号の方向はファームウェアレベルで固定、動的な変更は行わない
(13) 共通のAXI4バスを使用、インターコネクトは記述していない
(14) 共通のAXI4-streamを使用、インターコネクトは記述していない
(20) 周波数はいくつにすべきなのか?100MHzで良いのか?
(22) SFPのI2CはMIO GPIOから駆動する。このピンの割り当ては必ずしもI2Cとは限らないため。
(24) HPピンはFMC LPCの部分に優先して接続
CLK2(1)/RX1
TX/RX2(2)
RX3,RX4
I2C/SPI(3)
12V
J2 信号計測部用I/F
HDMI
LVDS
LVDS
x3
1.8V logic
x 4
GPS(6)
2.54mm pitch TH
1PPS(5), 3DFIX,
TX
nRESET, RX
3.3V,GND3.3V
RTC(8)
1PPS(7)
I2C/SPI
VCC
battery
CLK1(1)/RX1
RD,TD
I2C/SPI(3)
12V
J1 信号計測部用I/F
HDMI
LVDS
LVDS
x3
1.8V logic
x 4
Zynq PL
SerDes
BUF/SerDes
Clock generator
PSCLK
1PPS
logic
CLK1
USER logic
SerDes
BUF/SerDes
USER logic
I2C/SPI logic
I2C/SPI logic
AXI4-stream(14)
AXI-CDMA
AXI4(13)
AXI4(13)
IRQ
AXI4(13)
AXI4(13)
AXI4-stream(14)
AXI-CDMA
REFCLK(20)
FMC HPC connector
GTX TX x 4
GTX RX x 4
GTX receiver
PCIe / Aurora etc
AXI4-streamUSER logic
Zynq PS
driver
ext4 filesystem
Gigabit Ethernet
Controller
RGMII Ethernet PHY
Marvell 88E1512
PoE connector
Molex85789-1001
DC-DC
48V to 12V
48V
12V
DC-DC
12V to 3.3V
SGMII
DC Jack
DC-DC
3.3V to 1.8V/1.5V/1.0V/DDR3
3.3V
SD card
Controller
level
converterSD card
DDR3 SDRAM
ControllerSDRAM(19)
33.3333MHz clock
Linux kernel
MIO 12-13 I2C1
MIO 14-15 UART0
MIO 16-27 Ethernet
MIO 28-39 USB0
MIO 40-45 SD card
MIO 46-53 SFP+ control
MIO GPIO x 8(22)
UART
USB
ControllerUSB PHY
計測制御部ブロックダイアグラム v 0.2
2017/03/15
東京大学 武多昭道
JTAG
GTX clock
DSC557-0343FI0
I2C controllertemp. monitor
humm. monitor
current monitor
for 12V
HP port : interface 4 x 2 x 2 = 16
HR port : RTC 5
GPS 5
interface 4 x 2 = 8
to ARM 666MHz
to DDR 533MHz
Interrupt handler
SFP+
TX/RX2(2)
RX3,RX4
I2C
RS0, RS1,
TX_DIS
RX_LOS, MOD
-DEF0,TX_FALUT
DMAC
USER to SDRAM
USER to PCIe
PCIe to SDRAM
SDRAM to PCIe
to interface
ADCLK
LOGIC_CLK
HP
HP
HR
HP
HP
HR
HR
HR
HR
HR
LVDS HP
Zynqの余ったピン全て
LVDS HR
無理のない範囲で
できるだけ多く
USER logic
12V,3.3V
DC-DC
12V to 5V
LVDS I/O(24)
2017/10/2 計測システム研究会@函館 36
おまけ
50MHz clock
CLK
CTRL
FADC
ADS52J90
LVDS
LVDS
x18
1.8V logic
x 9
Kintex 7
SerDes
BUF/SerDes
data transfer logic
I2C/SPI logic
信号計測部ブロックダイアグラム v 0.3
2017/03/24
東京大学 武多昭道
FCLK,DCLK,
DATA x 16
CLK1/RX1
I2C/SPI
12V
J1 信号計測部用I/F
HDMI
TX/RX2
RX3,RX4
CLK)/RX1
I2C/SPI
12V
J2 信号計測部用I/F
HDMI
TX/RX2
RX3,RX4SerDes
BUF/SerDes
I2C/SPI logic
HP port : DDR3
HR port : other
SDOUT1.8V logic
SO DIMM
116pin
HR port
USB3320
12pin
HP portUSB logicMicroBlaze
FPGA logic
trigger logic
delay/buffer
analog input x 32
100ohm differential
TDC logic
1.8V logic
x 6
12V
Vcommon
LVDS
x32
DDR3 logic
MIG 1.6 core
UART2pin
HP port
DC-DC
12V to 3.3V
DC-DC
3.3V to 2.5V/1.8V/1.5V/1.0V
/DDR3
3.3V
DC-DC
12V to 5V
12V
Spartan3AN
data transfer logicLVDS
x2
configuration
SPI ROM
GPIO4pin
HP port
2017/10/2 計測システム研究会@函館 37
TDC on FPGA
• X MHzのクロックを使用• Xは600から2000(FPGAの性能に依存)
• クロックの位相を4種類• 0, 45, 90, 135
• 立ち上がりと立下りでラッチする• 計8種の位相、周波数は8X MHz
• 入力は2または4ポート使い、IDELAYで遅延を調整• 計16種または32種の位相、周波数は16X MHz または32X MHz
• キャリブレーション用出力を準備、FPGAの出力ポートから上記の入力ポートに基板上で直接LVDS信号を送信する
2017/10/2 計測システム研究会@函館 38