0% found this document useful (0 votes)
42 views24 pages

Multi Read MPPC For Neutrinos

1) The document discusses options for a multi-channel MPPC readout system, including using basic analog circuits for each channel, multiplexing, and using an FPGA. 2) Testing showed that cheap op-amps like the TL071 and NE5534 could not produce narrow pulses from the MPPC signals. The ADA4891 worked better but still had issues. 3) A design using the FPGA to input held pulses and count the discharge time with an internal clock was proposed. This could be done at a low cost of around 1500 yen per channel using cheap components.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views24 pages

Multi Read MPPC For Neutrinos

1) The document discusses options for a multi-channel MPPC readout system, including using basic analog circuits for each channel, multiplexing, and using an FPGA. 2) Testing showed that cheap op-amps like the TL071 and NE5534 could not produce narrow pulses from the MPPC signals. The ADA4891 worked better but still had issues. 3) A design using the FPGA to input held pulses and count the discharge time with an internal clock was proposed. This could be done at a low cost of around 1500 yen per channel using cheap components.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Multi channel MPPC readout

1
Topic
Motivation: Multi channel MPPC readout
There are three options as a multi-channel MPPC readout system.

As for Possible design No.2: use Multiplex


Here, I just performed simulation test for a circuit design No2,
and I found that the No2 is not promising.

Basis analog circuit for each channel


Here, I tested an analog circuit design using TL071 and NE5534 (the cheapest op-amps)
where I implemented some functions against some troubles. However, I found that I can not
see photo peaks from MPPC with these op-amps.

A main problem is that signal is too stretched (1usec), and I can not make it narrower
even if I modify RC time constant of the circuit.

Read-outing signal itself seems to be fine.


FPGA firmware and Python for controlling FPGA are working as I expected.

I also performed the second test using ADA4891 (a cheaper op-amps) .


I can get narrow pulse (~100 nsec peaking), but several problems appear
I need to optimize the circuit or improve it (I’m now here…)
2
Motivation: Multi channel MPPC readout
-. A cost :
- NIM-EASIROC ~ 25万 yen / 64ch (no tax) ~ 3900 yen / ch
- CAEN-CITIROC ~ 30万 yen / 32ch (no tax) ~ 9400 yen / ch

Possible design No.1: basic one


Basis analog circuit for each channel (Signal → Amplification → PeakHold)
+ ADC device for each to measure voltage

+ PC or more simply Raspberry-Pi?

Possible design No.2: use Multiplex


PeakHold before PreAmp (Signal → PeakHold )
+ Multiplex → Amplification → one ADC for all channel.

+ PC or more simply Raspberry-Pi?

Possible design No.3: basic one with FPGA (but, No ADC device, use FPGA clock)
FPGA → expandability : function Deep learning (Zynq, SoC)

Basis analog circuit for each channel (Signal → Amplification → PeakHold)


+ input the hold pulse into FPGA, discharge the hold pulse, and counting discharge time using internal clock (Wilkinson ADC)

+ control is done by python PC,


3
As for Possible design No.2: use Multiplex
-. PeakHold before PreAmp(ChargeAmp).

-. Requirements for OpAmp:


1. Very good Slew-rate: V/us to follow pulse/signal voltage.
2. FET input (small input bias current) to avoid leak from a capacitor.
3. Drive large output current to charge a capacitor quickly.

-. If one uses an expensive OpAmp, it is possible to perform “PeakHold before PreAmp”


-. Use a relatively cheap one, then, candidates are

-. TL071 -. NE5534 -. ADA4891 : used in AXEL


FET input Bipolar input (large leak current) FET input
SR ~ 13 V/us, Output Current ~ 25mA SR ~ 13 V/us, Output Current ~ 68mA SR ~ 200 V/us, Output Current ~ 200mA
Cost 30 ~ 60 yen Cost 30 ~ 60 yen Cost ~ 110 ~ 130 yen

Provides Change
MPPC-like OpAmps here
signal here

4
small signal
As for Possible design No.2: use Multiplex NE5534 Hold Voltage @ 0.01µF capacitor

-. PeakHold before PreAmp(ChargeAmp).


ADA4891
-. Requirements for OpAmp:
MPPC pulse
1. Very good Slew-rate: V/us to follow pulse/signal voltage.
2. FET input (small input bias current) to avoid leak from a capacitor. TL071

3. Drive large output current to charge a capacitor quickly.


