Skip to content

Commit

Permalink
Merge pull request #1185 from ra3xdh/upd_digilib
Browse files Browse the repository at this point in the history
Upload Laser diode library and update digital libraries verison
  • Loading branch information
ra3xdh authored Jan 5, 2025
2 parents cb3c78f + df644c1 commit 3dd56e6
Show file tree
Hide file tree
Showing 5 changed files with 270 additions and 4 deletions.
1 change: 1 addition & 0 deletions library/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ GeDiodes.lib
Ideal.lib
JFETs.lib
LEDs.lib
LaserDiodes.lib
Loudspeaker.lib
MixerIC.lib
MOSFETs.lib
Expand Down
4 changes: 2 additions & 2 deletions library/Digital_CD.lib
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Qucs Library 24.4.99 "Digital_CD">
<Qucs Library 24.4.1 "Digital_CD">

<Component CD4001>
<Description>
Expand Down Expand Up @@ -1192,4 +1192,4 @@ X1 _net7 _net8 _net9 _net10 _net0 _net1 _net2 _net3 _net4 _net5 _net6 _net11 _ne
<.PortSym -50 20 1 0 STB>
<Text -28 10 12 #000080 0 "STB">
</Symbol>
</Component>
</Component>
4 changes: 2 additions & 2 deletions library/Digital_LV.lib
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Qucs Library 24.4.99 "Digital_LV">
<Qucs Library 24.4.1 "Digital_LV">

<Component 74LV00>
<Description>
Expand Down Expand Up @@ -933,4 +933,4 @@ X1 _net0 _net1 _net2 _net3 _net4 _net5 _net6 _net7 _net8 _net9 _net10 _net11 _ne
<Text -28 50 12 #000080 0 "CLR">
<.PortSym -50 60 1 0 CLR>
</Symbol>
</Component>
</Component>
264 changes: 264 additions & 0 deletions library/LaserDiodes.lib
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
<Qucs Library 24.3.0 "LaserDiodes">

<Component LaserDiodeRed>
<Description>
Generic 650nm 100mw Laser Diode
LD=150ma, PD=15piv
by Alexander Bordodynov
</Description>
<Model>
.Def:LaserDiodes_LaserDiodeRed _net0 _net2 _net1 _net3
Sub:X1 _net0 _net2 _net1 _net3 gnd Type="LaserDiodeRed_cir"
.Def:End
</Model>
<ModelIncludes "LaserDiodeRed.cir.lst">
<Spice>
* Alexander Bordodynov
* 650nm 100mw Laser Diode
.Subckt Laser com lk pha pw Pnom=100m inom=150m ith=35m iphnom=0.1m Pth=1m cLd=10p cph=40p rsLd=1 nLd=2 isLD=1e-17 tauLD=1n tauFd=5n
.param k=(Pnom-Pth*inom/ith)/(inom-ith)
.param kf=iphnom/Pnom
.param ctau=0.001*tauFd
cLd com lk {cLD}
cph com pha {cph}
D1 5 lk0 dLd
D10 com lk0 dLd2
rs lk0 lk {rsLd}
VAm1 com 5 0
rut lk com 10Meg
v1 ith 0 {ith}
*v3 kf 0 {iphnom/Pnom}
Hled pwled 0 vam1 {2*Pth/ith}
B1 pw pwled v=uramp(2*i(vam1)-v(ith))*{k}
CtauFd pwtau 0 {ctau}
Rtau pwtau pw 1k
B2 com pha i=v(pwtau)*{kf}
.model dLd D is={isLd/2} n={nLd} eg={nLd*1.11}
.model dLd2 D is={isLd/2} n={nLd} eg={nLd*1.11} tt={tauLD*2}
.ends Laser
*
.SUBCKT LaserDiodes_LaserDiodeRed gnd _net0 _net2 _net1 _net3
X1 _net0 _net2 _net1 _net3 Laser
.ENDS
</Spice>
<Symbol>
<Line -40 -20 0 40 #000080 2 1>
<Line -40 20 80 0 #000080 2 1>
<Line 20 30 0 -20 #000080 2 1>
<Line 40 -20 0 40 #000080 2 1>
<Line 40 0 10 0 #000080 2 1>
<Line -40 -20 80 0 #000080 2 1>
<Line 11 11 18 0 #000080 2 1>
<Line 11 -1 18 0 #000080 2 1>
<Line 20 11 -9 -12 #000080 2 1>
<Line 20 11 9 -12 #000080 2 1>
<Line -11 -1 -18 0 #000080 2 1>
<Line -11 11 -18 0 #000080 2 1>
<Line -20 -1 9 12 #000080 2 1>
<Line -20 -1 -9 12 #000080 2 1>
<Line 15 4 10 0 #000080 2 1>
<Line 20 -10 0 9 #000080 2 1>
<Line -20 -10 0 9 #000080 2 1>
<Ellipse -3 -13 6 6 #000080 1 1 #000080 1 1>
<Line -20 -10 40 0 #000080 2 1>
<Line -20 11 0 19 #000080 2 1>
<Line 0 -30 0 20 #000080 2 1>
<Text -36 -18 8 #000000 0 "PD">
<Text 24 -18 8 #000000 0 "LD">
<Line 36 5 -8 0 #000080 2 1>
<Line 8 5 -15 0 #000080 2 1>
<.PortSym 0 -30 1 0 COM>
<.PortSym -20 30 3 0 PHA>
<.PortSym 20 30 2 180 LK>
<.PortSym 50 0 4 180 PW>
<.ID 20 -46 LD>
<Line 34 2 3 3 #000080 2 1>
<Line 34 8 3 -3 #000080 2 1>
<Line -5 8 -3 -3 #000080 2 1>
<Line -5 2 -3 3 #000080 2 1>
</Symbol>
</Component>

