Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE LABORATORIO.
Resumen: El presente documento tiene como objetivo explicar qu es un analizador lgico, en que
tipo de aplicaciones se utiliza y servir de tutorial para el usuario. Se espera que este material sea
utilizado por alumnos que ya cursaron el laboratorio de sistemas digitales y que estn cursando el
laboratorio de estructura de computadores. Esto debido a que todos los comentarios y ejemplos
introducidos en este apunte, pretenden ser un aporte a estos laboratorios y se desarrollaron
utilizando las mismas herramientas de trabajo que se utilizan es ellos.
1.1 Introduccin.
1
figura 2: un osciloscopio se utiliza para medir este tiempo.
2
El analizador temporal: es como un osciloscopio, pero con un bit de
resolucin, es decir, slo se pueden desplegar dos estados (alto y bajo). Cualquier
seal que se quiera muestrear que est debajo del umbral especificado (threshold)
ser desplegada como un cero. Si la seal est por sobre este umbral, ser
desplegada como un uno. Esta parte del analizador muestrea seales de manera
asincrnica y se utiliza por ejemplo para buscar relaciones temporales entre varias
seales de entrada.
Cuando el analizador temporal muestrea una seal de entrada y una muestra
resulta estar en el estado alto o bajo y la siguiente muestra est en el estado
opuesto, el analizador sabr que se produjo el cambio en algn instante entre la
toma de una muestra y la otra. Sin embargo, como no se sabe en que instante se
produjo el cambio, este se representar en el instante en que se produce el
muestreo. Esto acarrear un cierto grado de incerteza sobre el instante preciso en
que se produce el cambio.
figura 4 : se observa claramente la incerteza producida por el muestreo del analizador temporal.
3
muestreo, de tal manera que muestrea el sistema estudiado de manera asincrnica.
Por otro lado el analizador de estados utiliza un reloj que provee el sistema
estudiado, como reloj de muestreo, lo que hace que sea un muestreo sincrnico.
Esta caracterstica del instrumento, lo transforma en un elemento muy
usado en el mundo de los microcontroladores debido a que muy probablemente se
tendrn datos y direcciones en el mismo bus. Para tomar los datos de inters
correctamente, el analizador lgico deber restringir la toma de datos a los
tiempos en que slo los datos de inters son validos y aparecen en el bus. Esto se
hace tomando datos del mismo canal, pero con seales de reloj distintas. En la
figura 5 observamos que para capturar las direcciones (VALID ADRESS), el
analizador debe tomar muestras cuando la seal MREQ cambia a cero. Para
capturar datos (VALID DATA), el analizador debe tomar muestras cuando la seal
RD cambia a cero o cuando la seal WR cambia a cero.
4
2.1 Configuracin del analizador lgico en modo analizador de
estados (muestreo sincrnico)
Se desarroll una mquina secuencial que produce una salida alta cada vez
que se detecta la secuencia 0101 en la entrada; y salida cero en el resto de los casos.
1/0
0/0
1/0 0/0
A B
B C D
0/0 1/0
1/1
0/0
figura 6: Mquina de estados reconocedora de secuencia.
Entrada 0 1 0 1 1 0 0 1 1 ....
Salida 0 0 0 1 0 0 0 0 0 ....
Estado B C D C A B B C A .
tabla 1: secuencia de salidas y de transiciones de estados.
MODULE estado1
sreg = [q1,q0];
"Valores de los estados
A= 0; B= 1; C= 2; D= 3;
equations
[q1,q0,zs,x].clk= clock;
5
[q1,q0,zs].oe = !enab;
[q1,q0,zs,x].ar = reset; "Con reset va a [0, 0](el estado A).
state_diagram sreg;
State A:
zs := 0;
if (!x) then B with z = 0; else A with z = 0;
State B:
if (!x) then B with z = 0; else C with z = 0;
State C:
if (!x) then D with z = 0; else A with z = 0;
State D:
if (!x) then B with z = 0; else C with {z = 1; zs := 1;}
END
6
Punta del oscil. seal
D0 q0
D1 q1
D2 X
D3 zs
D4 clock
D6 z
tabla 2 : relacin entre las seales del sistema estudiado
y las puntas del osciloscopio.
Lo anterior pretende ilustrar lo difcil que resulta capturar los estado por los
que pasa una mquina secuencial con un osciloscopio. En este caso particular se
debe utilizar el analizador lgico para poder visualizar claramente el paso de la
mquina secuencial por todos los estados. En la figura 7, slo se observa como la
mquina pasa del estado 2 al 3, o bien del C al D.
1. Se deben conectar las puntas de prueba a las seales del dispositivo que se
desea estudiar.
2. A continuacin se debe especificar al analizador, que seales de prueba
sern utilizadas y cmo se quieren agrupar en el analizador. Para esto, en la
barra de men se debe ir a Setup>Buses/Signals.
7
Seal del
Punta del sistema
analizador. estudiado.
Pod1 0 q0
Pod1 1 q1
Pod1 2 zs
Pod13 x
Pod1 5 Z
tabla 3 : relacin entre las seales de la mquina de
estados y las puntas de la mq. de estados.
8
figura 10 : esquema Master/Slave/Demux
4. Para obtener las formas de onda de inters del ejemplo que se est
analizando, nos falta solamente configurar el disparo (trigger) de manera
adecuada. Existen tres maneras de realizar esta accin. La primera y ms
simple, es utilizando el panel de configuracin del trigger simple. Otra
forma, es utilizando un trigger externo, sin embargo el mtodo que ms se
utiliza cuando el analizador est en modo analizador de estados, es el trigger
avanzado (advanced trigger). Para esto, en la barra de men se debe ir a
Setup>Advanced Trigger. Haciendo esto se acceder a un cuadro de
dialogo diseado para configurar el trigger, ste requiere que se cumplan
9
varias condiciones para que ocurra el disparo. La gran ventaja que presenta
este modo de disparo es que ofrece una enorme cantidad de combinaciones
y funciones prediseadas para ser aplicadas en sistemas con distintas
caractersticas. Adems todas estas funciones son modificables, se les puede
agregar o quitar partes e incluso conjugar o mezclar unas con otras.
Cada modo de adquisicin (temporal o estado) tienen su propia batera de
funciones. Cada una de ellas est representada en cuadros azules que se
arrastran hacia el cuadro de secuencias en el orden que se quiere que se
ejecuten.
figura 11 : cuadro de dialogo del trigger avanzado. La funcin del recuadro al lado
izquierdo de la figura se toma y se arrastra al cuadro de secuencia.
10
La figura 13 ilustra como deben configurarse las acciones que componen la
secuencia de disparo.
11
del cuadro de dialogo del modo disparo avanzado. Para que fuese ms fcil
adecuar esta funcin a nuestras necesidades se cambi la funcin al modo
if/then como se ilustra en la figura 15.
12
figura 16 : Cambio de la funcin al modo if/then.
Se procedi a programar la funcin para que se produzca el disparo al
cambiar el valor del bus estados de 0 a 1. El bus estados est constituido por
los bits 0 y 1 del bus completo de seales. El resultado de lo anterior se
presenta en la figura 17.
13
En la figura 17 se puede observar que debido a la configuracin del campo
default storage, si no se produce nunca el disparo, al detenerse la toma de
muestras se desplegar todo lo capturado. En este caso se desplegarn todas
la seales del sistema estudiado en cero. Lo anterior debido a que al
comenzar a medir, el sistema estar reseteado, es decir, todas las seales
estarn es cero. Luego se cumplir la condicin impuesta al step 1 y se
pasar al step 2. En el step 2 se espera que se pase al estado 1, es decir que el
bit 1 se ponga en alto. Al sacar el reset del sistema, como la ltima entrada
haba sido un 0 (cero), se pasar al estado 1 cumplindose la condicin del
step 2. Esto traer como consecuencia que se produzca el disparo.
Las seales capturadas se muestran en la figura 18.
Nombre
asociado a cada Seal del
punta del sistema
analizador. estudiado
Bus completo 0 q0
Bus completo 1 q1
Bus completo 2 zs
Bus completo 3 x
Bus completo 5 Z
14
2.2 Configuracin del analizador lgico en modo temporal (muestreo
asincrnico)
Despus de leer el punto 2.1 de este tutorial se espera que el lector ya est
familiarizado con el equipo. La configuracin del analizador lgico en modo
temporal es bastante similar a la configuracin del analizador lgico en el modo
analizador de estados.
Se dise en Abel un mdulo que cumpla con generar las 6 seales dadas en el
esquema anterior.
MODULE gensenal
TITLE 'Generador de Formas de Ondas'
"Constantes
C,X = .c.,.x.;
"Entradas
reloj pin 9 ; "Reloj activo con cantos de subida
RST pin 74;
reset_uc pin 45;
"Salidas
Q4,Q3,Q2,Q1,Q0 pin 15,14,57,1,32 istype 'reg, buffer';
sec1..sec6 pin 72,58,56,54,55,53 istype 'com';
"Declaraciones de conjuntos
Cuenta = [Q4,Q3,Q2,Q1,Q0];
15
Equations
reset_uc=1;
Cuenta := (Cuenta + 1); "Cuenta ascendentemente en mdulo 16
Cuenta.AR = RST;
Cuenta.C = reloj;
when (Cuenta==30) then RST=1;
END
Cdigo Abel del diseo que genera las seales de la figura 17.
Se implement el diseo en la tarjeta de desarrollo (CPLD). Para cumplir
con el perodo de 3 [s] debemos seter el clock de la tarjeta en 10 [MHz].
Para capturar las formas de onda con el analizador temporal se debe
proceder de la siguiente manera.
1. Se deben conectar las puntas de prueba a las seales del dispositivo que se
desea estudiar.
2. A continuacin se debe especificar al analizador, qu seales de prueba
sern utilizadas y cmo se quieren agrupar en el analizador. Para esto, en la
barra de men se debe ir a Setup>Buses/Signals. La figura 20 muestra
como se asignaron las seales.
16
Primero se debe elegir la opcin de muestreo (sample options) . Cada una de
estas opciones ofrece distintas alternativas para la tasa de muestreo y
cantidad de memoria destinada a cada canal.
En nuestro caso nos sirven las tres alternativas que se presentan, sin
embargo elegiremos la primera porque sta permite elegir cmodamente el
perodo de muestreo y ofrece ms memoria por canal que la tercera opcin .
En la figura 21 se ilustra la manera de optar una de estas alternativas.
17
En el laboratorio ser posible experimentar ms profundamente con las
opciones de muestreo, lo cual ser sin lugar a dudas enriquecedor para el
usuario.
4. Para obtener las formas de onda buscadas, nos falta solamente configurar el
disparo (trigger) de manera adecuada. En la figura 19 se puede observar
claramente que las seales ms lentas son la 2 y la 3, ambas de perodo
3[us]. Luego bastar con activar el disparo del instrumento con el canto de
subida de una de estas seales. Esto se logra de manera muy sencilla en el
cuadro de dialogo simple trigger que se despliega en la interfase principal
instrumento.
18