large signal
Hold Voltage @ 0.01µF capacitor
-. If one uses an expensive OpAmp, it is possible to perform “PeakHold before PreAmp”
-. Use a relatively cheap one, then, candidates are ADA4891

-. TL071 -. NE5534 -. ADA4891 : used in AXEL NE5534


FET input Bipolar input (large leak current) FET input
SR ~ 13 V/us, Output Current ~ 25mA SR ~ 13 V/us, Output Current ~ 68mA SR ~ 200 V/us, Output Current ~ 200mA
Cost 30 ~ 60 yen Cost 30 ~ 60 yen Cost ~ 110 ~ 130 yen Large MPPC pulse
TL071

Provides Change
MPPC-like OpAmps here
signal here TL071/NE5534 do not work,
Even ADA4891 seems to be insufficient for this purpose.
AD8055 (250~300yen) might have better performance.

One might can use a more small capacitor, e.g. 0.001uF,


but, leak current from a capacitor might be critical ??

Holding a row pulse seems to be quite difficult.


This option has not been further tested… 5
Motivation: Multi channel MPPC readout
-. Price :
- NIM-EASIROC ~ 25万 yen / 64ch (no tax) ~ 3900 yen / ch
- CAEN-CITIROC ~ 30万 yen / 32ch (no tax) ~ 9400 yen / ch

Possible design No.1: basic one


Basis analog circuit for each channel (Signal → Amplification → PeakHold)
+ ADC device for each to measure voltage

+ PC or more simply Raspberry-Pi?

Possible design No.2: use Multiplex


PeakHold before PreAmp (Signal → PeakHold )
+ Multiplex → Amplification → one ADC for all channel.

+ PC or more simply Raspberry-Pi?

Possible design No.3: basic one with FPGA (but, No ADC device, use FPGA clock)
FPGA → expandability : function Deep learning (Zynq, SoC)

Basis analog circuit for each channel (Signal → Amplification → PeakHold)


+ input the hold pulse into FPGA, discharge the hold pulse, and counting discharge time using internal clock (Wilkinson ADC)

+ control is done by python PC,


6
In the case a pulse is input into FPGA (for No2. and No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each30~60
3030~60
yen)yen)
:yen)
: :

15k / 0.5k = 30

for FPGA

decoupling
capacitor

Each RC is 10 yen

1ch RC: ~ 250 yen


OpAmp ~ 210 yen
~ < 500 yen

+ FPGA (1000 yen /ch) (pchMOSFET)

~ 1500 yen / ch in total


7
In the case a pulse is input into FPGA (for No2. and No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each3030~60
yen) :yen) :

-. PeakHold is done with NE5534 since it can drive the


large current than NE5534, However, it has large bias
current (bipolar input).
A Negative input of NE5534 must not be connected to C
directly. So, put another C and voltage buffer (I referred
to certain circuit design) for FPGA

8
In the case a pulse is input into FPGA (for No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each3030~60
yen) :yen) :

-. Use pch high side switching for especially large pulse. ( Need knowledge on high-side and low-side switching )

N-ch switching P-ch switching

small MPPC pulse large MPPC pulse small MPPC pulse large MPPC pulse
9
In the case a pulse is input into FPGA (for No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each3030~60
yen) :yen) :

-. Use pch high side switching for especially large pulse. ( Need knowledge on high-side and low-side switching )

N-ch switching P-ch switching

consistent w/ simu. consistent w/ simu.


Linearity is not ensured No photo
for large pulse.
but, seems fine

roughly consistent w/ simu.

200 mV
(After Amp)

small MPPC pulse large MPPC pulse small MPPC pulse large MPPC pulse
10
In the case a pulse is input into FPGA (for No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each3030~60
yen) :yen) :

-. Use Hysteresis for the comparator. (Need to check Hysteresis and Schmitt trigger )
https://en.wikipedia.org/wiki/Schmitt_trigger

simple circuit (w/o noise)


around the comparator real circuit (w noise)

cause malfunction of counting time


during discharge (Wilkinson ADC)

