Pines ocultos en CD4000.lib con LTspice

0

Mientras trabajaba con CD4000.lib en LTSpiceIV, encontré lo siguiente: Se descargó un condensador a través de una entrada de disparo Schmitt de CMOS. El análisis de este comportamiento reveló que LTSpice puede no manejar los pines ocultos correctamente.

Compruébelo usted mismo:

El primer caso fue en el que noté el comportamiento.

En el segundo caso, representé la descarga como un elemento RC.

En el tercer caso observé la etapa de filtro de entrada del CD40106 en el CD4000.lib (también hay una resistencia de 100Meg contra VGND como se esperaba). La lista neta del subckt CD40_IN_S_1 se transfirió a la simulación actual y se conectó a GND y VDD. Durante la simulación, por supuesto (como debería ser) los diodos golpearon y cortaron la tensión negativa.

En el cuarto caso, la etapa de filtro de entrada se ha insertado nuevamente, pero esta vez sin conectar los diodos a VDD y GND. Durante la simulación, el comportamiento exacto que me causó los dolores de cabeza se hizo evidente.

Esto plantea preguntas:

  • ¿Qué está mal aquí?
  • ¿Cómo se usan los pines ocultos en LTspice?
  • ¿Qué se debe hacer en este caso para obtener resultados de simulación correctos con el CD4000.lib?

Aquí está el archivo asc:

