L6562 LTspice model

.SUBCKT L6562A inv comp mult cs zcd com gd vcc
.model Dbody d(ron=1 roff=1g vfwd=0.7)
.model Dvcc d(vfwd=0.6 vrev=25 roff=367k ron=1)
.model Dzcd d(ron=rzcd vfwd=0 vrev={vzcd})
.model Serramp sw(ron=5 roff=1G vt=0.5 vh=-0.2)
.model SGsink sw(ron=5 roff=100meg vt=-0.5 vh=-0.2 ilimit=800m)
.model SGsource sw(ron=4.3 roff=100meg vt=0.5 vh=-0.2 ilimit=600m)
.model Szcd sw(ron=0.1 roff=1g vt=0.5 vh=-0.2)
.param
+ Ihys=20u
+ Iovp=27u
+ Isovp=3u
+ kfac={Kgain/0.38}
+ Kgain=0.38
+ Rovp=150k
+ Rzcd=40
+ Td_hl=175n
+ td_hlc={Td_hl-15n}
+ Td_lh=200n
+ td_lhc={Td_lh-5n}
+ Tleb=200n
+ Tovp=20n
+ Tstart=190u
+ Vcc_off=10.0
+ Vcc_on=12.5
+ Vcs_clamp=1.08
+ Vcs_offset=25m
+ vcs_scale=Vcs_offset/3
+ Vinv=2.5
+ Vinvdis=200m
+ Vinven=450m
+ Vlcv=2.25
+ Vmult=3
+ VOclamp=12
+ vovp=Vlcv
+ Vucv=5.7
+ vzcd_l={Vzcdl+rzcd*2.5m}
+ vzcd={Vzcdh-vzcd_l-rzcd*2.5m}
+ Vzcda=1.4
+ Vzcdh=5.7
+ Vzcdl=0.0
+ Vzcdt=0.7
A1 uvl_ 0 N005 delaytest N009 0 Q 0 DFLOP trise=10n
A10 comp 0 0 0 0 stat_ovp 0 0 BUF ref={Vovp} trise=100n tripdt=3n
A12 vcc 0 0 0 0 uvl uvl_ 0 SCHMITT vt={(Vcc_on+Vcc_off)/2} vh={(Vcc_on-Vcc_off)/2} trise=300n
A13 Q uvl dis 0 0 N002 0 0 OR trise={Tstart/0.6} tfall=100n
A14 stat_ovp dyn_ovp 0 0 0 0 ovp 0 OR trise=20n
A15 N002 0 0 0 0 0 delaytest 0 SCHMITT vt=0.5 vh=0.1 trise=20n
A2 iea 0 0 0 0 0 dyn_ovp 0 SCHMITT vt={Iovp-0.5*Ihys} vh={0.5*Ihys} trise=100n
A3 cs mult_out 0 0 0 0 N006 0 SCHMITT vt=1u trise=10n tripdt=10n
A4 inv 0 0 0 0 dis 0 0 SCHMITT vt={(Vinven+Vinvdis)/2} vh={(Vinven-Vinvdis)/2} trise=100n
A5 0 N003 0 0 0 0 N005 0 SCHMITT vt={-(Vzcda+Vzcdt)/2} vh={(Vzcda-Vzcdt)/2} trise={2*td_lhc} tripdt=10n
A6 Q 0 0 0 0 0 N007 0 BUF trise={2*Tleb} tfall=1n tripdt=10n
A7 N008 uvl dis ovp 0 0 N009 0 OR trise={2*td_hlc}
A8 N006 N007 0 0 0 0 N008 0 AND trise=10n tfall=1n tripdt=10n
Bovp 0 iea I=-I(Sc1)
C1 comp 0 16n
Cmc mult_clamp 0 10n Rpar=1
Covp iea 0 {Tovp} Rpar=1
D1 0 vcc Dvcc
D2 N004 N003 Dzcd
D3 0 gd Dbody
Gco 0 comp_offset comp ref25 table (0,0)(0.5,0.118)(1,0.346)(1.5,0.589)(2,0.793)(2.5,1.020)(3.2,1.108)
Gdrop vcc_cl vcc vcc 0 table (0,0)(1.67,1.67)({VOclamp+1.67},1.67)({VOclamp+1000},1000)
Gerramp 0 N001 ref25 inv table (0,{(Vlcv-0.01)/5})(346u,{Vucv/5})
Gmc 0 mult_clamp mult 0 table (0,0)({Vmult},{Vmult})
Gmo 0 multi value={(kfac*v(comp_offset)-vcs_scale)*v(mult_clamp) + Vcs_offset - if(V(iea)>Iovp-Isovp,(V(iea)-(Iovp-Isovp))*Rovp,0)} Rpar=1
Gmoc 0 mult_out multi 0 table (0,0)({Vcs_clamp},{Vcs_clamp})
Gref 0 ref25 value={Vinv} Rpar=1
Gvcc vcc 0 value={if(V(uvl)<0.5, if(V(ovp)<0.5,2.5mA,1.7mA),0)}
I1 N003 0 2?
Rco comp_offset 0 1
Rdrop vcc vcc_cl 1.0
Rgea N001 0 5
Rinv inv 0 25meg
Rmoc mult_out 0 1
Rmult mult 0 4meg
S2 gd vcc_cl Q 0 SGsource
S3 0 gd 0 Q SGsink
Sc1 comp N001 uvl_ 0 Serramp
Sc2 N003 zcd uvl_ 0 Szcd
V1 N004 0 {vzcd_l}
.ENDS

