Capítulo 2. Investigación y análisis
Contenido de este capítulo
Introducción
Este capítulo muestra un estudio de las tecnologías existentes en el mercado en
el momento de comenzar el proyecto para tener una noción de las prestaciones y
el precio al cual debíamos aspirar. También se presentan diferentes fundamentos
teóricos relacionados con la implementación del osciloscopio.
Productos existentes
Una parte importante de la investigación fue el estudio de las tecnologías y
productos existentes en el mercado, junto con sus especificaciones y precios.
Si bien el objetivo de nuestro osciloscopio no es competir en un mercado
comercial (sino a nivel académico), es importante conocer el mercado para
saber donde estábamos parados antes de comenzar el proyecto, y así tener una
idea del precio final al cual debíamos aspirar para tenerlo en cuenta a la hora
del cálculo de costos y estudio de rentabilidad.
Una carencia que padecía la mayoría de las productos encontrados, era que no
traían software para Linux, algo que consideramos básico para un ambiente
académico, por lo que el software multiplataforma fue una de las metas
principales desde el principio.
A continuación se listan algunos de los productos que encontramos disponibles
en Internet. La lista fue compilada en abril de 2005 y por lo tanto no
contempla modelos que hayan salido posteriormente. Todos los precios están en
dólares y no incluyen impuestos. No pudimos encontrar ninguno de estos
osciloscopios en el mercado local uruguayo.
Pico Technology
Pico Technology es una empresa que se fundó en 1991 e inmediatamente obtuvo una
gran popularidad por sus osciloscopios y capturadores de datos para PC.
Tiene la de línea productos PicoScope 3000 donde el modelo más económico mide
señales de hasta 50 Mhz (2 canales) y cuesta U$S 760. Tiene un software
propietario para Windows y drivers para C, Pascal, Delphi y Visual Basic.
También tiene un modelo que mide hasta 200 Mhz cuyo costo de es U$S 1530.
TiePie Engineering
TiePie Engineering es una empresa holandesa que desarrolla y vende instrumento
de medida controlados por computadora. Siempre ha trabajado en el mismo rubro
desde su fundación, en el año 1987.
Algunos de los modelos que ofrecen son el Handyscope 4 (HS4) de 50 Mhz, 12 bit
y 4 canales con comunicación USB 2.0. por U$S 765, y el Handyscope 2 (HS2) de
200 kHz y 2 canales por U$S 500.
Tanto el software como el driver viene exclusivamente para Windows.
ETC
ETC es una empresa fundada en 1996 y dedicada al diseño y producción de dispositivos de medida para PC, utilizando FPGAs y CPLDs.
Uno de sus productos es el M521 de 60 Mhz y 2 canales por U$S 550, mientras que
el M524 de 120 Mhz cuesta U$S 780. El software es para Windows y tiene
disponibles drivers para Delphi y Visual Basic con un costo adicional.
Bitscope
Bitscope es una empresa australiana con firmes creencias en el software y
hardware libre, y su osciloscopio es quizás el más peculiar de todos puesto que
es el único que se caracteriza por ser de hardware abierto, lo cual significa
que en su página se encuentran publicados todos los esquemáticos del mismo,
junto con abundante documentación sobre su construcción y decisiones de diseño,
como así también los protocolos usados. Todo esto permite que un usuario, a
partir de la información de la página, pueda construirse el osciloscopio que
ellos venden, siempre y cuando tenga los medios y conocimientos necesarios.
Como fieles adeptos al software libre encontramos esta postura fascinante y no
nos avergüenza confesar que muchas ideas para nuestro osciloscopio fueron
tomadas de allí.
Uno de sus osciloscopios es el BS300 de 75 Mhz y 2 canales por U$S 495. El software, por supuesto, corre tanto en Windows como en linux.
Áreas de diseño
Una de las tareas realizadas en la etapa de análisis fue la de definir las
áreas de diseño que tendríamos que abordar. Finalmente llegamos a la decisión
de que el diseño se dividiría en 3 grandes etapas:
- Diseño del hardware analógico
- Diseño del hardware digital
- Diseño del software
A su vez cada una de ellas se divide en pequeñas sub-etapas de: a) estudio b)
diseño c) realización. En otras palabras, encaramos cada área de diseño como un
pequeño proyecto en sí mismo. Cabe recalcar que las áreas tampoco son temas de
estudio independientes puesto que todas están relacionadas entre si.
La etapa más importante (y la que tuvimos que definir primero) fue la del
Hardware digital puesto que allí se definía la arquitectura del sistema y de
ella dependía todo el resto del diseño como ser: procesador, placa, entorno de
desarrollo, etc.
Diseño del hardware analógico
Esta etapa consistió del diseño y especificación de:
- componentes a usar en la etapa de entrada para adaptación y protección de la misma
- protección de transitorios del puerto USB
- estudio del consumo de potencia y la necesidad de utilizar un regulador (7805 o similar)
Diseño del hardware digital
Esta etapa consistió en:
- selección de la arquitectura a usar
- diseño y selección de todos lo componentes digitales a utilizar
- especificar la interconexión de los componentes (esquemáticos)
Diseño del software
Esta etapa (posiblemente la más larga) consitió en:
- diseño del firmware (software a correr en el microprocesador), algoritmos de captura, etc
- diseño del software a correr del lado del PC para controlar y manejar el firmware del osciloscopio
- especificación del protocolo de comunicación a usar entre el firmware y el software
Bitácora de investigación
La bitácora de investigación es una sección en donde hemos colocado un resumen
de todo lo que hemos investigado en cuanto a tecnologías y diseño. Aquí se
encuentra todo lo relacionado a los diferentes tipos de muestreo, tipos de
memoria, consejos que nos han dado ingenieros, etc.
En este diario se colocaron referencias y pequeños resúmenes de todo lo que se
fue investigando previo a la etapa de diseño.
Todo el resto de los apartados de este capítulo son temas tratados en la
bitácora de investigación. En las referencias se encuentra publicada la
dirección de la bitácora de investigación.
Mecanismos de disparo
En los osciloscopio existen 3 tipos de mecanismos de disparo (trigger) según la finalidad con la que se utilice. Estos son:
- Mecanismo de disparo básico
- Este es el trigger que usan los osciloscopios analógicos para poder mantener fija la imagen que se muestra en la pantalla.
- Mecanismo de disparo por detección de transitorios
- Utilizado por los osciloscopios digitales (con memoria) para capturar eventos anómalos de una señal y desplegar la forma de la señal en el momento en que estos ocurren.
- Disparo externo
- Este es el mecanismo de disparo que permite observar lo que ocurre en una de las puntas del osciloscopio cuando llega un disparo (pulso, transitorio, etc) en la otra punta (de allí el nombre disparo externo).
Tipos de muestreo
Tiempo real
Este método de muestreo es el mas simple de todos y es el único que permite
digitalizar completamente señales no periódicas y transitorias.
Cada muestra y el tiempo en que fue tomada tiene una correspondencia directa con su equivalente en tiempo real.
A mayor tasa de muestreo en comparación al ancho de banda de la señal, se obtiene una mayor definición en el resultado.
Nyquist desarrolló un teorema que dice que para reconstruir una señal de frecuencia Fm, se debe muestrear a un índice mayor a 2Fm. Sin embargo, esto no se aplica tan directamente como parece. Esta teoría se aplica solamente a señales de ancho de banda limitado que no contienen ningún componente sobre la frecuencia Fm, y los bordes rápidos de las señales encontradas en circuitos digitales de alta velocidad pueden contener armónicos significativos sobre sus frecuencias fundamentales. Mas aún, cuando uno muestrea una señal, no lo hace por un tiempo infinito, sino que esta señal se ve acotada en el tiempo. Al recortar esta señal se le agregan componentes de frecuencia mas altas. He aquí entonces el problema de muestrear dichas señales: no se puede muestrear sólo al doble de la frecuencia Fm, sino que hay que hacerlo a una frecuencia mayor. Por lo tanto, no importa cuan rápido se muestree, nunca se podrá recomponer esta señal a la perfección.
Sin embargo, en la práctica se ha encontrado que muestreando a una velocidad cuatro veces mayor que la mayor componente de frecuencia de la señal, se puede obtener un resultado muy confiable y con bajo error.
Si se muestrea a una frecuencia menor a 4Fm pero mayor a 2Fm, obtendremos un resultado mas lejano al ideal, y cuanto mas nos acerquemos al limite de 2Fm, más errores contendrá nuestra reconstrucción. Así mismo, si pasamos por debajo del umbral de 2Fm para la frecuencia de muestreo, el
aliasing es inevitable.