corta aquí ---

    Version 4
    SHEET 1 3772 2028
    WIRE -48 320 -352 320
    WIRE 48 320 -48 320
    WIRE 192 320 112 320
    WIRE 400 320 192 320
    WIRE 640 320 400 320
    WIRE -352 496 -352 320
    WIRE -48 496 -352 496
    WIRE 48 496 -48 496
    WIRE 192 496 112 496
    WIRE 400 496 192 496
    WIRE 656 496 400 496
    WIRE 768 496 736 496
    WIRE 560 624 560 576
    WIRE 560 704 560 624
    WIRE -352 864 -352 496
    WIRE -48 864 -352 864
    WIRE 48 864 -48 864
    WIRE 192 864 112 864
    WIRE 400 864 192 864
    WIRE 560 864 560 768
    WIRE 560 864 400 864
    WIRE 672 864 560 864
    WIRE 736 864 672 864
    WIRE 928 864 816 864
    WIRE 672 912 672 864
    WIRE 928 912 928 864
    WIRE 560 944 560 864
    WIRE 112 992 -240 992
    WIRE 144 992 112 992
    WIRE -240 1040 -240 992
    WIRE 672 1056 672 992
    WIRE 784 1056 672 1056
    WIRE 928 1056 928 976
    WIRE 928 1056 784 1056
    WIRE 560 1104 560 1008
    WIRE 784 1104 784 1056
    WIRE -240 1136 -240 1072
    WIRE 96 1136 -240 1136
    WIRE 144 1136 96 1136
    WIRE -240 1168 -240 1136
    WIRE 784 1168 784 1104
    WIRE 560 1328 560 1264
    WIRE -352 1488 -352 864
    WIRE -48 1488 -352 1488
    WIRE 48 1488 -48 1488
    WIRE 192 1488 112 1488
    WIRE 400 1488 192 1488
    WIRE 560 1488 560 1392
    WIRE 560 1488 400 1488
    WIRE 672 1488 560 1488
    WIRE 736 1488 672 1488
    WIRE 928 1488 816 1488
    WIRE 672 1536 672 1488
    WIRE 928 1536 928 1488
    WIRE 560 1584 560 1488
    WIRE -352 1632 -352 1488
    WIRE 672 1680 672 1616
    WIRE 784 1680 672 1680
    WIRE 928 1680 928 1600
    WIRE 928 1680 784 1680
    WIRE 560 1696 560 1648
    WIRE -352 1728 -352 1664
    WIRE 784 1728 784 1680
    WIRE 784 1792 784 1728
    FLAG -48 496 stimulus
    FLAG 192 496 response2
    FLAG 192 320 response1
    FLAG 192 864 response3
    FLAG 768 496 0
    FLAG -240 1168 0
    FLAG 784 1104 VGND
    FLAG 112 992 VDD
    FLAG 96 1136 VGND
    FLAG 560 1104 0
    FLAG 560 624 VDD
    FLAG -48 320 stimulus
    FLAG -48 864 stimulus
    FLAG -352 1728 0
    FLAG 192 1488 response4
    FLAG 784 1728 VGND
    FLAG -48 1488 stimulus
    SYMBOL cap 48 512 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName C1
    SYMATTR Value 2.2n
    SYMBOL cap 48 336 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName C3
    SYMATTR Value 2.2n
    SYMBOL diode 576 1008 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D1
    SYMATTR Value CD40DIO1
    SYMBOL diode 576 768 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D2
    SYMATTR Value CD40DIO1
    SYMBOL res 720 848 M90
    WINDOW 0 5 56 VBottom 2
    WINDOW 3 27 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10k
    SYMBOL cap 944 912 M0
    SYMATTR InstName C4
    SYMATTR Value {Cval}
    SYMBOL res 656 896 R0
    SYMATTR InstName R2
    SYMATTR Value 1e8
    SYMBOL cap 48 880 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName C5
    SYMATTR Value 2.2n
    SYMBOL Dig_Add\CD4xxx\cd40106b 688 272 R0
    WINDOW 38 -118 145 Left 2
    WINDOW 39 -118 117 Left 2
    SYMATTR InstName U2
    SYMATTR SpiceLine VDD={Versorgungsspannung}  SPEED={SPEED}  TRIPDT={TRIPDT}
    SYMBOL res 640 512 R270
    WINDOW 0 27 56 VTop 2
    WINDOW 3 5 56 VBottom 2
    SYMATTR InstName R3
    SYMATTR Value 100Meg
    SYMBOL MiniSyms4\voltage- -240 1056 R0
    WINDOW 123 0 0 Left 2
    WINDOW 39 0 0 Left 2
    SYMATTR InstName V3
    SYMATTR Value {Versorgungsspannung}
    SYMBOL MiniSyms4\voltage- -352 1648 R0
    WINDOW 123 0 0 Left 2
    WINDOW 39 0 0 Left 2
    SYMATTR InstName V1
    SYMATTR Value PULSE({Versorgungsspannung} 0 0.025 0.0001)
    SYMBOL res 720 1472 M90
    WINDOW 0 5 56 VBottom 2
    WINDOW 3 27 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10k
    SYMBOL cap 944 1536 M0
    SYMATTR InstName C2
    SYMATTR Value {Cval}
    SYMBOL res 656 1520 R0
    SYMATTR InstName R5
    SYMATTR Value 1e8
    SYMBOL cap 48 1504 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName C6
    SYMATTR Value 2.2n
    SYMBOL diode 576 1648 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D3
    SYMATTR Value CD40DIO1
    SYMBOL diode 576 1392 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D4
    SYMATTR Value CD40DIO1
    TEXT -312 584 Left 2 !.param Versorgungsspannung=15\n.param SPEED=1.0\n.param TRIPDT=5e-9
    TEXT 672 784 Left 2 !.MODEL CD40DIO1 D(Is=1e-12 Rs=100)
    TEXT 976 880 Left 2 !.param Cval = 1.8e-12*5/{Versorgungsspannung}*{SPEED}\n.param vt1=2.5/5\n.param vh1=0.4/5\n.param gain=(1/{Versorgungsspannung})
    TEXT 664 624 Left 4 ;Schmitt-input; 2.9V/2.1V @5   CD40_IN_S_1
    TEXT 1408 1144 Left 2 ;see CD4000.lib
    TEXT -204 1750 Left 2 !.tran .5
    TEXT 440 848 Left 2 ;in
    TEXT 440 1472 Left 2 ;in
    TEXT 864 1472 Left 2 ;out10
    TEXT 872 848 Left 2 ;out10
    TEXT 912 320 Left 2 ;cd40106b.asy is linked to cd4000.lib
    TEXT 656 416 Left 2 ;should be hidden pins ( see parameter window: "SpiceModel VDD 0"
    TEXT 672 688 Left 2 ;input filter part \nreengineered from .subckt CD40106, .subckt CD40_IN_S_1
    TEXT -304 928 Left 2 ;Here (hidden) pins are explicitly connectet to VDD and VGND
    TEXT 1048 1080 Left 2 ;response3 is clamped by diodes D1, D2.
    TEXT 904 480 Left 2 ;RC with Tau=2.2n*100Meg gives the same response\n--> where are these 100Meg's ...
    TEXT 712 1000 Left 2 ;...here.
    TEXT 680 1248 Left 2 ;without diodes: response4 = response2
    TEXT 680 1328 Left 4 ;What is wrong with case 1 and case 3
    TEXT -256 288 Left 4 ;case 1:
    TEXT -288 824 Left 4 ;case 3:
    TEXT -264 456 Left 4 ;case 2:
    TEXT -264 1448 Left 4 ;case 4:
    RECTANGLE Normal 1632 1168 400 576 2
    RECTANGLE Normal 1632 1792 400 1200 2

corta aquí ---

    
pregunta Hannes Brockmann

3 respuestas

0

Gracias por tus sugerencias.

El modelo de especias que utilizo proviene de la biblioteca CD4000.lib. El símbolo cd40106b.asy indica CD4000.lib como la ubicación del modelo. En CD4000.lib encontrará ".SUBCKT CD40106B A Y VDD VGND vdd1 = {vdd} speed1 = {speed} tripdt1 = {tripdt}" ... así que un modelo con 4 puertos.

Las conexiones A e Y están visualmente presentes en el símbolo.

Las conexiones VDD y VGND se configuran en VDD y 0 a través de los parámetros de los símbolos en el atributo SpiceModel (ver caso 1).

Además, encontrará el filtro de entrada: "XIN1 A A Ai VDD VGND CD40_IN_S_1 vdd2 = {vdd1} speed2 = {speed1} tripdt2 = {tripdt1}" ...

Under.subckt CD40_IN_S_1 encuentra la lista de redes ...

OH: LO TENGO: Encuentras

    * Schmitt-input; 2.9V/2.1V @5V
    .SUBCKT CD40_IN_S_1 in out VDD VGND vdd3={vdd2} speed3={speed2} tripdt3={tripdt2} 
    .param Cval = 1.8e-12*5/{vdd3}*{speed3}
    .param vt1=2.5/5
    .param vh1=0.4/5
    .param gain=(1/{vdd3})
    *
    *D1 0 in CD40DIO1 
    *D2 in VDD CD40DIO1
    R1 in out10 10k
    C1 out10 VGND {Cval}
    R2 in VGND 1e8
    * E1 out20 0 out10 VGND {gain}
    B1 out20 0 V=LIMIT(0,V(out10,VGND)*{gain},1)
    AE1 out20 0 0 0 0 0 0 out 0 SMITH vt={vt1} vh={vh1} vhigh=1 tripdt={tripdt3}
    .ends
    *

!!!! con diodos comentados.

Por lo tanto, el modelo utilizado se puede ver en el caso 4. Para simular el comportamiento real del CD40106, los diodos deben estar presentes. Limitan la amplitud de la tensión de entrada a VCC + 0.3V y GND-0.3V.

Pero atención: un Schmitt Trigger MM74C914 de 6 vías compatible con un pin tiene un circuito de protección de entrada diferente y permite VCC + 25V y GND-25V. El modelo tendría que cambiarse en consecuencia.

    
respondido por el Hannes Brockmann
0

Debes DC bias a Vdd / 2 cuando AC esté acoplado

    
respondido por el Tony EE rocketscientist
0
  1. Parece que el modelo CD40106 que está utilizando no intenta modelar el comportamiento de los diodos ESD de entrada. Esto no es raro. Muchos modelos SPICE ignoran el comportamiento que está fuera del rango operativo normal de un dispositivo. En este caso, el autor del modelo no esperaba (o no le importó) que el voltaje de entrada pudiera estar bajo tierra

  2. No sé qué quiere decir con "pines ocultos". SPICE no se preocupa por los pines de un paquete IC, solo se preocupa por los elementos del circuito que forman parte de los circuitos simulados. SPICE no puede simular elementos o comportamientos que no incluyó en el circuito.

  3. Comprenda primero que no puede obtener resultados de simulación "correctos". Cada simulación es un modelo del mundo real, y todos los modelos están equivocados. (Gracias, George Box.) Puede buscar un modelo del 40106 que incluya los diodos ESD, pero es posible que ese modelo no sea exactamente igual a la parte física que tiene en la mano. Puede caracterizar (es decir, medir las curvas I / V) los diodos de protección de entrada en su parte física y agregar el modelo de diodo usted mismo, ajustando los parámetros para que el modelo coincida con el mundo real. O bien, puede construir el circuito y ver cómo se comporta en el mundo real. Tenga en cuenta que confiar en cualquier comportamiento repetible y específico de los diodos ESD es una mala idea.

respondido por el Elliot Alderson

Lea otras preguntas en las etiquetas