赤井隆一 京都大学理学部理学科 2013年度 卒業研究P6発表会 マイコンを用いたXRPIX制御 p1:P6赤井隆一です。私はマイコン、マイクロコントローラを使った XRPIXの制御について研究を行いました。 赤井隆一 京都大学理学部理学科 2013年度 卒業研究P6発表会
実験の目的 FPGAを使用せず、マイコンでXRPIXに制御信号を入力しX線信号データを取得する。 信号を入力、X線信号データを取得すること、が目標です。
XRPIX 京大がKEK(高エネルギー加速器研究機構)と共同で設計開発したX線天文学用SOIPIX 各ピクセルにトリガー回路と読み出し回路を搭載したシリコンアクティブピクセルセンサー 反同時係数法を用いることにより、非X線バックグラウンド(NXB)の大幅な除去が可能 p3:まずXRPIXについて紹介します。XRPIXは京大がKEKと共同で設計開発 した次世代X線天文学用のSOIPIXの名前です。SOIPIXについてはすぐあとで 触れますが、簡単に言うとX線を検出するピクセル縦横にたくさん並べることで X線天体を撮像できるCMOSイメージセンサーということになります。 XRPIXの特徴として、X線観測衛星で使われているCCDと比べて 時間分解能に優れるという特徴があります。たとえばSuzaku衛星に搭載されて いるCCD(XIS)で1024*1024ピクセル読み出すのに6.7sかかるのに 対し、XRPIXは各ピクセル毎にトリガー回路と読み出し回路を取り付け、 イベントのあったピクセルだけを読み出すことで時間分解能は1pixelの読み出し 時間である~10μs程度にまで向上します。 もう一つの大きな特徴として、トリガー回路を使って素子の周りを囲む シールドカウンターと反同時計数法を行うことにより、求めるX線天体以外からの 宇宙線によるイベント(NXB)を除外し、NXBが支配的になる10KeV以上の 領域でもバックグラウンドを減らし、40KeVにまで観測領域を広げることが 可能になります。
SOIPIXとは SOI(Silicon-On-Insulator)技術を利用し比抵抗の異なるSiレイヤーを一体化 上部のSiレイヤーをSOI-CMOS回路、下部のSiレイヤーをセンサーとして利用 従来型のCMOSセンサーに比べ、回路部が高速で省電力、放射線耐性に優れる。 p4:SOIPIXについて説明します。SOIPIXではSOI技術というシリコンの 結晶の上に酸化シリコンからなる絶縁層を作り、その上にまた別のシリコンの 層を重ねる技術を利用し、比抵抗の違うシリコンの層を一体化、 上部のシリコンに電荷読み出し用のCMOS回路、下部のSiを放射線を受ける センサーとして利用しています。 一枚のSi基板にCMOS回路を作る従来型のバルクCMOS回路と 放射線用のSiを機械的に接続した従来のCMOS検出機よりも回路が高速で 省電力、また放射線耐性に優れるという特徴があります。
今回用いた素子の仕様 実験で用いた素子はXRPIX1b-CZ-100µm XRPIX1b-CZ-100µm仕様 ピクセルサイズ 30 µm x 30 µm フォーマット 32 x 32 pixel センサー層厚 100 µm センサー層の比抵抗 0.7 kΩ cm p5:今回実験に使った素子はXRPIX1b-CZ-100μm,仕様としては(表)となります。
信号の流れ 通常、XRPIX1bの制御にはFPGA(Field Programmable Gate Array)を用いる。 イーサネット用変換 信号 p6:通常このXRPIXの制御にはFPGAというチップを使います。 その場合、素子を乗せるSUBボードとそれに接続するSEABASボードと呼ばれるボードを使い 図のような構成になります。 この場合、(図の信号の流れを説明) 素子 UserFPGA SiTCP FPGA イーサネット出力端子 SUBボード ADC SEABASボード
FPGA ・ユーザーがハードウェア記述言語を用いて設計を書き込む事で、構成を変更可能な集積回路。 ・ハードウェア記述言語にはVHDL,Verilog HDL等がある。
マイクロコントローラ(マイコン) コンピュータの動作に必要な主要部品を一つのチップに実装したもの。 あらかじめプログラムを書き込んでおくことで、独立した電子機器の制御が可能。 今回の実験ではAtmel AVR マイクロコントローラを搭載したArduino UNOを使用 p8:マイコンとはマイクロコントローラの略で、コンピュータの動作に・・・ あらかじめ・・・ 今回の実験では・・・というボードを使用します。
Arduino UNO 主な入出力端子 ・14本のデジタル入出力ピン …5V(HIGH),0V(LOW)を出力可能 ・6本のアナログ入力ピン …5Vまたは1.1Vを基準電圧として1024段階で電圧を測定可能 今回は1.1Vを基準として使用 (1単位1.1mv) ・USBポート …PCとの通信、マイコンへのプログラム書き込みに使用 Arduino unoの主な入出力端子として、まず図の上側に14本のデジタル入出力ピンがあり、これらはhighと設定すれば5Vを出力,LOWと設定で0Vにできます。 次に電圧読み取りのための入力ピンとして6本のアナログ入力ピンがあります。5V
Arduino IDE(統合開発環境) C言語風の構文 作成したプログラムはgccによってコンパイルされhexファイルに変換後マイコンに書き込まれる p10:画像はマイコンに書き込むプログラムを作成するための統合開発環境Arduino IDEです。 プログラムはC言語をベースとした構文で作り、作成したプログラムはマイコンへのアップロード を選択すると、gccによってコンパイルされ、hexファイルに変換後マイコンに書き込まれます。
マイコン使用例 周囲の明るさに応じてon/offするLED 光を当てると抵抗の減少するCdSセルを光センサーとして利用 CdSセルの抵抗の変化によりマイコンアナログ入力ピンにかかる電圧が変化 ↓ 入力電圧がしきい値以下になるとLED回路に電圧を出力させる p11:マイコンの使用例として、最初にマイコン使用の練習として作成した 周囲の明るさに応じてon/offを切り替える装置を紹介します。
実際の回路 p12:実際に組んだ回路の写真です。これがLED、これがCdSセルです。このCdSセル いいます。
ソルダーレス・ブレッドボード 抵抗等の部品とジャンプワイアを差し込む事で簡単に回路を構成、組み換えができる試作用基板 図中のライン方向の穴は内部で電気的に接続している
マイコンのプログラミング 光センサーのためのマイコンのプログラムです。まずセットアプでピンモード13番アウトプットとして13番ピンを出力に設定。 次に、ヴォイドループという関数ですが、マイコンはこのヴォイドループ内のプログラムを繰り返し実行します。 ここではアナログリード関数(これは入力ピンから電圧を読み取る関数です。)を使ってiという変数に読み込んだ電圧を代入。 次にif文を使って、電圧が500(1024が5Vです)以下だと13番ピンに電圧を出力してLEDを点灯、 500以上の場合は電圧を0VにしてLEDを消灯、という処理をさせています。 送信がおわたらこのディレイ関数で一秒停止です。
PC側の受信データ(電圧値) 値を見てしきい値を設定 すれば完成 Arduino IDE付属のシリアルモニタ (画像説明)マイコンの使い方に関しては以上です。 Arduino IDE付属のシリアルモニタ
XRPIX1bからの信号の読み出し 読み出しに使用する6つの信号の入出力場所 AOUT 読み出しに使用する6つの信号です。AOUTは素子からの信号を読み取る端子、ほかの5つはマイコンから制御信号を入力する端子です。
・各ピクセルの読み出し回路 RST_PD_VRST… VSENSノードをリセット電圧に設定 RST_CDS_VRST… N02をリセット電圧に設定 STORE… オンにしている間、Sampleキャパシタに信号が積分される EN_X_DEC32ROW… ピクセルの位置指定(行)を有効にする EN_X_DEC32COL… ピクセルの位置指定(列)を有効にする
X線入射後電圧読み出し手順 1.NSENSとN02をリセット電圧に固定 2.RST_PD_VRSTをオフ 3.RST_CDS_VRSTをオフ(露光開始,露光時間1ms) 4.N03の電圧(V_SIG+V_N2S+V_SF2)をアンプを通しAOUTから読み出す それぞれの信号の入力手順です、まず・・・
リセット電圧読み出し X線入射後電圧ーリセット電圧 =V_SIG+(V_N2S-V_N2R) 1.NSENSとN02をリセット電圧に固定 2.RST_PD_VRSTをオフ 3.RST_CDS_VRSTをオフ 4.N03の電圧(V_N2R+V_SF2)をアンプを通しAOUTから読み出す X線入射後電圧ーリセット電圧 =V_SIG+(V_N2S-V_N2R) 信号 ノイズ
配線の様子 マイコンからSUBボードへ5つの信号を出力 SUBボードのAOUT(アナログ信号出力)をマイコンのアナログ入力ピンに接続 間のブレッドボードは電圧調整の為の分圧回路
信号のタイミング 信号読み出し+リセットで1フレームの説明 1ms リセット 読み出し 100μs 露光期間 X線電圧 読み出し 100μs
信号の波形 マイコンのアナログ入力ピンを使って各電圧を読み出し、差を計算してPCへ送信する X線入射後電圧 信号電圧値 リセット電圧 100μs マイコンで各電圧を読み差を計算し、USBで数値をPCへ送る。 マイコンのアナログ入力ピンを使って各電圧を読み出し、差を計算してPCへ送信する
PC側のデータの記録方法 Processingによるシリアル通信記録プログラム
1pixel[RA0,CA0]のペデスタル (遮光状態での出力)
蓋を開けて光を遮ってみる
まとめ 1ピクセルに固定しての信号読み出し成功 複数ピクセルを読むための課題として ・マイコンの電圧読み出し時間100μs 今回露光時間1msの設定で1フレーム1.4ms。 1000ピクセル読む場合1フレーム約400msになってしまう。 まとめ