CD4046 SPICE model

.subckt CD4046 sigin phcmpii phcmpi phpls compin vcoin
+              r1 r2 ce1 ce2 vcoout demout inhibit zener vdd vss
+                   OPTIONAL: DPWR=$G_DPWR DGND=$G_DGND
+                   PARAMS: MNTYMXDLY=0 IO_LEVEL=0
+                   Rin=1Meg S1=1  S2=0.5 M1=0.5 M2=1.0 Vx=10
+                   Kb=1 Vfree=0.0 Kc=-0.1 Vt=1.2 Vxqr=10

* Rin  = VCO Input Resistace
* S1   = Voltage Limiter linear slope
* S2   = Voltage Limiter non-linear slope
* Vx   = Input threshold voltage (between S1 and S2)
* Kb   = Arbitrary constant to adjust the value of the conversion gain (transimpedance gain)
* Vfree= Frequency dependent constant in Emult
* Kc   = Negative inverse amplitude of the square wave
* Vt   = Trigger voltage of Schmitt trigger (not used)
* Vxqr = Amplitude of square wave (not used)
* M1   = Current mirror multiplier to adjust oscillator frequency
* M2   = Current mirror multiplier to adjust oscillator frequency

* Preliminary model still under development based on Natinal Semiconductor CD4046BM
* RAPerez 9/98

* Phase detector section

U1 INVA(4) DPWR DGND sigin compin isigin icompin
+                    isigin icompin clk1 clk2
+ INVA_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL INVA_TIMING UGATE

U2 XOR DPWR DGND isigin icompin xorout
+ XOR_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL XOR_TIMING UGATE
***tplhty=20n tphlty=20n

U3 NAND(2) DPWR DGND q1 q2 pclr
+ NAND_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL NAND_TIMING UGATE (tplhty=1n tphlty=1n)

U4 DFF(1) DPWR DGND $D_HI clr clk1 $D_HI q1 qb1
+ DFF1_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL DFF1_TIMING UEFF tppcqlhty=4n tppcqhlty=4n tpclkqlhty=4n tpclkqhlty=4n

U5 DFF(1) DPWR DGND $D_HI clr clk2 $D_HI q2 qb2
+ DFF2_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL DFF2_TIMING UEFF tppcqlhty=5n tppcqhlty=5n tpclkqlhty=5n tpclkqhlty=5n

U7 BUFA(2) DPWR DGND fq1 fq2 s1 s2
+ BUFA_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL BUFA_TIMING UGATE

ST2 vdd phcmpii s1 0 swt
SB2 phcmpii vss s2 0 swt

.model swt VSWITCH (ROFF=2G RON=10m VOFF=0.8 VON=3.0)

U6 AND(2) DPWR DGND pclr reset clr
+ AND_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL AND_TIMING UGATE

Ureset STIM(1,1) DPWR DGND
+ reset
+ IO_HCT
+   +0s 0
+   2ns 1
+   1s 1

U8 NOR(2) DPWR DGND fq1 fq2 norout
+ NOR_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL NOR_TIMING UGATE

U9 ANDA(2,2) DPWR DGND q1 od1 q2 od2 fq1 fq2
+ ANDA_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL ANDA_TIMING UGATE

U10 DLYLINE DPWR DGND q1 od1
+ DLY_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}
U11 DLYLINE DPWR DGND q2 od2
+ DLY_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL DLY_TIMING UDLY dlyty=12n

U12 BUFA(3) DPWR DGND norout xorout vcosqr phpls phcmpi vcoout
+ BUFB_TIMING IO_HCT
+ MNTYMXDLY={MNTYMXDLY} IO_LEVEL={IO_LEVEL}

.MODEL BUFB_TIMING UGATE

* VCO Section

Rin vcoin vss {Rin}
Evlim vlim 0 value={if(v(vcoin,vss)<v(vdd,vss),
+                   S1*v(vcoin,vss),S2*(v(vcoin,vss)-v(vdd,vss))+v(vdd,vss))}
Rvlim vlim 0 1Meg
Emult mix 0 value={v(vlim)*Kb+Vfree}
*Hmult mix 0 poly(1) Vcm 1.44 0.586
Rmult mix 0 1