.SUBCKT L6562Aav inv comp mult cs zcd com gd vcc
.model Dvcc d(vfwd=0.6 vrev=25 roff=367k ron=1)
.model Dzcd d(ron=rzcd vfwd=0 vrev={vzcd

})
.model Serramp sw(ron=5 roff=1g vt=0.5 vh=-0.2)
.model Szcd sw(ron=0.1 roff=1g vt=0.5 vh=-0.2)
.param
+ Ihys=20u
+ Iovp=27u
+ Isovp=3u
+ kfac={Kgain/0.38}
+ Kgain=0.38
+ Rovp=150k
+ Rshunt=1
+ Rzcd=40
+ Tovp=20n
+ Vcc_off=10.0
+ Vcc_on=12.5
+ Vcs_clamp=1.08
+ Vcs_offset=25m
+ vcs_scale=Vcs_offset/3
+ Vinv=2.5
+ Vinvdis=200m
+ Vinven=450m
+ Vlcv=2.25
+ Vmult=3
+ vovp=Vlcv
+ Vucv=5.7
+ vzcd_l={Vzcdl+rzcd*2.5m}
+ vzcd={Vzcdh-vzcd_l-rzcd*2.5m}
+ Vzcdh=5.7
+ Vzcdl=0.0
A10 comp 0 0 0 0 stat_ovp 0 0 BUF ref={Vovp} trise=100n tripdt=3n
A12 vcc 0 0 0 0 uvl uvl_ 0 SCHMITT vt={(Vcc_on+Vcc_off)/2} vh={(Vcc_on-Vcc_off)/2} trise=300n
A14 stat_ovp dyn_ovp 0 0 0 0 ovp 0 OR trise=20n
A2 iea 0 0 0 0 0 dyn_ovp 0 SCHMITT vt={Iovp-0.5*Ihys} vh={0.5*Ihys} trise=100n
A4 inv 0 0 0 0 dis 0 0 SCHMITT vt={(Vinven+Vinvdis)/2} vh={(Vinven-Vinvdis)/2} trise=100n
A7 0 ovp dis uvl 0 block 0 0 OR trise=20n
Bovp 0 iea I=-I(Sc1)
C1 comp 0 16n
Cmc mult_clamp 0 10n Rpar=1
Covp iea 0 {Tovp} Rpar=1
D1 0 vcc Dvcc
D2 N003 N002 Dzcd
Gco 0 comp_offset comp ref25 table (0,0)(0.5,0.118)(1,0.346)(1.5,0.589)(2,0.793)(2.5,1.020)(3.2,1.108)
Gerramp 0 N001 ref25 inv table (0,{(Vlcv-0.01)/5})(346u,{Vucv/5})
Gmc 0 mult_clamp mult 0 table (0,0)({Vmult},{Vmult})
Gmo 0 multi value={v(block)*((kfac*v(comp_offset)-vcs_scale)*v(mult_clamp) + Vcs_offset - if(V(iea)>Iovp-Isovp,(V(iea)-(Iovp-Isovp))*Rovp,0))} Rpar=1
Gmoc 0 gd multi 0 table (0,0)({Vcs_clamp},{Vcs_clamp/Rshunt})
Gref 0 ref25 value={Vinv} Rpar=1
Gvcc vcc 0 value={if(V(uvl)<0.5, if(V(ovp)<0.5,2.5mA,1.7mA),0)}
I1 N002 0 2?
Rco comp_offset 0 1
Rcsin cs 0 2Meg
Rgea N001 0 5
Rinv inv 0 25meg
Rmoc gd 0 1
Rmult mult 0 4meg
Sc1 comp N001 uvl_ 0 Serramp
Sc2 N002 zcd uvl_ 0 Szcd
V1 N003 0 {vzcd_l}
.ENDS

相关文档
最新文档