<Component SLD1121VS>
<Description>
Sony SLD1121VS
670nm 5mw Laser Diode
PIN Diode Power Monitor
LD=50ma, PD=15piv
</Description>
<Model>
.Def:LaserDiodes_SLD1121VS _net0 _net2 _net1
Sub:X1 _net0 _net2 _net1 gnd Type="SLD1121VS_cir"
.Def:End
</Model>
<ModelIncludes "SLD1121VS.cir.lst">
<Spice>
* SLD1121VS from Sony EDN, RAP 7/97
* LD = Laser diode cathode
* C = Common pin
* PD = Photodiode anode
.SUBCKT SLD1121 LD C PD
Dld C I dlaser
Vid I LD
Eop op 0 TABLE {I(Vid)} (0,0) (37m,0.3m) (40m,0.5m) (47m,5m) (100m,40m)
Rdummy op 0 1k
Gopd C PD TABLE {V(op)} (0,0) (30m,1.5m) (60m,3.0m)
Dpd PD C pdetec
.model dlaser D IS=5E-37 N=1 RS=2 BV=2 IBV=10u
*EG=2.8 XTI=3
.model pdetec D CJO=5p BV=15 IBV=10u
.ends SLD1121
*

.SUBCKT LaserDiodes_SLD1121VS gnd _net0 _net2 _net1
X1 _net0 _net2 _net1 SLD1121
.ENDS
</Spice>
<Symbol>
<Line -40 -20 0 40 #000080 2 1>
<Line -40 20 80 0 #000080 2 1>
<Line 20 30 0 -20 #000080 2 1>
<Line 40 -20 0 40 #000080 2 1>
<Line -40 -20 80 0 #000080 2 1>
<Line 11 11 18 0 #000080 2 1>
<Line 11 -1 18 0 #000080 2 1>
<Line 20 11 -9 -12 #000080 2 1>
<Line 20 11 9 -12 #000080 2 1>
<Line -11 -1 -18 0 #000080 2 1>
<Line -11 11 -18 0 #000080 2 1>
<Line -20 -1 9 12 #000080 2 1>
<Line -20 -1 -9 12 #000080 2 1>
<Line 15 4 10 0 #000080 2 1>
<Line 20 -10 0 9 #000080 2 1>
<Line -20 -10 0 9 #000080 2 1>
<Ellipse -3 -13 6 6 #000080 1 1 #000080 1 1>
<Line -20 -10 40 0 #000080 2 1>
<Line -20 11 0 19 #000080 2 1>
<Line 0 -30 0 20 #000080 2 1>
<Text -36 -18 8 #000000 0 "PD">
<Text 24 -18 8 #000000 0 "LD">
<Line 36 5 -8 0 #000080 2 1>
<Line 8 5 -15 0 #000080 2 1>
<.PortSym -20 30 3 0 PD>
<.ID 20 -46 LD>
<Line 34 2 3 3 #000080 2 1>
<Line 34 8 3 -3 #000080 2 1>
<Line -5 8 -3 -3 #000080 2 1>
<Line -5 2 -3 3 #000080 2 1>
<.PortSym 0 -30 2 0 C>
<.PortSym 20 30 1 180 LD>
</Symbol>
</Component>