Edemout demout 0 table={ 200Meg*v(vcoin,demout)*v(off) } (-20,-20) (20,20)
Rdemout demout 0 1Meg
ER2 ir2 0 vdd ir2 200Meg
VR2 ir2 r2
ER1 ir1 0 mix ir1 200Meg
VR1 ir1 r1
Eosclg adj 0 table={abs((V(vdd)/I(VR2))/(V(mix)/I(VR1)))}
+ (0.5,1.43) (1,1.6) (10,1.04) (50,0.67) (100,0.84) (101,1)
+ (102,1) (1000,1)
Radj adj 0 1G
*GIM ce1 0 value={(M1*I(VR1)+M2*I(VR2))*Kc*V(sqrrc)}
GIM ce1 0 value={(M1*I(VR1)*V(adj)+M2*I(VR2))*Kc*V(sqrrc)}
*GIM ce1 0 value={(24*I(VR1)+3.067*I(VR2))}
Vcext ce2 0
Cstray ce1 ce2 6p
Rcext ce1 ce2 1T
Etrngl trngl 0 ce1 0 1
Rtrngl trngl 0 1Meg

Esqr sqr 0 value={-10Meg*V(trngl)+1.2Meg*V(sqrrc)}

Rsqr sqr sqrrc 0.1T
Csqr sqrrc 0 10f
Dsqr1 sqrrc 13 Diode
Vsqr1 13 0 {Vx}
Dsqr2 14 sqrrc Diode
.model Diode D (IS=10u N=0.1 CJO=80f RS=1m)
*.model Diode D (IS=10u N=0.001 CJO=80f)
Vsqr2 14 0 {-Vx}
Ipls 0 sqrrc pwl 0 0 10n 0 20n 0.01u 0.1u 0.01u 0.12u 0 1 0
Evcoout vcosqr 0 table={5.0*v(off)*(v(sqrrc)/Vx)} (0.1,0.1) (4.5,4.5)
*Rvcoout vcosqr vcosqr1 1

**Et 7 0 TABLE {-10k*V(trngl)+1.2k*V(sqrrc)} (-2,-10) (2,10)
*Ipls 0 sqrrc pwl 0 0 10n 0 20n 1u 0.1u 1u 0.12u 0 1 0
*Et 7 0 value={table({-10Meg*V(trngl)+1.2Meg*V(sqrrc)},-10,{-Vx},10,{Vx})}
*Ro 7 sqrrc 100
*Co sqrrc 0 100p

*Est sqrrc o VALUE={table({2000k*(V(st)-V(trngl))},-2,{-Vx},2,{Vx})}
*Rst1 sqrrc st 8.8k
*Rst2 st 0 1.2k
*Cst st 0 200p ic=-10

Rinhbt inhibit 0 1Meg
Eoff off 0 value={if(v(inhibit)<0.9,1.0,0.0)}
Roff off 0 1Meg

Dzener vss zener znr
Rzener vss zener 1G
.model znr D(Is=1.004f Rs=.5875 Ikf=0 N=1 Xti=3 Eg=1.11 Cjo=160p M=.5484
+  Vj=.75 Fc=.5 Isr=1.8n Nr=2 Bv=5.2 Ibv=27.721m Nbv=1.1779
+  Ibvl=1.1646m Nbvl=21.894 Tbv1=176.47u)

