SiPM Model

SiPM model

The model used is extracted from S. Seifert et al, "Simulation of Silicon Photomultiplier Signals", IEEE trans. on nucl. science, vol. 56, no. 6, dec. 2009, p3726-3733.

The switch is closed by an incoming trigger and opened when the current flowing through it is bellow a given value Iq.

Model parameters

The parameters have been characterized at 20°C before irradiation for Hamamatsu :
Parameter Value (Hamamatsu) Value (Ketek)
Vbias 72.9 29
Rd 800 210
Vbr -71.6 -24
Rq 60e+3 633e+3
Cg 21.5e-12 58e-12
Cd 0.131e-12 0.250e-12
Cq 0.015e-12 0.020e-12
N 96 88
Iq 0.7e-3 4e-3
For example, the bias voltage Vbias is 72.9 with a breakdown voltage Vbr 1.2 to 1.3V bellow (71.6V). The gain in these condition is 9*10^5 e/PE (with e = 1.602*10^-19 C, the charge per fired cell is then Qc = 1.44*10^-13 C).

Model comparison

The comparison have been done with Guido measurement on 50Ohms for Ketek (left) and Hamamatsu (right) :

:

Verilog-a model

```
`include "constants.vams"
`include "disciplines.vams"

module sipmmodel(p,n,csw);
inout p, n;
inout [0:87] csw;

electrical p,n, p2, n2;
electrical [0:87] csw;
electrical [0:95] inode;

electrical [0:87] inodebr;
electrical [0:87] inodesw;

parameter real Cg=58e-12 from [0:inf);
parameter real Cq=20e-15 from [0:inf);
parameter real Rq=633e3 from [0:inf);
parameter real Cd=250e-15 from [0:inf);

parameter real Rd=210 from [0:inf);
parameter real Vbr=-24;
parameter real Iq=4e-3 from [0:inf);

parameter real Vthre = 0.5 from [0:inf);

parameter integer N = 88 from [88:inf);

genvar i;

analog begin
// Capacite parasite
I(p,n) <+ ddt(Cg*V(p,n));

// Cellule SiPM
for(i=0;i<88;i=i+1)
begin
I(p,inode[i]) <+ ddt(Cq*V(p,inode[i]));
I(p,inode[i]) <+ V(p,inode[i])/Rq;

I(inode[i],n) <+ ddt(Cd*V(inode[i],n));
if (V(csw[i]) > Vthre)
begin
V(inode[i], inodesw[i]) <+ 0.0;
end
else
begin
if (abs(I(inode[i], inodesw[i])) > Iq)
begin
V(inode[i], inodesw[i]) <+ 0.0;
end
else
begin
I(inode[i], inodesw[i]) <+ 0;
end
end
V(inodesw[i],inodebr[i]) <+ Vbr;
I(inodebr[i],n) <+ V(inodebr[i],n)/Rd;
end

if (N==96)
begin
V(p,p2) <+ 0.0;
V(n2,n) <+ 0.0;
end
else
begin
I(p,p2) <+ 0;
I(n2,n) <+ 0;
end

for(i=88;i<96;i=i+1)
begin
I(p2,inode[i]) <+ ddt(Cq*V(p2,inode[i]));
I(p2,inode[i]) <+ V(p2,inode[i])/Rq;
I(inode[i],n2) <+ ddt(Cd*V(inode[i],n2));
end
end

endmodule

```

Note 1 : n has to be put at Vbias Note 2 : p is the SiPM output

Note 3 : csw allow to choose which cell is fired (active when V(csw) > 0.5V)

Topic attachments
I Attachment History Action Size Date Who Comment
png hama.png r1 manage 48.7 K 2013-07-15 - 16:57 ChanalHerve
png ketek.png r1 manage 41.4 K 2013-07-15 - 16:57 ChanalHerve
png sipmModel2.png r1 manage 17.1 K 2013-01-24 - 10:28 ChanalHerve
Edit | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | More topic actions
Topic revision: r3 - 2018-11-27 - BlakeLeverington

Welcome Guest

 Cern Search TWiki Search Google Search LHCb All webs
Copyright &© 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback