Un analizador lógico es un instrumento electrónico que captura y muestra múltiples señales lógicas de un sistema digital o circuito digital . Un analizador lógico puede convertir los datos capturados en diagramas de tiempo , decodificaciones de protocolo, trazas de máquinas de estados , códigos de operación o puede correlacionar códigos de operación con software de nivel de fuente. Los analizadores lógicos tienen capacidades de activación avanzadas y son útiles cuando un usuario necesita ver las relaciones de tiempo entre muchas señales en un sistema digital. [1]
Actualmente, hay tres categorías distintas de analizadores lógicos disponibles en el mercado:
Un analizador lógico puede activarse ante una secuencia complicada de eventos digitales y luego capturar una gran cantidad de datos digitales del sistema bajo prueba (SUT).
Cuando los analizadores lógicos comenzaron a utilizarse, era común conectar varios cientos de "clips" a un sistema digital. Más tarde, se empezaron a utilizar conectores especializados. La evolución de las sondas de los analizadores lógicos ha dado lugar a un diseño común que admiten varios proveedores, lo que proporciona mayor libertad a los usuarios finales. Introducida en abril de 2002, la tecnología sin conectores (identificada por varios nombres comerciales específicos de cada proveedor: Compression Probing; Soft Touch; D-Max) se ha vuelto popular. Estas sondas proporcionan una conexión mecánica y eléctrica duradera y fiable entre la sonda y la placa de circuito con una carga de menos de 0,5 a 0,7 pF por señal.
Una vez conectadas las sondas, el usuario programa el analizador con los nombres de cada señal, pudiendo agrupar varias señales para una manipulación más sencilla. A continuación, se elige un modo de captura, ya sea el modo "timing", donde las señales de entrada se muestrean a intervalos regulares en función de una fuente de reloj interna o externa, o el modo "state", donde una o más de las señales se definen como "clocks", y se toman datos en los flancos ascendentes o descendentes de estos relojes, utilizando opcionalmente otras señales para cualificar estos relojes.
Una vez elegido el modo, se debe establecer una condición de activación . Una condición de activación puede ser desde simple (como activarse en un flanco ascendente o descendente de una sola señal) hasta muy compleja (como configurar el analizador para decodificar los niveles superiores de la pila TCP/IP y activarse en un determinado paquete HTTP).
En este punto, el usuario configura el analizador en modo "ejecutar", ya sea activándolo una vez o activándolo repetidamente.
Una vez capturados los datos, se pueden visualizar de varias maneras, desde las más sencillas (mostrando formas de onda o listas de estados) hasta las más complejas (mostrando el tráfico de protocolo Ethernet decodificado). Algunos analizadores también pueden funcionar en modo de "comparación", donde comparan cada conjunto de datos capturado con un conjunto de datos registrado previamente y detienen la captura o notifican visualmente al operador cuando este conjunto de datos coincide o no. Esto es útil para pruebas empíricas a largo plazo. Los analizadores recientes incluso se pueden configurar para que envíen por correo electrónico una copia de los datos de prueba al ingeniero en caso de que la activación sea exitosa.
Muchos diseños digitales, incluidos los de circuitos integrados , se simulan para detectar defectos antes de que se construya la unidad. La simulación generalmente proporciona pantallas de análisis lógico. A menudo, la lógica discreta compleja se verifica simulando entradas y probando salidas mediante escaneo de límites . Los analizadores lógicos pueden descubrir defectos de hardware que no se encuentran en la simulación. Estos problemas suelen ser demasiado difíciles de modelar en la simulación o requieren demasiado tiempo para simularlos y, a menudo, cruzan varios dominios de reloj.
Las matrices de puertas programables en campo se han convertido en un punto de medición común para los analizadores lógicos y también se utilizan para depurar el circuito lógico.
Los analizadores lógicos también son muy útiles a la hora de analizar protocolos serie, como I2C , SPI o UART , ya que permiten capturar secuencias lógicas largas que muestran una o varias tramas de comunicación. Normalmente, el software del analizador lógico también interpretará la capa de protocolo, haciendo que la depuración del firmware sea una tarea menos tediosa.
A medida que la computación digital y los circuitos integrados surgieron en la década de 1960, [5] comenzaron a surgir problemas nuevos y difíciles que los osciloscopios no podían resolver. Por primera vez en la historia de la computación, se volvió esencial ver simultáneamente una gran cantidad de señales. Las primeras soluciones intentaron combinar hardware de múltiples osciloscopios en un solo paquete, pero el desorden en la pantalla, la falta de una interpretación de datos definida y las limitaciones de sondeo hicieron que esta solución fuera solo marginalmente utilizable.
El analizador lógico HP 5000A, presentado en la edición de octubre de 1973 del Hewlett-Packard Journal , fue probablemente el primer instrumento disponible comercialmente que se denominó "analizador lógico". Sin embargo, el HP 5000A estaba limitado a dos canales y presentaba información por medio de dos filas de 32 LED . El primer instrumento verdaderamente paralelo fue el HP 1601L de doce canales, que era un complemento para los mainframes de osciloscopios de la serie HP 180 y utilizaba la pantalla del osciloscopio para presentar 16 filas de palabras de 12 bits como 1 y 0. Se presentó en el Hewlett-Packard Journal de enero de 1974. [6]
Los osciloscopios de señal mixta combinan la funcionalidad de un osciloscopio de almacenamiento digital con un analizador lógico. Entre sus múltiples ventajas se incluyen la capacidad de visualizar señales analógicas y digitales a la vez, y de activar señales digitales o analógicas y capturar señales en la otra. Algunas limitaciones de los osciloscopios de señal mixta son que no capturan datos en modo estado, tienen un número limitado de canales y no proporcionan la profundidad analítica y la información de un analizador lógico.