11
In the case a pulse is input into FPGA (for No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap
cheap OpAmps:
OpAmps:TL071+NE5534
TL071+NE5534(each
(each3030~60
yen) :yen) :

15k / 0.5k = 30

1 usec

decoupling
capacitor

Even if adjusting RC,


the pulse width didn't get narrower.

Comparator

Peak hold

voltage amp
(pchMOSFET)

12
In the case a pulse is input into FPGA (for No2. and No.3)
Basis analog circuit for each channel (Signal → Amplification → PeakHold)
-. Use cheap OpAmps: TL071+NE5534 (each 30~60 yen) :

-. Summary of the analog circuit using TL071+NE5534 (each 30~60 yen)

-. I found that the simulation can well reproduce real signal behavior,
But, in order to see photo peaks with a MPPC with the current design,
the pulse after the voltage-Amp is too wide/stretched (as shown in the previous page)

Optimization of RC is necessary to make the pulse much narrower.


I did it to some extent.

But, in that case, the op-amp specifications do not fit the purpose,
mainly the poor slew rate looks problematic.
The slew rate of tens of V “tens of V / µsec” seems to be necessary

13
17
In the case a pulse is input into FPGA (for No2. and No.3)
Basis analog circuit for each (Signal → Amplification → PeakHold)
-. Use cheap OpAmps:
ADA4891 (each 100~130 yen) :
Sufficient specification:
FET input, SR ~ 200 V/us,
Output Current ~ 200mA

Each RC is 10 yen

1ch RC: ~ 250 yen


OpAmp ~ 350 yen
~ < 600 yen

+ FPGA (1000 yen /ch)


~ 1600 yen / ch in total

Rising is 100 nsec


PeakHold is also following the pulse

In fact, a hold capacitor is small than


previous one.

Discharge is quite bad …


need some optimization …
14
In the case a pulse is input into FPGA (for No2. and No.3)
Basis analog circuit for each (Signal → Amplification → PeakHold)
-. Use cheap OpAmps:
ADA4891 (each 100~130 yen) :
Sufficient specification:
FET input, SR ~ 200 V/us,
Output Current ~ 200mA

Problems also appear …


-. A bit noisy
-. Certain oscillation
-. Need some optimization …

Rising is 100 nsec


PeakHold is also following the pulse

In fact, a hold capacitor is small than


previous one.

Discharge is quite bad …


need some optimization …
15
Current summary
ADA4891 is fine
Need some modification of the circuit, or need an expert on the analog circuit

Actually, I often posted some questions I encountered in below web,


https://electronics.stackexchange.com/questions/604782/handle-fast-signal-using-opamps-ada4891
https://electronics.stackexchange.com/questions/604786/handle-fast-signal-using-opamps-ada4891-2
Community members sometimes answer for “basic and general question”,
But, they often do not reply for very specific questions …

By the way, readout itself is done based on


my firmware and python program.
At least, linearity is fine.
counting

10M
0.35 ADC/fQ
2.85 fQ/ADC

Clock counting input test pulse [mV] 16


18
メモ
http://www-heaf.astro.hiroshima-u.ac.jp/thesis/hisadomi2018.pdf
MPPC の出力信号は電荷 Q に対応したパルスとして出力され、出力インピーダンスも高く
そのまま低イ ンピーダンスの処理回路に繋げると、波形が崩れやすい。よって検出器とそ
の後の処理回路の間に前置増幅器 (preamplifier) を入れることにより、その時に微小な電
荷パルスが積分され、電圧信号となり、低イン ピーダンスでその後の処理回路に出力され
るので望ましい。近年では、電荷有感型前置増幅器が使われて おり、図 3.8 にその仕組み
を示した。A はアンプの増幅率を Ci は入力静電容量を表す。また、信号対雑音 比 (S/N)
を極力小さくするため、検出器の近くに前置増幅器を置く。

19
メモ 電圧増幅器の基本。

https://endevco.com/Our-Resources/ask-the-experts/what-is-a-charge- 圧電型加速度ピックアップは、以下の図1のようにチャージジェネレータとコン
amplifier-and-why-do-i-need-one デンサとしてモデル化することができます。

質問 Cpは圧電センシング素子自体の静電容量です。コンデンサの電荷と電圧の関
係、q=CVを用いて、加速度センサの端子電圧を決定する。しかし、ケーブルの
加振器の振動試験に使用する予定の圧電型加速度ピックアップを所有してい 長さが加わるとどうなるのでしょうか。ある長さのケーブルの末端での電圧は
ます。加速度ピックアップと一緒にチャージアンプを使用しなければならない どうなるのでしょうか。図2はこの状況をモデル化したもので、分布するケーブ
と言われました。チャージアンプとは何ですか、またなぜそれが必要なので ルの静電容量の総和はCcで表されます。
すか? 電圧増幅器ではだめなのでしょうか?

明らかに静電容量が変化(増加)しているため、電圧値が変化(減少)していま
回答
す。ケーブルの長さが違えば、電圧の値も違ってくる。このため、初期モデルの
圧電型加速度ピックアップは、ある一定のケーブル容量を使用することを前提に
1960年代半ばまで、圧電型加速度ピックアップは電圧単位(mV/g)で校正され
校正されていました。例として図3をご覧ください。これはEndevcoのモデル
ており、電圧アンプはこれらの加速度ピックアップのシグナルコンディショニ
ングに使用されていました。しかし、この技術方式には多くの欠点がありま 2213(かなり前に廃止)の圧電型加速度ピックアップ(1958年製!)の校正報告書で

した。1960年代半ばにチャージアンプが実用化され、それ以降圧電型加速度 す。100pF (100µF) のケーブル容量が追加されている脚注にご注目ください。

ピックアップはチャージ単位(pC/g)で校正され、チャージアンプがセンサーの
電圧を使う(ひいては電圧増幅器を使う)ことは、困難というか不可能という
シグナルコンディショニングに使用されるようになったのです。その理由をも
か、明らかに不自由な状況です。これをどうにかすることはできないか。
う少し詳しく調べてみましょう。

20
メモ
まず、すべての電荷の流れを合計してみよう。
チャージアンプの基本。 qin = qp + qc + qf

まず、ケーブルの容量をどれだけ増やしても、発生する電荷の量は変わらないという観 q=CVの関係があるので、上記を次のように書き換えることができる。
測ができます(これに対して、端子の電圧は)。つまり、必要なのは電圧検出回路で qin = vinCp + vinCc + vfCf
はなく、「電荷検出回路」なのです。これが「チャージコンバータ」回路(広義には qin = vin(Cp + Cc) + vfCf
「チャージアンプ」)の基本である。詳しく見ていきましょう。
しかし、オペアンプの入力端子は仮想的に短絡しているので、vin=0であることがわかりま
す(理想的なオペアンプと仮定)。そこで、上の式は単純化すると
図4は、ケーブルの静電容量が付いた圧電型加速度ピックアップのモデルですが、演算
増幅器(またはオペアンプ)を使ったチャージコンバータ回路を接続した状態です。
qin = vf Cf
個々の電荷の流れやノード電圧は、さらなる解析を容易にするために特定されていま vf = qin / Cf
す。
ここでも、オペアンプの端子間が仮想的にショートしているため、こう言えます。
解析の目標は、最終的にvout/qinで表されるゲイン式にすることです。その過程で、 vout = vf = qin / Cf となります。
チャージアンプがケーブルの静電容量を変化させる問題にどのように対処するのか、 vout / qin = 1 / Cf, where units are [mV/pC].
いくつかの洞察を得ることができます。

つまり、チャージアンプの利得は、回路自体のフィードバックコンデンサにのみ依存するの
です。圧電容量やケーブル容量の項はドロップアウトします。これはオペアンプの特性上、
可能なことなのです。チャージアンプが市場で成功したのは、1960年代初頭に高性能で信
頼性の高いオペアンプが市場に出てからであることは、偶然ではないだろう。

現実的には、現代でも理想的なオペアンプは存在しないのだ。だから、ケーブルのばらつき
を許容するにも限界がある。しかし、チャージアンプの機種によっては5万pFものケーブル
が許容され、ケーブルの長さに大きな自由度を持たせることができる。

つまり、チャージアンプは高インピーダンスのチャージ型加速度ピックアップや他の高イン
ピーダンスデバイスの使用を容易にする電子的な高インピーダンス変換デバイスなのです。

21
メモ
ピークホールド回路はピーク電圧を保持するのが目的なので、ダイオード以降の信号 信号周波数が100kHz未満ならダイオードの逆方向回復時間は関係ありません。
経路での漏れ電流が大きいと、ホールド電圧の時間変化が大きくなり、本来の目的を ショットキーバリアダイオードは逆方向回復時間が小さいですが漏れ電流が非常に大
果たせなくなります。したがって、どれくらいの時間まで電圧変化を許容するかで漏 きいのでホールド回路ではあまり使われません。
れ電流の最大値が決まります。

ホールドコンデンサの容量を C [F]、保持時間を Δt [s]、漏れ電流(ダイオードやコ


ンデンサなどの漏れ電流の総和)を I [A] としたとき、ホールド電圧の変化は次式で
計算できる。
ΔV [V] = I*Δt/C
(e.g.) C=1000pF、Δt=1ms の場合、ΔV<0.1Vとしたいのなら I<100nA となりま
す。

ダイオードによって漏れ電流は様々です。1SS270は1nA未満、1N4148や1S1588
などは数nA、1N4946は100nAくらい、ショットキーバリアダイオードはμAなの
で、どのようなホールド特性にしたいかで使用できるダイオードが決まります。

なお、Cを大きくすればΔVを小さくできますが、大容量のコンデンサを急速充電す
るのは難しいのでCは0.01μFくらいが上限です。この程度の小容量ならコンデンサ
自身の漏れ電流は無視できます。

オペアンプの入力バイアス電流や、リセット用のトランジスタのコレクターベース間
電流も漏れ電流に含まれるので、これも小さくする必要があります。上の回路ではバ
イアス電流が数pAのFET入力のオペアンプ(TL072)を使っています。高速オペア
ンプの中にはバイアス電流が数μAと大きいものがあります。

22
メモ
入力パルスの幅が狭い場合は、容量負荷に強く(出力にコンデンサが付いて
も発振しにくい)、スルーレートが大きく、最大出力電流が大きいオペアン
プを使う必要があります。

過去に回答した回路(右図)
https://chie-pctr.c.yimg.jp/dk/iwiz-chie/ans-467532492?
w=999&h=999&up=0
では、前段のオペアンプの反転入力端子はホールドコンデンサにつながって
いないので、前段のオペアンプのバイアス電流は漏れ電流とは無関係です。

しかし「投稿した関連質問」の回路では、オペアンプの反転入力端子はホー
ルドコンデンサにつながっているので、オペアンプの入力バイアス電流が
ホールド特性に影響します(5534のバイアス電流は大きい)。

なので、整流ダイオードをつけて、電流が直接流れ込まないようにする。

23
メモ
-. AD8428
-. ADA4891 : AXEL -. AD8055: チェレンコフ
1.5 nV/ Hz input voltage noise
https://www.analog.com/media/jp/technical- https://www.analog.com/media/jp/technical-
→ Digi: 1600 yen
documentation/data-sheets/ documentation/data-sheets/AD8055_8056_JP.pdf
ADA4891-1_ADA4891-2_ADA4891-3_ADA4891-4 高速、低ノイズのオペアンプ
-. NE5534
_jp.pdf 使いやすい電圧帰還型
バイポーラ構造
CMOS高速アンプ ・バンド幅 300MHz以上
https://www.tij.co.jp/jp/lit/ds/symlink/ne5534.pdf?
9 nV/ Hz ・スルーレート 1400V/μs
ts=1608781098241&ref_url=https%253A%252F%2 ・入力電圧ノイズ 6nV/ Hz
スルーレート: 170 V/μs
52Fwww.tij.co.jp%252Fproduct%252Fjp%252FNE55 ・入力電流ノイズ 1pA/ Hz
→ Digi : 180 yen (2回路 230 yen)
34 → Digi : 250 yen (2回路 490 yen)
→ChipOne 120 円 (4回路 大量発注 → 60 円) 
3.5 (7 4) nV/ Hz Typ
https://www.chip1stop.com/view/dispDetail/ 同タイプ AD8057 :
→ 50 60 円
DispDetail? https://www.analog.com/media/jp/technical-
partId=AD01-0042137&mpn=ADA4891-1ARZ- documentation/data-sheets/AD8057_8058_JP.pdf
-. TL071
R7&keyword=ADA4891 7 nV/ Hz
https://www.tij.co.jp/jp/lit/ds/symlink/
・入力電流ノイズ 0.7 pA/ Hz
tl071.pdf?
-. AD8691 (AD8691/AD8692/AD8694 ) Digi : 250 yen (2回路 490 yen)
ts=1608702001286&ref_url=https%253A%252
低価格、低ノイズ、レール to レール出力 CMOS オペア
F%252Fwww.tij.co.jp%252Fproduct%252Fjp%25
ンプ
2FTL071
6.5 8 nV/ Hz
低ノイズ、JFET 入力、汎用オペアンプ
Slew Rate 5 V/μs
Vn = 37 nV/ Hz (typ) at f = 1 kHz
→ Digi : 155 yen (2回路 170 yen)
Vn = 21 nV/ Hz (typ) at f = 10 kHz
→ 50 60 円

-. TL051 better spec than the above one.


→ 50 60 円 30 mV / 50 nsec

LM7171
・入力電圧ノイズ 14nV/ Hz
・入力電流ノイズ 1.5pA/ Hz

You might also like