* Z:\home\khalils\Downloads\files\data\raw_asc\68b0804789e7_USB_sense_old_2_WCA.asc
* Generated by LTspice 26.0.1 for Windows.
* .dc V1 0 7 0.1
***********************************************************
*
* BZX84-C3V3
*
* Nexperia
*
* Voltage regulator diodes
* VFmax = 0,9V @ IF = 10mA
* IRmax = 5A @ VR = 1V
* VZmax = 3,5V @ IZ = 5mA
* IZSM = 6A @ tp = 100s
*
*
*
* Package pinning does not match Spice model pinning.
* Package: SOT23
*
* Package Pin 1: Anode
* Package Pin 2: Not Connected
* Package Pin 3: Cathode
*
*
* Extraction date (week/year): #
* Simulator: PSPICE
*
***********************************************************
*
*
**********
*$
**********
**************************************************************************************
*$
*****************************************************************************************************
+ IS = 7.035E-16
+ N = 0.9809
+ BV = 3.3
+ IBV = 0.005
+ RS = 0.3487
+ CJO = 3.162E-10
+ VJ = 0.6687
+ M = 0.3164
+ FC = 0.5
+Rmax={Rmax} dgfs={dgfs} Rs={Rs} dC={dC} heat=0
+gmin=1 Rs=1 Rp=1 dC=0 heat=1
+{a*(sgn(Uds)*Ig(U1(Uds,T),T,1/(ph0-ph1*T),Ugs-Vth+auth*(T-Tref))+exp(min(lnBr+(abs(Uds)-UBr-aubr*(T-Tref))/UTnbr,25)))}
E_RMos d1 d VALUE={I(V_sense)*(Rf*dRd+(1-Rf)*dRd*((limit(V(Tj),-200,999)+T0)/Tref)**nmu)*(1+rpa*(I(V_sense)/a)**2)}
Ls source s1 {Ls*if(dgfs==99,0,1)}
R_Rdio d2 d3 {dRdi}
V_sense2 d1 d3 0
E_Eds d edep VALUE {(V(d2,s)-I(V_sense3)/Cds0)}
M1 N001 G Vin_mon Vin_mon NMOS
V_sense dd d1 0
E_Edg1 d ox1 VALUE {V(d,g)-QCdg(V(d,g),limit(V(d,g),(f4-f5)/sl,f4/sl))/f5}
R2 Vin N001 {WC1(3k3,0.05,2)}
C_Cgs g s {Cgs0}
R1 Vin_mon 0 1Meg
G_chan d s VALUE={Iges(V(d,s),V(g,s),T0+limit(V(Tj),-200,350))}
Rsa s1 s 1Meg
Ld drain d1 {Ld*if(dgfs==99,0,1)}
Rd02 d2 s 500Meg
C_Cds edep s {Cds0}
R_R001 a b {1/ta}
C_Cds2 d2 s {Cds0/500}
R3 PSU_en G {WC1(1k,0.05,0)}
G_TH 0 Tj VALUE = {heat*LIMIT(I(V_sense)*V(dd,s),0,100k)}
V2 PSU_en 0 PULSE(0 5 1m 10u 10u 3m)
C_Cdg ox g {Cox}
Rd03 d1 d 10k
G_diode s d2 VALUE={Idiod(V(s,d2),T0+limit(V(Tj),-200,499))}
V3 STEPPING 0 {STEPPING}
L_L001 a c {td/(ta+td)}
R6 N001 0 {WC1(6k8,0.01,3)}
Rg g1 g {Rg}
R4 G 0 {WC1(100k,0.05,1)}
R1 g s 1G
V_sense3 c f 0
V1 Vin 0 12
Rd01 d s 500Meg
E_Edg d ox VALUE {V(d,g)-(min(V(d,g),-bb)+1/(g1*(1-nc))*((1/(1+g1*max(V(d,g)+bb,0)))**(nc-1)-1))}
D1 0 Vin_mon BZX84-C3V3
C_Cdg2 d g {Crand}
Gs s1 s VALUE={V(s1,s)/(Rs*(1+(limit(V(Tj),-200,999)-25)*4m))}
E_E002 e 0 VALUE {1Meg*Cds0*(1/(1-nd)*U0**nd*(limit(U0+V(d2,s),U0/2,2*UBr))**(1-nd)+2**nd*min(V(d2,s)+U0/2,0))}
E1 Tj w VALUE={TEMP}
X1 d1 g s Tj K_100_d_var PARAMS: a={act} dVth={dVth} dR={dRdson} Inn={Inn} Unn={Unn}
Lg gate g1 {Lg*if(dgfs==99,0,1)}
E_E001 b 0 VALUE {I(V_sense2)}
R_sense3 f 0 1
R1 w 0 1u
R_R002 e c 1Meg
V4 THERSHOLD 0 2.475
C_Cdg1 ox1 g {Cox1}
.model D D
.lib C:\users\khalils\AppData\Local\LTspice\lib\cmp\standard.dio
.model NMOS NMOS
.model PMOS PMOS
.lib C:\users\khalils\AppData\Local\LTspice\lib\cmp\standard.mos
.tran 5m startup
.MODEL BZX84-C3V3 D
.ENDS
.FUNC MOD(a,b) {a-FLOOR(a/b)*b}
.FUNC BIT(x) {if(MOD(STEPPING,2**(X+1))>=2**x,1,0)}
.FUNC EVA1 (nom, tol, param_num) {if(STEPPING == -1, nom, nom*(1-tol)+2*nom*tol*BIT(param_num))}
.FUNC EVA2 (nom, min, max, param_num) {if(STEPPING == -1, nom, IF(BIT(param_num),max,min))}
.FUNC WC1 (nom, tol, param_num) EVA1(nom, tol, param_num)
.FUNC WC2 (nom, min, max, param_num) EVA2(nom, min, max, param_num)
.step param STEPPING -1 15 1
.SUBCKT BSS169_L1 drain gate source PARAMS: dVth=0 dRdson=0 dgfs=0 dC=0
.PARAM Rs=0.074 Rg=10 Ls=3n Ld=1n Lg=3n
.PARAM Inn=0.05 Unn=0 Rmax=12
.PARAM act=0.25
.ENDS
.SUBCKT K_100_d_var dd g s Tj PARAMS: a=1 dVth=0 dR=0 dgfs=0 Inn=1 Unn=1 Rmax=1
.PARAM Vth0=-1.8 beta4c=0.303 ph0=20 ph1=0.026 Ubr=150
.PARAM Rd=0.6 nmu=2.6 Rf=0.2 rpa=0.02925 lnIsj=-24.6
.PARAM Rdi=0.073
.PARAM Tref=298 T0=273 auth=3m c=0.82 mu_bet=0.4
.PARAM f_bet=-2 ndi=1.2 UTnbr=207m lnBr=-23 kbq=85.8u
.PARAM Wcml={beta4c*4*c}
.PARAM aubr={0.93m*UBr}
.PARAM dvgs={0.1-0.06*Vth0}
.PARAM f1=118p f2=118p f3=207p f4=330p f5=217p
.PARAM U0=0.5 nd=0.42 nc=0.5 g1=4 bb=-10.8
.PARAM sl=30p remp=0p ta=60n td=20n
.PARAM Vmin=-2.9 Vmax=-1.8 dCmax=0.35
.PARAM Vth={Vth0+(Vmax-Vth0)*limit(dVth,0,1)-(Vmin-Vth0)*limit(dVth,-1,0)}
.PARAM p0={Wcml*a*((1-f_bet)*(T0/Tref)**mu_bet+f_bet) }
.PARAM Rlim={(Rmax-Rs-(Unn-Vth0-Inn*Rs-SQRT((Unn-Vth0-Inn*Rs)**2-4*c*Inn/p0))/(2*c*Inn))/(1+rpa*(Inn/a)**2)}
.PARAM dRd={Rd/a+if(dVth==0,limit(dR,0,1)*max(Rlim-Rd/a,0),0)}
.PARAM bet={Wcml}
.PARAM dC1={1+dCmax*limit(dC,0,1)}
.PARAM Cox={f1*a*dC1}
.PARAM Cds0={f2*a*dC1}
.PARAM Cgs0={f3*a*dC1}
.PARAM Cox1={f5*a*dC1}
.PARAM Crand={remp*SQRT(a)}
.PARAM dRdi={Rdi/a}
.FUNC U1(Uds,T) {(SQRT(1+4*(0.4+(T-T0-25)*2m)*abs(Uds))-1)/2/(0.4+(T-T0-25)*2m)}
.FUNC I2(p,Uee,z1,pp) {if(Uee>pp,(Uee-c*z1)*z1,p*(pp-p)/c*exp((Uee-pp-(min(0,Uee))**2)/p))}
.FUNC Ig(Uds,T,p,Uee) {bet*((1-f_bet)*(T0/T)**mu_bet+f_bet)*I2(p,Uee,min(Uds,Uee/(2*c)),min(2*p,p+c*Uds))}
.FUNC Iges(Uds,Ugs,T)
.FUNC Isjt(Tj) {exp(min(lnIsj+(Tj/Tref-1)*1.12/(ndi*kbq*Tj),9))*(Tj/Tref)**1.5}
.FUNC Idiode(Usd,Tj,Iss) {exp(min(log(Iss)+Usd/(ndi*kbq*Tj),9))-Iss}
.FUNC Idiod(Usd,Tj) {a*Idiode(Usd,Tj,Isjt(Tj))}
.FUNC QCdg(x,z) {if(f4>f5,(f5**2-(f4-z*sl)**2)/(2*sl)+f5*min(x,(f4-f5)/sl),f4*z-sl*z**2/2-f5*max((f4-f5)/sl-x,0))}
.ENDS
.backanno
.end

