Alternativa Etrax
Sobre usar procesador ETRAX 100LX de Axis para implementar el osciloscopio.
Especificaciones ETRAX 100LX
- 100Mhz / 32 bit (datos y direccionamiento)
- controlador ethernet incorporado
- controlador USB 1.1 incorporado
Links y documentación importante
Comparación con las otras alternativas
- Ventajas
- INIGUALABLE flexibilidad de desarrollo. se desarolla sobre linux (hay kilotoneladas de documentación) y la documentación del ETRAX también es excelente.
- upgrades de firmware
- posibilidad de funcionar como osciloscopio stand-alone (independiente de una PC). Ver comentarios en Servidor web
- debuguear en C, en lugar de debuguear con estaño
- abundate información de desarollo disponible
Conexión con el ADC
Debido a la alta velocidad de trabajo de los ADC la única chance es usar DMA. El ETRAX afortunadamente trae incorporados DOS canales DMA externos (ademas de los internos) que son ideales para conectar los dos ADC (uno por cada punta de osciloscopio).
El capítulo 7 de la
referencia de diseño tiene TODA la información necesaria para usar los canales DMA externos.
Extracto del datasheet:
Direct Memory Access (DMA)
12 DMA channels (10 internals and 2 externals) with a 64 byte FIFO for low latency and high throughput data transfer to and from internal and external units (200 MBytes/sec total peek bandwidth to share between the 10 DMA channels). Address range of 31 bits, DMA and cache cooperation to keep memory and cache coherent, and burst access to and from memory to take full advantage of SDRAM and EDO DRAM performance.
Proceso de captura
La captura se haría a traves de los dos canales de DMA externo. Para correr el proceso se puede utilizar una característica del ETRAX llamada TRASNFER COUNT que permite que el controlador de DMA externo interrumpa al PIC cuando llegó a un número dado de capturas.
Trigger
Como tendremos tanta memoria disponible (16 Mb) el tema del trigger no es tan importante. Seguramente no las podremos arreglar para capturar y capturar.... Para luego analizar en la PC con toda la capacidad de procesamiento a disposición.
Linux en tiempo real
Una tema importante es el de decidir si debemos utilizar algun linux que asegure respuestas en tiempo real (
real-time linux). Dada las frecuencias de muestreo que estaremos utilizando (2 x ADC 40 MSPS ) y la velocidad de procesamiento del micro (100 Mhz) todo parece indicar que si vamos a precisar un real-time linux, y aun asi las cuentas no dan. Pero igual se puede brindar la opción de muestrear a full-speed utilizando una sola punta o perder un poco de velocidad al usar las dos. De todas formas debemos estudiar a que frecuencias máximas nos podemos comprometer a trabajar.
Ver
este link hay un artículo publicado sobre la utilización de real-time linux y en particular su aplicación al procesador Etrax. Incluye una implemntación pronta para usar de RTAI (un linux en tiempo real) para Etrax.
Placas ya preparadas con ETRAX
Placa de desarrollo oficial Axis
- Placa oficial de desarollo
- 2 ethernet + 1 USB + 2 serial + 8 contactos secos
- Corre Linux 2.4 con glibc
FOX BOARD
Placa bien chiquita con:
- Mide 66 x 72 mm
- Etrax LX100 MCM (16M SDRAM / 4M flash incorporados) - costo del micro solo: USD 75
- Puertos: 2 puertos usb + 1 ethernet
- Corre Linux 2.6 con uClibc e ya viene con HTTP, SSH, FTP incoporado
Costo: 99 euros (~ 122 dolares) para más de 100 unidades, segun
este artículo.
Mas info en
http://www.acmesystems.it.
El 13/7/2005 se envió mail a la gente de Acmesystem pidiendo más información pero no han respondido.
Se puede comprar
http://www.crownhill.co.uk/product.php?prod=1456? (Cronwnhill associates, UK). Cuesta 160 dólares + 50 dólares de gastos de envios (por Courier). Habrá problemas con la aduana para traerlo directamente?. Sino se puede mandar a USA y que alguien lo traiga de alla.
Osciloscopio IP
Servidor web (idea loca)
Usando un procesador ETRAX es muy fácil implementar un servidor web de interfaz para usar por la boca de red disponible.
Esta interfaz web le permitiría al osciloscopio funcionar de forma
stand-alone sin requerir explicitamente de un PC para su procesamiento. Es decir, independiente de una PC. Seria un "osciloscopio IP".
Incluso se podría utilizar una apliciación Java para la captura de datos en tiempo real y desligarnos completamente de la PC como interfaz. Aunque esto agregaría obviamente un gran overhead al proyecto, ya que diseñar una interfaz gráfica no estaba planificada dentro de las tareas a realizar. Pero de todas formas resulta un desafío interesante y hasta se podría argumentar (aunque se precisaría a un buen vendedor para esto

) que reduce el valor del osciloscopio al no tener que depender explicítamente de una PC.
A continuación se presenta un ejemplo de lo que podría ser el menú principal y sus opciones:
Menú principal
- Captura de datos en tiempo real ( JAVA )
- Capturar datos a archivo
- Detección de transitorios
- Análisis espectral
Capturar datos a archivo
- Seleccionar escala:
- Volts/div: (*) XXXX ( ) auto-escala
- Secs/div: (*) XXXX ( ) auto-escala
- Formato de salida
- Mostar en pantalla
- Archivo CSV (Excel)
- Capturar!
Disco flash USB (otra idea loca)
Se podría hacer que el osciloscopio tomara mediciones y las guardase en un disco (tipo pendrive) USB para posterior procesamiento en una PC.
Entonces podes ir por ahi con el osc y tu pendrive y tomar mediciones por doquier para luego estudiarlas tranquilo.
--
PabloHoffman - 14 Jul 2005