Indice
1.
Introducción
2. Arquitectura
estándar de las handheld
3.
Memoria
4.
Software
El ciclo de computación se está cerrando para
la computadora
de escritorio. Sólo las ventas
directas y los bajos márgenes de ganancia las mantienen
vivas. La mayoría de los usuarios inteligentes se ha
cambiado a las laptops con replicadores de puerto o estaciones de
acoplamiento, y si sus precios fueran
más competitivos, es muy probable que las computadoras
de escritorio ya estuvieran muertas.
La laptop no es el punto final de la computación personal. El
sistema del
futuro es un dispositivo pequeño, tipo Pilot, que hace
todo en una unidad compacta, el cual incorpora un sistema de
cómputo completo con disco duro,
así como un teléfono celular o un módem de
radio,
GPS,
cámara digital, grabadora de voz y cualquier otro elemento
que se pueda añadir. Además, cuenta con puertos a
los que se pueden conectar teclado,
monitor,
mouse y otras
opciones E/S.
Esto y más puede crearse hoy a un costo
considerable, pero todo indica que dicho tipo de dispositivo
eventualmente reemplazará las voluminosas máquinas
de hoy. Las computadoras
de escritorio y las laptop actuales son los dinosaurios
del futuro.
Los computadores Handheld, o también llamados PDAs
(Personal Digital
Assistants) son los llamados ordenadores de la palma de la mano y
fueron diseñados originalmente como organizadores
personales, y ellos hacen esto realmente bien. Las características básicas de cualquier
PDA son una agenda, libreta de direcciones, lista de tareas, y
block de notas, aunque con el auge de los nuevos procesadores y
disponibilidad de software, ya se han
potencializado las aplicaciones web, juegos, y casi
cualquier otra aplicación de la que se pueda pensar.
Aunque estas primeras características son muy provechosas para
mantener a cualquier persona ordenada,
la característica que enganchó su uso para
cualquier persona ocupada
que utilice una computadora de
escritorio es la de la sincronización fácil de la
información con el ordenador del
escritorio. Por ejemplo, se puede trabajar fácilmente en
el computador de
escritorio, concertar nuevas cita y cortar algunas direcciones
fuera de un E-mail que alguien me envió y pegarlo en mi
agenda o Palm usando mi software del PDAs. La
próxima vez que pongo el PDA en la horquilla de
adaptación al ordenador de escritorio y lo sincronizo, esa
nueva información termina almacenada en mi
PDA.
2. Arquitectura
estándar de las handheld
Las handheld en sus diferentes y variadas ediciones,
comparten una arquitectura
básica, aunque con componentes que varían de
fabricante en fabricante. Estos son:
Main board:
Generalmente consiste de su procesador o
CPU, un
flash ROM,
SDRAM, un puerto serial, un
chip de sonido, circuito
de entrada y salida de audio, y conectores para la horquilla de
sincronización.
CPU:
La unidad de procesamiento central varía de fabricante en
fabricante. Predominan los procesadores de
Motorola y los de Intel. Debe tener su propio generador de
señales de reloj, MMU, y capaz de soportar ROM y RAM.
Se hace a continuación una reseña de los
procesadores más usados en las handhelds:
Motorola® DragonBallÔ MC68328:
Fue el primer microprocesador
de la serie 68000 específicamente orientado para
dispositivos tipo PDA. El MC68328 aun está en producción, pero el MC68EZ328 y el
MC68VZ328 ofrecen ventajas en precio,
desempeño y periféricos que los hacen los preferidos en
los últimos diseños.
Motorola® DragonBallÔ EZ MC68EZ328:
La segunda generación de la serie DragonBall. Hereda los
periféricos más populares de su
predecesor y agrega algunos nuevos. Viene en una caja más
pequeña y es más asequible en cuanto a precio.
Algunas de sus características son:
- Controlador LCD para soportar paneles LCD de hasta de
640 x 512 - PLL Clock Syn. con soporte a modo de bajo consumo de
energía - Soporte para IrDA infrarrojo
- Interfaz UART para conexión con PC
- Interfaz serial de periféricos (SPI) con
conexión al conversor A/D - Pulse Width Modulation (PWM) con soporte a efectos de
audio - Reloj de Tiempo Real
(RTC) con soporte a características de tiempo
real - Timer con soporte a variado software de
aplicación - Disponible en velocidades de 16MHz y
20MHz
Motorola® DragonBallÔ MC68VZ328:
El DragonBall VZ (MC68VZ328) es el tercer producto de la
serie DragonBall y está diseñado para aplicaciones
más sofisticadas que requieren desempeño mejorado. DragonBall VZ incorpora
el conjunto de periféricos encontrados en DragonBall EZ
mientras a su vez mejora el desempeño y extiende el
conjunto de características. Algunas de ellas
son:
- Dos timers
- Dos módulos SPI
- Controlador DRAM sincrónico
- Dos puertos UART
- 76 pines E/S de propósito general
- Corre a 33MHz
La siguiente tabla ilustra las diferencias entre los
diferentes productos de
la serie DragonBallÔ :
Característica | DragonBall | DragonBall EZ | DragonBall VZ |
CPU | 68EC000 | 68EC000 | 68000 |
Selectores de Chip | 16 | 8 | 8 |
Controlador LCD | 4 niveles de grises | 16 niveles de grises | 16 niveles de grises |
Resolución LCD | Hasta 1024 x 512 | Hasta 640 x 512 | Hasta 640 x 480 |
Timer | 2 x 16 bits | 1 x 16 bits | 2 x 16 bits |
SPI | Maestro y Esclavo | Maestro | Maestro y Esclavo |
PWM | 16 bits | 8 bits con FIFO | 16 bits, 8 bits con FIFO |
UART | UART 1 | UART 1 | UART1 UART 2 |
RTC | Sí | Contador de 511 días | Contador de 511 días |
PCMCIA 1.0 | Sí | No | No |
Controlador DRAM | No | EDO / DRAM de página | EDO / DRAM de página |
GPIO | Hasta 78 | Hasta 54 | Hasta 76 |
Modo Boot Strap | No | Sí | Sí |
Velocidad | 16 MHz | 16/20 MHz | 33 MHz |
Voltaje | 3.3 V ± 10% | 3.3 V ± 10% | 3.0 V ± 10% |
Package | 144 TQPF | 100 TQPF, 144 MAP BGA | 144 TQPF, 144 MAP BGA |
Intel® StrongARM SA-1110:
Es un procesador de
alto desempeño y bajo consumo
diseñado para dispositivos multimedia
inalámbricos.
El Intel® SA-1110 es un procesador de 32 bits altamente
integrado de la serie Intel® StrongARM que incorpora el
diseño
y la tecnología de Intel con la eficiencia en el
consumo que ofrece la arquitectura ARM. Además del
desempeño, eficiencia,
integración y beneficios en el costo, este
procesador ofrece un bus de memoria de alta
velocidad, un
controlador de memoria flexible
y la habilidad de manipular dispositivos E/S de latencia
variable, como dispositivos de gráficos de alto rendimiento.
El procesador SA 1110 consiste de:
- Núcleo de procesamiento: el procesador es el
núcleo SA 1 con un caché de 16K bytes para
instrucciones y de 8K bytes para datos, unidades
de manejo de memoria (MMU), buffers de lectura y
escritura y
un mini-cache de 512 bytes para datos para
mejorar el rendimiento del cacheo de estructuras
de datos usadas muy frecuentemente. - Memoria y módulo de control
PCMCIA: Controlador de memoria flexible con soporte a SDRAM,
máscaras ROM sincrónicas, ROM, Flash, DRAM,
SRAM, E/S de latencia variable tipo SRAM y señales de
control
PCMCIA. - Módulo de control del sistema: 28 puertos E/S
interrumpibles de propósito general, reloj de tiempo
real, watchdog, temporizadores de intervalo, controladores de
administración de energía,
controlador de interrupciones, controlador de reset, y dos
osciladores on-chip. - Módulo de control de periféricos:
Controlador DMA de 6 canales, controlador LCD, controlador de
SLCD, controlador compatible con 16550, puerto serial
IrDA, puerto serial sincrónico, interfaz USB
En la siguiente figura se muestra el
diagrama de
bloques de este procesador:
Comúnmente son empleados chips de flash memory,
chips de SDRAM y tarjetas
PCMCIA.
Las aplicaciones desarrolladas para las handheld deben ser
baratas, de bajo consumo de energía y de poco uso de
espacio en disco. Dadas estas limitantes, los sistemas
operativos para las handheld son eficientes en su uso de
la memoria y
los recursos del
proceso. Hay
aspectos de los dispositivos del PalmOS que contribuyen a esta
eficacia:
Arquitectura de hardware y conectividad con
la PC.
La primera implementación del PalmOS proporcionaba a
respuesta casi instantánea a las entradas del usuario ya
que se ejecuta en un procesador Motorola® 68000 de 16
megaciclos con un mínimo de 128K de memoria permanente de
almacenaje y 512 KB de dispositivos del SO. Las siguientes
arquitecturas proporcionan a la RAM y a la ROM
adicionales en cantidades que varían.
La ROM y la RAM para cada dispositivo del Palm residen en un
módulo de memoria conocido como tarjeta. Cada tarjeta de
memoria puede contener la ROM, la RAM, o ambas. No hay almacenaje
de la RAM o de la ROM en la placa base del dispositivo.
Aunque todos los dispositivos anteriores y actuales del Palm
sostienen una tarjeta en una ranura accesible al usuario, es
imprudente asumir que cualquier dispositivo de las handheld tiene
un módulo de memoria que se pueda quitar
físicamente. Una "tarjeta" es simplemente una construcción lógica
usada por el sistema operativo
— los dispositivos del Palm pueden tener una tarjeta, tarjetas
múltiples, o ninguna tarjeta. Por ejemplo, el simulador
proporcionado por el OS SDK del Palm puede simular un dispositivo
que tenga dos tarjetas.
La ROM y la RAM en cada tarjeta se dividen en unos o más
montones o pilas de 64K (en
el hardware actual)
o menos. Todos las pilas o montones
basados en RAM en una tarjeta de memoria se tratan como almacenes de RAM
mientras que todos los montones basados en ROM se tratan como los
almacenes de
la ROM. Las pilas para un almacén no
tienen que estar adyacentes a uno a en el espacio de
direccionamiento — ellos se pueden dispersar a través de
la memoria en
la tarjeta — sino que deben todos residir en la misma
tarjeta.
La principal suite de aplicaciones proporcionadas en cada
dispositivo del Palm se construye en la ROM. Este diseño
permite que el usuario substituya el sistema operativo
y la suite de aplicaciones entera simplemente instalando un solo
módulo del reemplazo. Las aplicaciones adicionales o de
reemplazo y las extensiones del sistema se pueden cargar en RAM,
pero el hacer esto no es siempre práctico en un ambiente de
RAM restringida.
La conectividad con las PCs es un componente integral de las
handheld. El dispositivo viene con una horquilla que conecta con
una PC de escritorio y con el software lógico para la PC
que proporciona la sincronización de todos los datos en el
dispositivo con las PCs del usuario.
Como todos los datos del usuario pueden tener una copia de
seguridad en la
PC, el reemplazo del almacén
permanente de memoria del dispositivo de la handheld se convierte
en algo tan fácil como instalar el módulo nuevo en
lugar el viejo y de resincronizarse con la PC. El formato de los
datos del usuario en almacenamiento
RAM puede cambiar con una nueva versión de la ROM; el
software de conectividad con la PC es responsable de traducir los
datos en el formato correcto al descargarla sobre un dispositivo
con una ROM nueva.
Arquitectura de la Memoria
El software del sistema de los handheld se diseña
alrededor de una configuración de 32-bit. El sistema
utiliza direcciones de 32-bit, y sus tipos básicos de
datos son de 8, 16, y 32 dígitos binarios de largo.
Las direcciones de 32-bit disponibles para el software
proporcionan un total de 4 GB de espacio de direccionamiento para
salvar código
y datos. Este espacio de direccionamiento produce un potencial de
crecimiento grande para las revisiones futuras de tanto el
hardware como software lógica
sin afectar su modelo de
ejecución. Aunque una memoria grande está
disponible, los dispositivos handheld fueron diseñados
para trabajar eficientemente con cantidades pequeñas de
RAM. Por ejemplo, el primer dispositivo comercial del PalmOS
tiene menos de 1 MB de memoria, o tan solo .025% de su espacio de
direccionamiento (o address space).
Los registros de
32-bit del procesador Motorola 68328 y sus 32 líneas
internas del direccionamiento también utilizan un modelo de
ejecución de 32-bit, aunque el bus de datos externo es de
solamente 16 dígitos binarios de amplitud. Este
diseño reduce coste sin la afectación del modelo
del software. El regulador del bus del procesador analiza
automáticamente: lee a 32-bit y escribe en 16-bit.
Cada tarjeta de memoria en el dispositivo las handheld tiene 256
MB de espacio de direccionamiento reservado para ella. La tarjeta
de memoria 0 comienza en el direccionamiento $1000000, la tarjeta
de memoria 1 comienza en el direccionamiento $2000000,
etcétera. El PalmOS divide el espacio disponible total de
la RAM en dos áreas lógicas: la RAM dinámica y el almacenaje RAM. La RAM
dinámica se utiliza como espacio de
funcionamiento para las asignaciones temporales, y es
análogo a la RAM instalada en un sistema de escritorio
típico. El resto de la RAM disponible en la tarjeta se
señala como RAM del almacenaje y es análogo al
almacenamiento en
discos en un sistema de escritorio típico.
Puertos io:
Las handheld generalmente tienen varios puertos seriales como
infrarrojos, FIR/SIR y otro para comunicarse con la horquilla de
sincronización, que generalmente va unido a la main
board.
Touch panel:
O interfaz principal de entrada. Mediante un lápiz
especial, ingresamos datos a la computadora
handheld.
Lcd:
El display de cristal líquido es el encargado de desplegar
los gráficos en las ordenadoras de bolsillo.
Existen unas pocas handheld de última generación
que soportan color.
Fuente de poder:
En forma de baterías compactas o un adaptador a la
corriente directa.
Buses:
Las handheld aun no soportan buses USB, pero su
desarrollo
esta siendo realizado por la empresa Palm.
Mientras tanto, se recomienda hacer uso de algún adaptador
de USB-Serial.
Sonido:
La última generación de
los handhelds, trae incorporado un chip de sonido con CODECs
que soportan MiniDisc (MD), Home Stereo y aplicaciones
portátiles. El que está siendo integrado en la
mayoría de handhelds es el reconocido Phillips UDA 1341TS.
Estos chips traen unas velocidades de sampleo según los
estándares ANSI (8 KHz, 11.025 KHz, 22.05 KHz, 44.1 Khz) y
permiten la entrada de audio mediante un
micrófono.
Periféricos
Existe una amplia variedad de periféricos que se pueden
ser acoplados a las organizadoras personales digitales o
computadores handheld. Entre ellas están módems,
cámaras fotográficas, cámaras de video, impresoras,
almacenamiento externo, scanners, etc. Algunos handheld soportan
la arquitectura de buses serial y otros soportan su propia
arquitectura, aunque el estándar que lleva la empresa Palm es
el más reconocido del mercado.
Una handheld muy popular que cuenta con una configuración
muy similar a esta es la Compaq iPAQ H3600.
Sistemas Operativos
Hay varios sistemas
operativos importantes de los handheld que están
compitiendo para el mercado. Algunos
de estos son:
Palmos:
Tipos de Aplicaciones
Una Palm puede ejecutar dos tipos de aplicaciones:
Aplicaciones web-clipping
(WCA), que son una especie de mini aplicaciones web, y las
tradicionales aplicaciones GUI.
WCA:
Una WCA es un conjunto de páginas HTML comprimidas
en un formato especial llamado PQA (Palm Query Application) y
descargado a la handheld. A pesar de que la creación de
una WCA es similar a la de cualquier otra aplicación web,
lucen muy diferentes. Una WCA debe ser pequeña y compacta
por que están diseñadas para desplegarse en
pantallas pequeñas y viajar a través de conexiones
lentas.
Aplicaciones GUI:
Las aplicaciones GUI son por lo general programas de un
solo hilo y orientados a eventos.
Sólo se puede ejecutar una aplicación a la vez, ya
que PalmOS es un sistema mono-tarea. Si se abre un programa durante
la ejecución de otro, se detiene el primero hasta que el
nuevo termine o el usuario quiera volver al programa
anterior. Las aplicaciones Palm OS son compiladas en archivos PRC
(Palm Resource file). El mismo PRC corre en cualquier producto que
ejecute Palm OS.
Hay numerosos ambientes de desarrollo
para aplicaciones Palm OS en muchos lenguajes de
programación, tales como C, C++, Visual BASIC,
Java, etc. De
nuevo, las mismas consideraciones de rendimiento aplican en
cuanto a la escogencia de lenguaje. El
más usado sigue siendo C (y C++), ya que además de
ser los mejores lenguajes de programación creados, desde muchos puntos
de vista, Palm OS ofrece un SDK escrito en C, además de
una vasta documentación y herramientas.
Desarrollar aplicaciones para Palm OS requiere diferentes
consideraciones que las tenidas en mente cuando se desarrolla
para una PC (que cuenta con una pantalla grande a color y donde los
usuarios usualmente usan por horas). Las Palm, en contraste, son
de bajo poder,
pequeñas, operadas por baterías, y de uso frecuente
pero intermitente. Estas son las consideraciones a tener en
cuenta:
- Tamaño de la pantalla: La mayoría de
las handhelds tienen una pantalla de 160×160 píxeles,
limitando la información que se puede desplegar. Es por
esto que las aplicaciones usan frecuentemente pantallas ocultas
y desktops virtuales para explotar al máximo este
reducido espacio. - Patrón de uso: El uso típico de una
handheld es muchas veces al día por períodos
cortos de tiempo. Es por esto que las aplicaciones deben
ofrecer interfaz lo más explícitas posibles, con
accesos directos y evitar al máximo los menús
jerárquicos que hacen que uno pierda demasiado tiempo
tratando de buscar lo que uno necesita. - Entradas Limitadas: Las aplicaciones deben evitar en
la medida de lo posible la entrada de datos por parte de los
usuarios, ya que los mecanismos de entrada (teclado en
pantalla y programa de reconocimiento de trazado de caracteres)
no son tan eficientes como un teclado de PC. Se deben idear
entonces, mejores formas de interactuar con el
usuario. - Poder: La velocidad de
procesamiento de una handheld fluctúa entre 16MHz y
33MHz. No están hechas para llevar a cabo el mismo tipo
de procesamiento que una PC de escritorio. - Baterías: Las baterías son
relativamente pequeñas en una handheld, pero
increíblemente duraderas (en muchos casos exceden un
mes). De todos modos uno esperara no gastar demasiado pero al
mismo tiempo usar su aparato sin preocuparse demasiado. Por lo
tanto, las aplicaciones deben evitar al máximo aquellas
operaciones
que consumen demasiada energía, como las comunicaciones seriales e infrarrojas, sonido,
animaciones largas o cualquier otra tarea que hagan uso de la
CPU por
períodos largos de tiempo. - Memoria: Cada handheld tiene un espacio de
almacenamiento limitado, de 512KB hasta 8MB y un
montículo dinámico de 32K a 256K. La
optimización es crítica. Los programas deben
optimizarse en el siguiente orden: espacio de montículo,
velocidad, tamaño. - Almacenamiento de datos: Una palm almacena los datos
en unos bancos de
memoria llamados registros, los
cuales están agrupados en bases de datos
para maximizar el uso del limitado espacio. Una base de datos
es el análogo de un archivo. - Compatibilidad hacia Atrás: Este es un factor
clave en Palm OS, ya que los usuarios no necesitan actualizar
su sistema operativo como el los sistemas
operativos de PC. Siempre estará disponible la ultima
versión del SDK con el que se podrá crear
aplicaciones que correrán hasta en las versiones
más viejas.
Windows CE:
Windows CE
(Compact Edition), es el más joven sistema operativo del
gigante Microsoft,
está dedicado a controlar todo tipo de dispositivos,
principalmente ordenadores de bolsillo o "handheld PCs". Sin
duda, Microsoft
puede disfrutar del éxito
que está consiguiendo Windows CE:
cada vez son más los fabricantes de hardware que presentan
sus productos
gobernados por este sistema operativo. Varias
compañías, incluyendo Compaq, Hewlett Packard, y
Casio están haciendo los PDAs que ejecutan el sistema
operativo de bolsillo de Microsoft o Windows CE y se están
posicionando competitivamente en la actualidad en segundo lugar
al PalmOS en el mercado de los handheld. Sin embargo, Microsoft
intenta cada vez más en mejorar su cuota de mercado
Y, a pesar de ser un sistema operativo joven y dedicado a
máquinas con recursos
limitados, Windows CE está demostrando su robustez y
excelentes características que, en ciertos casos, incluso
puede hacer sombra a su hermano mayor Windows 95. CE es
un sistema operativo multitarea de 32 bits optimizado para
trabajar con equipos muy limitados en recursos. Sin embargo, con
la versión 2.0 de Windows CE parece suceder algo parecido
que con sus hermanos mayores: Con cada nueva versión de
sistema operativo, crecen los requerimientos mínimos de
hardware para un funcionamiento óptimo del sistema. Ya han
aparecido equipos con 8 o con 16 Mbytes de RAM.
Uno de los principales atractivos de CE es que integra la mismo
interfaz que Windows 95 o NT
4.0. Por lo tanto el tiempo de aprendizaje
resulta mínimo para los usuarios acostumbrados a los
entornos de Microsoft. Además junto con el sistema
operativo se entregan varias versiones de bolsillo o "pocket" de
los programas más conocidos de Microsoft: Word. Excel,
PowerPoint y,
por supuesto, Internet
Explorer y Outlook. Al incluir estas utilidades (grabadas en
ROM como el sistema operativo) cualquier usuario dispondrá
de las utilidades más importantes al adquirir su handheld
PC. Además del software que acompaña a cualquier
ordenador con Windows CE, cada vez es mayor la cantidad de
shareware disponible para dicho sistema (por el momento
sólo se pueden programar aplicaciones con Microsoft
VisualC++ recompilando el código
para cada procesador, aunque en breve también será
posible hacerlo con VisualBasic).
Es importante remarcar que Windows CE 2.0 se encuentra disponible
en español
(así como en otros varios idiomas además del
inglés), por lo que, por primera vez, los
usuarios de ordenadores de bolsillo no tendrán que
renunciar a utilizar la letra ñ o los acentos.
CE está resultando un sistema muy versátil que
puede adaptarse a varios mercados y
necesidades muy diferentes, algo que no es ajeno a Microsoft.
Además de gobernar a los ordenadores de bolsillo, CE puede
utilizarse también un "thin-client" o alterativa a los
Network Computers (algo muy interesante para Microsoft en su
guerra contra
Sun y Java), o como
sistema operativo de electrodomésticos. Asimismo,
también CE puede resultar una alternativa a su hermano
mayor Windows 95 en el segmento de portátiles de bajo
coste (ya están apareciendo handheld PCs con teclados y
pantallas más adecuados para escribir
rápidamente).
EPOC:
Symbian es una empresa a
riesgo
compartido entre Psion, Nokia, Ericsson y Motorola que ha
producido el sistema operativo EPOC. Éste OS es
actualmente utilizado en las PDAs producidas por Psion, Ericsson
y Scientific Oregon. EPOC sigue siendo el sistema operativo
más popular de los handhelds en Europa donde su
capacidad de manejar comunicaciones
móviles es un importante recurso.
GNU/Linux:
Los fanáticos del sistema operativo GNU/Linux han logrado
crear una nueva distribución que corre en la mayoría
de computadoras handheld, siendo esta también una
atractiva alternativa para las personas que estén
relacionadas en el ámbito de Unix.
Autor:
Jaime Andrés García
Universidad
EAFIT
Medellín – Colombia