Fig 2.1 Método de muestreo en tiempo real
- Ventajas:
- La única opción para una medida correcta de señales no periódicas.
- Desventajas:
- Ancho de banda relacionado directamente con la tasa de muestreo.
- Susceptible al aliasing a velocidades de muestreo lentas.
Tiempo equivalente
Es muestreo en tiempo equivalente (ver referencias) cuenta con los siguientes
características:
- única forma para 2fs > fm
- solo para señales periódicas
- la señal se va construyendo en barridos sucesivos
- 3 tipos de barridos:
- aleatorio repetitivo
- secuencial
- submuestreo
El muestreo en tiempo equivalente abarca los siguientes tipos:
- Muestreo aleatorio repetitivo
- Muestreo secuencial
- Submuestreo
Muestreo aleatorio repetitivo
Este tipo de muestreo se utiliza para aumentar la frecuencia máxima de medición de la señal de entrada.
El muestreo aleatorio repetitivo captura datos sobre la forma de onda
adquiriendo puntos en más de una ocurrencia del trigger. Esto significa que
la forma de onda en sí misma debe ser repetitiva (periódica) y no un
acontecimiento transitorio, puesto que la tasa de muestreo en estos casos es
típicamente demasiado baja para señales transitivas de alta frecuencia.
En cada ocurrencia del disparador se adquieren algunos puntos de referencia,
luego todos los puntos muestreados se juntan en un cuadro compuesto de la forma
de onda. Cada punto es puesto en su lugar apropiado midiendo el tiempo
transcurrido entre el trigger y la propia muestra.
A medida que muestreamos mas ciclos, más muestras obtenemos, y luego son
ubicadas en un mismo ciclo pero en la posición correspondiente medida a partir
del trigger.

