manual de prácticas de circuitos digitales con psipce

Anuncio
MANUAL DE PRÁCTICAS
DE
CIRCUITOS DIGITALES
CON
PSIPCE
YOLANDA GONZÁLEZ CID
UNIVERSITAT DE LES ILLES BALEARS
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Ejemplo de simulación de un circuito con Pspice
2
Manual de prácticas de Circuitos Digitales con PSPICE
3
U.I.B.
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Introducción
El objetivo de este parte del documento es introducir al alumno en el
manejo del simulador de circuitos electrónicos PSpice de la empresa MicroSim,
que en su versión de estudiante, de libre distribución, permite realizar
montajes de complejidad suficiente como para cubrir todas las necesidades de
la asignatura.
Las limitaciones fundamentales que presenta frente a otras versiones
son, principalmente, para cada uno de los programas que forman el entorno
completo:
Pspice A/D.- La simulación de circuitos está limitada a 64 nodos, 10
transistores y 65 dispositivos digitales. Las librerías contienen 39 elementos
analógicos y 134 digitales. La generación de estímulos está limitada a ondas
senoidales (analógico) y señales de reloj (digital).
Schematics.- Se pueden representar un máximo de 50 elementos en cada
diseño y siempre en un tamaño máximo A4.
Capture.- Sólo incluye las librerías Pspice. No se puede salvar (aunque sí
visualizarlo) un diseño con más de 60 elementos. No se puede salvar una
librería que contenga más de 15 elementos.
Requisitos mínimos de hardware.- Intel Pentium 90MHz o equivalente,
Windows95, 98 o NT, 16 MB RAM (recomendable 32MB), 90MB de espacio
libre en disco, CD_ROM y ratón.
Ejemplo. Contador síncrono.
En este ejemplo se va a trabajar con un flip-flop JK de propósito general.
Se trata del chip 7473. También se necesitarán puertas AND, por lo que se
usará el chip 7408.
La instalación crea una carpeta llamada Pspice Student en la cual se
encuentran los programas principales. Cada programa se puede ejecutar por
separado, pero se pueden usar todos desde el programa Schematics. Haremos
doble clic sobre este icono. Aparece la siguiente pantalla que presenta un
espacio de trabajo y varios iconos:
Conexión
con cable
Componentes
Opciones
de Análisis
Introducir
literal
4
Ejecutar
Simulación
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
En esta pantalla vemos los comandos que nos hacen falta para realizar
nuestra simulación. En primer lugar, vemos que hereda bastantes de los iconos
de cualquier aplicación Microsoft: abrir archivo, archivo nuevo, guardar,
imprimir, etc... pero tiene otros distintos. Para empezar identificamos los iconos
(también están disponibles por menú) de colocar componentes (Draw + Get
New Part), conexión con cable (Draw + wire) , opciones de análisis (Analysis +
setup) , ejecutar simulador (Analysis + simulate).
Empecemos colocando los componentes. Comencemos por los JK. Para
ello pulsamos el icono de componentes (Get New Part...). Aparece un cuadro de
diálogo con todos los componentes contenidos en las librerías. Pulsando el botón
Advanced nos permitirá visualizar el símbolo correspondiente.
Si conocemos el nombre del componente que queremos introducir (en este
caso 7473) lo seleccionamos de la librería y pulsamos el botón Place. Esto
permite colocar el componente cuantas veces queramos sin cerrar la librería e
incluso elegir otro distinto con posterioridad e introducirlo también en nuestro
circuito. Una vez pulsado Place, si nos desplazamos fuera de la ventana de la
librería, el puntero del ratón se convierte en el símbolo del componente. Para
colocarlo hacemos clic sobre el espacio de trabajo con el botón izquierdo del
ratón tantas veces como componentes iguales queramos introducir. Para
finalizar pulsaremos el botón derecho del ratón.
En el caso de no conocer el nombre del componente, se introducirá en el
campo Description Search el tipo de componente que se busca (JK, nand, or, ...)
y se pulsa el botón Search. Inmediatamente aparecerá la lista de componentes
disponibles. Pulsando sobre cada uno de ellos se podrá visualizar y ver una
breve descripción en el campo Description.
Cuando colocamos un componente, siempre podemos desplazarlo
posteriormente por el espacio de trabajo, incluso cuando lo hemos conectado.
Sin embargo, es recomendable situar primero todos los componentes y después
empezar con el cableado.
5
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Una vez colocados todos los componentes pulsaremos Close. Si queremos
mover un componente hacemos clic sobre él y cambiará a color rojo. En esta
situación y manteniendo el botón del ratón pulsado podemos arrastrarlo hasta
la posición deseada.
Una vez colocados los 4 filp-flops necesarios, necesitamos colocar, dos
puertas AND, una fuente independiente de tensión, dos estímulos digitales
(reloj y reset), y una conexión a tierra. Pspice siempre necesita tener un nodo
de referencia para las tensiones y lo trata como un componente más que
denomina GND_EARTH.
Situaremos los componentes de manera que haya suficiente espacio como
para etiquetar después los nodos y elementos, con el fin de que nuestro diseño
sea claro. El área de trabajo está dividida en una retícula de color gris que
permite colocar con precisión los componentes. Esta retícula facilita mucho el
trabajo y se puede personalizar en cuanto a dimensiones de celda. También es
posible desactivarla.
Hay que procurar salvar el trabajo frecuentemente para no tener
sorpresas desagradables. Los archivos de esquemas tienen la extensión .sch .
Conviene que el nombre contenga alguna descripción cualitativa del circuito.
En nuestro caso lo llamaremos Cont_Sinc.sch.
Pasemos a ver a continuación las funciones de edición de componentes.
Disponemos de componentes pasivos, semiconductores, fuentes de
alimentación, etc... Cuando colocamos un componente pasivo en el espacio de
trabajo, tiene asignado un valor por defecto, que en resistencias es 1kΩ . Para
los transistores y circuitos integrados no es necesario introducir valores, ya que
6
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
tienen una serie de parámetros introducidos a priori en un modelo. En este
apartado, la ayuda del programa nos dice la correspondencia física entre los
parámetros de Pspice y los parámetros reales. Para consultar los modelos,
basta con editar el archivo eval.lib. Es recomendable hacer una copia de este
archivo en otro directorio y editarla allí , ya que cualquier cambio o deterioro de
este fichero haría que el simulador dejara de funcionar.
Una vez colocados los componentes, obtenemos algo que se ha de parecer
a la siguiente imagen:
Se puede ver cómo se han colocado los flip-flop JK, las puertas AND, una
fuente de tensión VSRC, la conexión a tierra y los estímulos digitales DigClock.
El aspecto del circuito ha de ser aproximadamente el siguiente:
7
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Para girar los componentes, simplemente hacemos clic para marcarlo
(aparecerá en rojo) y después ctrl+R o también en el menú Edit+Rotate.
El siguiente paso es interconectarlos, para ello pulsamos ctrl+W o
elegimos del menú Draw+Wire o bien pulsamos el icono correspondiente:
El icono se convierte en ese momento en un lápiz. Debemos hacer clic en
el origen y en el final de la conexión. Los nodos donde hay más de dos
conexiones se generan automáticamente:
Una vez conectado todo, el aspecto sería aproximadamente como el de la
siguiente figura.
8
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Como final, podemos colocar un texto que haga referencia al objetivo del
circuito.
Para
ello
pulsamos el icono o bien Draw+Text.
Es importante en este momento caracterizar los puntos importantes del
circuito, ya que esto nos permite identificar corrientes y tensiones a la hora del
análisis. Como se ve en la anterior figura, las fuentes tienen un nombre que
tiene que ver con la función que realizan. Asimismo, aparecen los nombres QA,
QB, QC y QD, asociados a los nodos correspondientes. Para dar estos nombres
se hace doble clic sobre el trozo de línea de circuito y aparece un cuadro de
diálogo donde poner el nombre. Más tarde, si queremos ver el bit QA, Pspice le
asociará el alias QA, en vez de $_N0001 o similar que le asociaría por defecto,
cuyo significado para nosotros es, a priori, desconocido.
Una vez puestos todos los nombres, es el momento de asignar valores a
las fuentes. Se empezará por la fuente de continua. Para editar los parámetros
de cualquier componente pincharemos dos veces sobre él. Debemos asignar un
valor DC fijo distinto de cero. En nuestro caso será 5V que es el uno lógico.
Para ello hacemos doble clic sobre la fuente y aparece:
En cuanto al resto de parámetros, por ahora, dejaremos el valor por
defecto. Una vez introducido el valor DC=5, pulsaremos el botón SaveAttr y
luego OK.
A continuación daremos valores a la fuente digital (reloj), conectada al
sincronismo del JK:
9
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Los parámetros importantes son el tiempo en “on” (5V), y el tiempo el
“off” (0V). Podemos dejar los valores por defecto: 1 microsegundos con nivel
lógico 1 y 1 microsegundos 0.
La fuente digital que actuará como señal de reset, sin embargo, tendrá
que activarse a nivel bajo al principio y pasar posteriormente a nivel alto
durante todo el tiempo que deseemos que el contador funcione, por lo tanto sus
valores de configuración podrían ser, por ejemplo: ONTIME = 20S y OFFTIME
= 0.2uS. Empezando en valor lógico 0 (STARTVAL = 0).
En este ejemplo vamos a utilizar el análisis Transient, es decir, la
evaluación de la evolución del circuito en el tiempo. Para ello, nos iremos al
icono de opciones de análisis, o bien Analysis+Setup. Aparece una ventana con
todos los tipos posibles de análisis que puede realizar el programa. Elegiremos
Transient. El tiempo de análisis ha de calcularse para que veamos todos los
estados por los que pasa el contador; la pantalla muestra lo siguiente:
10
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Fijaremos por tanto, print step (intervalo de muestreo, es decir, con qué
frecuencia calcularemos los valores de las señales) por ejemplo, a 1µs (us para
Pspice) y final time (valor final del tiempo de análisis) a 20µs. Cuanto menor
sea el intervalo de muestreo (print sep) más cálculos se harán y más tiempo se
tardará en simular el comportamiento del circuito. El final time debe tomar un
valor tal que nos permita comprobar el comportamiento de las señales de
salida, para todos los posibles valores en las entradas.
Una vez fijados los parámetros, ya estamos en disposición de realizar el
análisis. Para ello, basta con cerrar la ventana de tipos de análisis y pulsar el
icono de Ejecutar Simulación o Analysis+Simulate. Entonces, arrancará la
ventana de Pspice.
Normalmente se generan warnings que no suelen tener importancia. Si
tenemos algún error, la simulación para y aparece el mensaje “see output file
for details”. Si esto se produce, iremos entonces a Analysis+Examine output.
Pero esperemos que no pase con frecuencia. Si todo ha ido bien, se arrancará
automáticamente el programa Probe, que sirve para visualizar gráficas.
Aparece una aplicación nueva, con nuevos iconos y nuevo espacio de
trabajo. En la pantalla se podrá ver una gráfica vacía, que por defecto muestra
el tiempo en el eje de abscisas y que sirve para representar el cronograma del
circuito. A continuación habrá que elegir qué señales queremos visualizar.
Serán QA,QB,QC,QD, las dos señales de reloj (sincronismo y reset) y la entrada
del primer JK. Se hará con la opción de menú (Trace + Add Trace...). Aparecerá
la siguiente pantalla:
11
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
Una vez se han seleccionado las señales que se desea visualizar en el
diagrama de tiempos se pulsará el botón OK y aparecerá la siguiente pantalla:
Estas curvas se pueden consultar a través de los cursores. Para ello, una
vez seleccionada la curva, activamos los cursores con Trace+Cursor+Display o
el icono correspondiente:
Después, pulsando sobre las curvas, obtenemos la lectura de los estados
del contador. Con el ratón pulsado y moviéndonos por el eje del tiempo,
aparecen en el eje de ordenadas los distintos estados de la cuenta.
A partir de aquí disponemos ya de un instrumento para comprobar
cualquier diseño lógico, tanto combinacional como secuencial. Es muy
recomendable que el alumno pruebe a repetir los diseños desarrollados en el
aula y que compruebe en la simulación los resultados de los problemas.
12
Manual de prácticas de Circuitos Digitales con PSPICE
13
U.I.B.
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
PASOS PARA CREAR UN SIMBOLO PERSONALIZADO
a partir de un circuito previo.
1. Crear el subcircuito que posteriormente se usará como símbolo. Por ejemplo, un
semisumador.
2. En las señales de entrada y salida del circuito se deberán introducir puertos de
entrada (IF_IN) y de salida (IF_OUT) respectivamente. Estos puertos se
convertirán en patillas del símbolo de nueva creación.
Del mismo modo, si se desean introducir patillas de sincronismo o reset ocultos se
utilizarán los puertos globales GLOBAL o BUBBLE. Este tipo de puertos es muy
útil para conexiones a tierra o a nivel alto de tensión.
Es necesario dar nombre a todos los puertos del circuito para que el símbolo se
cree correctamente y pueda ser utilizado posteriormente. Es conveniente nombrar,
también, las líneas de conexión con los puertos.
3. En el menú File se seleccionará Symbolize, para acceder a la ventana de diálogo
en la que se le pondrá un nombre al símbolo para poder usarlo como uno más
desde el menú Get New Part...
Por ejemplo: SemiSum
4. En la siguiente ventana que aparece se debe seleccionar la librería de usuario en
la que se introducirá este símbolo. Si es el primero que creamos, tendremos que
crear también una librería de símbolos personalizados.
Por ejemplo: UserBib
Para incluir esta nueva librería en
la lista de librerías accesibles, se
seleccionará la opción Editor
Configuration del menú Options.
El botón Library Settings... abre la
ventana de diálogo en la que
introduciremos el nombre de la
librería
de
nueva
creación
(UserBib) en el campo Library
Name y pulsaremos el botón Add*
para que la librería sea de uso
14
Manual de prácticas de Circuitos Digitales con PSPICE
global en todos los esquemas eléctricos que creemos.
A partir de este momento se podrán crear circuitos del tipo:
15
U.I.B.
Manual de prácticas de Circuitos Digitales con PSPICE
Enunciados de las prácticas
16
U.I.B.
Manual de prácticas de Circuitos Digitales con PSPICE
17
U.I.B.
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
PRÁCTICA 1
Objetivo: Síntesis de funciones en lógica combinacional usando puertas con integración en
baja escala (S.S.I.).
Elementos que se pueden utilizar:
- Puertas: 7400 (NAND), 7402 (NOR), 7404 (Inversores), 7408 (AND) y 7486 (XOR).
Realización práctica:
Sintetizar la función combinacional que responde a la tabla de verdad adjunta.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f
1
1
0
1
0
0
1
0
0
1
0
1
1
1
0
1
Representarla con minterms y realizar su circuito:
i) Puertas AND, OR y NOT.
ii) Sólo con puertas NAND.
iii) Sólo con puertas NOR
PRÁCTICA 2
Objetivo: Estudio del semisumador y del sumador completo. Uso de símbolos personalizados.
Elementos que se pueden utilizar:
- Puertas: 7408 (AND) y 7486 (XOR).
- Sumador 7482.
Realización práctica:
a) Realizar un semisumador utilizando las puertas necesarias y un sumador completo a
partir de dos semisumadores.
b) Estudiar y caracterizar el sumador 7482. Realizar un sumador de 4 bits y uno de 8 bits
utilizando en cada caso el número mínimo de 7482 necesarios.
18
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
PRÁCTICA 3
Objetivo: Utilización de circuitos Decodificadores.
Material:
- Puertas lógicas.
- 74155 (DEC)
Realización práctica:
a) Realizar un DEC de 4 entradas y 16 salidas con tres 74155 siguiendo las técnicas de
composición descritas en clase. Notar que cada 74155 incluye dos decodificadores
independientes de 2 entradas y 4 salidas.
b) Utilizar el circuito obtenido en el apartado (a) para realizar la función combinacional
f ( A, B, C , D) = ∑ m(1,7,11,13)
c) Realizar el mismo DEC del apartado (a) pero usando únicamente dos 74155 y algunas
puertas lógicas adicionales. En el datasheet del 74155 se proporciona información útil para
resolver este apartado.
d) Realizar usando únicamente puertas lógicas un DEC de 2 entradas y 4 salidas.
PRÁCTICA 4
Objetivo: Caracterización y utilización de los circuitos en rutas de datos: Multiplexores y
Demultiplexores.
Material:
- Puertas lógicas.
- 74153 (MUX) y 74154 (DEMUX)
Realización práctica:
a) Realizar un MUX de 4 a 1 con puertas.
b) Utilizarlo para realizar la función combinacional
f ( A, B,C,D) = ∑m(4,5,6,7,81314
, , ,15)
c) Utilizar el 74153 para realizar la función combinacional de la práctica 1.
d) Realizar un MUX de 16 a 1 con 74153
e) Estudiar y caracterizar el DEMUX 74154.
19
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
PRÁCTICA 5
Objetivos:
Ilustrar las capacidades de los dispositivos biestables para mantener información.
Mostrar la implementación de los mismos mediante puertas lógicas.
Estudio de los distintos tipos de biestables comerciales.
Material:
- Puertas: NOR 7402, NAND 7400, NOT 7404, NAND (3 entradas) 7410.
- Biestable: J-K 7473
Realización experimental:
a) Realización de un biestable R-S con puertas NOR (Fig.1-a).
b) Realización de un biestable R-S con puertas NAND (Fig.1-b).
c) Realización de un biestable R-S con habilitación por nivel empleando un único tipo de
puerta. Por ejemplo NAND (Fig. 1-c). En esta figura si E=0 N1 y N2 están inhabilitadas
(mantienen la salida a 1 independientemente de las entradas R y S). Si E=1 se comportan como
inversores y tenemos una situación análoga a la de los casos anteriores.
S
R
N1
Q
S
N1
Q
N1
S'
N3
Q
E
S
N2
Q
a)
R
N2
b)
Q
R
N2
R'
N4
Q
c)
Fig.1 Biestable R-S con puertas NOR a), NAND b) y con habilitación por nivel c)
d) Realización de un biestable encadenado. Una situación corriente en electrónica digital es la
de los biestables encadenados. El estado de uno pasa al siguiente de forma síncrona cuando
llega la señal de reloj.
Sin embargo, si realizamos la habilitación por nivel sucede que un biestable cambia de
estado mientras todavía está activa la señal de reloj, con lo que cambiará el estado del
siguiente y del otro, y así sucesivamente, hasta que los retardos acumulados superen el tiempo
de habilitación de la señal de reloj. Esto es en efecto en general no deseado.
Compruébese este hecho con el circuito de la figura 2 a) que muestra dos biestables
encadenados.
e) Un problema de los biestables R-S es el de tener la salida indeterminada si R y S están a 1.
Una solución a este problema es el biestable J-K (fig. 3). Compruébese su tabla de verdad.
f) Con biestables J-K también puede obtenerse la configuración Maestro-Esclavo, (Fig. 3-b).
g) Por último: Obtener un biestable de tipo T y otro de tipo D empleando el J-K integrado
(7473).
20
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
S1
N1
S2
Q1
S'
N1
N3
E
S'
Q2
N3
E
N2
R1
N4
R'
Q1
R2
N2
R'
N4
Q2
CLK
a)
Maestro
Esclavo
S1
N1
S'
S2
Q1
N1
N3
E
Q2
S'
N3
E
N2
R1
R'
N4
Q1
R2 N2
N4
R'
Q2
CLK
Biestable Maestro-Esclavo
b)
Fig.2 Biestables encadenados con habilitación por nivel a). Biestables encadenados en
configuración maestro esclavo b).
J
N1
J
S'
N3
Q
E
K
R
N1
S'
N3
E
N2
R'
N4
K
Q
N1
Q
S'
N3
R'
N4
Q
E
N2
R'
N4
Q
N2
S
CLK
a)
b)
Fig. 3. Biestable J-K normal a) y en configuración Maestro-Esclavo b)
21
Q
Manual de prácticas de Circuitos Digitales con PSPICE
U.I.B.
PRÁCTICA 6
Objetivo:
Síntesis de circuitos secuenciales siguiendo el método del sistema secuencial canónico.
Material:
- Puertas lógicas.
- Biestables JK 7476 y biestables D 7474.
Realización práctica:
a) Sintetizar un circuito secuencial que detecte la secuencia de entrada “cabc” con
solapamiento. Los caracteres de la secuencia se codificarán con 2 bits. El circuito tendrá una
señal de salida (Z) que valdrá “1” cuando se haya detectado la secuencia. Realiza la síntesis
utilizando biestables JK.
b) Sintetizar el mismo circuito secuencial que en el apartado (a) pero utilizando biestables
de tipo D.
PRÁCTICA 7
Objetivo:
Síntesis de circuitos secuenciales.
Material:
- Puertas lógicas.
- Biestables JK 7476, biestables D 7474 y MUX 74153.
Realización práctica:
a) Sintetizar un contador de pulsos de reloj módulo 6, capaz de contar
ascendente/descendente utilizando biestables JK.
b) Sintetizar un registro de 4 bits y dos líneas de control para seleccionar la función del
registro con cada pulso de reloj, según la siguiente tabla.
c1
c2
Función
0
0
1
1
0
1
0
1
Carga paralelo
Rotación derecha
Rotación izquierda
Complementar
Utilizar un biestable D para cada bit, y un MUX.
22
Descargar