Diseño y Simulación Electrónica
Diseño y Simulación Electrónica
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES
1.
1. Simulación digital (Análisis transitorio)
Simulación digital (Análisis transitorio)
D
ocumentos
D
ocumentos
•• Tipos de señales digitales
Tipos de señales digitales
•• Componentes con conexiones individuales o mediante bus
Componentes con conexiones individuales o mediante bus
Ejemplo 1, mediante fichero externo (File Stim). 1 bit
Ejemplo 1, mediante fichero externo (File Stim). 1 bit
Ejemplo 2 mediante escritura en pantalla (Stim) 4 bits
Ejemplo 2 mediante escritura en pantalla (Stim) 4 bits
N
D I C E de
D
N
D I C E de
D
Ejemplo 2, mediante escritura en pantalla (Stim). 4 bits
Ejemplo 2, mediante escritura en pantalla (Stim). 4 bits
Ejemplo 3, mediante programa PSpice Stimulus Editor (Digstim). 4 bits
Ejemplo 3, mediante programa PSpice Stimulus Editor (Digstim). 4 bits
2.
2. Simulación analógica
Simulación analógica
I NI N
•• Análisis AC
Análisis AC
•• Barrido anidado
Barrido anidado
•• Barrido paramétrico 1
Barrido paramétrico 1
B
id
ét i
2
B
id
ét i
2
•• Barrido paramétrico 2
Barrido paramétrico 2
•• Barrido en temperatura
Barrido en temperatura
•• Análisis transitorio
Análisis transitorio
3.
3. Simulación híbrida
Simulación híbrida
Ejemplo con componentes analógicos y digitales simultáneamente
Ejemplo con componentes analógicos y digitales simultáneamente
1 1
Tipos de señales digitales
Tipos de señales digitales
File Stim (1, 2, 4, 8, 16, 32 bits)
File Stim (1, 2, 4, 8, 16, 32 bits)
•• Source.OLB.Source.OLB.
•• Los datos se fijan en un fichero externoLos datos se fijan en un fichero externo
ulación digitalulación digital
Los datos se fijan en un fichero externo Los datos se fijan en un fichero externo (texto ASCII).
(texto ASCII).
•• Nombre de la señal (sin espacios).Nombre de la señal (sin espacios). •• Tanto el nombre de la señal como los Tanto el nombre de la señal como los
datos son manuscritos. datos son manuscritos.
E ·
PSpice: Sim
E ·
PSpice: Sim
Stim (1, 4, 8, 16 bits)
Stim (1, 4, 8, 16 bits)
•• Source.OLB.Source.OLB.•• Se escriben los datos en pantalla.Se escriben los datos en pantalla. •• El bus se nombra con la estructura El bus se nombra con la estructura
clásica “nombre[MSB..LSB]”. clásica “nombre[MSB..LSB]”.
DYS
E
DYS
E
[[ ]]Digstim (1, 2, 4, 8, 16, 32 bits)
Digstim (1, 2, 4, 8, 16, 32 bits)
•• SourcSTM.OLB.SourcSTM.OLB.•• Los datos se fijan en un programa Los datos se fijan en un programa externo, mediante el uso del ratón. externo, mediante el uso del ratón.
•• El programa tiene definidos el valor lógico alto y bajo.
El programa tiene definidos el valor lógico alto y bajo.
•• No es necesario alimentar los circuitos con fuente alguna.
No es necesario alimentar los circuitos con fuente alguna.
El tipo de simulación siempre es transitoria
El tipo de simulación siempre es transitoria
•• El tipo de simulación siempre es transitoria.
El tipo de simulación siempre es transitoria.
Ejemplo de simulación digital “File Stim”
Ejemplo de simulación digital “File Stim”
* 7408 Quadruple 2
* 7408 Quadruple 2-pp -input Positiveinput Positive-pp -And Gates And Gates * The TTL Data Book, Vol 2, 1985, TI
* The TTL Data Book, Vol 2, 1985, TI
* tdn 06/23/89 Update interface and model names * tdn 06/23/89 Update interface and model names .subckt 7408 A B Y
.subckt 7408 A B Y +
+ optional: DPWR=$G_DPWR DGND=$G_DGNDoptional: DPWR=$G_DPWR DGND=$G_DGND +
+ params: MNTYMXDLY=0 IO_LEVEL=0params: MNTYMXDLY=0 IO_LEVEL=0 + U1 and(2) DPWR DGND
+ U1 and(2) DPWR DGND
ulación digitalulación digital
+
+ A B Y A B Y +
+ D_08 IO_STD MNTYMXDLY={MNTYMXDLY}D_08 IO_STD MNTYMXDLY={MNTYMXDLY} + IO_LEVEL={IO_LEVEL} + IO_LEVEL={IO_LEVEL} .ends .ends .model D_08 ugate ( .model D_08 ugate ( + tplhty=17.5ns tplhmx=27ns + tplhty=17.5ns tplhmx=27ns + tphlt 12ns tphlm 19ns + tphlt 12ns tphlm 19ns
E ·
PSpice: Sim
E ·
PSpice: Sim
El simulador contabiliza el tiempo de
El simulador contabiliza el tiempo de
+ tphlty=12ns tphlmx=19ns + tphlty=12ns tphlmx=19ns + + ))DYS
E
DYS
E
El simulador contabiliza el tiempo de
El simulador contabiliza el tiempo de
propagación de los dispositivos
propagación de los dispositivos
Tiempo (ns) Valor (0,1, Z, X)
Tiempo (ns) Valor (0,1, Z, X)
•• El nombre no debe contener espacios y empezar por El nombre no debe contener espacios y empezar por un carácter no numérico.
un carácter no numérico.
•• Se deja un espacio entre la señal y el resto.Se deja un espacio entre la señal y el resto.
3 3
j p y
j p y
•• Se comienza con la definición de los tiempos y los Se comienza con la definición de los tiempos y los valores de la señal o bus.
Ejemplo de simulación digital “Stim”
Ejemplo de simulación digital “Stim”
Forma de nombrar el bus según el fabricante Forma de nombrar el bus según el fabricante
ulación digitalulación digital
{Nombre_bus[MSB:LSB]};
{Nombre_bus[MSB:LSB]};nuevo_nombre_busnuevo_nombre_bus; ; RadixRadix
Bus [3..0]
Bus [3..0]
Bus [3
Bus [3--0]
0]
Bus [3:0]
Bus [3:0]
E ·
PSpice: Sim
E ·
PSpice: Sim
Bus [3:0]
Bus [3:0]
DYS
E
DYS
E
Tiempo
Tiempo
(ns)
(ns)
Valor
Valor
(0,1, Z, X) [4 bits]
(0,1, Z, X) [4 bits]
R A D I X R A D I X Hexadecimal (h) Hexadecimal (h) Octal (o) Octal (o) Binario (b) Binario (b) {Bus[3:0]};pepe;b {Bus[3:0]};pepe;b ( ) ( ) Decimal (d) Decimal (d) { } { }Ejemplo de simulación digital “Digstim”
Ejemplo de simulación digital “Digstim”
ulación digitalulación digital
E ·
PSpice: Sim
E ·
PSpice: Sim
Los datos se almacenan en la plantilla de simulaciónLos datos se almacenan en la plantilla de simulación (El programa lo realiza automáticamente) (El programa lo realiza automáticamente)DYS
E
DYS
E
5 5Editor de estímulos de PSpice Editor de estímulos de PSpice
Ejemplo de simulación digital “Digstim” y II
Ejemplo de simulación digital “Digstim” y II
ulación digitalulación digital
Crea nuevo estímulo Crea nuevo estímulo
Cambia atributos del estímulo Cambia atributos del estímulo
Dibuja los cambios de estado Dibuja los cambios de estado
en el estímulo con el ratón en el estímulo con el ratón
E ·
PSpice: Sim
E ·
PSpice: Sim
DYS
E
DYS
E
Salida obtenida en el visor de gráficas
Salida obtenida en el visor de gráficas
Ejemplo de simulación analógica “Barrido AC”
Ejemplo de simulación analógica “Barrido AC”
caca
ación analógi
c
ación analógi
c
PSpice: Simul PSpice: Simul
(180MHz,
(180MHz, --3dB) = Fc
3dB) = Fc
DYSE ·
DYSE ·
((
))
1
1
+61
1
C
=4.019pF
2 RF 2·π ·220·180
π
=
=
Cálculo teórico
Cálculo teórico
Datos del fabricante
Datos del fabricante
7 7
Datos del fabricante
Ejemplo de simulación analógica (Barrido anidado)
Ejemplo de simulación analógica (Barrido anidado)
caca
ación analógi
c
ación analógi
c
PSpice: Simul PSpice: Simul
DYSE ·
Ejemplo de simulación analógica “Barrido paramétrico 1”
Ejemplo de simulación analógica “Barrido paramétrico 1”
Librería SPECIAL.OLB (Param) Librería SPECIAL.OLB (Param)
caca
ación analógi
c
ación analógi
c
PSpice: Simul PSpice: Simul
DYSE ·
DYSE ·
9 9
Ejemplo de simulación analógica “Barrido paramétrico 1” y II
Ejemplo de simulación analógica “Barrido paramétrico 1” y II
caca
ación analógi
c
ación analógi
c
PSpice: Simul PSpice: Simul
DYSE ·
DYSE ·
Cuando se editan las características del componente “PARAM”, no aparece el nombre del parámetro a variar.
Cuando se editan las características del componente “PARAM”, no aparece el nombre del parámetro a variar.
Debemos añadir una columna nueva con los datos del mismo y, posteriormente, fijar el valor del parámetro.
Debemos añadir una columna nueva con los datos del mismo y, posteriormente, fijar el valor del parámetro.
Ejemplo de simulación analógica “Barrido paramétrico 2”
Ejemplo de simulación analógica “Barrido paramétrico 2”
Tipos de modelos Tipos de modelos
caca
p p CAP CAP CORE CORE D D GASFET GASFET IND INDación analógi
c
ación analógi
c
ISWITCHISWITCH LPNP LPNP NIGBT NIGBT NJF NJF NMOS NMOS NPN NPN PJF PJFPSpice: Simul PSpice: Simul
PJF PJF PMOS PMOS PNP PNP RES RES TRN TRN VSWITCH VSWITCH
DYSE ·
DYSE ·
Cambio del valor de la Beta del transistor Cambio del valor de la Beta del transistor
11 11
Ejemplo de simulación analógica “Barrido en Temperatura”
Ejemplo de simulación analógica “Barrido en Temperatura”
caca
100ºC 50ºC 20ºC 100ºC 50ºC 20ºCación analógi
c
ación analógi
c
PSpice: Simul PSpice: Simul
DYSE ·
DYSE ·
Comportamiento NTC del diodo ante cambios de Temperatura Comportamiento NTC del diodo ante cambios de Temperatura
Análisis transitorio (TRAN)
Análisis transitorio (TRAN)
Resistencia Resistencia
caca
Resistencia Resistencia para justificar para justificar el error “nudo el error “nudo flotante” que flotante” que se produce al se produce al utilizar utilizar Fuentes y Fuentes yación analógi
c
ación analógi
c
Fuentes y Fuentes y Trafos. Trafos.PSpice: Simul PSpice: Simul
DYSE ·
DYSE ·
2 pico 1 2 2 iVP
L
L
VS
=
Se fija la Se fija la autoinducción del autoinducción del Secundario y se Secundario y se calcula la del calcula la del P i i P i i picoVS
Resistencia Resistencia para justificar el para justificar el aislamiento aislamiento galvánico galvánico Primario. Primario. (Los valores de (Los valores de tensión deben ser tensión deben ser de pico no eficaces) de pico no eficaces)13 13
Análisis transitorio (TRAN) y II
Análisis transitorio (TRAN) y II
caca
Tensión en el condensador de filtrado Tensión en el condensador de filtrado
ación analógi
c
ación analógi
c
Tensión en la carga = 7.46V Tensión en la carga = 7.46VPSpice: Simul PSpice: Simul
DYSE ·
DYSE ·
Tensión en el secundario del trafo = 14.142Vp Tensión en el secundario del trafo = 14.142Vp
Corriente a través de la carga Corriente a través de la carga
Corriente a través del diodo zener Corriente a través del diodo zener
Ejemplo de simulación híbrida (A/D)
Ejemplo de simulación híbrida (A/D)
aa
Los ficheros *.stm son de formato antiguo, pero Los ficheros *.stm son de formato antiguo, pero
se mantienen por compatibilidad. se mantienen por compatibilidad.
UPRESET STIM (1,1) UPRESET STIM (1,1) + $G DPWR $G DGND + $G DPWR $G DGND
ulación híbrid
a
ulación híbrid
a
+ $G_DPWR $G_DGND+ $G_DPWR $G_DGND + +PRESETPRESET+ IO_STM TIMESTEP = 1.000000E
+ IO_STM TIMESTEP = 1.000000E--9 IO_LEVEL=09 IO_LEVEL=0 + 0.000000s 0 + 0.000000s 0 + 230.0000E + 230.0000E--9s 19s 1 + 440.0000E + 440.0000E--9s 09s 0 + 490.0000E + 490.0000E--9s 19s 1
· PSpice:
Sim
u
· PSpice:
Sim
u
UCLEAR STIM (1,1) UCLEAR STIM (1,1) + $G_DPWR $G_DGND + $G_DPWR $G_DGND + +CLEARCLEAR+ IO_STM TIMESTEP = 1.000000E
+ IO_STM TIMESTEP = 1.000000E--9 IO_LEVEL=09 IO_LEVEL=0 + 0.000000s 1
+ 0.000000s 1
DYSE
DYSE
Transistor 2N2222Transistor 2N2222+ 200.0000E + 200.0000E--9s 09s 0 + 400.0000E + 400.0000E--9s 19s 1 UCLOCK STIM (1,1) UCLOCK STIM (1,1) + $G_DPWR $G_DGND + $G_DPWR $G_DGND + +CLOCKCLOCK + IO STM TIMESTEP = 1 000000E
+ IO STM TIMESTEP = 1 000000E 9 IO LEVEL=09 IO LEVEL=0 + IO_STM TIMESTEP = 1.000000E
+ IO_STM TIMESTEP = 1.000000E--9 IO_LEVEL=09 IO_LEVEL=0 + 0.000000s 0 + 0.000000s 0 + LABEL = RELOJ + LABEL = RELOJ + 700.0000E + 700.0000E--9s 19s 1 + 750.0000E + 750.0000E--9s 09s 0 + 800.0000E
+ 800.0000E--9s GOTO RELOJ 12 TIMES9s GOTO RELOJ 12 TIMES
UINPUT_D STIM (1,1) UINPUT_D STIM (1,1) + $G_DPWR $G_DGND + $G_DPWR $G_DGND + +INPUT_DINPUT_D
+ IO_STM TIMESTEP = 1.000000E
+ IO_STM TIMESTEP = 1.000000E--9 IO_LEVEL=09 IO_LEVEL=0 + 0.000000s 0 + 0.000000s 0 + 590.0000E + 590.0000E--9s 19s 1 15 15 Transistor BC547A Transistor BC547A + 820.0000E + 820.0000E--9s 09s 0 + 1.530000E + 1.530000E--6s 16s 1 + 1.720000E + 1.720000E--6s 06s 0 .END .END
Ejemplo de simulación híbrida (A/D) y II
Ejemplo de simulación híbrida (A/D) y II
aa
El transistor 2N2222 posee una velocidad de trabajo El transistor 2N2222 posee una velocidad de trabajo inferior al BC547. Dependiendo de la anchura de los inferior al BC547. Dependiendo de la anchura de los pulsos aplicados, algunos cambios de estado “pasan pulsos aplicados, algunos cambios de estado “pasan desapercibidos” para el transistor 2N.
desapercibidos” para el transistor 2N.
ulación híbrid
a
ulación híbrid
a
· PSpice:
Sim
u
· PSpice:
Sim
u
DYSE
DYSE
Transistor 2N2222Transistor 2N2222Transistor BC547A Transistor BC547A
El tiempo de respuesta ante un cambio El tiempo de respuesta ante un cambio de valor a ON es mucho más elevado de valor a ON es mucho más elevado en el caso del transistor 2N
en el caso del transistor 2N en el caso del transistor 2N. en el caso del transistor 2N.
El paso a ON es mucho más acusado en el 2N que El paso a ON es mucho más acusado en el 2N que en el BC. Sin embargo, el paso a OFF es idéntico en el BC. Sin embargo, el paso a OFF es idéntico