Fig 2.2 Método de muestreo aleatorio repetitivo
- Ventajas:
- Ofrece mayor ancho de banda que el muestreo en tiempo real.
- No es susceptible al aliasing en señales repetitivas.
- Desventajas:
- No es apto para mediciones de señales no periódicas y de alta velocidad.
Muestreo secuencial
Los capturadores digitales de gran ancho de banda tienden a utilizar el muestreo secuencial.
Este método captura una muestra por ciclo (o cada
x cantidad de ciclos) pero con un determinado tiempo muy exacto entre el disparador y el punto de captura.
Para este tipo de muestreo es necesario, al igual que en el caso anterior, una señal periódica.
Cada muestra es tomada pasado cierto intervalo de tiempo luego de disparado el
trigger. Para la siguiente captura, el intervalo de espera es incrementado, y por lo tanto dicha muestra va a ser tomada un instante de tiempo después en el ciclo que la muestra anterior.
Los puntos son tomados siempre en puntos diferentes del ciclo de la señal de entrada, sin importar en qué ciclo fue tomada la muestra. De este modo, al finalizar la captura de todas las muestras, cada una de ellas es posicionada en un único ciclo, pero en la posición que le corresponde a partir del tiempo transcurrido desde el
trigger.

Fig 2.3 Método de muestreo secuencial
- Ventajas:
- Ofrece el mayor ancho de banda disponible (hasta 50Ghz).
- Muy bajo ruido.
- puede utilizar un A/D lento y de alta precisión.
- Desventajas:
- No puede capturar eventos previos al trigger e incluso pasado un mínimo tiempo tras el.
- Susceptible al aliasing a velocidades de muestreo lentas.
- No puede medir transitorios.
Submuestreo
Se conoce que el teorema de Nyquist dice que la frecuencia de muestreo tiene que ser mayor al doble del ancho de banda de la señal a muestrear. Sin embargo muchos confunden
ancho de banda con
frecuencia mas alta. El error aquí es que una señal contenida en los 100Khz, puede tener un ancho de banda de 1Khz. De este modo, según el teorema de Nyquist bien aplicado, se podría muestrear dicha señal a una frecuencia mayor a 2Khz (la que es mucho menor a 200Khz). La imagen siguiente muestra gráficamente cómo se superponen los espectros de señales de gran ancho de banda muestreadas a una frecuencia menor a su ancho de banda.
Este método de explicación es conocido como el método
fanfold.

