You are on page 1of 4

* ------------------------------------------------------------ *

*
* ON Semiconductor
* MC33364 model developed by Christophe BASSO, Toulouse (FRANCE)
* e-mail: christophe.basso@onsemi.com
* OrCAD's PSpice compatible
*
* These models account for the various propagation delays and
* timers, except the internal 100ms re-start delay which has
* NOT purposely been included.
*
* Last modified: 8/26/99
*
* MC33364D1: fixed internal frequency clamp
* MC33364D2: no internal frequency clamp
* MC33364D: adjustable frequency clamp (Not available now)
*
* ------------------------------------------------------------ *
**********
.SUBCKT MC33364D1 1 2 3 4 5 6 7 8
* ZC CS FB Ref Gnd Drv Vcc Line
**** ISUPPLY ****
GSUPP 7 5 VALUE = { IF ( V(81)<3.5, 800U, 4.5M ) }
**** REFERENCE VOLTAGE ****
EREF 80 5 VALUE = { IF (V(81)<3.5, 0, 5V ) }
ROUT 80 4 10
RBIAS 4 3 5k
**** STARTUP AND UVLO ****
XUVLO 7 81 UVLO
GSTRT 8 7 VALUE = { IF ( V(81)<3.5, (8.5M*((14-V(7))/14)+6M), 70U ) }
CSTRT 81 600 2nF
RSTRT 5 600 1k
XOR2 600 213 610 OR2
**** ZERO DETECTION ****
DCLAMP 5 1 DZEN1
XCOMP1 50 1 51 COMP2
XDEL1 51 52 UTD PARAMS: TD={300ns}
EREF1 50 5 VALUE = { IF ( V(51) > 1V, 1.2V, 1V ) }
**** CURRENT SENSE ****
RCS1 3 30 45k
RCS2 30 5 15k
DCS 5 30 DZEN2
XCOMP2 32 30 31 COMP2 ; + - S
XDEL2 31 33 UTD PARAMS: TD={230ns}
VOFF1 32 LEBO 100mV
XLATCH 33 302 620 661 TFFLOP ; S R Q Qb
RDUM1 661 5 100k
**** 250ns LEB ****
XDEL3 121 62 UTD PARAMS: TD={250ns}
ELEB LEBO 5 VALUE = { IF (V(62) > 3V, V(2), 0 ) }
**** LOGIC CIRCUITRY ****
XFFLOP 52 200 620 610 120 121 F_FLOP
RDUM2 120 5 100k
VDAT 200 5 5
**** 400us TIMER ****
GCHG 5 211 VALUE = { IF (V(121) < 3V, 10uA, 0 ) }
CTIM 211 5 410pF
VTIM 212 5 10V
XCOMP3 211 212 213 COMP2
DRST 211 120 DSTD
**** FIXED 6.7us DEADTIME ****
ICHG 5 300 3uA
CDT 300 5 10pF
XCOMP4 300 301 302 COMP2
VDT 301 5 2V
S2 300 5 121 5 SDT
**** DRIVER and UVLO ****
EDRVU 90 5 VALUE = { IF ( (V(121)>3V) & (V(81)>3V), V(7), 100mV ) }
RON 90 6 36
ROFF 6 250 18
DOFF 6 250 DSTD
.MODEL SDT VSWITCH (RON=1 ROFF=10MEG VON=3 VOFF=1)
.MODEL DSTD D RS=100M CJO=15pF TT=10N IBV=100u N=0.01
.MODEL DZEN2 D BV=1.2 RS=100M CJO=15pF TT=100N IBV=100u
.MODEL DZEN1 D BV=10 RS=100M CJO=15pF TT=100N IBV=1m
.ENDS MC33364D1
***************
.SUBCKT MC33364D2 1 2 3 4 5 6 7 8
* ZC CS FB Ref Gnd Drv Vcc Line
**** ISUPPLY ****
GSUPP 7 5 VALUE = { IF ( V(81)<3.5, 800U, 4.5M ) }
**** REFERENCE VOLTAGE ****
EREF 80 5 VALUE = { IF (V(81)<3.5, 0, 5V ) }
ROUT 80 4 10
RBIAS 4 3 5k
**** STARTUP AND UVLO ****
XUVLO 7 81 UVLO
GSTRT 8 7 VALUE = { IF ( V(81)<3.5, (8.5M*((14-V(7))/14)+6M), 70U ) }
CSTRT 81 600 2nF
RSTRT 5 600 1k
XOR2 600 213 610 OR2
**** ZERO DETECTION ****
DCLAMP 5 1 DZEN1
XCOMP1 50 1 51 COMP2
XDEL1 51 52 UTD PARAMS: TD={300ns}
EREF1 50 5 VALUE = { IF ( V(51) > 1V, 1.2V, 1V ) }
**** CURRENT SENSE ****
RCS1 3 30 45k
RCS2 30 5 15k
DCS 5 30 DZEN2
XCOMP2 32 30 31 COMP2 ; + - S
XDEL2 31 33 UTD PARAMS: TD={230ns}
VOFF1 32 LEBO 100mV
**** 250ns LEB ****
XDEL3 121 62 UTD PARAMS: TD={250ns}
ELEB LEBO 5 VALUE = { IF (V(62) > 3V, V(2), 0 ) }
**** LOGIC CIRCUITRY ****
XFFLOP 52 200 33 610 120 121 F_FLOP
RDUM2 120 5 100k
VDAT 200 5 5
**** 400us TIMER ****
GCHG 5 211 VALUE = { IF (V(121) < 3V, 10uA, 0 ) }
CTIM 211 5 410pF
VTIM 212 5 10V
XCOMP3 211 212 213 COMP2
DRST 211 120 DSTD
**** DRIVER and UVLO ****
EDRVU 90 5 VALUE = { IF ( (V(121)>3V) & (V(81)>3V), V(7), 100mV ) }
RON 90 6 36
ROFF 6 250 18
DOFF 6 250 DSTD
.MODEL SDT VSWITCH (RON=1 ROFF=10MEG VON=3 VOFF=1)
.MODEL DSTD D RS=100M CJO=15pF TT=10N IBV=100u N=0.01
.MODEL DZEN2 D BV=1.2 RS=100M CJO=15pF TT=100N IBV=100u
.MODEL DZEN1 D BV=10 RS=100M CJO=15pF TT=100N IBV=1m
.ENDS MC33364D2
********************
.SUBCKT UTD 1 2 PARAMS: TD=100N
RIN 1 0 1E15
E1 3 0 1 0 1
T1 3 0 2 0 Z0=1 TD={TD}
R1 2 0 1
.ENDS UTD
**** UVLO CIRCUIT ****
.SUBCKT UVLO 1 2
* VIN OUT
S1 1 3 1 0 SUVLO
RUV 3 0 100K
E1 4 0 VALUE = { IF( V(3) > 5V, 5V, 0 ) }
RD 4 2 100
CD 2 0 100P
.MODEL SUVLO VSWITCH (RON=1 ROFF=1MEG VON=14.5 VOFF=9.5)
.ENDS UVLO
**** 2 INPUT COMPARATOR ****
.SUBCKT COMP2 1 2 3
* + - S
E1 4 0 VALUE = { IF ( V(1) > V(2), 5V, 0 ) }
RD 4 3 100
CD 3 0 10P
.ENDS COMP2
**** 2 INPUT OR GATE ****
.SUBCKT OR2 1 2 3
E1 4 0 VALUE = { IF ( (V(1)>800M) | (V(2)>800M), 5V, 0 ) }
RD 4 3 100
CD 3 0 10P
.ENDS OR2
*****
.SUBCKT F_FLOP 1 2 11 12 5 6
* CLK D R S QB Q
X1 7 4 2 8 NAND30
X2 8 3 10 9 NAND30
X3 1 8 10 7 NAND31
X4 4 9 1 10 NAND30
X5 4 7 6 5 NAND31
X6 5 10 3 6 NAND30
X7 11 4 INV
X8 12 3 INV
.ENDS F_FLOP
***** INTERNAL F_FLOP DEFINITION ****
.SUBCKT NAND30 1 2 3 4
E1 5 0 VALUE = { IF ( (V(1)>800mV) & (V(2)>800mV) & (V(3)>800mV), 100m, 10 ) }
R1 5 4 10
C1 4 0 10P IC=100m
.ENDS NAND30
.SUBCKT NAND31 1 2 3 4
E1 5 0 VALUE = { IF ( (V(1)>800mV) & (V(2)>800mV) & (V(3)>800mV), 100m, 10 ) }
R1 5 4 10
C1 4 0 10P IC=10
.ENDS NAND31
.SUBCKT INV 1 2
E1 3 0 VALUE = { IF ( V(1)>800mV, 100m, 10 ) }
R1 3 2 10
C1 2 0 10P IC=10
.ENDS INV
**** T FFLOP Circuit ****
.SUBCKT TFFLOP 6 8 2 1
* S R Q Q\
EQB 10 0 VALUE = { IF ( (V(8)<800M) & (V(2)>800M), 0, 5V ) }
EQ 20 0 VALUE = { IF ( (V(6)<800M) & (V(1)>800M), 0, 5V ) }
RD1 10 1 100
CD1 1 0 10P IC=5
RD2 20 2 100
CD2 2 0 10P IC=0
.ENDS TFFLOP
**** MULTI-WINDING TRANSFORMER ****
.SUBCKT XFMR2 1 2 3 4 10 11 PARAMS: RATIO1=1 RATIO2=1
RP 1 2 1MEG
E1 5 4 VALUE = { V(1,2)*RATIO1 }
G1 1 2 VALUE = { I(VM1)*RATIO1 }
RS1 6 3 1U
VM1 5 6
E2 20 11 VALUE = { V(2,1)*RATIO2 }
G2 2 1 VALUE = { I(VM2)*RATIO2 }
RS2 21 10 1U
VM2 20 21
.ENDS XFMR2
**** MOC8101 OPTOCOUPLER ****
.SUBCKT MOC8101 1 2 3 5
* ISOLATOR A C COL EMITTER
RB 4 0 100Meg
VM 1 6
D1 6 2 LED
H1 7 0 VM .0055
R1 7 8 1K
C1 8 0 3.35nF
G1 3 4 8 0 1
Q1 3 4 5 MPSA06
.MODEL LED D(N=1.7 RS=.7 CJO=23.9P IS=85.3p BV=6 IBV=10U
+ VJ=0.75 M=0.333 TT=4.32U)
.MODEL MPSA06 NPN (IS=15.2F NF=1 BF=589 VAF=98.6 IKF=90M ISE=3.34P NE=2
+ BR=4 NR=1 VAR=16 IKR=0.135 RE=0.343 RB=1.37 RC=0.137 XTB=1.5
+ CJE=9.67P VJE=1.1 MJE=0.5 CJC=7.34P VJC=0.3 MJC=0.3 TF=10.29n TR=276N)
.ENDS MOC8101
******

You might also like