.ends

    SPICE modeling of Magnetic Core from Datasheet

    Vittorio Carboni

    Department of Electronics and Automatic, University of Ancona 1999/2000

    SPICE simulations and analisys by Ing. Cristoforo Baldoni

    1. Switching  power supply: Choice of ferrite

    2. Simplified calculation of the transformer

    3. Transformer for Flyback converter: Calculation example

    4. Transformer for Forward converter :Calculation example

    5. Windings: Supports, wires and insulation

     

    On what

    How

    With what

    Skin and proximity effects

    6. Let’ s complete the design of the flyback transformer

    Primary

    Secondary

    Conclusions

    7. Appendix

    8. SPICE modeling of ETD49 N67 core from datasheet

    9. Bibliography

     

    1. Switching  power supply: Choice of ferrite

    The first step in the design of the transformer is the choice of the ferrite as physical form,  type of material and dimensions. It’s a very important choice that characterizes the project as all subsequent calculations based on it. An error of assessment may lead, at the end of designing, to realize, for example, that the dimensions are not suitable: this means start again with considerable lost of time and resources.

    The ferrites are characterized by very low losses at high frequencies, they are made with alloys of iron oxides and other metals such as zinc and manganese. The material is pulverized together with insulating oxides and then modeled using techniques typical of ceramics. This allows to make ferrites with a great variety of shapes and sizes and tolerances very restricted about magnetic and mechanically characteristics. They, also, can be machined with precision after the operation of the cooking.

    The ferrites typically have a density of the saturation flux between 3 and 5 kGauss, also the presence of oxides increases its specific resistivity at very high levels thus allowing to reduce losses due to eddy currents. The available shapes include bars, toroids, EE EI and UI cores. The Curie temperature TC, namely the temperature at which the material loses its ferromagnetic properties, is between 100 and 300 ° C, depending on the type of material; the phenomenon is reversible, reducing the temperature to below the TC material regains its properties.

    For low to medium power transformers E-Series is the best choice. As the acronym suggests, the magnetic core is composed of two elements in the shape of E. The two pieces forming the magnetic circuit, are slipped into the holder of the windings and locked in place with the clips and / or bonded with Araldite or other epoxy adhesives. The three contact surfaces of the half-cores are machined so as to reduce the roughness and therefore contain to negligible size the not intentional air gap . In some cases the air gap is desired, this can be obtained realizing the central column of the half-core shorter than outer ones.

    figure1

    Figure 1 – Example of assembling of a kit composed of the support for the windings, a pair of ferrites of ETD type and a pair of fastening clips. (FERRITES and Accessories, Siemens Matsushita Components)

    It’s possible choose from a catalog of half-cores with air gap calibrated. For the ferrite type ETD49, for example, we can have 4 values of the air gap: 0.20 +- 0.02 mm, 0.50 +- 0.05 mm, 1.00 +- 0.05, 2.00 +- 0.05 mm.

    Coupling a half-core with air gap with another without, or also with air gap, also of different value, it is possible to obtain numerous combinations.

    The ferrites of series E and ETD are widely used, so are easy to find. The catalog Siemens Matsushita indicates that the materials available for the E-series are different and coded with the initials N27, N67, N87, N49, N30, T37. The choice of material to use is correlated with the switching frequency: the type N27 is suitable for power applications in a frequency band of switching up to 100KHz, N67 is suitable for similar application, but the frequency range is between 100KHz and the 300KHz. Table 1 shows the possible applications for different materials. The E series has the classical central square column, other families in the same series are available for special applications such as the best known:

    ETD stands for Economic Transformer Design, with circular cross-section of the center column

    EFD stands for Economic Flat Design transformer for applications with space vertical content.

    table1

    Table 1 – Some parameters for the type ferrites ETD (FERRITES and Accessories, Siemens Matsushita Components).

    Table 2 – Maximum permissible temperature rise for different materials (FERRITES and Accessories, Siemens Matsushita Components).

    Table 3 – Thermal resistance for different types and sizes of ferrite (FERRITES and Accessories, Siemens Matsushita Components).

    The most important parameters for a correct choice of the ferrite are:

    1. Maximum power (Ptrans)

    2. Type of converter (Forward, Flyback, Push-Pull)

    3. Switching frequency and maximum permissible temperature

    4. maximum volume

    To make the choice you might consider that the manufacturer, as a rule, always indicates the limit values, so if it is not pressing the issue of costs, it is a good idea to choose on the table, the type immediately above the one that delivers the requested power. This will avoid,later in the phase of winding, to discover that the number of turns calculated, with the wire section calculated does not enter for lack of space in the throat of the support of the windings. This precaution is especially recommended if the transformer should be wrapped in accordance with the safety standards (minimum distances between the different layers of the windings, using wire with double insulation etc..).

    It follows an example of calculation of a switching transformer in [1]; the approach to this type of  calculation is in many passages forcibly empirical, in many other simplified. On the other hand a completely theoretical discussion would result in a significant waste of resources without the benefits of improved performance.

    SPICE modeling of a JFET from Datasheet

    In this article we’ ll see how to find the parameters used to describe the mathematical behaviour of JFET (Junction Field Effect Transistors).The syntax for the N-channel model is:

    model ModelName NJF( par1=a par2=b………parn=x)

    while for the P-channel model is:

    model ModelName PJF( par1=a par2=b………parn=x)

    Where par1 par2… parn are the parameters that allow us to model the equations of the JFET transistor.

    The main parameters for modeling the JFET are listed below in this table:

     

    ParametersDescriptionUnitsDefault Value
    AFFlicker noise exponentno unit dimension1.0
    ALPHAIonization coefficient1/V1e-006
    BETATransconductance coefficientA/V^20.0001
    BETATCEBETA exponential temperature coefficient%/°C-0.5
    CGDZero-bias gate-drain p-n capacitanceF1e-012
    CGSZero-bias gate-source p-n capacitanceF1e-012
    FCForward-bias depletion capacitance coefficientno unit dimension0.5
    ISGate p-n saturation currentA1e-014
    ISRGate p-n recombination current parameterA0
    KFFlicker noise coefficientno unit dimension1e-018
    LAMBDAChannel-length modulation1/V1e-006
    MGate p-n grading coefficientno unit dimension0.5
    NGate p-n emission coefficientno unit dimension1.0
    NREmission coefficient for ISRno unit dimension2.0
    PBGate p-n potentialV1.0
    RDDrain ohmic resistanceOhm1.0
    RSSource ohmic resistanceOhm1.0
    VKIonization knee voltageV1.0
    VTOThresold voltageV-2.0
    VTOTCVTO temperature coefficientV/°C-0.0025
    XTIIS temperature coefficientno unit dimension3.0

    SPICE modeling of a BJT from Datasheet

    BJT bipolar transistors require a certain number of parameters to get a good model.The syntax for this model is:

    .model ModelNameNPN (par1=a par2=b………parn=x)

    for PNP case:

    .model ModelNamePNP (par1=a par2=b………parn=x)

    where par1 par2…….parn are the parameters that allow to model equations of the BJT.

    The main parameters for a reasonable modeling of the behavior of the component are summarized in the following table:

    ParametersDescriptionUnitsDefault Value
    ISTransport saturation currentA1e-16
    XTIIS temperature effect exponentno unit dimension3.0
    EGBandgap voltage (barrier height)eV1.11
    VAFForward Early voltageVInfinite
    BFIdeal maximum forward betano unit dimension100
    ISEBase-emitter leakage saturation currentA0
    NEBase-emitter leakage emission coefficientno unit dimension1.5
    IKFCorner for forward-beta high-current roll-offAInfinite
    NKHigh-current roll-off coefficientno unit dimension0.5
    XTBForward and reverse beta temperature coefficientno unit dimension0
    BRIdeal maximum reverse betano unit dimension1.0
    ISCBase-collector leakage saturation currentA0
    NCBase-collector leakage emission coefficientno unit dimension2.0
    IKRCorner for reverse-beta high-current roll-offAInfinite
    RCCollector ohmic resistanceOhm0
    CJCBase-collector zero-bias p-n capacitanceF0
    MJCBase-collector p-n grading factorno unit dimension0.33
    VJCV0.75
    FCForward-bias depletion capacitor coefficientno unit dimension0.5
    CJEBase-emitter zero-bias p-n capacitanceF0
    MJEBase-emitter p-n grading factorno unit dimension0.33
    VJEBase-emitter built-in potentialV0.75
    TRIdeal reverse transit timesec1e-8
    TFIdeal forward transit timesec0
    ITFTransit time dependency on IcA0
    XTFTransit time bias dependence coefficientno unit dimension0
    VTFTransit time dependency on VbcVInfinite
    RBZero-bias (maximum) base resistanceOhm0

    SPICE modeling of a Diode from Datasheet

    Modeling in SPICE& a diode is not a trivial work. Although the operation of the diode is quite simple, extract a model from datasheet takes some time.Every component has its own syntax defined in SPICE , in the case of the diode:

    .model ModelName D (par1=a par2=b………parn=x)

    where par1 par2 …. parn are characteristic parameters of diode.

    we can sum up the set of main parameters in the following table:

    ParameterDescriptionUnitDefault value
    BVReverse breakdown knee voltageVInfinite
    CJOZero-bias p-n capacitanceF0
    EGBandgap voltageeV1.11
    FCForward-bias depletion capacitance coefficientno unit dimension0.5
    IBLVLow-level reverse breakdown knee correntA0
    IBVReverse breakdown knee correntA1e-10
    IKFHigh-injection knee currentAInfinite
    ISSaturation correntA1e-14
    ISRRecombination current parameterA0
    Mp-n grading coefficientno unit dimension0.5
    NEmission coefficientno unit dimension1.0
    NREmission coefficient for ISRno unit dimension2.0
    RSParasitic resistanceOhm0
    TTTransit timesec0
    VJp-n potentialV1.0
    XTIIS temperature exponentno unit dimension3.0

    All these parameters are used by SPICE to describe the behavior of the diode in the different situations of signal, for example in direct polarization in DC that, forward current will be:

    ID = IS*(e^(VD/(N*Vt))-1)

    where VD is the forward voltage, Vt = k * T / q is the thermal voltage equal to 0.026 V at 27 degrees Celsius.

    The so-called recombination current is instead calculated as

    Irec = ISR*(e^(VD/(N*Vt))-1).

    Other equations from the given parameters describing the capacitance of the junction, its evolution with temperature and more.

    At this point we have to derive the various parameters from the datasheet of the component. Assume we want to model a silicon diode 1N4148. The extraction of the parameters of the table from the values reported in the datasheet, is not immediate for almost none of the parameters.look at the values of our interest in datasheet:

    data1

    From the table we can get BV which is equal to VRM, in other cases reported as Vbr, or in the case of Zener diode Vz.

    data2

    From this second table we see that the maximum leakage current at 25 degrees is Ir = 5 uA.We can take IBV as equal to 10 times Ir. Usually for this type of diodes the value of IBV is around 100uA. For Zener diodes Ir can be called Izk, or in other cases as Ibr.

    CJO can be directly equal to the value specified in the datasheet as Cj or Ctot, in this case is 4pF.