|
Aunque
la transición de buses
paralelo a buses serie en el
diseño de sistemas embebidos
conlleva muchas ventajas también
añade retos a los que
el diseñador debe enfrentarse.
Con las herramientas tradicionales
disponibles es difícil
conseguir un disparo sobre el
evento que se está buscando
y puede ser casi imposible decir
qué información
está presente en la captura
sólo con que mirar la
señal analógica.
Además, el proceso es
largo y propenso a errores al
tener que descodificar manualmente
un período largo de la
actividad del bus para diagnosticar
los problemas. La serie DPO4000
(fig.1) lo cambia todo con su
potente disparo y las capacidades
de descodificación, búsqueda
y marcación automática
de los eventos definidos por
el usuario.
Ejemplo
de un caso de eliminación
de errores en un bus SPI
Vamos a considerar el sistema
embebido de la figura 2. En
él, un bus SPI está
conectado a un sintetizador,
a un convertidor D/A y a algún
dispositivo de entrada salida
(I/O). El sintetizador está
conectado a un oscilador controlado
por tensión (VCO) que
proporciona un reloj de 2,5GHz
al resto del sistema. Se supone
que el sintetizador es programado
por la CPU en el arranque. Sin
embargo, algo no está
funcionando correctamente porque
el VCO se queda atascado generando
3GHz. El primer paso para depurar
este problema consiste en examinar
las señales entre la
CPU y el sintetizador para estar
seguros de que las señales
están presentes y no
hay problemas de conexión
física, pero tras el
proceso de búsqueda no
se encuentra ningún error.
A continuación se decide
echar un vistazo a la información
real que es transmitida a través
del bus SPI para programar el
sintetizador. Para capturar
la información de interés
se ajusta el osciloscopio para
que dispare sobre la señal
de selección del sintetizador
(SS) en el momento en el que
pase a su estado activo y arranque
el DUT (Device Under Test) con
el objetivo de capturar los
comandos de programación
que le envía la CPU en
ese momento.
La
adquisición final se
muestra en la figura 3.
El canal 1 (amarillo) representa
la línea SCLK, el canal
2 (cian) la línea MOSI
y el canal 3 (magenta) la línea
SS. Para ayudar a determinar
si estamos programando el dispositivo
correctamente echaremos un vistazo
a la hoja de datos del sintetizador.
Los primeros tres mensajes en
el bus se supone que sirven
para iniciar el sintetizador,
cargar el factor de división
de la frecuencia y almacenar
los datos. De acuerdo a las
especificaciones, el último
byte (carácter hexadecimal
único) de las primeras
tres transferencias debería
ser 3, 0 y 1 respectivamente,
pero estamos viendo 0, 0 y 0.
Una vez que se ha visto que
todos los mensajes acaban en
“0” nos damos cuenta
de que hemos cometido uno de
los errores más comunes
que ocurren en SPI, la programación
de las palabras de 24 bits en
orden opuesto al escribir el
programa. Un cambio rápido
en el programa da lugar a la
adquisición que se muestra
en la figura 4 donde el VCO
ya está funcionando correctamente
a 2,5GHz. En el ejemplo de arriba
utilizamos un simple disparo
sobre el SS activo. La completa
capacidad de disparo sobre el
bus SPI de la serie DPO4000
incluye los tipos siguientes:-
SS Active: el disparo ocurre
cuando la línea SS de
un dispositivo “esclavo”
pasa al estado lógico
“verdadero”.- MOSI:
el disparo ocurre sobre los
hasta 16 bytes de datos especificados
por el usuario y que son enviados
desde el “maestro”
al “esclavo”.
- MISO: el disparo ocurre sobre
los hasta 16 bytes de datos
especificados por el usuario
y que son enviados desde el
“esclavo” al “maestro”.
- MOSI/MISO: el disparo ocurre
sobre los hasta 16 bytesde datos
especificados por el usuario
y que son enviados desde el
“maestro” al “esclavo”
o recíprocamente.
Estos disparos permiten el aislamiento
de un tráfico particular
en el bus sobre el que se está
interesado, mientras que con
la capacidad adicional de descodificación
se puede observar el contenido
de cada mensaje transmitido
sobre el bus y capturado en
el momento de la adquisición.
La descodificación de
los buses I2C, SPI o CAN puede
mostrarse en modo bus o en tabla
con estampado de tiempos.
En los DPO4000 los sistemas
de disparo y búsqueda
usan los mismos parámetros
Además de un sistema
de disparo capaz de capturar
un evento de interés
dentro de un bus serie, sería
muy útil disponer de
un sistema de búsqueda
para encontrar los mismos o
distintos tipos de eventos ya
capturados en los 10M de registro
realizados con el osciloscopio.
El Wave InspectorTM de la serie
DPO4000 proporciona esa capacidad
gracias a sus potentes prestaciones
para realizar búsquedas
y sus controles dedicados en
el panel frontal.
Todas las posibilidades de disparo
descritas en este artículo
están también
disponibles como criterios de
búsqueda sobre los datos
ya adquiridos.
Por ejemplo, se puede observar
en la figura 5 cómo el
osciloscopio ha buscado dentro
de una larga adquisición
un mensaje CAN que tiene una
dirección y un contenido
de datos específicos
y los ha marcado automáticamente
con un triángulo blanco
hueco en la parte superior de
la pantalla. La navegación
posterior entre las ocurrencias
es tan simple como presionar
los botones “<”
y “>” del panel
delantero de la serie DPO4000.
Por supuesto, las búsquedas
están también
disponibles para el resto de
disparos incluidos de forma
estándar en la serie
DPO4000. Así pues, los
tipos de búsqueda también
disponibles son:
Flanco (edge), anchos de pulso
(pulse widths), cualificación
de amplitud de pulsos (runt),
tiempos de establecimiento y
retención (setup &
hold), logico (logic) y tiempos
de subida y bajada (rise/fall).
|