<Component RLD90QZW3>
<Description>
Rolm RLD90QZW3
905nm 90W Pulsed Laser Diode
LD=28A, Duty Cycle=0.1%
Requirements:
.spiceinit: set ngbehavior=psa
</Description>
<Model>
.Def:LaserDiodes_RLD90QZW3 _net0 _net1 _net2 _net3
Sub:X1 _net0 _net1 _net2 _net3 gnd Type="RLD90QZW3_cir"
.Def:End
</Model>
<ModelIncludes "RLD90QZW3.cir.lst">
<Spice>
* RLD90QZW3
* Optical Power model
* LD
* 4V 50A
* Model Generated by ROHM
* All Rights Reserved
* Commercial Use or Resale Restricted
* Date: 2020/06/10
* model version: 1
**********************A C
.SUBCKT RLD90QZW3_sub 1 2 OPT GND
.PARAM T0=25
*
.PARAM s_rate= 1
*
.PARAM K1_fw= 794.3u
.PARAM M1_fw= -5.817k
.PARAM N1_fw= -498.5
.PARAM k2_fw= 790m
.PARAM M2_fw= -9.271k
.PARAM k3_fw= 230m
.PARAM M3_fw= 448.3
.PARAM N3_fw= -89.69
*
.PARAM k1_rv= 1.259u
.PARAM K2_rv= 500
.PARAM M1_rv= 16.67
.PARAM k3_rv= 115.3n
.PARAM M3_rv= -1k
.PARAM N3_rv= 314.6
.PARAM K4_rv= 55.56
.PARAM M4_rv= -5.405k
*
.PARAM k1_cr= 10.43
.PARAM k2_cr= 3.956
.PARAM k3_cr= 40.13
.PARAM k4_cr= 7.911
.PARAM k5_cr= -653.7m
.PARAM k6_cr= -5k
*
.PARAM v1_lm_n= 300k
.PARAM v1_lm_p= 400k
.PARAM v42_lm_n= 6k
.PARAM v42_lm_p= 10000
*
.FUNC R1(I) {k3_fw*I*EXP((TEMP-T0)/M3_fw*EXP((TEMP-T0)/N3_fw))}
.FUNC I1(V) {MIN(MAX(IF(TIME>0,IF(V>0,{K1_fw*(EXP(V/k2_fw/EXP((TEMP-T0)/M2_fw))-1)*
+ EXP((TEMP-T0)/M1_fw*EXP((TEMP-T0)/N1_fw))},0),0),-1MEG),1MEG)}
.FUNC I2(V) {(EXP(V/K2_rv)-1)*k1_rv*EXP((TEMP-T0)/M1_rv)}
.FUNC I3(V) {(EXP(-V/(K4_rv *EXP((TEMP-T0)/M4_rv)))-1)*
+ k3_rv*EXP((TEMP-T0)/M3_rv *EXP((TEMP-T0)/N3_rv))}
.FUNC C1(V,W) {k1_cr*(V-k2_cr)+k3_cr*(1-(-k6_cr)*TANH(W/(-k6_cr))/k4_cr)**k5_cr}
V1 1 3 0
E1 3 4 VALUE={R1(MIN(MAX(I(V1)/s_rate,-v1_lm_n),v1_lm_p))}
V2 4 5 0
C1 5 2 {1p * s_rate}
G1 4 2 VALUE={s_rate*(I1(MIN(V(4,2),v42_lm_p))+
+ I2(MIN(V(4,2),v42_lm_p))-I3(MAX(V(4,2),-v42_lm_n)))+
+ I(V2)*C1(MAX(V(4,2),k2_cr),MIN(V(4,2),k2_cr))}
R1 4 2 10T
********* ********* ********* ********* ********* ********* ********* ********* ********* ********* *********
E11 OPT GND VALUE={MIN(MAX(IF(TIME>0,IF(I(V1)>0.95,(-4.00458853433877E-05)*I(V1)*I(V1)*I(V1)+(-0.00857231667301519)*I(V1)*I(V1)+(3.42809879019094)*I(V1)+(-3.21312517416111),0),0),-1MEG),1MEG)}
*
.ENDS RLD90QZW3_sub


.SUBCKT LaserDiodes_RLD90QZW3 gnd _net0 _net1 _net2 _net3
X1 _net0 _net1 _net2 _net3 RLD90QZW3_sub
.ENDS
</Spice>
<Symbol>
<Line -30 20 60 0 #000080 2 1>
<Line 0 -6 0 -24 #000080 2 1>
<Line 0 30 0 -24 #000080 2 1>
<Line -9 6 18 0 #000080 2 1>
<Line -9 -6 18 0 #000080 2 1>
<Line 0 6 -9 -12 #000080 2 1>
<Line 0 6 9 -12 #000080 2 1>
<Line -5 -1 10 0 #000080 2 1>
<Line 16 0 -8 0 #000080 2 1>
<Line 14 -3 3 3 #000080 2 1>
<Line 14 3 3 -3 #000080 2 1>
<Line 30 -20 0 40 #000080 2 1>
<Line 30 -10 10 0 #000080 2 1>
<Line 30 10 10 0 #000080 2 1>
<Line -30 -20 0 40 #000080 2 1>
<Line -30 -20 60 0 #000080 2 1>
<Text -26 -18 8 #000000 0 "LD">
<Text 14 -18 8 #000000 0 "PO">
<Text 14 2 8 #000000 0 "GD">
<.PortSym 40 10 4 180 GND>
<.PortSym 40 -10 3 180 OPT>
<.PortSym 0 -30 1 0 A>
<.PortSym 0 30 2 0 C>
<.ID 20 -46 LD>
</Symbol>
</Component>
1 change: 1 addition & 0 deletions library/qucs.blacklist
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ Cores.lib
Digital_CD.lib
Digital_HC.lib
Digital_LV.lib
LaserDiodes.lib
Transformers.lib
Xanalogue.lib
BF998.lib
Expand Down

0 comments on commit 3dd56e6

Please sign in to comment.