Fig 2.4 Espectro completo de una señal

Fig 2.5 Efecto del aliasing
Ahora tomamos por ejemplo el caso antes mencionado, de una señal de ancho de banda acotado, y centrado en una frecuencia alta.
A su vez hacemos que pase por filtros para estar seguros de que evitamos el
aliasing, entonces tenemos un resultado fiable de la señal muestreada.

Fig 2.6 Espectro de la señal filtrada

Fig 2.7 La señal muestreada no es afectada
- Ventajas:
- Permite medir señales de alta frecuencia con conversores de baja frecuencia.
- Desventajas:
- La señal debe ser de ancho de banda acotado.
- Necesidad de filtrado anti-aliasing.
- No apto para medición de grandes anchos de banda.
- Carece de sentido en señales de banda base.
Métodos de conversión y transferencia
Los métodos de conversión y transferencia disponibles son los siguientes:
- Tiempo real
- como funciona: la señal se va muestreando y procesando de manera continua, sin interrupciones
- cuello de botella: tasa de muestreo (sample rate) del ADC, y velocidad de transferencia hacia el ordenador.
- cuando y porque se usa:
- para medir transitorios (es la única forma de poder medirlos)
- para medir señales lentas (periódicas y no periódicas)
- Por ráfagas
- como funciona:
- se toman muestras de la señal rápidamente hasta llenar un buffer
- se detiene el proceso de muestreo mientras se procesan (lentamente) los datos
- se vuelve a repetir el proceso
- cuello de botella: velocidad del microprocesador, velocidad transmisión por el bus serie/USB.
- cuando y porque se usa:
- se usa cuando el cuello de botella NO está en el ADC sino en otra etapa posterior (velocidad del microprocesador, transmisión placa-PC, etc)
- se usa para medir señales periódicas rápidas
- se puede usar también para medir señales muy lentas (tanto periódicas como no periódicas)
- no se puede usar para medir señales de frecuencia media
Errores de cuantización
Estos errores son parte de la etapa de conversión de la señal analógica en una representación digital de la misma.
A continuación presentamos los diferentes tipos de errores que encontramos en este proceso.
Error de compensación
El error de compensación esta definido como la diferencia entre la compensación nominal y la que realmente se tiene. Para el caso de un conversor analógico-digital, el punto de compensación nominal es el valor que se tiene en la entrada para obtener una salida igual a cero.
Cuando en la entrada se coloca este supuesto valor y en su salida se obtiene un valor diferente de cero, es justamente cuando existe un error de compensación. Esto bien puede corregirse ajustando los valores de compensación, y si no es posible ajustarlos, entonces se puede realizar en la etapa de análisis de los datos obtenidos, haciendo los ajustes necesarios en estos valores.

Fig 2.8 Error de compensación
Error de ganancia
El error de ganancia se define como la diferencia entre el valor de ganancia nominal (ganancia esperada, calculada) y la ganancia real. Este valor se calcula cuando el error por compensación es nulo, caso contrario se obtendrá un error en un calculo generado por otro error.
La figura siguiente muestra de forma simple el significado de este error.
Cuando se tiene un valor conocido a la entrada del conversor, de espera un valor de salida determinado. Cuando la diferencia entre el valor esperado y el obtenido es constante e igual sin importar cual sea el valor en su entrada, entonces se trata de un error de ganancia. Este error es lineal y constante en todo el rango posible de entrada. Este error también es posible solucionarlo, aunque también se puede corregir en etapas posteriores.

Fig 2.9 Error de ganancia
Error de apertura
El error de apertura es un tipo de error generado en los propios componentes y no es corregible. La incertidumbre en la señal de entrada en el momento en que se muestrea y retiene dicha señal
(sample&hold) esta dado desde el instante en que se la muestrea hasta que se la retiene, antes de pasar al proceso de conversión. El error de apertura puede ser generado por ruidos o también por variaciones en la señal de reloj. Este error también influye en las características finales del sistema.
Este error puede ser reducido si el tiempo de muestreo y retención disminuye. Si este valor es lo más pequeño posible, entonces se tiene mayor certeza de que la conversión realizada es correcta.

