3 La unidad VIPER de ARCOM

Anuncio
Capítulo 3: La unidad VIPER de ARCOM
3.1 Introducción
Como se señaló en el primer capítulo, cada unidad de medida consta de
una IMU comunicada mediante el puerto serie con un computador embebido. El
computador elegido para esta tarea es la unidad Viper de la empresa Arcom.
En este capítulo se describen sus características principales y los motivos que
llevaron a su elección.
3.2 Descripción
La unidad Viper es un ordenador empotrado de muy bajo consumo
compatible con el estándar PC/104. Su procesador principal es un Intel
400MHz PXA255 XScale. El PXA255 es una implementación de la micro
arquitectura de Intel XScale combinada con un amplio conjunto de periféricos
integrados entre los que se incluyen, un controlador de display gráfico, un
controlador de interrupciones, un reloj y varios puertos series. La placa Viper
ofrece un amplio rango de características haciéndola ideal para la labor que
requerimos de ella. Tanto su bajo consumo como su gran capacidad de cálculo,
1
además de la inclusión de memoria no volátil, puertos serie y Ethernet fueron
factores claves a la hora de la elección. El sistema operativo ejecutado sobre el
computador empotrado es Microsoft Windows CE 5.0, sobre el que a su vez se
ejecuta el software diseñado en este Proyecto Final de Carrera. La unidad
Viper tiene el siguiente aspecto:
Figura 3.1 Microcomputador Viper
Si bien es cierto que para realizar las pruebas del software que será
ejecutado sobre el microcomputador se ha trabajado con un kit de desarrollo
proporcionado por el fabricante Arcom. Este kit consiste en una unidad que
incluye al propio microcomputador Viper, la fuente de alimentación, un display
táctil que hace la función de interfaz gráfica, y viene provista de múltiples
puertos USB, puertos serie y un puerto Ethernet. Además viene con el sistema
operativo Windows CE 5.0 preinstalado y listo para ser usado. El conjunto tiene
este aspecto:
2
Figura 3.2 Kit de desarrollo proporcionado
3.3 Características
Las principales características de la unidad Viper son:
-
Microprocesador: Intel XScale PXA255 400 MHz RISC
-
Memoria Cache: 32K caché de datos, 32K caché de instrucciones
-
Memoria del sistema: Hasta 64 MB SDRAM
-
Memoria no volátil: Hasta 32 MB de memoria flash
-
Video: Controlador de gráficos de pantalla plana TFT. Hata 800x600 de
resolución. Control de retroiluminación.
-
Audio:
CODEC
LM4529
AC´97
de
National
Semiconductor
y
amplificador de potencia LM4880. Linea de entrada, de salida, de
micrófono y 250mW de salida amplificada por canal.
-
Puertos series: 5 UARTs de alta velocidad. 4 puertos RS232 y 1
RS422/485. 2 canales FIFO con 128 Byte para transmisión y recepción.
-
Puertos USB: 2 puertos USB 1.1.
-
Capacidades de red: Controlador y puerto Ethernet 10/100BaseTX.
-
Reloj: Alimentado con batería. Precisión de +-1 minutos/mes a 25 ºC
-
Temporizador: Timeout ajustable desde 271 ns a 19 minutos y 25
segundos.
3
-
Lineas de entrada/salida de propósito general (GPIO): 8 lineas de
entrada a 3.3 V. 8 lineas de salida a 3.3 V.
-
Capacidades de expansión: Bus de expansión PC/104.
-
Puerto JTAG: Descarga de datos a la memoria flash.
-
Consumo: 2W a partir de una fuente de 5 V.
-
Medidas: Compatible con el estándar PC/104 (96mm x 91mm)
Se verán con más detalle las más importantes.
3.3.1 Microprocesador PXA255
El microprocesador PXA255 es el cerebro que organiza y da vida a la
unidad Viper. Se trata de un microprocesador de bajo consumo de tipo RISC.
No incluye entre sus características ninguna unidad de punto flotante, pero no
es problema ya que no la necesitamos para realizar los cálculos oportunos. Sin
embargo, contiene un DSP que hace las funciones de co-procesador y que
potencia las aplicaciones multimedia.
El microcontrolador procesa a una velocidad de 400 MHz gracias al reloj
incluido de 3.68645 MHz. Se alimenta de la fuente de alimentación principal de
5V. También posee un controlador de memoria con un bus de memoria a 100
MHz, 32 KB de memoria para datos y 32 KB de memoria para instrucciones.
Además puede gestionar hasta 85 pins de líneas de entrada y salida de
propósito general (GPIO), aunque muchas de ellas han sido configuradas para
funciones alternativas como la de la tarjeta de sonido y la interfaz
CompactFLASH.
Por último destacar que el microprocesador PXS255 es un dispositivo de
bajo consumo y no requiere disipador de calor para temperaturas de hasta
70ºC.
3.3.2 Temporizador (Watchdog)
4
El microprocesador PSA255 contiene un temporizador interno que puede
ser usado para proteger al sistema de errores en el software. Los periodos del
temporizador pueden ser ajustados desde un mínimo de 271ns hasta un
máximo de 19 minutos y 25 segundos. Cuando los periodos cumplen, la placa
se resetea. En este reseteo, el temporizador es desactivado hasta una nueva
activación por software.
3.3.3 Memoria
La unidad Viper cuenta con distintos tipos de memoria, cada una con un
uso y capacidad distinta. Dispone de una memoria SDRAM de 64MB más que
suficiente para las tareas que realizará la computadora. Esta memoria está
montada en la placa mediante soldadura por lo que no podrá se ampliada en
un futuro. La memoria puede funcionar a frecuencias que oscilan entre los
50MHz y los 99.5MHz, lo que permite configurar el funcionamiento para
conseguir un óptimo balance entre consumo de energía y rendimiento. Además
de la memoria RAM se dispone de una memora no volátil imprescindible para
almacenar el sistema operativo, el software, los archivos de configuración,
experimentos y de resultados. Ésta tendrá una capacidad de 32 MB, más que
suficiente para almacenar lo anteriormente comentado.
3.3.4 Soporte para display LCD
El microprocesador Intel PXA255 integra un controlador de display LCD
que permite disponer de una pantalla a color como interfaz gráfica. El display
puede tener una resolución de hasta 600x800 píxeles que son más que
suficientes para mostrar por pantalla la interfaz gráfica del software que se ha
diseñado. El display montado es táctil por lo que interactuar con el software es
intuitivo y sencillo.
3.3.5 Audio
5
Un chip CODEC de audio modelo LM4549 AC´97 de National
Semiconductor es el usado para dar soporte a las características de audio que
nos ofrece la VIPER. En principio esta funcionalidad no es usada pero queda
disponible para un posible uso en futuras actualizaciones del software.
3.3.6 Líneas de entrada/salida de propósito general (GPIO)
La unidad Viper cuenta con 8 líneas de entrada/salida de propósito
general, las cuales son de mucha utilidad para generar un pulso que usaremos
para sincronizar las dos unidades de medida RMU y PMU. En apartados
posteriores se describirá con más detalle el cómo y por qué de éste pulso. Para
leer de las GPIO solamente hay que leer los bytes menos significativos
localizados a partir de una dirección concreta de memoria. Para escribir en
ellas hay que escribir 1 en los bytes destinados a tal fin. Las líneas de entrada
toleran hasta 5V de tensión, y las líneas de salida pueden generar hasta 3.3V a
24mA.
3.3.7 Puertos USB
La unidad Viper tiene dos puertos USB 1.1 que soportan velocidades de
transferencia de hasta 12 Mbit/s. La inclusión de estos puertos en la unidad es
de gran utilidad ya que nos permitirá almacenar rápidamente en la memoria
flash nuevas versiones del software o archivos de configuración a partir de una
unidad de memoria flash portátil, además de recuperar el archivo de resultados.
3.3.8 Conector 10/100BaseTx Ehernet
El controlador Ethernet Lan91C111 de SMSC incluido en la placa la
provee de una interfaz 10/100BaseTX. Ésta interfaz es imprescindible para
realizar los experimentos con la unidad de medida, ya que a través de ella se
canalizarán las comunicaciones UDP y TCP que las unidades necesitan varias
veces a lo largo de la ejecución. En definitiva, la interfaz Ethernet de la unidad
Viper es una característica imprescindible de la que no se puede prescindir.
6
3.3.9 Puertos Serie COM
La unidad Viper viene provista de 5 UARTs de alta velocidad. Cuatro de
estos canales (COM1-COM4) pueden ser usados como interfaces estándar
RS232, y la restante (COM5) puede ser configurada como RS422 o como
RS485. Al igual que lo comentado antes con el puerto Ethernet, los puertos
serie son una característica sin la cual no tendría sentido elegir esta placa,
tendrán la importante tarea de recibir los datos que la IMU manda
constantemente. También serán usados para enviar a través de ellos tramas de
restart y configuración en sentido Viper-IMU.
7
Descargar