curso: instrumentos electrónicos (66.44...
TRANSCRIPT
Curso: Curso: Instrumentos Electrónicos (66.44 Instrumentos Electrónicos (66.44 –– 85.13)85.13)
INGENIERÍA ELECTRÓNICAINGENIERÍA ELECTRÓNICA
1
INGENIERÍA ELECTRÓNICAINGENIERÍA ELECTRÓNICAFacultad de IngenieríaFacultad de Ingeniería
Universidad de Buenos AiresUniversidad de Buenos Aires
Analizador de estados lógicosAnalizador de estados lógicos
Introducción
2
Introducción
Mediciones electrónicasClasificación
Medidas en el dominio del tiempo
Medidas en el dominio de la frecuencia
3
Medidas de impedancia y características de materiales
Mediciones en eldominio del dato
Información de una señal¿Qué es el dominio del dato?
• ¿Qué vemos en la imagen?
• Un círculo negro con una parte despegada,
• letras blancas que van disminuyendo su tamaño.
4
• Lorem ipsum dolor sit amet, consecteturadipisicing elit…
Por otra parte, denunciamos con indignación a los hombres que son engañados y desmoralizados por los encantos del placer del momento, tan cegados por el deseo, que no pueden prever el dolor y la molestia que se va a producir, y la misma culpa es de los que faltan a su deber por debilidad de la voluntad, que es lo mismo que decir que fallan por la fatiga y el dolor.
• Su traducción al castellano:
Información de una señal¿Qué es el dominio del dato?
• Es el análisis de las señales de datos en base a la informaciónque transmiten, no sus características físicas.
• Los datos son lisa y llanamente hechos. Imágenes, cantidades, sonidos, el mundo que nos rodea.
5
• En teoría de la información, se define información como una secuencia ordenada de símbolos de un alfabeto.
• Al procesar, organizar y estructurar los datos para que sean útiles, se convierten en información.
Información de una señalEl camino a la información – señal modulada
• A veces la información no está a simple vista:
• Este espectrograma no muestra qué información se transmitió
• En el peor de los casos (para el análisis), la información se transmite modulada.
6
https://dk8ok.org/modes/fsk-2/
Información de una señalDemodulando la señal
• Ahora hay texto, pero se entiende?
7
https://www.mwrf.com/test-measurement/how-optimize-linear-distortion-measurements-signal-analyzer• ¿Qué es un uno y qué un cero?
Información de una señalCodificación a nivel bits
• El 1 y el 0 se pueden representar de muchas formas
• ¡Siempre es importante conocer la codificación!
8
• Hay unos y ceros, pero todavía no se ve la información transmitida.
Información de una señalDecodificando la señal a nivel palabras
Está todo junto!… Señal con bits decodificados
9
http://www.bitscope.com/software/
Decodificando palabras en un analizador lógico
Información de una señalAnalizando la información – decodificación de protocolo
Ahora las letras tienen significado:
Vemos que los unos y ceros forman direcciones, datos y secuencias de control
10
https://www.perytech.com/Logic-Analyzer.htm
Información de una señalPresentando la información
Ahora podemos traducir el mensaje…
11
Qué pasa si lo queremos en ASCII?
Utilidad del analizador lógicoUna vista desde el modelo OSI
• Ninguna clase sobre protocolos puede estar completa sin el modelo OSI.
• Las capas superiores se analizan con software adecuado.
12
• Para la capa física, osciloscopio, analizador de espectro y analizador lógico.
• Para la capa de enlace, analizador lógico.
Analizador lógico
13
Analizador lógico
Analizador lógico¿Qué es un analizador lógico?
• Es un instrumento que nos permite visualizar información se señales digitales.
• Si además las decodifica, tenemos un analizador de protocolo.
14
http://www.homebrewcpu.com/new_stuff.htm
https://www.perytech.com/Logic-Analyzer.htm
Analizador lógico¿Qué NO es un analizador lógico?
• Un analizador lógico NO permite evaluar la integridad de una señal.
15
Analizador lógico¿Dónde usamos un analizador lógico?
• Es útil para diseñar, depurar y analizar:
• sistemas digitales • sistemas embebidos
16
• Cada canal mide 0 o 1. No da información de la amplitud de la señal.
Analizador lógicoPrimer round – analizador lógico vs. osciloscopio
• Puede capturar simultáneamente un gran número de señales.
• A lo sumo permite ver 4 canales en simultáneo.
17
• Las señales son 0 o 1. • Tiene un ADC de 8 bits (generalmente).
Analizador lógicoModos de operación - Estado y tiempo
El analizador lógico puede presentar la información de dos maneras:
En modo tiempo En modo estado
•Se necesita señal de clock.•Los canales se capturan con el clock.
•Útil para buses paralelos.
•Se puede ajustar tasa de muestreo.•La captura no necesariamente es sincrónica respecto de la señal.
•Útil para protocolos serie.
18
https://www.edn.com/electronics-news/4378971/Logic-Analyzers-Digital-Detectives
•Útil para protocolos serie.
•Útil para detectar glitches.
http://www.zeroplus.com.tw/logic-analyzer_en/faq_software.php
Analizador lógicoAlgunas “Mediciones” en el modo tiempo
• Permite detectar glitches y errores de timing.
Glitch
19
Ciclo de escritura de memoria
Verificación de tiempos de setup y hold
Analizador lógicoSegundo round – analizador lógico vs. osciloscopio
• Un osciloscopio que guarda 1Mpunto…¿Qué resolución tiene en 4 min.?
20 • El analizador lógico captura gran cantidad de datos digitales gracias a la compresión de datos (“transitional timing”).
Evolución del Analizador de Estados Lógicos
21
Evolución del Analizador de Estados Lógicos
Árbol genealógico del analizador lógicoEl comienzo
22 http://hpmemoryproject.org/wb_pages/wall_b_page_12.htm
Circuitos digitales
Árbol genealógico del analizador lógico La llegada de los microcontroladores
23 http://hpmemoryproject.org/wb_pages/wall_b_page_12.htm
Árbol genealógico del analizador lógico Apogeo y caída
Apogeo
24
http://hpmemoryproject.org/wb_pages/wall_b_page_12.htm
Nuevos inconvenientes:• Mayores velocidades de clock
en los microprocesadores• Encapsulados más difíciles
para conectar• Predominancia de protocolos
de comunicación serie en vez de paralelo
Árbol genealógico del analizador lógico La separación evolutiva
Equipos de muy alta gama: Equipos sencillos:• Con memoria interna:
25
• O que hacen streaming:
Árbol genealógico del analizador lógico Si no puedes con ellos…
• Pantalla pequeña para muchas señales.
• Opciones de triggerlimitadas.
• Menos opciones de decodificación.
• Interfaz menos cómoda
• Osciloscopios de señal mixta (MSO)
26
• Interfaz menos cómoda
https://www.electronicdesign.com/test-amp-measurement/what-s-difference-between-mixed-signal-oscilloscope-and-logic-analyzer
Una opinión más objetiva…
Ejemplo 1:
27
Ejemplo 1:Aplicación a buses paralelos.
Al final no pude con ellos!Uso de osciloscopio con analizador lógico
Cámara térmica Heraeus-Vötsch
Interior de la cámara
28
Verificación de un ADCConversión A/D de lecturas de sensores
Placa de control
29
Simulando los sensores
Verificación de un ADCConversión A/D de lecturas de sensores
Conversor A/D AD679 conectorizado
30
Verificación de un ADCViendo la captura
En una primera inspección vemos una jungla de palitos.
31
Verificación de un ADCProfundidad de memoria
Captura usando memoria normal
Captura usando memoria larga
32
Verificación de un ADCAhora a triggerear
Me quiero enfocar en cada lugar donde hay señal en el canal analógico. Hay que afilar la imaginación.
33
Verificación de un ADCAhora a triggerear
El segundo pulso se triggereapor duración de pulso
El segundo pulso se triggereapor patrón de bits.
34
Verificación de un ADCViendo el primer pulso en detalle
En el primer pulso se hacen tres lecturas
Detalle de una lectura
35
ResumiendoOsciloscopio vs. Analizador lógico
Osciloscopio: Analizador lógico:
• Para medir parámetros analógicos de señales digitales (overshoot, ringing, rise time, etc)
• Caracterizar integridad de hasta 4 señales por vez (jitter, overshoot, etc.).
• Depurar o verificar operación de sistemas digitales.
• Tener seguimiento de múltiples señales de manera simultánea.
• Detectar violaciones de timing y
36
• Medir tensiones y flancos para evaluar retardo de propagación y setup/hold.
• Detectar fallas transitorias (runt, glitches y transitorios).
• Detectar violaciones de timing y glitches.
• Seguir la ejecución de software en sistemas embebidos (ingeniería inversa)
• Capturar largos tiempos de señal
• Decodificar comunicaciones serie y paralelo.
Especificaciones
37
Especificaciones
Especificaciones de analizadores lógicosAnalizadores lógicos Zeroplus
38
Especificaciones de analizadores lógicosAnalizadores lógicos Digiview
39
Especificaciones de analizadores lógicosAnalizadores lógicos Digiview
40
No te dicen la impedancia de entrada… 50kOhm // <3pF
Especificaciones de analizadores lógicosAnalizadores lógicos Digiview
41
Especificaciones de analizadores lógicosAnalizadores lógicos Saleae
42
Especificaciones Tektronix (14 páginas!):
https://www.tek.com/logic-analyzer/tla6400
Fin de la sección shopping
43
Componentes de un analizador lógico –
44
Componentes de un analizador lógico –parte 1
Analizador lógicoDiagrama en bloques
1.Puntas de conexión
2.Configuración de clock y trigger
45
3.Adquisición
4. Análisis y presentación
Puntas de conexión
46
Analizador lógicoConexión al DUT
Puntas de alta densidad con conector Mictor
Puntas de compresión
Puntas “Clip-on”
47
Analizador lógicoEfecto de carga de las puntas
Puntas de tiempo y de estado Efecto de carga de las puntas
• La capacidad de las puntas redondea los flancos
• Esto corre el punto de trigger y ocasiona malas mediciones de tiempo
• Algunos analizadores requieren puntas distintas para capturar señales en modo tiempo o modo estado
48
Analizador lógicoOtros problemas - efectos dependientes de la posición
Conexión en transmisor o receptor Longitud de conexión al conector de prueba
49
Skew!
Configuración de clock y trigger
50
Analizador lógicoConfiguración del clock
• Hay dos posibilidades: modo sincrónico o asincrónico
• En modo sincrónico se usa un clock externo. Generalmente asociado al modo estados.
• En modo asincrónico se usa un clock interno. En algunos analizadores se puede variar el sample rate.
Usando A3 como clock externo Captura con clock interno
51
Analizador lógicoCompresión de datos (“transitional timing”)
• Si se usa el modo sincrónico, sólo se guarda cuando hay señal de clock.
El secreto del analizador lógico para capturar gran cantidad de información es la compresión de datos.
• En modo asincrónico se pueden descartar muestras donde no cambie la señal. Se usan dos clocks, uno absoluto (timestamp) y el relativo cuando la señal está cambiando.
• De esta manera se aprovecha mucho mejor la memoria disponible.
52
De esta manera se aprovecha mucho mejor la memoria disponible.
https://www.saleae.com/performance-calculator/
Analizador lógicoTrigger
• Es una de las partes más importantes del analizador lógico.
• Seteando bien el trigger podemos aprovechar mejor la memoria de captura.
53
• Se pueden tener varias “etapas” de trigger. Las múltiples etapas se combinan para disparar en un evento particular.
• Se pueden setear conjuntos de condiciones en el tiempo (protocolo) o entre canales (Address paralelo).
Analizador lógicoTrigger secuencial
Opciones de trigger:•Palabra
•Rango
•Contador
54
•Flancos y niveles.
•Glitches
•Timer
•Analógico (salida osciloscopio)
Analizador lógicoTrigger vs. Memoria y adquisición
• El punto de trigger puede setearse en cualquier lugar de la memoria.
• Cuando está presente, el trigger generalmente es single
• Determina cómo se llena la memoria.
55
• Cuando está presente, el trigger generalmente es single shot.
• Es posible disparar por ancho de pulso
• Se pueden setear timers para buscar eventos en ventanas de tiempo disparadas por otros eventos.
Más info en: https://www.edn.com/electronics-news/4378971/Logic-Analyzers-Digital-Detectives
Ejemplo 2:
56
Ejemplo 2:Adquisición de comunicación por puerto
serie
Hardware utilizadoAnálisis de caso de uso – Comunicación serie
Se tomaron algunas capturas con un analizador lógico Zeroplus LAP-C 16032 y un osciloscopio Rigol DS2072A de una comunicación serie generada con una placa Arduino Nano.
57
Datos a transmitirAnálisis de caso de uso – Comunicación serie
Con el Arduino se transmite una tabla de código ASCII.
58
Captura con osciloscopioAnálisis de caso de uso – Comunicación serie
Captura con osciloscopio
59
Detalle osciloscopioAnálisis de caso de uso – Comunicación serie
Haciendo zoom
60
Decodificando protocoloAnálisis de caso de uso – Comunicación serie
Decodificación con osciloscopio
61
Setup del analizador lógicoAnálisis de caso de uso – Comunicación serie
Captura con Analizador lógico – configuración del decodificador
62
Activando capturaAnálisis de caso de uso – Comunicación serie
Vista de “Estado” y tiempo
63
Efectos del muestreoAnálisis de caso de uso – Comunicación serie
Capturo a 50kHz de frecuencia de muestreo
64
Problemas de capturaAnálisis de caso de uso – Comunicación serie
No pude capturar toda la tabla! No alcanza la memoria!
65
Menor frecuencia = más tiempo de capturaAnálisis de caso de uso – Comunicación serie
Bajando la velocidad de captura… falla
66
Buscando otra soluciónAnálisis de caso de uso – Comunicación serie
Bajándola aún más, hasta el software se da cuenta que hay algo mal.
67
Compresión!Análisis de caso de uso – Comunicación serie
Activando la compresión se captura toda la tabla ASCII!
68
Análisis de integridadAnálisis de caso de uso – Comunicación serie
Rompamos un poco… la señal
69
Señal a través de línea sin terminarAnálisis de caso de uso – Comunicación serie
A la entrada del cable (amarillo) y al final del mismo (azul)
70
Decodificación con osciloscopioAnálisis de caso de uso – Comunicación serie
A la salida del cable no decodifica bien.
71
Tiempo extraAnálisis de caso de uso – Comunicación serie
El analizador lógico sí decodifica correctamente.
72
Funcionamiento del analizador lógico –segunda parte
73
segunda parte
Adquisición
74
Analizador lógicoAdquisición - Memoria
La adquisición de datos en un analizador lógico es continua.
Repaso… ¿Cómo adquiere un osciloscopio?
75
• La cantidad de datos capturados viene dada por:• La profundidad de memoria• La velocidad de muestreo• La compresión (si no se captura en tiempo real).
Analizador lógicoCaptura de glitches y errores de setup & hold
• Algunos analizadores lógicos están preparados especialmente para detectar estas fallas de los sistemas
• Tienen un segundo sistema de muestreo más rápido que escribe sobre una memoria pequeña.
76
rápido que escribe sobre una memoria pequeña.
• Este sistema permite lograr mayor resolución sin aumentar la memoria necesaria.
Analizador lógicoAdquisición - Resumen
• Captura simple
• Seteando trigger
77https://www.byteparadigm.com/applications/la-for-embedded-software-debug/
• Usando compresión y filtrado
Análisis y presentación
78
Analizador lógicoMuestra de resultados y mediciones automáticas
Presentación en tiempo
79
Mediciones automáticas:
•Frecuencia•Período
•Ancho de pulso
•Duty Cycle•Conteo de flancos
Analizador lógicoMuestra de resultados y mediciones automáticas
Presentación en estados
Desensamblado de código
80
Protocolos de transmisión de datos
81
Protocolos de transmisión de datos
ProtocolosClasificación de protocolos
En la actualidad existe gran variedad de protocolos. Tenemos:
Según simultaneidad o no de los datos:
• Paralelo• Serie
Según características eléctricas:
• Single ended• Diferenciales
Según medio de propagación:
• Eléctricos• Ópticos• Radiofrecuencia
82
https://en.wikipedia.org/wiki/Parallel_communication
http://gunkies.org/wiki/Bus
• Radiofrecuencia
ProtocolosClasificación de protocolos
En la actualidad existe gran variedad de protocolos. Tenemos:
Según características temporales:
• Sincrónicos• Asincrónicos
Según tasa de datos:
• Alta tasa de datos• Baja tasa de datos
Según TX y RX simultáneos o no:
• Full duplex• Half duplex
83
ProtocolosProtocolos decodificados por analizador lógico Zeroplus
84
ProtocolosProtocolos decodificados por analizador lógico Zeroplus
85
ProtocolosProtocolos decodificados por analizador lógico Zeroplus
86
Ejemplo 3:
87
Ejemplo 3:Decodificando algunos protocolos
Transmisión i2cProtocolo i2c
Bus i2c
http://www.handsonembedded.com/stm32f103-spl-tutorial-6/
Acciones simples de escritura y lectura
88https://www.youtube.com/watch?v=7CgNF78pYQM
Viendo los niveles de tensión en las líneas de i2c:
NI myRIO: I2C serial communication
Transmisión i2cUn scanner de direcciones i2c
89
Transmisión i2cVerificando la utilidad de la compresión
90
Transmisión i2cCaptura de dirección no ocupada por dispositivo
91
Transmisión i2cCaptura de dirección ocupada por dispositivo
92
Analizadores de protocolo
93
Analizadores de protocolo
Midiendo señales moduladasDecodificación
• Uno de los más importantes usos del analizador lógico es la decodificación de protocolos.
94
Midiendo señales moduladasDecodificación de señales moduladas
• Con el software VSA 89600 se puede demodular y enviar la información al analizador lógico.
95 http://literature.cdn.keysight.com/litweb/pdf/5989-2384EN.pdf
Midiendo señales moduladasFallas en la decodificación
La decodificación puede fallar por diversos motivos:
• Problemas de integridad
• Problemas de protocolo erróneo
96
de integridad
• Problemas de muestreo
Fuentes
• Logic Analyzer Fundamentals. Tektronix.
• Logic Analysis Fundamentals. Keysight Technologies
• How to Measure Digital Baseband and IF Signals Using Agilent Logic Analyzers with 89600 Vector Signal Analysis Software.
• Feeling Comfortable with Logic Analyzers. Application Note 1337. Agilent
97
• Feeling Comfortable with Logic Analyzers. Application Note 1337. Agilent Technologies.
• Probing Solutions for Logic Analysis Systems. Agilent Technologies.
• 8 Hints For Solving Common Debugging Problems With Your Logic Analyzer. Application Note 1326. Agilent Technologies.
• Understanding Logic Analyzer Triggering. Doug Beck, Hewlett-Packard.