Fig 2.10 Error de apertura
Error de no-linealidad diferencial
El error de no-linealidad diferencial
(Differential Nonlinearity | DNL Error)
es la diferencia entre la variación de tensión nominal que genera un cambio en
un bit a la salida del conversor (1 LSB) y la variación real que debe ocurrir.
Es decir, que si el cambio de tensión que debe ocurrir a la entrada para que
haya un cambio en la salida de un bit es exactamente el esperado, entonces el
error DNL es cero. En cambio, si para que haya un cambio en la salida, el
diferencial de tensión a la entrada debe ser mayor (o menor) al que se
especifica, entonces existe este tipo de error. Incluso este tipo de error
puede generar que existan valores binarios de salida que nunca se lleguen a
dar, debido que el rango de entrada tiene como respuesta una menor cantidad de
valores debido al error citado (cuando el diferencial de tensión de entrada es
mayor que el especificado para 1 LSB).

Fig 2.11 DNL Error
Error de no-linealidad integral
El error de no-linealidad integral (Integral Nonlinearity | INL Error )_ esta
definido como la desviación de los valores de la función de transferencia real
sobre una linea recta. Esta línea recta puede ser definida como la mejor
aproximación que minimice estas desviaciones, o bien entre los puntos extremos
de la función de transferencia una vez que se hayan anulado los errores de
ganancia y compensación. Este segundo método es conocido como _linealidad de
punto final_, y es el más usado ya que su verificación es más simple.
En un conversor analógico-digital esta desviación se mide en la transición de
un paso al siguiente (es decir, un aumento en 1 LSB), y el nombre de error
integral proviene de que se trata de la suma de estas desviaciones desde el
nivel más bajo hacia un valor determinado. Con esta definición se puede conocer
entonces el error causado por la no-linealidad integral en cada valor.

Fig 2.12 INL Error
Error de cuantización
El error de cuantización esta basado en la naturaleza de las señales analógicas
y las digitales. Una señal analógica es continua, y puede tener
infinitos
valores (por mas que la señal este acotada), mientras que una señal digital es
discreta, tiene una cantidad
finita de valores posibles.
Aquí entonces radica este error. Al intentar traducir una señal que puede tener
infinitos valores en otra que solo puede tener valores
finitos, esta claro
que se pierde información. La cantidad de valores posibles (o
estados
posibles) que puede tener la señal digital esta relacionada con la cantidad de
bits con la cual ésta se representa. Sin embargo la cantidad de bits es una
cantidad
finita. La única forma de hacer que este error sea nulo, es haciendo
que la cantidad de bits con la que se representa el valor digital sea infinito.
Esto implica que cierto valor digital representa a
muchos (de hecho,
infinitos) valores analógicos posibles. De esta forma, un valor analógico
produce una salida digital, y esa salida digital si se vuelve a convertir a un
valor analógico, puede que no corresponda con el valor original. Cierta
información se ha perdido en este proceso, y esto se conoce como error de
cuantización.
En el caso de un conversor ideal, donde la función de salida puede creerse como
una
escalera perfecta, el error entre la señal real de entrada y su
correspondencia con la salida digital, tiene una función de densidad de
probabilidad uniforme en el caso de que se asume que la entrada es totalmente
aleatoria. Este error varía en el rango de ±1/2 LSB, o bien, ±q/2, donde q es
el ancho de un escalón, tal se muestra en la siguiente figura.

Fig 2.13 Error de cuantificación
Error absoluto
El error absoluto en la exactitud del proceso de conversión es la diferencia
máxima que se encuentra entre el valor analógico de la señal de entrada con el
valor medio que se define para ese mismo código binario de salida. Este error
es absoluto, y es por ello que incluye a todos los errores citados previamente
(compensación, ganancia, no linealidad, e incluso cuantización).

Fig 2.14 Error absoluto
Referencias
- Bitácora de investigación
- Productos disponibles
- Pico Technology
- TiePie Engineering
- ETC
- BitScope
- Tipos de muestreo
- Errores de cuantización
- Figuras