* LTspice schematic (.asc):
Version 4
SHEET 1 7904 1988
WIRE -672 48 -736 48
WIRE -416 48 -464 48
WIRE -736 80 -736 48
WIRE -464 80 -464 48
WIRE -736 176 -736 160
WIRE -464 192 -464 160
WIRE -240 816 -592 816
WIRE -592 832 -592 816
WIRE -240 880 -240 816
WIRE -592 928 -592 912
WIRE -240 1024 -240 960
WIRE 176 1024 -240 1024
WIRE 352 1024 272 1024
WIRE 464 1024 352 1024
WIRE 576 1024 464 1024
WIRE -240 1056 -240 1024
WIRE 352 1072 352 1024
WIRE 464 1072 464 1024
WIRE -240 1168 -240 1136
WIRE 352 1168 352 1152
WIRE 464 1168 464 1136
WIRE -304 1296 -416 1296
WIRE -96 1296 -224 1296
WIRE 128 1296 -96 1296
WIRE 256 1296 256 1072
WIRE 256 1296 128 1296
WIRE -416 1328 -416 1296
WIRE -96 1328 -96 1296
WIRE -416 1424 -416 1408
WIRE -96 1424 -96 1408
IOPIN -672 48 Out
IOPIN -416 48 Out
SYMBOL voltage -592 816 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 12
SYMBOL res -256 864 R0
SYMATTR InstName R2
SYMATTR Value {WC1(3k3,0.05,2)}
SYMBOL voltage -416 1312 R0
WINDOW 3 21 91 Left 2
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR Value PULSE(0 5 1m 10u 10u 3m)
SYMATTR InstName V2
SYMBOL voltage -464 64 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V4
SYMATTR Value 2.475
SYMBOL res -112 1312 R0
WINDOW 3 34 74 Left 2
SYMATTR Value {WC1(100k,0.05,1)}
SYMATTR InstName R4
SYMBOL res -256 1040 R0
SYMATTR InstName R6
SYMATTR Value {WC1(6k8,0.01,3)}
SYMBOL zener 480 1136 R180
WINDOW 0 -40 40 Left 2
WINDOW 3 -155 15 Left 2
SYMATTR InstName D1
SYMATTR Value BZX84-C3V3
SYMBOL res -320 1312 R270
WINDOW 0 -36 58 VTop 2
WINDOW 3 65 77 VBottom 2
SYMATTR InstName R3
SYMATTR Value {WC1(1k,0.05,0)}
SYMBOL nmos 176 1072 R270
SYMATTR InstName M1
SYMBOL voltage -736 64 R0
SYMATTR InstName V3
SYMATTR Value {STEPPING}
SYMBOL res 336 1056 R0
SYMATTR InstName R1
SYMATTR Value 1Meg
FLAG -96 1424 0
FLAG -416 1424 0
FLAG -592 928 0
FLAG 576 1024 Vin_mon
FLAG 464 1168 0
FLAG -240 1168 0
FLAG -416 1296 PSU_en
FLAG -592 816 Vin
FLAG -736 176 0
FLAG -672 48 STEPPING
FLAG -416 48 THERSHOLD
FLAG -464 192 0
FLAG 128 1296 G
FLAG 352 1168 0
TEXT -544 288 Left 2 ;.dc V1 0 7 0.1
TEXT -544 328 Left 2 !.tran 5m startup
TEXT 2304 -360 Left 2 !***********************************************************\n*\n* BZX84-C3V3\n*\n* Nexperia\n*\n* Voltage regulator diodes\n* VFmax = 0,9V    @ IF = 10mA\n* IRmax = 5µA     @ VR = 1V\n* VZmax = 3,5V    @ IZ = 5mA\n* IZSM  = 6A      @ tp = 100µs\n*\n*\n*\n* Package pinning does not match Spice model pinning.\n* Package: SOT23\n*\n* Package Pin 1: Anode\n* Package Pin 2: Not Connected\n* Package Pin 3: Cathode\n*\n*\n* Extraction date (week/year): #\n* Simulator: PSPICE\n*\n***********************************************************\n*\n.MODEL BZX84-C3V3 D\n+ IS = 7.035E-16\n+ N = 0.9809\n+ BV = 3.3\n+ IBV = 0.005\n+ RS = 0.3487\n+ CJO = 3.162E-10\n+ VJ = 0.6687\n+ M = 0.3164\n+ FC = 0.5\n.ENDS\n*
TEXT -776 -280 Left 2 !.FUNC MOD(a,b) {a-FLOOR(a/b)*b}\n.FUNC BIT(x) {if(MOD(STEPPING,2**(X+1))>=2**x,1,0)}\n.FUNC EVA1 (nom, tol, param_num) {if(STEPPING == -1, nom, nom*(1-tol)+2*nom*tol*BIT(param_num))}\n.FUNC EVA2 (nom, min, max, param_num) {if(STEPPING == -1, nom, IF(BIT(param_num),max,min))}\n.FUNC WC1 (nom, tol, param_num) EVA1(nom, tol, param_num)\n.FUNC WC2 (nom, min, max, param_num) EVA2(nom, min, max, param_num)
TEXT -776 -112 Left 2 !.step param STEPPING -1 15 1
TEXT 1280 -360 Left 2 !**********\n \n.SUBCKT BSS169_L1 drain gate source PARAMS: dVth=0 dRdson=0 dgfs=0 dC=0\n \n.PARAM Rs=0.074     Rg=10        Ls=3n        Ld=1n        Lg=3n\n.PARAM Inn=0.05     Unn=0        Rmax=12\n.PARAM act=0.25\n \nX1  d1 g s Tj K_100_d_var PARAMS: a={act} dVth={dVth} dR={dRdson} Inn={Inn} Unn={Unn} \n                                        +Rmax={Rmax} dgfs={dgfs} Rs={Rs} dC={dC} heat=0\nRg    g1     g    {Rg}   \nLg    gate   g1   {Lg*if(dgfs==99,0,1)}\nGs    s1     s    VALUE={V(s1,s)/(Rs*(1+(limit(V(Tj),-200,999)-25)*4m))}\nRsa   s1     s    1Meg\nLs    source s1   {Ls*if(dgfs==99,0,1)}\nLd    drain  d1   {Ld*if(dgfs==99,0,1)}\n \nE1    Tj     w      VALUE={TEMP}\nR1    w      0      1u\n \n.ENDS\n*$\n \n**********
TEXT 3232 -360 Left 2 !**************************************************************************************\n \n\n.SUBCKT K_100_d_var dd g s Tj PARAMS: a=1 dVth=0 dR=0 dgfs=0 Inn=1 Unn=1 Rmax=1\n+gmin=1 Rs=1 Rp=1 dC=0 heat=1\n \n.PARAM  Vth0=-1.8      beta4c=0.303   ph0=20         ph1=0.026      Ubr=150\n.PARAM  Rd=0.6         nmu=2.6        Rf=0.2         rpa=0.02925    lnIsj=-24.6\n.PARAM  Rdi=0.073\n \n.PARAM  Tref=298     T0=273      auth=3m      c=0.82       mu_bet=0.4\n.PARAM  f_bet=-2     ndi=1.2     UTnbr=207m   lnBr=-23     kbq=85.8u\n.PARAM  Wcml={beta4c*4*c}        \n.PARAM  aubr={0.93m*UBr}\n.PARAM  dvgs={0.1-0.06*Vth0}\n \n.PARAM  f1=118p        f2=118p        f3=207p        f4=330p        f5=217p\n.PARAM  U0=0.5         nd=0.42        nc=0.5         g1=4           bb=-10.8\n.PARAM  sl=30p         remp=0p        ta=60n         td=20n\n \n.PARAM  Vmin=-2.9      Vmax=-1.8      dCmax=0.35\n.PARAM  Vth={Vth0+(Vmax-Vth0)*limit(dVth,0,1)-(Vmin-Vth0)*limit(dVth,-1,0)}\n.PARAM  p0={Wcml*a*((1-f_bet)*(T0/Tref)**mu_bet+f_bet)    }\n.PARAM  Rlim={(Rmax-Rs-(Unn-Vth0-Inn*Rs-SQRT((Unn-Vth0-Inn*Rs)**2-4*c*Inn/p0))/(2*c*Inn))/(1+rpa*(Inn/a)**2)} \n.PARAM  dRd={Rd/a+if(dVth==0,limit(dR,0,1)*max(Rlim-Rd/a,0),0)} \n.PARAM  bet={Wcml}\n \n.PARAM  dC1={1+dCmax*limit(dC,0,1)} \n.PARAM  Cox={f1*a*dC1}\n.PARAM  Cds0={f2*a*dC1}\n.PARAM  Cgs0={f3*a*dC1}\n.PARAM  Cox1={f5*a*dC1}\n.PARAM  Crand={remp*SQRT(a)}\n.PARAM  dRdi={Rdi/a}\n \n.FUNC U1(Uds,T)       {(SQRT(1+4*(0.4+(T-T0-25)*2m)*abs(Uds))-1)/2/(0.4+(T-T0-25)*2m)}\n.FUNC I2(p,Uee,z1,pp) {if(Uee>pp,(Uee-c*z1)*z1,p*(pp-p)/c*exp((Uee-pp-(min(0,Uee))**2)/p))}\n.FUNC Ig(Uds,T,p,Uee) {bet*((1-f_bet)*(T0/T)**mu_bet+f_bet)*I2(p,Uee,min(Uds,Uee/(2*c)),min(2*p,p+c*Uds))}\n.FUNC Iges(Uds,Ugs,T) \n +{a*(sgn(Uds)*Ig(U1(Uds,T),T,1/(ph0-ph1*T),Ugs-Vth+auth*(T-Tref))+exp(min(lnBr+(abs(Uds)-UBr-aubr*(T-Tref))/UTnbr,25)))}\n \n.FUNC Isjt(Tj)           {exp(min(lnIsj+(Tj/Tref-1)*1.12/(ndi*kbq*Tj),9))*(Tj/Tref)**1.5}\n.FUNC Idiode(Usd,Tj,Iss) {exp(min(log(Iss)+Usd/(ndi*kbq*Tj),9))-Iss}\n.FUNC Idiod(Usd,Tj)      {a*Idiode(Usd,Tj,Isjt(Tj))}\n \n.FUNC QCdg(x,z)  {if(f4>f5,(f5**2-(f4-z*sl)**2)/(2*sl)+f5*min(x,(f4-f5)/sl),f4*z-sl*z**2/2-f5*max((f4-f5)/sl-x,0))}\n \nE_Edg     d   ox  VALUE {V(d,g)-(min(V(d,g),-bb)+1/(g1*(1-nc))*((1/(1+g1*max(V(d,g)+bb,0)))**(nc-1)-1))}\nC_Cdg     ox  g   {Cox}\nE_Edg1    d   ox1 VALUE {V(d,g)-QCdg(V(d,g),limit(V(d,g),(f4-f5)/sl,f4/sl))/f5}\nC_Cdg1    ox1 g   {Cox1}\nC_Cdg2    d   g   {Crand}\n \nE_Eds     d edep  VALUE {(V(d2,s)-I(V_sense3)/Cds0)}\nC_Cds  edep    s  {Cds0}\nC_Cds2   d2    s  {Cds0/500}\n \nC_Cgs     g    s  {Cgs0}\n \nG_chan    d    s  VALUE={Iges(V(d,s),V(g,s),T0+limit(V(Tj),-200,350))}\nE_RMos   d1    d  VALUE={I(V_sense)*(Rf*dRd+(1-Rf)*dRd*((limit(V(Tj),-200,999)+T0)/Tref)**nmu)*(1+rpa*(I(V_sense)/a)**2)}\nV_sense  dd   d1  0\nG_diode   s   d2  VALUE={Idiod(V(s,d2),T0+limit(V(Tj),-200,499))}\nR_Rdio   d2   d3  {dRdi}\nV_sense2 d1   d3  0\n \nL_L001    a    c  {td/(ta+td)}\nR_R001    a    b  {1/ta}\nV_sense3  c    f  0\nR_sense3  f    0  1\nE_E001    b    0  VALUE {I(V_sense2)}\nE_E002    e    0  VALUE {1Meg*Cds0*(1/(1-nd)*U0**nd*(limit(U0+V(d2,s),U0/2,2*UBr))**(1-nd)+2**nd*min(V(d2,s)+U0/2,0))}\nR_R002    e    c  1Meg\n \nR1        g    s  1G\nRd01      d    s  500Meg\nRd02     d2    s  500Meg\nRd03     d1    d  10k\n \nG_TH      0    Tj  VALUE = {heat*LIMIT(I(V_sense)*V(dd,s),0,100k)}\n \n.ENDS\n*$\n \n*****************************************************************************************************