Capítulo II. Placa Base y Microcontrolador.

Comentarios

Transcripción

Capítulo II. Placa Base y Microcontrolador.
UNIVERSIDAD DE MAGALLANES
FACULTAD DE INGENIERÍA
Escuela de Ingeniería Eléctrica
INTERFAZ LCD E INSTALACIÓN DE WINDOWS CE EN TARJETA
DE DESARROLLO LH7A404-11
TRABAJO DE TITULACIÓN PARA OPTAR AL TÍTULO DE INGENIERO CIVIL
ELÉCTRICO, MENCIÓN ELECTRÓNICA INDUSTRIAL
Carolina Andrea Uribe Guzmán
Claudio Alejandro Vargas Cabello
Profesor guía: Rolando Aguilar Cárdenas
Punta Arenas, Chile
2011
UNIVERSIDAD DE MAGALLANES
ii
TABLA DE CONTENIDO
Capítulo I. Introducción.
1.1
Identificación de las necesidades …………………………………………..
Pág.
10
1.2
Aplicaciones ….………………………………………………………………….
10
Capítulo II. Placa Base y Microcontrolador.
2.1
Selección del Microcontrolador ……………………………………………..
13
2.2
Placa Base ……………………………………………………………………….
2.2.1
Diagrama de Conexión
2.2.2
Programa de Prueba
13
16
18
2.3
Historia ARM …………………………………………………………………….
20
2.4
Familias ARM ……………………………………………………………………
20
2.5
ARM922T …………………………………………...…………………………….
23
Capítulo III. Interface de Comunicación.
3.1
Comunicación con Emulador Tera Term …………………………………..
26
3.2
Descripción de LogicLoader (LoLo) ………………………………………..
3.2.1
Funciones de LogicLoader
28
29
3.3
Estructura de LogicLoader “Losh” …………………………………………
3.3.1
Comando “Ls”
29
30
3.4
Programas de Carga ………………………………….………………………..
3.4.1
Comando “Load” y “Burn”
3.4.2
Comando “Jump”
3.4.3
Comando “Exec”
30
31
33
34
3.5
Comando Losh ………………………………………………………….………
3.5.1
Comando “config”
3.5.2
Comando “video-init”
3.5.3
Comando “video-on”
3.5.4
Comando “draw-test”
3.5.5
Comando “bitmap”
34
34
35
36
36
36
UNIVERSIDAD DE MAGALLANES
iii
Capítulo IV. Interface LCD.
4.1
Conexión de Hardware ………………………………………………………..
4.1.1
Compatibilidad con Pantallas LCD
4.1.2
Teoría de Operación del Controlador LCD
4.1.3
Selección del LCD
4.1.4
Conector LCD Tarjeta de Desarrollo
39
39
43
44
46
4.2
Integración de Pantalla Personalizada Utilizando LogicLoader ………
49
Capítulo V. Creación Imagen Windows CE 5.0
5.1
Plataforma LoCE BSP …………………………………………………………
5.1.1
Componentes de LoCE BSP
5.1.2
Instalación Programas Previos
5.1.3
Instalación Componentes LoCE BSP
55
55
57
58
5.2
Controladores y Componentes ……………………………………………...
5.2.1
Archivos Binarios de Controladores de LoCE
5.2.2
Añadir Componentes en Plataform Builder
59
60
61
5.3
Creación de Imagen Windows CE Usando LoCE BSP ………………….
5.3.1
Construyendo una Imagen
62
62
Capítulo VI. Instalación de una Imagen.
6.1
Introducción …………………………………………………………………….
71
6.2
Medios de Descarga de ROM Usando LogicLoader …………….……….
6.2.1
Descarga de ROM por Ethernet
6.2.2
Descarga de ROM por Puerto Serie
6.2.3
Descarga de ROM por CompactFlash
71
71
77
80
6.3
Arranque de Imagen o ROM con LogicLoader …………………………...
82
Capítulo VII. Autoejecución de Aplicación en Windows
Mobile.
7.1
Objetivo …………………………………………………………………………..
86
7.2
¿Qué es Windows Mobile? …………………………………………………...
86
7.3
Historia de Windows Mobile ………………………………………………….
87
UNIVERSIDAD DE MAGALLANES
iv
7.4
Aplicaciones y Archivos Ejecutables en Windows Mobile ……………..
88
7.5
Ipaq HX4700 ……………………………………………………………………..
89
7.6
Actualización de ROM Ipaq …………………………………………………..
91
7.7
Auto ejecución de Aplicación………………………………………….…….
92
Capítulo VIII. Conclusiones.
8.1
Resultados Obtenidos ………………………………………………………
96
8.2
Comprobación ………………………………………………………….…….
96
8.3
Conclusión General ………………………………………………………....
96
8.4
Aportes ………………………………………………………………………...
97
Glosario …………………………………………………………………….……
99
Bibliografía ………………………………………………………………….…..
105
Anexo A Tarjeta Base y Microcontrolador LH7A404 ……………………
108
a.1
Específicaciones Eléctricas del Microcontrolador ……………….
109
a.2
Diagrama de Bloques del Microcontrolador ………………………
109
a.3
PinOut del Microcontrolador ………………………………………...
111
a.4
Esquemático de la Placa Base………………………………………..
116
Anexo B Registros del Controlador LCD y ALI ………………………..…
118
b.1
Descripción de Registros Controlador LCD ………………………
b.1.1 LCD Timing 0
b.1.2 LCD Timing 1
b.1.3 LCD Timing 2
b.1.4 Registro UPBASE
b.1.5 Registro LPBASE
b.1.6 Registro de Control LCD
b.1.7 Registro LCD OVERFLOW
119
119
119
120
122
122
123
125
b.2
Descripción de Registros de la ALI …………………………………
b.2.1 Registro ALISETUP
b.2.2 Registro ALICONTROL
125
125
126
UNIVERSIDAD DE MAGALLANES
v
b.2.3
b.2.4
Registro ALI Timing 1
Registro ALI Timing 2
127
127
Anexo C Pantalla LCD TFT Color LQ64D343 ……………………………..
129
C.1
130
130
130
131
Características …………...……………………………………………..
c.1.1 Características Eléctricas Panel LCD TFT
c.1.2 Luz de fondo (Backlight)
c.1.3 Característica de Sincronización Señales de Entrada
UNIVERSIDAD DE MAGALLANES
vi
RESUMEN
UNIVERSIDAD DE MAGALLANES
vii
El objetivo del presente trabajo de título, radica en la necesidad de operar
un sistema de desarrollo de bajo costo con sistema operativo móvil, para
monitoreo y configuración remota.
Para lograr esto se utiliza un sistema integrado capaz de funcionar con
sistema Windows CE 5.0, que dispone de un conjunto de periféricos de
entradas y salidas.
Dentro de los resultados, se logró la instalación y operación del sistema
con Windows CE 5.0, como también la incorporación de una pantalla LCD.
Finalmente se consiguió la auto ejecución de un programa basado en Windows
Mobile desarrollado bajo ambiente Labview Mobile.
Palabras Claves:
Windows CE 5.0, ARM, LogicLoader, Sistema de desarrollo, LCD, .NET
Framework.
UNIVERSIDAD DE MAGALLANES
viii
CAPÍTULO I
INTRODUCCIÓN
UNIVERSIDAD DE MAGALLANES
9
1.1 Identificación de las necesidades
El presente trabajo de título se sostiene bajo la necesidad, de sistemas
de procesamiento portátil, con altas prestaciones en el ámbito de la
ingeniería, variadas formas de comunicación con el medio ambiente, rapidez
y bajo consumo de energía para aumentar de esta forma la autonomía del
sistema. Además, de la posibilidad del usar Windows Mobile que permite
modificar el código fuente sin notificar a Microsoft y software de libre
desarrollo como lo es Android o Linux.
Todos los recursos mencionados entregan la posibilidad de cubrir un
espectro importante de aplicaciones, en especial a distancias remotas a
través de conexiones a Internet por medio de Ethernet, WIFI, etc.
Otro punto importante a destacar a la hora de utilizar este sistema, tiene
relación directa con la posibilidad de fabricar a menor costo, sistemas de
desarrollo similares.
De esta forma el objetivo final es lograr un sistema de desarrollo
completo hardware y software, a un costo reducido y de fabricación no
automatizada.
1.2 Aplicaciones
Para familiarizarse con el sistema de desarrollo utilizado, se puede decir
que el SDK (Starter Development Kit) es un kit de desarrollo, capaz de
soportar y procesar aplicaciones de alto rendimiento y que cuenta con la
posibilidad de intercambiar el módulo del microprocesador sin necesidad de
cambiar la placa base.
En lo relativo al Microprocesador se utilizará un sistema integrado
LH7A404 sobre una tarjeta tipo SOM (System On Module) y conexión
UNIVERSIDAD DE MAGALLANES
10
SODIMM, el cual tiene como principales características 200 MHz de
velocidad, muy compacto, posee un ciclo de vida prolongado y buena
tolerancia a las temperaturas desde 0° a 70°.
Este sistema es ideal para aplicaciones en la medicina monitoreando
pacientes, en tiendas e industrias para efectuar pagos con tarjetas bancarias
así como el uso en sistemas de circuito cerrado de tv y alarmas.
UNIVERSIDAD DE MAGALLANES
11
CAPÍTULO II
PLACA BASE Y MICROCONTROLADOR
UNIVERSIDAD DE MAGALLANES
12
2.1
Selección de microcontrolador.
Para responder a la necesidad se deben buscar alternativas de
hardware, y en este caso particular, se utilizará una plataforma de desarrollo
“Zoom Development KIT LH7A404” bajo el sistema operativo Windows Mobile
5.0.
Los componentes más importantes del kit de desarrollo son:
-
Placa base para aplicación
-
Tarjeta de ingeniería (microprocesador)
-
Fuente de poder, regulada en 5 VDC
La figura 2.1 muestra el contenido del Kit de desarrollo.
Figura 2.1: Contenido Kit de desarrollo.
2.2 Placa Base.
La placa base del kit de desarrollo es una tarjeta integral que contiene
conexiones de entrada y salida, además de socket para la instalación de
distintos tipos de procesador, con la posibilidad de ser reutilizada con
procesadores de mejor tecnología que ni siquiera aún salen al mercado, la
UNIVERSIDAD DE MAGALLANES
13
figura 2.2 muestra los tipos de conectores y el uso para cada uno de ellos.
Figura 2.2: Conectores de entrada y salida de la Placa Base del Kit de desarrollo.
Descripción de los conectores:
a. Puerto para conexión de red con conector RJ-45
b. Conector para alimentación 5 VDC
c. Entrada de audio en formato Plus 3,5 mm
d. Salida de audio en formato plus 3,5 mm
e. Conector de 60 pines para pantalla, touch y luz de fondo
f.
Conectores de expansión, permite el acceso a las señales de la
tarjeta base
g. Conector JTAG1 para procesadores SuperH2
h. Conector JTAG para procesadores ARM
i. Conector de configuración JTAG
j.
Botón de encendido del procesador
k. Botón de reset para el sistema
l.
Led para visualización de estado
m. Módulo de memoria CompactFlash tipo 1, solo para memoria
( 1) JTAG, es el nombre común de la norma IEEE 1149.1, es un estándar de depuración a nivel de
CPU y tiene utilidad para que el desarrollador corregir errores de códigos y lógica.
( 2) SuperH, es el nombre de un arquitectura de micro controladores RISC en 32 BIT.
UNIVERSIDAD DE MAGALLANES
14
n. Puerto serial RS-232
o. Puerto USB para conexión con PC
p. Puerto USB de entrada
q. Led para visualización conexión de red
Además la placa base cuenta con socket 144-SODIMM, con 32 bit
dedicados para la comunicación con el procesador el cual puede ser de 16, 32
o 64 bit de bus de datos internos, además de las direcciones (address), datos
(data), interrupciones (interrupt), bus del host (host bus), RED (Ethernet),
interfaz serial de periféricos (SPI) y señal de comunicación y transmisión
universal asincrónica (UARTA).
También posee dos puertos de expansión de 80 pines, el primero
contiene pantalla de cristal líquido (LCD), códec de audio (AC97), puerto
serie universal (USB), audio, pantalla táctil (touch), sensor de tensión
para el microprocesador (sense) y señales analógicas y digitales (ADC). El
segundo permite conectar tarjetas PC (PCMCIA), señal infrarroja (IR),
señales de comunicación y transmisión universal asincrónica (UARTB y
UARTC) y pines de multifunción (MPF´s).
Por otra parte la tarjeta base tiene la posibilidad de intercambiar el
microprocesador y aumentar así el rendimiento del sistema sin necesidad de
cambiar el kit completo, la figura 2.3 muestra algunos de los procesadores que
esta placa base soporta.
UNIVERSIDAD DE MAGALLANES
15
Figura 2.3: Procesadores soportados por la Placa Base.
2.2.1
Diagrama de conexión.
Como primer paso para lograr el sistema completo de conexiones
se debe instalar el microprocesador a la placa base, para esto se realizan los
pasos señalados en el documento “Zoom SDK QuickStart guide” descargable
desde www.logicpd.com, y mostrados en la figura 2.4.
UNIVERSIDAD DE MAGALLANES
16
Figura 2.4: Instalación física del microprocesador en la Placa Base.
Como segundo paso se debe conectar la pantalla o LCD, en el caso de
nuestro trabajo de titulación, no se pudo contar con un sistema de desarrollo
completo, por lo que la pantalla se adquirió de forma independiente y no
contaba con el cable de conexión indicado por el fabricante, luego para lograr
la comunicación entre la placa y la pantalla se construyó un cable conector
adecuado, la figura 2.5 caracteriza la conexión ideal entre la placa y la
pantalla LCD.
Figura 2.5: Conexión de la pantalla LCD a la Placa Base.
Por último la placa base, microprocesador y LCD, que a esta altura ya se
encuentran conectados como dispositivo independiente, se alimentan con la
fuente de energía y se conectan al computador por medio de cable serie
RS-232 como USB, como se ve en la figura 2.6.
UNIVERSIDAD DE MAGALLANES
17
Figura 2.6: Sistema de desarrollo completo.
a. Conector de salida
tipo protoboard.
LCD, para esto se utilizó placa prefabricada
b. Pantalla LCD Sharp LQ64D343.
c. Tarjeta de memoria CompactFlash 128 Mb.
d. Conexión serial RS-232.
e. Conexión USB.
f.
Alimentación de energía para el Kit de desarrollo.
g. Conector de salida de Placa Base para LCD.
h. Microprocesador LH7A404.
2.2.2 Programa de Prueba.
En vista que la tarjeta de desarrollo se encuentra operativa, se realiza un
programa de prueba que viene por defecto, según el artículo “Zoom SDK
QuickStart guide”.
El Kit de desarrollo está diseñado para comunicarse mediante un
software compatible con los siguientes parámetros: velocidad 115200 baudios,
8 bit de datos, sin paridad, 1 bit de parada y un bit de pérdida de flujo de
comunicación.
UNIVERSIDAD DE MAGALLANES
18
Logic sugiere el uso de Tera Term Pro (se explicará este software con
más detalles en el capítulo 3), una vez instalado este programa se abre una
nueva conexión por puerto serie como en la figura 2.7.
Figura 2.7: configuración de conexión Tera Term Pro.
Conectamos el kit de desarrollo a la fuente de energía, y aparece el
menú de LogicLoader o menú de inicio como en la figura 2.8.
Figura 2.8: Menú de inicio o LogicLoader en Tera Term Pro.
Con esto se logra ver que el sistema de desarrollo se encuentra
operativo, en el capítulo VI se trabaja en la instalación de ROM de Windows
Mobile.
UNIVERSIDAD DE MAGALLANES
19
2.3 Historia ARM.
ARM (advanced RISC Machines) es una línea de microprocesadores que
utilizan tecnología RISC (reduced instrucción set computer), sus inicios se
remontan al año 1985, donde se presentaron al mercado los primeros
dispositivos de la familia ARM2 y contaban con sólo 30.000 transistores y
operaban a 32-bit, lo que hacían de este microprocesador un potente
dispositivo de bajo costo para desarrollo, su sucesor el ARM3 contaba con
una pequeña memoria caché de 4 Kb, mejorando el acceso para instrucciones
repetitivas.
Para el año 1996 se lanzó el ARM6, con el cual se diseño el computador
RiscPC y la PDA Apple Newton, este microprocesador siguió la línea del
ARM2, con solo 35.000 transistores, la idea es que el usuario final lo
combinara con dispositivos periféricos de esta forma poder lograr un
procesador completo.
El mayor uso de ARM por ahora se ha alcanzado con ARM7TDMI, el cual
se ha utilizado en millones de teléfonos móviles y sistemas de video juegos
portátiles.
2.4 Familias ARM
La forma más sencilla de apreciar las familias y el avance de ARM es con
una tabla resumen como la mostrada en las páginas siguientes.
UNIVERSIDAD DE MAGALLANES
20
Versión de
Núcleo
Características
Arquitectura
Cache
(I/D)/MMU
MIPS
efectivos @
MHz
ARM Evaluation Sys tem segundo proces ador
ARMv1
(obsoleto)
ARM1
Nulo
ARMv2 (obsoleto)
ARM2
ARMv2a
Campos de Aplicación
ARM250
Añadida instrucción MUL Nulo
(m ultiplicar)
Integrado MEMC (MMU),
gráficos y un
proces ador de E / S.
Nulo,
Añadidas instrucciones MEMC1a
SWP y SWPB (swap).
para BBC Micro
4 MIPS @ 8
MHz
0.33
DMIPS/MHz
Acorn Archim edes, Chess machine
7 MIPS @ 12 Acorn Archim edes
MHz
(obsoleto)
ARM2a
Primera integración de
una m emoria caché en
un ARM.
ARM60
Soporte de dirección de
memoria de 32
bits (frente a los 26 bits ) Nulo
ARMv2a
(obsoleto)
ARMv3 (obsoleto)
ARM600
ARM610
ARM700
ARM710
4K
unificados
Como ARM60, caché y
un bus
cooproces ador (para la 4K
unidad de com a flotante unificados
FPA10).
Como ARM60, caché, sin
bus coproces ador.
4K
unificados
8 KB
unificados
Como ARM700
8 KB
unificados
12 MIPS @
25 MHz
0.50
DMIPS/MHz
10 MIPS @
12 MHz
Acorn Archim edes
3DO Interactive Multiplayer, Zarlink GPS Receiver
28 MIPS @
33 MHz
17 MIPS @
20 MHz
0.65
DMIPS/MHz
40 MHz
Acorn Risc PC 600, Apple Newton Serie 100
40 MHz
Acorn Risc PC 700
Acorn Risc PC prototipo de CPU card
40 MHz
ARMv3 (obsoleto)
ARM710a
Como ARM700
ARM7100
Como ARM710a,SoC
integrado.
Como ARM710a, SoC
integrado.
ARM7500, "FE" añadido
un FPA y un controlador 4 KB
de memoria EDO.
unificados
ARM7500
ARM7500FE
8 KB
unificados
8 KB
unificados
4 KB
unificados
ARM7TDMI(- S)
Segmentación de 3
etapas , Thum b
0.68
DMIPS/MHz
18 MHz
Acorn Risc PC 700, Apple eMate 300
40 MHz
Acorn A7000
Psion Series 5
56 MHz
0.73
DMIPS/MHz
15 MIPS @
Acorn A7000+ Network Computer
16.8 MHz
Box,NXP
nulo
iPod, Lego NXT, Atm el AT91SAM7, Juice
Sem iconductors LPC2000 and LH754xx, Actel's C
63 DMIPS @ oreMP7
70 MHz
ARMv4T
ARM710T
ARMv5TEJ
ARM7TDMI, caché
ARM720T
ARM7TDMI, caché
ARM740T
ARM7TDMI, caché
ARM7EJ-S
Segmentación de 5
etapas , Thum b,
Jazelle DBX, m ejora de
ins trucciones
DSP
SA-110
SA-1100
8 KB
unificados,
MMU
8 KB
unificados,
MMU con
FCSE
MPU
Psion Series 5m x, Psion Revo/Revo
36 MIPS @
40 MHz
60 MIPS @
Zipit Wireles s Mess enger, NXP
59.8 MHz
Sem iconductors LH7952x
203 MHz
Apple Newton s erie 2x00 , Acorn Risc PC, Rebel/Corel
Netwinder, Chalice CATS
nulo
16 KB/16 KB,
MMU
SA-110, SoC integrado
Plus/Diamond Mako
1.0
DMIPS/MHz
16 KB/8 KB, 203 MHz
MMU
Psion netBook
LART (computer), Intel
ARMv4
Assabet, Ipaq H36x0, Balloon2, Zaurus SLSA-1110
SA-110, SoC integrado
16 KB/8 KB, 206 MHz
MMU
5x00, HP Jornada 7xx,Jornada 560 s eries, Palm
Zire 31
UNIVERSIDAD DE MAGALLANES
21
Versión de
Núcleo
Características
Arquitectura
Cache
(I/D)/MMU
Segmentación de 5
fas es, predilección
ARMv4
ARM8101
ARM9TDMI
de salto estático,
memoria de doble
ancho de banda
Segmentación de 5
fas es, Thumb
MIPS
efectivos @
Campos de Aplicación
MHz
84 MIPS @
72 MHz
8 KB
unificados,
MMU
nulo
1.16
DMIPS/MHz
Acorn Risc PC prototipo de CPU card
Armadillo, Atmel AT91SAM9, GP32, GP2X (prime r núcleo),
Tapwave Zodiac (Motorola i. MX1), Hewlett-Packard
Calculadoras HP-49/50 , Sun SPOT, Cirrus Logic EP9302,
EP9307, EP9312, EP9315, Sams ung S3C2442 (HTC
TyTN, FIC Neo FreeRunner ),Sam sung S3C2410 (Dispositivos
de navegación Tom Tom)
ARMv4T
ARM920T
ARM9TDMI, caché
16 KB/16 KB, 200 MIPS @
MMU
180 MHz
ARM922T
ARM9TDMI, cachés
ARM940T
ARM9TDMI, cachés
8 KB/8 KB,
MMU
4 KB/4 KB,
MPU
NXP Sem iconductors LH7A40x
GP2X (s egundo núcleo), Meizu M6 Mini Player
Thumb, m ejora de
ins trucciones DSP,
caché
variables ,
m em oria
es trechamen
te acoplada,
MPU
Nintendo DS, Nokia N-Gage, Canon PowerShot A470, Canon
EOS 5D Mark II , Conexant 802.11 chips, Samsung S5L2010
Thumb, Mejora de
ins trucciones DSP
ARM966E-S
sin caché,
TCMs
sin caché,
TCMs
ST Micro STR91xF, integra Ethernet
ARM946E-S
ARMv5TE
ARM966E-S
ARM968E-S
NXP Sem iconductors LPC2900
Teléfonos m óviles: Sony Erics son (K, W
s eries); Siem ens y Benq (s erie x65 y pos terior);LG Arena;
Texas
Instruments OMAP1710, OMAP1610, OMAP1611
, OMAP1612, OMAP-L137, OMAP- L138; Qualcom m MSM6100,
MSM6125, MSM6225, MSM6245, MSM6250, MSM6255A,
MSM6260, MSM6275, MSM6280, MSM6300, MSM6500,
MSM6800; Freescalei.MX21, i.MX27, Atmel AT91SAM9, NXP
Sem iconductors LPC3000, GPH Wiz, NEC C10046F5-211-PN2A SoC – núcleo en la ATi Hollywood GPU us ada en la
Wii,Sam sung S3C2412 us ado en Squeezebox
Duet's Controller. Squeezebox
Radio;NeoMagic MiMagic Fam ily MM6, MM6+, MM8, MTV;
Buffalo TeraStation Live (NAS); Telechips TCC7801,
TCC7901;ZiiLABS' ZMS-05
SoC; Western Digital MyBook "I World
Edition"; Rockchip RK2806 y RK2808.
ARMv5TEJ
ARMv5TE
Thumb, Jazelle DBX,
Mejora de ins trucciones
DSP
variables ,
TCMs , MMU
Proces ador s in reloj,
com o ARM966ES
sin cachés,
TCMs ,
MPU
ARM926EJ-S
ARM996HS
ARM1020E
220 MIPS @
200 MHz,
Segmentación de 6
fas es, Thumb,
Mejora de ins trucciones 32 KB/32 KB,
DSP, (VFP)
MMU
ARM1020E
16 KB/16 KB,
MMU
ARMv5TE
ARM1022E
ARMv5TEJ
ARM1026EJ- S Thumb, Jazelle DBX,
Mejora de ins trucciones
DSP, (VFP)
UNIVERSIDAD DE MAGALLANES
variable,
MMU o
Western Digital MyBook "II World
MPU
Edition";Conexant s o4610 y so4615 ADSL SoC
22
2.5 ARM922T
Procesador ARM922T forma parte de la familia de procesadores
ARM9TDMI y cuenta con 8 Kb de memoria caché y 8 Kb de memoria de
núcleo además de contar con MMU3 (unidad de gestión de memoria).
El Núcleo utiliza arquitectura Harvard4, y es implementado usando cinco
estados de pipeline, traer (Fetch), decodificar (decode), ejecutar (execute),
memoria (memory) y escribir etapa (write stages), este núcleo puede ser
comprado independiente o como sistema integrado en dispositivos más
complejos, el núcleo independiente tiene un sistema de bus simple, que
permite el diseño personalizado de sistemas de memoria caché, como es el
caso del LH7A404.
El diagrama de bloques del microprocesador LH7A404 es mostrado en la
figura 2.9.
Figura 2.9: Diagrama de bloques del microprocesador LH7A404.
( 3) MMU, es una unidad de gestión de memoria, compuesta por un grupo de circuitos integrados
y es responsable de accesos a memoria por parte de la CPU
( 4) Arquitectura Harvard, este tipo utiliza memorias físicamente separadas para las
instrucciones y los datos.
UNIVERSIDAD DE MAGALLANES
23
La familia de microprocesadores ARM9TDI soporta sistemas de
instrucciones de 16 o 32 bit, permitiendo un alto rendimiento y una alta
densidad de código, esto sumado a la arquitectura Harvard apunta a
aplicaciones multiprogramador donde se requiere un control total de la
memoria, alto rendimiento y bajo consumo. El diagrama de bloques funcional
para el ARM9T se ve en la figura 2.10
Figura 2.10: Diagrama de bloques para ARM922T.
UNIVERSIDAD DE MAGALLANES
24
CAPÍTULO III
INTERFAZ DE COMUNICACIÓN
UNIVERSIDAD DE MAGALLANES
25
3
Interfaz de Comunicación
En este capítulo se describe brevemente los programas necesarios tanto
para realizar la transferencia de datos como para cargar el sistema operativo en
la tarjeta de desarrollo. Además, se detallan el conjunto de comandos
requeridos para inicializar y personalizar un sistema operativo.
3.1
Comunicación con Emulador Tera Term
Tera Term es un software emulador para Windows que puede enviar y
recibir caracteres tanto binarios como ASCII sobre el sistema de puertos COM.
La tarjeta de desarrollo LH7A404 está diseñada para comunicarse
con el emulador a través del puerto serie utilizando la siguiente configuración:
115200 baudios, 8 bits de datos, sin paridad, 1 bit de parada y sin control de
flujo; la figura 3.1 muestra la configuración del puerto serial.
Para lograr la transferencia de caracteres, el emulador debe ser
instalado en la estación de trabajo (PC) y realizar la configuración descrita
en la figura 3.1. En el capítulo 5 se detalla la instalación de este emulador.
UNIVERSIDAD DE MAGALLANES
26
Figura 3.1: Tera Term: Ventana de configuración del puerto serie
Una vez instalado el software Tera Term Pro en la estación de trabajo, se
puede acceder a éste a través de la siguiente ruta: C:\\PROGRAM
FILES\TTERMPRO, obteniendo la ventana mostrada en la figura 3.2.
Figura 3.2: Ventana de Inicio.
UNIVERSIDAD DE MAGALLANES
27
En la ventana de la figura 3.3 se debe seleccionar serial COM1 (ya que la
transferencia de información se realiza a través del puerto serie de la tarjeta de
desarrollo) y hacer un clic en el botón OK. Aparecerá la ventana de la figura 3.1.
Figura 3.3: Tera Term: Ventana de inicio para configuración del puerto serie.
Luego se debe seleccionar set up serial port y se mostrará la pantalla de la
figura 3.1 y realizar la configuración descrita en este capítulo.
3.2 Descripción LogicLoader (LoLo)
LogicLoader es un gestor de arranque/programa de firmware5 diseñado por
Logic.
LoLo está diseñado para inicializar un dispositivo integrado, carga y
arranca un sistema operativo y aplicaciones. Además, LoLo proporciona un
conjunto completo de comandos para la configuración del hardware de la
tarjeta de desarrollo, depuración del hardware, personalizar las aplicaciones,
gestionar dispositivos y realizar pruebas.
(5) Firmware es un programa que es grabado en la ROM y establece la lógica de más bajo nivel que
controla los circuitos electrónicos de un dispositivo.
UNIVERSIDAD DE MAGALLANES
28
Este programa es utilizado en plataformas de múltiples procesadores
(ARM, Coldfire, XScale) y con soporte tanto para sistemas de archivos FAT y
CompactFlash. LogicLoader contiene un protocolo de comunicación TCP/IP
completamente integrado.
3.2.1
Funciones de LogicLoader
Una función básica de este programa es la capacidad del actualizar el
software de la tarjeta de desarrollo (memoria flash, firmware, contenidos serial
EEPROM) después de que ha cargado el sistema operativo. Esta actualización
requiere un programa gestor de arranque que sea capaz de cargar imágenes de
programas de diversas fuentes. LogicLoader implementa esto dando al sistema
la posibilidad de cargar el software de la tarjeta desde la memoria flash, una
tarjeta CompactFlash, una red de área local o incluso desde un dispositivo
conectado al puerto serie de la tarjeta.
3.3 Estructura de LogicLoader “Losh”
Losh es un intérprete de comandos similar a los que se encuentran en
entornos Unix, que proporciona control sobre el estado de la plataforma de
desarrollo antes de cargar una imagen del sistema operativo.
Losh utiliza una secuencia de salida estándar (stdout). Por defecto, la
salida estándar se refiere a la depuración del puerto serie de la tarjeta de
desarrollo. La salida de cualquier comando que muestra información en la
salida estándar (por ejemplo, el comando “cat”) se puede ver con el programa
de emulación de terminal conectado al puerto serie de la tarjeta de desarrollo.
Del mismo modo, el flujo de entrada estándar (stdin) por defecto también se
refiere a la depuración del puerto serie de la tarjeta de desarrollo.
La estructura de LogicLoader incluye un sistema de archivos virtual que
utiliza nombres de ruta estándar de Unix. El directorio de más alto nivel (root)
UNIVERSIDAD DE MAGALLANES
29
es designado por el identificador “/”. Un subdirectorio especial del “root” con el
nombre “dev” se utiliza para enumerar e interactuar con los dispositivos
periféricos del sistema y sus correspondientes controladores.
3.3.1
Comando Ls
El comando Ls muestra el directorio del contenido actual, el directorio
específicado en la línea de comandos o el archivo. Un ejemplo de terminal de
salida que resulta de ejecutar el comando Ls se muestra en la figura 3.4.
Figura 3.4: Columnas comando Ls
En el ejemplo anterior, las columnas que aparecen cuando se ejecuta el
comando Ls son (en orden de izquierda a derecha): atributo, nombre y tamaño
de la entidad. Para el caso de la primera columna, atributo de la entidad, puede
estar en blanco, “D”, “S”, “R”, “r” o “H”. Un campo en blanco indica un atributo
normal, una “D” un atributo de directorio, “S” indica un atributo de control de
dispositivo, la “R” un atributo de solo lectura, una “r” indica bits reservados y
finalmente la “H” indica un atributo oculto.
3.4 Programas de carga
Al utilizar LogicLoader para descargar cualquier aplicación, sistema
operativo o actualizar un dispositivo, se requiere una comprensión de la
UNIVERSIDAD DE MAGALLANES
30
interacción entre los comandos “load”, “burn”, “jump” y “exec”. En este punto se
describirá cada comando individualmente, y la interacción entre ellos.
3.4.1
Comando “load” y “burn”
El objetivo del comando load es transferir una imagen ejecutable a la
tarjeta de desarrollo. La imagen debe estar en uno de los siguientes formatos:
ELF, SREC, RAW, o BIN. Este comando utiliza la información inherente de los
formatos soportados para determinar donde se debe almacenar la imagen
descargada en la memoria del dispositivo.
El comando “load” almacena la dirección de destino de la imagen
descargada para su uso posterior por el comando “burn”, y almacena la
dirección inicial del programa para su uso posterior por el comando “jump” o
“exec”.
Si una imagen está destinada para la memoria RAM del sistema, el
comando “load” almacena la imagen directamente en la pila. La figura 3.5
describe este proceso.
Figura 3.5: Almacenamiento en memoria RAM.
UNIVERSIDAD DE MAGALLANES
31
Cuando se utiliza el comando “load” para transferir una aplicación
destinada a la memoria RAM, LogicLoader organiza las secciones de la imagen
directamente en la memoria del sistema. LogicLoader utiliza una aplicación de
información de registro para determinar donde serán almacenadas las
secciones, estás son colocadas en una dirección de memoria específica. Si la
dirección de destino se superpone en la memoria reservada de LogicLoader
(código, variable o espacio de la pila), este abortará la carga.
Ahora bien, si una aplicación descargada está destinada para la memoria
flash, el comando “load” transfiere el archivo en un buffer temporal de memoria
RAM en el dispositivo. La imagen transferida puede ser programada en la
memoria flash utilizando el comando “burn” después de que la transferencia ha
sido completada. La figura 3.5.1 explica lo anterior.
Figura 3.5.1: Almacenamiento en memoria flash.
Cuando se utiliza el comando “load” para transferir una aplicación
destinada a la memoria flash, LogicLoader utiliza la memoria RAM disponible de
la tarjeta de desarrollo como un buffer donde la imagen descargada es
temporalmente almacenada. El resultado final de este comando es una copia de
la imagen descargada que estaba inicialmente almacenada en la memoria RAM
de la tarjeta de desarrollo. Ver Figura 3.5.1.
UNIVERSIDAD DE MAGALLANES
32
Figura 3.5.2: Almacenamiento en memoria flash.
El comando “burn” es utilizado para completar la transferencia de la
imagen en la memoria flash. Este comando analiza la aplicación descargada y
determina en que parte de la memoria flash será almacenada la imagen. Si la
aplicación se superpone en el bloque cero de la memoria flash o en un bloque
válido de configuración, el usuario es notificado y se requiere confirmación para
continuar. De lo contrario, el comando “burn” borra los programas y bloques
más relevantes de la memoria flash para posteriormente almacenar la imagen
sobre la memoria flash. Ver Figura 3.5.2.
El comando “burn” debe ser utilizado después de que se haya realizado la
transferencia de una imagen binaria destinada a la memoria flash. Si este
comando se utiliza para descargar una imagen flash, la imagen se almacena
temporalmente en una sección reservada de la memoria flash de la tarjeta de
desarrollo, la figura 3.5.2 ilustra con mayor detalle este comando.
3.4.2
Comando “jump”
Este comando permite al procesador pasar a una imagen cargada en la
memoria o a una dirección dada. Si el comando “jump” es ejecutado sin un
parámetro, LogicLoader saltará a la dirección de inicio del programa del último
programa cargado en la memoria RAM del sistema (si existe). Si una dirección
es ingresada, este comando pasará a la dirección específica. Después de que el
comando “jump” se lleva a cabo, LogicLoader continúa ejecutándolo en segundo
plano o “background”. LogicLoader no establece un tiempo de ejecución de un
UNIVERSIDAD DE MAGALLANES
33
programa, sino que el programa adquiere el entorno actual de LogicLoader.
3.4.3
Comando “exec”
Este comando inicia una instrucción de un programa, el cual puede ser
ejecutado con o sin parámetros. Para el primer caso LogicLoader pasa a la
dirección especificada como parámetro, y en el segundo caso salta a la
primera dirección del programa.
Este comando deshabilitará interrupciones y memoria caché antes de
ejecutar el salto.
3.5 Comandos Losh
En esta sección se describirán los comandos más utilizados en LogicLoader.
Además, Tera Term provee información sobre ellos, escribiendo “Help all” en el
intérprete de comandos.
3.5.1
Comando “config”
Propósito
Este comando guarda y/o muestra información de configuración en el
dispositivo config. El dispositivo config empieza en el Offset 0x40000 en el
arranque de la memoria flash. El dispositivo config puede ser usado para
almacenar una secuencia de comandos de inicio, configuración de la velocidad
de transmisión del puerto, configuración de video definido por el usuario y la
configuración de Ethernet.
Uso
config <b|s|v|e|B|S|V|E|C|CREATE>
Utilizar letra minúscula para mostrar el contenido y la mayúscula para guardar
los nuevos contenidos.
vV – video
CREATE – Crea un Nuevo bloque config.
UNIVERSIDAD DE MAGALLANES
34
Ejemplo
Losh> config CREATE: Guarda una configuración por defecto.
Losh> config V nombre x y: Guarda la configuración de video actual.
Retorno
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
0 – Éxito
1 – Argumento inválido 1
2 – Argumento inválido 2
3 – Argumento inválido 3
4 – Argumento inválido 4
10 – Número incorrecto de argumentos
22 – No se puede abrir archivo o dispositivo
24 – Falla de lectura
25 – Falla de escritura
26 – No se puede crear
27 – No se puede borrar
28 – No se puede buscar
40 – La configuración del dispositivo no es válida
41 – Índice o nombre inválido
60 – Memoria insuficiente
3.5.2
Comando “video-init”
Propósito
Inicializa por defecto el dispositivo de video. Se configuran todas las gpio
para el controlador de video, pero no enciende la pantalla ni habilita el
controlador. Para mostrar una imagen en la pantalla, debe ir seguida por el
comando ‘video-on’.
Uso
Video-init<display<bpp>
Ejemplo
Losh> video-init 5 16
Retorno
•
•
•
•
0 – Éxito
2 – Argumento inválido 2
10 – Número inválido de argumentos
30 – No se encuentra controlador de pantalla adecuado
UNIVERSIDAD DE MAGALLANES
35
3.5.3
Comando “video-on”
Propósito
Este comando enciende la pantalla y habilita el controlador de video. Los
comandos ‘video-init’ o ‘video-open’ deben ser escritos antes de utilizar este
comando.
Ejemplo
Losh> video-on
Retorno
•
•
0 – Éxito
31 – Pantalla no conectada
3.5.4
Comando “draw-test”
Propósito
Este comando dibuja los marcos de colores rojo, azul y verde, y patrones
de prueba punteados.
Ejemplo
Losh> draw-test
Retorno:
•
•
•
•
•
0 – Éxito
31 – Pantalla no conectada
32 – Ventana no identificada
34 – Ventana inválida
35 – Impresión en pantalla inválida
3.5.5
Comando “bitmap”
Propósito
Este comando muestra un mapa de bits en la pantalla. El mapa de bits
debe ser un valor de estándar de 4, 8 o 24 bpp. El parámetro
UNIVERSIDAD DE MAGALLANES
36
[address/dirección] puede ser usado para especificar una dirección alternativa de
almacenamiento en RAM para dibujar el mapa de memoria. El comando video-fb
puede entonces ser usado para cargar una dirección alternativa en el
controlador de video. El parámetro [address/dirección] debe ser ubicado
inmediatamente después de <file_name>, antes de cualquier otro parámetro
opcional.
Los parámetros opcionales [tl_x, tl_y] y [br_x, br_y] configuran las
coordenadas superior izquierda x e y, la parte inferior derecha x e y para
especificar los límites del mapa de bits en la pantalla. Estos parámetros
separados por comas se refieren a un origen en la parte superior izquierda de la
pantalla. Especificando un archivo de mapas de bits 0, 0 640, 480 mostrará un
mapa de bits que cubre toda una pantalla de 640x480.
Uso
bitmap <file_name> [address] [tl_x,tl_y [br_x,br_y]]
Ejemplos
losh> bitmap /cf_card/TEST_FILE.BMP
losh> bitmap /cf_card/TEST_FILE.BMP 0xa0400000
losh> bitmap /cf_card/TEST_FILE.BMP 0,0 640,480
Retorno
•
•
•
•
•
•
•
•
•
•
•
•
•
0 – Éxito
2 – Argumento inválido 2
3 – Argumento inválido 3
10 – Número incorrecto de argumentos
22 – No se puede abrir archivo o dispositivo
23 – Sin archivo
24 – Falla de lectura
31 – Pantalla no conectada
32 – Ventana no identificada
33 – Dispositivo inválido
34 – Ventana inválida
35 – Impresión de pantalla inválida
60 – Memoria insuficiente
UNIVERSIDAD DE MAGALLANES
37
CAPÍTULO IV
INTERFAZ LCD
UNIVERSIDAD DE MAGALLANES
38
4
Interfaz LCD
Puesto que la tarjeta de desarrollo utilizada fue adquirida sin un panel
LCD, fue necesario analizar el sistema de señales utilizadas por el controlador
LCD del microcontrolador LH7A404 con el fin de lograr la interfaz entre ambos
dispositivos.
La visualización de señales debe ser adecuada para cualquier tipo de
pantalla, en este capítulo se entregan ejemplos de conexión más comunes que
se pueden encontrar en el mercado.
4.1 Conexión de Hardware
Para realizar la integración de una pantalla LCD con la tarjeta de
desarrollo es necesario estudiar el funcionamiento del controlador LCD color
del microprocesador utilizado y los registros de dicho controlador.
Una breve descripción de la pantalla seleccionada y el detalle de los
terminales de entrada y salida tanto para la pantalla como para el conector
LCD de la tarjeta son descritos en esta sección.
4.1.1
Compatibilidad con pantallas LCD
La tarjeta de desarrollo LH7A404 cuenta con un controlador LCD color y
una interfaz avanzada de LCD (ALI) para pantallas AD-TFT6, HR-TFT y
cualquier tecnología de pantallas compatibles con este sistema de señales.
(6) Los diferentes tipos de pantallas ADTFT, HRTFT, STN y TFT son explicados en detalle en el
GLOSARIO.
UNIVERSIDAD DE MAGALLANES
39
El controlador LCD proporciona todas las señales necesarias de
control y datos para realizar la interfaz del LH7A404 directamente a una
variedad de pantallas LCD a color o monocromáticas, incluyendo las pantallas
STN y TFT.
La ALI modifica la salida del controlador para permitir conectar
directamente el LH7A404 a las filas y columnas del controlador de paneles
súper delgados incluyendo AD-TFT, HR-TFT o cualquier panel que soporte este
método de conexión. La figura 4.1 muestra un diagrama simplificado de los dos
controladores conectados al bus avanzado de alto rendimiento (AHB), al bus
avanzado de periférico (APB), y a cada uno.
Figura 4.1: Diagrama de bloques del controlador LCD
El controlador LCD tiene una interfaz AHB esclava para sus registros y
una interfaz AHB principal para los datos del LCD. Además la ALI utiliza una
interfaz APB esclava para sus registros. Los datos de la imagen circulan desde
la AHB a través del controlador LCD y de la ALI, hacia la pantalla. Aúnque
una pantalla LCD quizás no de la ALI, la ALI requiera debe ser correctamente
programada porque todos los datos de la LCD pasan a través de ella, incluso si
se establece en modo bypass para las aplicaciones de STN o TFT.
Paneles con tecnología moderna, incluyendo paneles AD-TFT y HR-TFT,
son cada vez más delgados. Para lograr el máximo ahorro de espacio, son
fabricados sin los grandes bloques ASIC y convertidores DC-DC integrados en
los paneles STN y TFT. La figura 4.2 muestra un diagrama de bloques de una
UNIVERSIDAD DE MAGALLANES
40
pantalla típica.
Figura 4.2: Diagrama de bloques de una pantalla LCD típica.
En el caso de pantallas STN y TFT, el ASIC decodifica los datos de
entrada en una matriz de filas y columnas generando las señales de tiempo.
Esto genera un aumento de volumen y peso en las pantallas que contienen esta
tecnología.
La ALI, procesa adicionalmente una interfaz entre la tarjeta de desarrollo
LH7A404 y pantallas AD-TFT, HR-TFT o cualquier pantalla que utilice este
método de conexión. La figura 4.3 muestra la ALI entre el controlador LCD y los
pines de salida de la pantalla.
UNIVERSIDAD DE MAGALLANES
41
Figura 4.3: Diagrama de bloques simplificado de ALI. Traducir
La ALI es programada a través de la interfaz APB de 16 bits y recibe las
señales de control y dato desde el controlador LCD. La ALI convierte los datos
de la pantalla a un formato adecuado para la conexión directa a las filas y
columnas del controlador de pantallas AD-TFT, HR-TFT.
La ALI tiene dos modos de funcionamiento, los cuales deben ser
seleccionados a través de software:
Modo Activo
Modo Bypass
El modo activo es utilizado en pantallas LCD que no incorporan un timing
ASIC (señales de tiempo utilizadas para conducir las filas y columnas de la
pantalla), y para generar compatibilidad entre la pantalla y el controlador LCD
se debe activar la ALI con el comando ALISETUP:CR en la línea de comandos
de LogicLoader.
En el modo Bypass las señales y datos recibidos desde el controlador
LCD, pasan inalterados a través de la ALI a los pines de la pantalla. Este
modo se debe seleccionar cuando el controlador LCD está utilizando pantallas
STN o TFT que contienen un timing ASIC (señales de tiempo utilizadas para
conducir las filas y columnas de la pantalla).
UNIVERSIDAD DE MAGALLANES
42
4.1.2
Teoría de operación del controlador LCD
El controlador LCD, mostrado en la figura 4.4, recupera los datos de la
imagen desde frame buffer7, los formatos de los datos para el panel LCD, y los
escribe en el panel. El Controlador LCD genera también las señales de control
que habilitan el panel para mostrar los datos formateados.
Los datos de la imagen sin formato son almacenados en el frame buffer,
que pueden ser localizados en una memoria estática interna o externa o en la
SDRAM. El controlador LCD recupera los datos de la imagen sin formato desde
la frame buffer por medio de sus dos canales DMA y le da formato a los datos
de la imagen. El controlador, configura y ordena los datos de la imagen sin
formato, agregando bits al inicio y termino de cada trama, con el fin de dar el
formato requerido por WINCE.
Figura 4.4: Diagrama simplificado controlador LCD. Traducir lo máximo posible
(7) Memoria reservada para mantener temporalmente una imagen esperando ser enviada a la pantalla.
UNIVERSIDAD DE MAGALLANES
43
4.1.3
Selección de LCD
Dado que existe una gran variedad de pantallas compatibles con la tarjeta
de desarrollo LH7A404, se optó por utilizar una de las pantallas LCD
recomendadas por el fabricante de la tarjeta (ver tabla 4.7), con la ventaja de
que se pueden conectar directamente a la tarjeta y no se pierde el tiempo en el
diseño del circuito para realizar la interfaz entre ambos y además, de modificar
el software para reflejar el nuevo modo de la pantalla.
Tabla 4.7: Pantallas LCD compatibles con tarjeta LH7A404.
Para el desarrollo de este proyecto se utilizó la pantalla de 6,4”. El
inconveniente de ésta, es que no cuenta con el cable de 60 pines para ser
conectado directamente al conector LCD de la tarjeta de desarrollo, por lo que
se tuvo que soldar cada pin del conector de la pantalla para lograr el encendido
de ésta. En la tabla 4.13 se detalla los pines de entrada y salida del conector
LCD de la tarjeta.
UNIVERSIDAD DE MAGALLANES
44
Nº Pin
Nombre Señal
1
GND
2
3
Tipo
Descripción
Señales LCD
GND
Tierra
GND
NC
NC
Sin conexión
NC
5V
PWR
5V -Fuente de alimentación para LCD
4
3.3V
PWR
3.3V-Fuente de alimentación para LCD
3.3V
5
GND
GND
Tierra
GND
6
R0
I
Rojo 0 (bit menos significativo)
R0
7
R1
I
Rojo 1
R1
8
R2
I
Rojo 2
R2
5V
9
R3
I
Rojo 3
R3
10
GND
GND
Tierra
GND
11
R4
I
Rojo 4
R4
12
R5
I
Rojo 5 (bit más significativo)
R5
13
G0
I
Verde 0 (bit menos significativo)
G0
14
G1
I
Verde 1
G1
15
GND
GND
Tierra
GND
16
G2
I
Verde 2
G2
17
G3
I
Verde 3
G3
18
G4
I
Verde 4
G4
19
G5
I
Verde 5 (bit más significativo)
G5
20
GND
GND
Tierra
GND
21
B0
I
Azul 0 (bit menos significativo)
B0
22
B1
I
Azul 1
B1
23
B2
I
Azul 2
B2
24
B3
I
Azul 3
B3
25
GND
GND
Tierra
GND
26
B4
I
Azul 4
B4
27
B5
I
Azul 5 (bit más significativo)
B5
28
LCD_VSYNC
I
Señal de sincronización vertical
29
LCD_PWM
I
Ancho de pulso modulado de señal para uso con backlight
NO SE USA
30
LCD_HSYNC
I
Señal de sincronización horizontal
HSYNC
31
GND
GND
Tierra
GND
32
LCD_CLK
I
Datos de muestreo de la señal de reloj
DCLK
33
GND
GND
Tierra
GND
34
LCD_DON
I
Pantalla ON-uso típico para STN señal on/off
NO SE USA
35
LCD_MISP
I
TFT señal de habilitación
MDISP
36
LCD_VEEN
I
Vee(tensión más alto) permite el encendido del backlight
VEEEN
37
LCD_VDDEN
I
Vdd(Tensión del LCD) permite el encendido de la pantalla
VDDEN
38
GND
GND
Tierra
GND
39
GND
GND
Tierra
GND
40
LCD_CLK_RETURN O
NO SE USA
41
GND
GND
Usada en algunas pantallas HRTFT, señal de reloj enviada desde el
LCD al procesador/controlador LCD.
Tierra
42
GND
GND
Tierra
GND
43
LCD_CLS
I
ADTFT -Controlador de señal de reloj
NO SE USA
44
GND
I
Tierra
GND
45
GND
I
Tierra
GND
46
LCD_SPS
I
ADTFT-Controlador de señal de inicio
NO SE USA
47
LCD_PSAVE
I
ADTFT-ahorro de energía
NO SE USA
48
LCD_SPL
I
ADTFT-Pulso de inicio señal izquierda
NO SE USA
49
LCD_HRLP
I
ADTFT-Pulso de sincronización horizontal
NO SE USA
50
LCD_MOD
I
ADTFT- señal de control del dispositivo de entrada
51
LCD_REV
I
ADTFT-señal de control inversa
NO SE USA
52
GND
GND
Tierra
GND
53
3.3V
PWR
3.3V-Fuente de alimentación para LCD
3.3V
54
5V
PWR
5V -Fuente de alimentación para LCD
5V
55
NC
NC
Sin conexión
NC
56
GND
GND
Tierra
GND
57
TOUCH_RIGHT
O
Señal derecha de la pantalla táctil
RIGHT
58
TOUCH_BOTTOM
O
Señal inferior de la pantalla tactil
BOTTOM
59
TOUCH_LEFT
O
Señal izquierda de la pantalla táctil
LEFT
60
TOUCH_TOP
O
Señal superior de la pantalla tactil
TOP
VSYNC
GND
NO SE USA
Tabla 4.13: Descripción de pines de entrada/salida del conector LCD.
Este módulo es un tipo de pantalla de cristal líquido (LCD) de matriz activa
que utiliza la tecnología de los transistores (TFT) para mejorar su calidad de
imagen. Está compuesto de un panel TFT-LCD a color, circuito de control y
circuito de alimentación y luz de fondo. Gráficos y textos se pueden mostrar en
un panel de 640x3x480 puntos con 262.144 colores mediante el suministro de
una señal de 18 bit (6 bit por cada color rojo, verde y azul), además de 4
señales de sincronización, una fuente de alimentación de 5V DC para el panel
TFT-LCD y luz de fondo (backlight).
La tabla 4.8 muestra especificaciones técnicas de la pantalla VGA
640x4809.
(9) En el ANEXO C se muestran más especificaciones técnicas de la pantalla LQ64D343.
UNIVERSIDAD DE MAGALLANES
45
Parámetro
Especificaciones
Tamaño de la pantalla
Área vis ual
16 (6.4") diagonal
Unidad
cm
130.6 (H)x97 (V)
mm
640 (H)x480(V)
pixel
Resolución
(1 pixel = puntos Rojo+Verde +Azul)
Tamaño del pixel
0.204 (H)x0.202 (V)
Configuración del pixel
Linea ascendente Rojo, verde, azul
Modo pantalla
Normalmente blanco
mm
Tabla 4.8: Especificaciones técnica de la pantalla VGA 640x480.
La pantalla cuenta con un conector LCD formado por 31 pines o terminales
de entrada los cuales se describe en la tabla 4.9.
Nº Pin
Símbolo
Función
1
GND
Tierra
2
CK
Señal de reloj para el muestreo de cada señal de datos
3
Hsync
Señal sincrónica horizontal
4
Vsync
Señal sincrónica vertical
5
GND
Tierra
6
R0
Señal rojo (señal menos significativa)
7
R1
Rojo 1
8
R2
Rojo 2
9
R3
Rojo 3
10
R4
Rojo 4
11
R5
Rojo 5 (señal mas significativa)
12
GND
Tierra
13
G0
Señal verde (señal menos significativa)
14
G1
verde 1
15
G2
verde 2
16
G3
verde 3
17
G4
verde 4
18
G5
verde 5
19
GND
Tierra
20
B0
Señal azul (señal menos significativa)
21
B1
B1
22
B2
B2
23
B3
B3
24
B4
B4
25
B5
B5
26
GND
Tierra
27
ENAB
Señal para ajustar la posición horizontal de visualización
28
Vcc
Fuente de alimentación + 5V
29
Vcc
Fuente de alimentación + 5V
30
R/L
Modo de selección de señal horizontal
31
U/D
Modo de selección de señal vertical
Tabla 4.9: Descripción de pines del conector de la pantalla.
4.1.4
Conector LCD tarjeta de desarrollo
El conector LCD de la tarjeta cuenta con 60 pines localizados en el zócalo
denominado J11, las cuales conectan todas las señales de la pantalla
directamente desde el controlador LCD de la tarjeta de desarrollo. El capítulo II
muestra la ubicación de los pines del conector LCD, touch y luz de fondo en la
tarjeta y la figura 4.10 provee información de las señales de conexión.
UNIVERSIDAD DE MAGALLANES
46
Existen varias señales de alimentación y habilitación. La tabla 4.11
muestra este tipo de señales de la tarjeta de desarrollo.
Figura 4.10: Información señales de conexión.
UNIVERSIDAD DE MAGALLANES
47
Figura 4.11: Señales de alimentación y habilitación.
La visualización de señales debe ser adecuada para cualquier pantalla
ADTFT, TFT o STN, la tabla 4.12 muestra ejemplos de conexiones para cada
tipo.
Ejemplo de señales tipicas para pantallas TFT Señales tarjeta de desarrollo LH7A404
B0-B5
B0-B5
G0-G5
GO-G5
R0-R5
R0-R5
HSYNC
LCD_HSYNC
VSYNC
LCD_VSYNC
DCLK
LCD_DCLK
ENAB/DISP
LCD_MDISP
Ejemplos pantallas ADTFT/HRTFT
Señales tarjeta de desarrollo LH7A404
B0-B5
B0-B5
G0-G5
GO-G5
R0-R5
R0-R5
MOD
LCD_MOD
SPL
LCD_SPL
SPS
LCD_SPS
REV
LCD_REV
HRLP
LCD_HRLP
PSAVE
LCD_PSAVE
CLS
LCD_CLS
Ejemplo s eñales tipicas pantallas STN
DO-D15
Señales tarjeta de desarrollo LH7A404
B0-B5,GO-G5,R0-R5
FLM (FRAME)
LCD_SYNC
CL1 (LOAD)
LCD_HSYNC
CL2 (CP)
LCD_DCLK
M
LCD_MDISP
Tabla 4.12: Ejemplos de conexión para cada tipo de pantalla.
Las señales que aparecen en la tabla anterior son las más comunes que
se verán en la industria. Además, fabricantes de pantallas LCD pueden
designar diferentes nombres para las señales que se muestran en la tabla 4.12.
UNIVERSIDAD DE MAGALLANES
48
Para realizar la interfaz de la pantalla sólo se utilizaron las señales típicas para
pantallas TFT.
4.2 Integración de Pantalla personalizada usando LogicLoader
LogicLoader es capaz de integrar una pantalla personalizada con un
controlador específico para esta tarjeta de desarrollo.
La función modo de video personalizado es útil en varios escenarios como
por ejemplo, mostrar una pantalla de bienvenida con el logo de una compañía
mientras el sistema operativo se inicia; esto se puede lograr mediante la
adecuada configuración del controlador LCD.
Normalmente, el controlador LCD tiene varios registros que son
necesarios establecer para generar las señales de temporización adecuadas,
entre ellos están: DCLK, HSYNC, VSYNC, señales de datos, entre otros
dependiendo del tipo de pantalla a utilizar. LogicLoader no sólo permite escribir
en estos registros, sino que también guardar un modo de video personalizado
que pueda ser utilizado después de que se haya apagado.
Los pasos siguientes muestran cómo integrar la pantalla descrita en el
punto 4.1.5:
1 . - Crear el espacio de configuración en LogicLoader. El espacio de
configuración que se muestra inmediatamente después de LogicLoader es un
bloque de memoria Flash que se reserva para guardar información tales como
secuencia de comandos y modos de visualización.
losh> config CREATE
creating new config: offset 0x0 pos:0
total size: 0x40000, address 0x40000
copying block 262144 bytes from 0040000 to addr: c0056bd4
copying config 18300 bytes from c0052434 to addr: c0056bd4
dev_config burn good (262144 bytes)
UNIVERSIDAD DE MAGALLANES
49
2.- Inicializar uno de los modos de video actuales en LogicLoader. Una
lista de modos de ayuda pueden ser encontrados mediante el uso de este
comando: losh> help-video-init.
losh> video-init 8 16
video-init display: width: 240 height: 320 bpp: 16 disp:8
3.- Crear un nuevo modo para una pantalla personalizada. El nombre
debe ser breve ya que hay un límite de caracteres. En este ejemplo, “test” es el
nombre utilizado para el nuevo modo. Además, el ancho (640) y la altura (480)
están definidos en este ejemplo.
losh> config V test 640 480
located free video index 0
total size: 0x40000, address 0x40000
copying block 262144 bytes from 00040000 to addr: c0052588
copying config 100 bytes from c0052500 to addr: c00569e0
dev_config burn good (262144 bytes)
4.- Cerrar el modo de video recientemente abierto e inicializar el nuevo
modo de pantalla. El comando ‘video-init’ configurará todos los registros del
controlador LCD pero no habilita la pantalla.
losh> video-close
losh> video-init test 16
video-init display: width: 640 height: 480 bpp: 16 disp: test
5.- Ver los valores actuales que se establecen en los registros del
controlador LCD utilizando el comando ‘config v test’. Este comando muestra el
estado actual de los registros configurables del controlador LCD y los valores
guardados para el modo de video. A continuación se muestra un ejemplo del
controlador LCD interno del procesador LH7A404 de la tarjeta de desarrollo
LH7A404-11 de LOGIC.
losh> config v test
ali: 80001000 clcdc: 80003000
ali->setup : 0x00002ef0
ali->control : 0x00000000
ali->timing1 : 0x00000000
ali->timing2 : 0x00000000
clcdc->lcdtiming0 : 0x0e143c38
clcdc->lcdtiming1 : 0x075f013f
clcdc->lcdtiming2 : 0x00ef300e
UNIVERSIDAD DE MAGALLANES
50
clcdc->lcdtiming3 : 0x00000000
clcdc->lcdupbase : 0xc0200000
clcdc->lcdlpbase : 0x00000000
clcdc->lcdctrl
: 0x00010028
clcdc->lcdoverflow : 0x00000000
dev_config->screen[0]: test x: 640 y: 480
stored video regs: 00044458
ali->setup : 0x00002ef0
ali->control : 0x00000000
ali->timing1 : 0x00000000
ali->timing2 : 0x00000000
clcdc->lcdtiming0 : 0x0e143c38
clcdc->lcdtiming1 : 0x075f013f
clcdc->lcdtiming2 : 0x00ef300e
clcdc->lcdtiming3 : 0x00000000
clcdc->lcdupbase : 0xc0200000
clcdc->lcdlpbase : 0x00000000
clcdc->lcdctrl
: 0x00010028
clcdc->lcdoverflow : 0x0000000
6.- Determinar valores para los registros, y escribir las nuevas direcciones
de los registros. Para propósitos generales, sólo los registros que contienen
valores para sincronización horizontal, vertical, dot clock10, tipo de pantalla y
señales de polarización necesitan ser modificadas.
El siguiente ejemplo muestra el controlador LCD interno del procesador
LH7A404, que tiene registros de 32 bit.
Losh> w /w 0x80003000 0x59320f9c
Losh> w /w 0x80003004 0x0a5e1ddf
Losh> w /w 0x80003008 0x027f1802
7.- Encender la pantalla y mostrar una imagen de prueba en la pantalla
utilizando los siguientes comandos.
Losh> video-on
Losh> draw-test
El comando ‘draw-test’ muestra una imagen que se ajusta al ancho, alto y
bit por pixel del modo de video abierto. La imagen presentada en la figura 4.14,
divide la pantalla en cuatro filas horizontales. Las tres filas superiores contienen
tres barras de color rojo, verde y azul que contiene los gradientes de cada color
desde más oscuro a más claro. La fila inferior contiene tres cuadros con líneas
patrones blanco y negro.
(10) Es el dispositivo que determina la máxima resolución del pixel
UNIVERSIDAD DE MAGALLANES
51
Figura 4.10: Imagen de Prueba.
8.- Buscar cambios adicionales que necesitan hacerse en los valores de
los registros del controlador LCD. En este ejemplo, un cambio más es hecho al
registro de tiempo. Al momento de realizar las pruebas, pueden pasar varias
horas para establecer los registros para una pantalla personalizada.
Losh> w 0x80003004 0x1a5e1ddf
9.- Guardar los cambios en los registros.
losh> config V test 640 480
replacing screen: testlocated free video index 0.
total size: 0x40000, address 0x40000
copying block 262144 bytes from 00040000 to addr: c0052588
copying config 100 bytes from c0052500 to addr: c00569e0
dev_config burn good (262144 bytes)
10.- Asegúrese de que la pantalla viene con los datos guardados cuando
el sistema se apaga y enciende, esto se logra mediante el uso de los comandos
‘video-open test 16’ o ‘video-init test 16’; video-on’
losh> video-open test 16
video-open display: width: 640 height: 480 bpp: 16 disp: test
11.- Un modo para una pantalla personalizada ha sido agregada con éxito
a LogicLoader. Para probar el nuevo modo de video adicional, usar el comando
‘bitmap’ para cargar un archivo.bmp desde la tarjeta CompactFlash.
UNIVERSIDAD DE MAGALLANES
52
losh> video-open test 16
video-open display: width: 640 height: 480 bpp: 16 disp: test
losh> bitmap TEST.BMP
UNIVERSIDAD DE MAGALLANES
53
CAPÍTULO V
CREACION DE IMAGEN WINDOW CE 5.0
UNIVERSIDAD DE MAGALLANES
54
5
Creación de imagen Windows CE 5.0
Para la construcción de una imagen de Windows CE se requiere de
ciertos componentes de Logic y programas los cuales serán descritos en
este capítulo. Además se detalla paso a paso la creación de una imagen
en una plataforma de Windows.
5.1 Plataforma LoCE BSP
La LoCE BSP (Board support package) contiene todo el software
que proporciona Logic para manejar su hardware. Contiene una base de
código fuente común para todas las plataformas de hardware soportadas, y se
libera en un formato binario de varios componentes para cada tipo de CPU.
La Loce BSP contiene la OAL (OEM, capa de adaptación. Interfaz entre
Windows CE y la
tarjeta
de
desarrollo),
controladores
y
entorno
de
construcción para su uso con Microsoft Windows Embedded CE Platform
builder para crear imágenes personalizadas de Windows CE para una
plataforma de hardware de destino.
5.1.1
Componentes de LoCE BSP
Hay esencialmente tres tipos de componentes diferentes de la LoCE BSP
de Logic: Base BSP, kernel (núcleo) y controladores. Y se debe descargar la
última versión de cada uno desde la página de Logic, para ello se debe registrar
el kit de desarrollo y luego crear una cuenta de usuario. La figura 5.1 muestra
la página de Logic con las descargas disponibles.
UNIVERSIDAD DE MAGALLANES
55
BaseBSP
Esta es la infraestructura de la LoCE BSP. Crea la estructura de carpetas,
archivos y cabecera de éstos. Todos los archivos y controladores del núcleo son
instalados dentro de una estructura de carpetas, y dependen de él para
construir correctamente una imagen. La base BSP debe ser instalada antes
del núcleo y los componentes de los controladores.
Nomenclatura:
lpd_loce_bsp_<número_version>
Lugar de instalación:
x: \WINCE500\PLATFORM\LoCE
Núcleo:
El componente del núcleo es el OAL para el dispositivo específico.
Núcleo (Kernel)
Los componentes del núcleo son específicos para el microcontrolador
LH7a404.
Nomenclatura:
lpd_kernel_<nombre_cpu>_<ceversion>_<número_version>
Lugar de instalación:
x: \WINCE500\PLATFORM\LoCE\bin\lpd_kernels
Controladores
Cada componente del controlador es específico para un periférico
en una plataforma de hardware.
Nomenclatura:
lpd_<nombre_periférico/tipo>_< nombre_cpu >_< ceversion
>_<número_version>
Lugar de instalación:
x: \WINCE500\PLATFORM\LoCE\bin\lpd_drivers
UNIVERSIDAD DE MAGALLANES
56
Figura 5.1: Componentes LoCE BSP.
5.1.2
Instalación Programa Previos
Antes de comenzar la instalación de los componentes de la LoCE BSP
para la construcción de un sistema operativo personalizado, es necesaria
la instalación de programas previos en la estación de trabajo (PC).
PlatformBuilder (plataforma de construcción) Microsoft Windows CE5.0
Platform Builder es un entorno de desarrollo integrado (IDE) para la
creación de plataformas personalizadas basadas en el sistema operativo
Microsoft Windows CE.NET. Este programa viene con todas las herramientas
de desarrollo necesarias para que se puedan crear, construir, probar y depurar
una plataforma basada en Windows CE. El IDE proporciona un único espacio
de trabajo integrado en el que se puede trabajar en plataformas y proyectos.
UNIVERSIDAD DE MAGALLANES
57
Uno de los requisitos para trabajar con Windows CE 5.0 es la instalación
de Microsoft .NET framework11 versión 1.1. Posterior a ello se descarga
el archivo ejecutable de Windows CE, el cual puede ser descargado
directamente de la página de Microsoft. Una vez descargado el archivo
setup.exe comienza la instalación del programa Microsoft Windows CE 5.0
con platform builder.
5.1.3
Instalación de componentes LoCE BSP
Para la construcción de una imagen de un sistema operativo de
Windows Embedded CE, es necesario instalar como mínimo los componentes
de la LoCE BSP y los componentes del núcleo.
Los compontes de la LoCE BSP se liberan en formato binario como un
auto-ejecutable o en el formato de archivo .msi. De acuerdo a la figura 5.1
existen componentes
BSP “supported” y “unsupported” disponibles para ser
descargados. Para instalar los componentes LoCE BSP se deben seguir los
siguientes pasos, teniendo en cuenta que se debe instalar la última versión de
cada componente de la LoCE BSP:
-
Descargar e instalar la base de LoCE BSP lpd_loce_bsp_2_3_0
-
Descargar e instalar el componente del núcleo de LoCE WinCE para la
tarjeta de desarrollo LH7A404 lpd_kernel_a404_50_2_1_7_1.
-
Descargar e instalar los componentes de los controladores periféricos
para la tarjeta de desarrollo, mostrados en la figura 5.1.
La figura 5.2 muestra la estructura de carpetas de LoCE una vez que se
han instalado todos los componentes de la LoCE BSP.
(11) En el capítulo VIII se explica con mayor detalle.
UNIVERSIDAD DE MAGALLANES
58
Figura 5.2: Estructura de carpetas LoCE BSP.
5.2
Controladores y Componentes
Cuando un controlador Binario LoCE está instalado, el componente se
agrega automáticamente al catálogo de Platform Builder bajo la ruta “Third
Party/Device
Drivers/”
y
la
carpeta
de
controladores
en
“\LoCE\PLATFORM\bin\lpd_drivers\”.
Para los componentes binarios del núcleo, estos se encuentran
ubicados
en
“Third
Party/LoCE
Platform
Support/kernels”
y
“\LoCE\PLATFORM\bin\lpd_kernels\” respectivamente.
UNIVERSIDAD DE MAGALLANES
59
5.2.1
Archivos binarios de controladores de LoCE
La figura 5.3 muestra una estructura básica de una carpeta de
controladores binarios de LoCE. La carpeta “bin” contiene los archivos .dll
reales que se añaden cuando se está construyendo la imagen. (Nota: esto se
realiza automáticamente).
Figura 5.3: Ejemplo contenido carpeta de controlador binario.
Existen dos archivos importantes que se deben tomar en cuenta al utilizar
el controlador. El primero es el archivo “readme.txt” que contiene notas de la
versión, una descripción de
las
novedades
de
la
versión,
problemas
conocidos, historia del controlador y notas sobre su uso.
El segundo archivo importante es el archivo .reg. Este contiene todos los
valores configurables para un controlador que está siendo usado para
cargar éste (ejemplo: posiciones de memoria, números del puerto COM,
tamaño de memoria).
UNIVERSIDAD DE MAGALLANES
60
5.2.2
Añadir Componentes en Platform Builder
Para usar un controlador o un componente del núcleo en un nuevo
proyecto de Platform Builder, se debe hacer un clic derecho en el componente
y hacer un clic en “Add to OS Design”. Si un componente no fue compilado
para el tipo de procesador del proyecto, éste se mostrará en color gris. La
figura 5.4 muestr a el catálogo de Platform Builder para agregar los
componentes en la estación de trabajo.
Figura 5.4: Agregar componentes a la estación de trabajo de Platform Builder.
UNIVERSIDAD DE MAGALLANES
61
5.3 Creación de Imagen WinCE usando LoCE BSP
El comportamiento de la LoCE BSP es la construcción de imágenes
Windows Embedded CE que está vinculada para ser descargada y ejecutada
directamente desde la memoria RAM del kit de desarrollo LH7A404. También
se pueden crear imágenes que se puedan descargar, almacenar y ejecutar
desde la memoria flash del kit de desarrollo.
5.3.1
Construyendo una Imagen
Una vez que se ha instalado la LoCE Base, el núcleo y los
controladores para cada periférico, una nueva plataforma puede ser creada en
Platform Builder.
En los siguientes pasos se construirá una imagen simple de RAM que
incluirá varios controladores básicos y soporte para estos controladores.
1. Utilice el asistente para una nueva plataforma en Platform Builder.
Para comenzar se debe ir a “File->New Platform”, esta nueva plataforma debe
ser guardada con un nombre. En la siguiente figura 5.5 se ilustra la
nueva plataforma.
Figura 5.5: Asistente para configuración de nueva plataforma Platform Builder.
2. En este paso se elige la BSP correspondiente a la tarjeta de
desarrollo utilizada.
UNIVERSIDAD DE MAGALLANES
62
LoCE BSP comienza con “LoCE” seguido por el tipo de procesador, que
para este caso es LOCE ARMV4I BSP. La figura 5.6 muestra la BSP
seleccionada.
Figura 5.6: Asistente de plataforma para elección de BSP.
3. Platform Builder ofrece varias planillas de diseño que ayudan a
elegir configuraciones predeterminadas. Para este caso en “Custom Device”
no se debe elegir ninguno de los componentes predeterminados. Los pasos
siguientes permiten añadir componentes específicos para la plataforma
predeterminada. Estos pasos se muestran en la figura 5.7.
UNIVERSIDAD DE MAGALLANES
63
Figura 5.7 a: Pasos para configuración en el asistente de Platform.
UNIVERSIDAD DE MAGALLANES
64
Figura 5.7 b: Pasos para configuración en el asistente de Platform.
4. En este punto, el catálogo debería ser similar al siguiente diagrama
mostrado en la figura 5.8. Aún no han sido añadidos los controladores ni el
núcleo.
UNIVERSIDAD DE MAGALLANES
65
Figura 5.8: Ejemplo de catálogo.
5. En la figura 5.9 se muestra que se han añadido los controladores de
la pantalla, touch, audio, USB host, las funciones de USB, los controladores
de memoria CompactFlash y finalmente el núcleo (kernel).
UNIVERSIDAD DE MAGALLANES
66
Figura 5.9: Añadiendo controladores.
6. El área de trabajo de Platform Builder debe ser similar al siguiente
diagrama mostrado en la figura 5.10.
UNIVERSIDAD DE MAGALLANES
67
Figura 5.10: Vista del área de trabajo de Platform Builder.
7. En éste punto el proyecto puede ser construido dirigiéndose
a
“Build OS- >Sysgen”. Un nuevo proyecto se construye, el cual puede tomar
varios minutos.
8. Cuando Platform Builder ha completado la construcción, las ventanas
de salida deberían mostrar que hubo “0 errors”. La imagen NK.bin
ya esta
lista en la tarjeta de desarrollo. La figura 5.11 muestra la ventana de
compilación de la imagen en el Platform Builder.
UNIVERSIDAD DE MAGALLANES
68
Figura 5.11: Ventana de salida en Platform Builder (Completada).
UNIVERSIDAD DE MAGALLANES
69
CAPÍTULO VI
INSTALACION DE ROM
UNIVERSIDAD DE MAGALLANES
70
6.1 Introducción
Este capítulo ejemplifica como cargar una imagen de Windows CE 5.0
(ROM) en nuestro KIT de desarrollo.
Los componentes requeridos para lograr la instalación son:
-
Microsoft
eMbedded Visual
http://www.microsoft.com/downloads/
C++,
descargable desde
-
Tera Term Pro descargable desde la página de www.logicpd.com/auth
-
Imagen de Windows Mobile 5.0 ROM.
-
Tarjeta de memoria CompactFlash con una capacidad mínima de 32
Mb.
-
ActiveSync
4.5
descargable desde
www.microsoft.com/windowsmobile/download
La página de LogicPD permite descargar una ROM de muestra,
denominada NK.BIN, ésta es usada como primer paso para probar que el Kit
funciona, y opera correctamente la ROM.
Posteriormente se ejecuta el mismo proceso para cargar la ROM
personalizada creada en el capítulo anterior.
6.2 Medios de descarga de ROM usando LogicLoader.
LogicLoader
permite
descarga la ROM al Kit de desarrollo de las
siguientes formas:
-
RED (Ethernet)
Puerto serial
-
Tarjeta CompactFlash
6.2.1
Descarga de ROM por Ethernet.
UNIVERSIDAD DE MAGALLANES
71
1. Desde el símbolo de sistema de LogicLoader se debe iniciar la
conexión de RED del kit de desarrollo, la configuración se realiza con
protocolo DHCP (Dynamic Host Configuration Protocol) que configura
automáticamente la red asignando arbitrariamente una dirección IP, tal como
en la figura 6.1.
losh> ifconfig sm0 dhcp
Figura 6.1: Conexión de LAN con LogicLoader.
Para verificar que se le ha asignado una dirección IP al Kit de desarrollo,
se utiliza el mismo comando anterior sin parámetros, como indica la figura 6.2.
losh> ifconfig
2. Iniciamos la descarga usando el comando bootme &, este conecta el
PC con el dispositivo mediante el Plataforma Builder y se agrega el “&”, para
que el LogicLoader pueda seguir trabajando en segundo plano, este comando
asigna un nombre al Kit de desarrollo y lo muestra en la pantalla del
LogicLoader, tal como en la figura 6.2.
UNIVERSIDAD DE MAGALLANES
72
Figura 6.2: Verificación de dirección IP e inicio de Bootme.
3. Ya en el Plataforma Builder, elegimos la opción “target” seguido
de “connectivity option”, seleccionando “Ethernet” para “download” y
“transport”, ver figura 6.3.
En “settings” se configura el dispositivo, para esto el nombre debe
coincidir con el entregado por el bootme & en el paso anterior, aceptamos y
aplicamos los cambios, ver figura 6.4.
UNIVERSIDAD DE MAGALLANES
73
Figura 6.3: Ventana para configurar conexión en plataforma builder.
UNIVERSIDAD DE MAGALLANES
74
Figura 6.4: Selección del dispositivo en plataforma builder.
4. Ahora para copiar la ROM al dispositivo seleccionamos “target”
seguido de “attach device” en LogicLoader, ver figura 6.5.
Plataforma Builder espera a recibir un paquete de prueba desde el
dispositivo y luego empieza la descarga lo cual podría demorar varios
segundos.
UNIVERSIDAD DE MAGALLANES
75
Figura 6.5: Interface para empezar a transmitir la ROM desde plataforma builder.
5. Finalmente con la ROM descargada en el dispositivo, el LogicLoader
realiza un “Checksum12 ”, para verificar que la operación se realizó de forma
correcta, y la copia de la imagen a la RAM fue exitosa, ver figura 6.6, Si éste
fuese el caso LogicLoader debería mostrar lo siguiente.
Checksums good. BOOTME: Loaded
BOOTME: Got jump command losh>
( 12) Checksum: es una prueba para proteger la identidad de los datos, se realiza una suma y el valor se
almacena, luego se compara con la suma del dato recibido si los valores son iguales la comprobación
es correcta.
UNIVERSIDAD DE MAGALLANES
76
Figura 6.6: Verificación del cargado de la ROM a la RAM del dispositivo.
6.2.2
Descarga de ROM por puerto Serie.
a) Se configura la puerta serie tal como se ilustra en el capítulo III, a
través del Tera Term Pro. Luego utilizamos el comando “load” en el
LogicLoader con el parámetro BIN, que es la extensión de la ROM que
cargaremos a la RAM del dispositivo, y éste queda a la espera del archivo,
igual que en figura 6.7.
losh> load bin
UNIVERSIDAD DE MAGALLANES
77
Figura 6.7: LogicLoader a la espera del archivo para empezar a transmitir.
b) Usando el comando “File” seguido de “Send File” en el Tera
Term, seleccionamos la capeta contenedora de la ROM que deseamos
descargar al Kit de desarrollo, y abrimos el archivo NK.BIN, ver figuras 6.8 y
6.9.
Figura 6.8: Opción de enviar archivos mediante Tera Term y LogicLoader.
UNIVERSIDAD DE MAGALLANES
78
Figura 6.9: Selección de la imagen mediante Tera Term y LogicLoader.
c)
Si
los
pasos
anteriores
fueron
bien
realizados,
entonces
LogicLoader realiza un “Checksum” para verificar que la descarga se realizó
de forma correcta, figura 6.10.
Figura 6.10: Verificación del cargado de la ROM a la RAM del dispositivo.
UNIVERSIDAD DE MAGALLANES
79
6.2.3
Descarga de ROM por CompactFlash.
a) Como primer paso conectamos la memoria CompactFlash en un
multilector de tarjetas, que conectamos al PC, para dar formato con sistema
de archivos FAT32.
b) Posteriormente buscamos la ruta de la ROM “NK.BIN”, que
deseamos descargar en el dispositivo, y la copiamos directamente en la
memoria CompactFlash.
c) Retiramos la memoria CompactFlash del lector de tarjetas y la
conectamos al dispositivo de desarrollo.
d)
Encendemos el dispositivo, abrimos el terminal Tera Term, y
montamos la CompactFlash utilizando el comando “mount” en LogicLoader,
donde especificamos
el
tipo
de
sistemas
de
archivos
FAFTS para
sistemas integrados, y la ruta de la memoria CompactFlash, ver figura 6.11.
losh>mount fafst /cf
Figura 6.11: Montaje de la tarjeta CompactFlash con LogicLoader.
e) Verificamos
utilizando
la
existencia
del
NK.BIN
en
la
CompactFlash
el comando “cd” (que cambia el directorio de trabajo por el
deseado) y “ls” (comando que muestra los archivos y carpetas del directorio
UNIVERSIDAD DE MAGALLANES
80
actual), como en la imagen 6.12.
losh>cd /cf losh>ls
Figura 6.12: Verificación del archivo NK.BIN.
f) Cargamos la ROM desde la tarjeta CompactFlash a la memoria
RAM del dispositivo utilizando el comando “load” en LogicLoader.
losh> load bin /cf/NK.BIN
g)
Si
los
pasos
anteriores
fueron
bien
realizados,
entonces
LogicLoader realiza un “Checksum” para verificar que la descarga se realizó
de forma correcta, ver figura 6.13.
UNIVERSIDAD DE MAGALLANES
81
Figura 6.13: Verificación del cargado de la ROM a la RAM del dispositivo
6.3 Arranque de imagen o ROM con LogicLoader.
En esta sección se mostraró como arrancar la imagen de Windows
Mobile desde la memoria RAM del sistema de desarrollo.
En el entendido que la ROM de Windows esta copiada en la memoria
RAM del sistema de desarrollo, de acuerdo a los pasos anteriores, utilizamos
el comando “exec” (explicado en el capítulo III) en LogicLoader, para arrancar
la imagen.
Partiremos mostrando los parámetros que pueden ser agregados a este
comando como se muestra en la tabla 6.1, para luego utilizar éstos en la
LogicLoader y lograr que la imagen parta en el sistema.
UNIVERSIDAD DE MAGALLANES
82
Parámetro
Establecimiento
Ejemplo
Tipo
Resumen
share_eth
1 / 0 / [no set]
share_eth:1:
I
Habilitado VMINI con KITL
KITL
true / false / [not set]
kitl:true:
I
Habilitado KITL depurador LAN
ip_addr
xxxx.yyyy.xxx.yyy / [not set]
ip_addr:192.168.0.154:
I
Configuración manual de dirección IP modo
depurador
clean_syshive
1 / [not set]
clen_syshive:1:
I
Fuerza la limpieza del registro de sistema de
arranque
clean_usrhive
1 / [not set]
clen_urshive:1:
I
Fuerza la limpieza del registro de usuario de
arranque
dbg_serial
{name} / null / [not set]
dbg_serial:a400_UART:
P
Modo depuración puerto serial
dbg_enet
{name} / null / [not set]
dbg_enet:91C111:
P
Modo depuración LAN
dbg_enet_base
0xxxxxyyyy / [not set]
dbg_enet_base:0x70000000:
P
Depuración de LAN con controlador de dirección
física
dbg_enet_irq
0xxxxxyyyy / [not set]
dbg_enet_irq:0x0000001A:
P
Depuración de LAN con controlador de
interrupción
rtc
{name} / rtc_null / [not set]
rtc:rtc_a400_int:
P
Interface RTC
disp_num
x / [not set]
disp_num:5:
D
Controlador de pantalla LCD modo reemplazo
skiplcdcinit
x / [not set]
skiplcdcinit:1:
D
Inicialización de pantalla LCD modo reemplazo
Tabla 6.1: Parámetros de arranque.
Para iniciar el proceso de carga de la imagen a la memoria RAM del
sistema, se debe utilizar el comando “exec” con los parámetros adecuados
como son: tipo de interface del microprocesador, tipo de controlador de
pantalla y en este caso depuración LAN (aunque no fue utilizada), la línea de
comando es:
losh>exec rtc:rtc_a404_int:dbg_serial:A404_UART:disp_num:5
Con esta instrucción obtenemos la siguiente pantalla en el Tera Term y la
anhelada pantalla de Windows Mobile en nuestro dispositivo.
UNIVERSIDAD DE MAGALLANES
83
Figura 6.14: Visualización del comando “exec” ejecutado y como resultado la figura
6.15.
Figura 6.15: Imagen de Windows Mobile 5.0 copiada y corriendo correctamente en el
dispositivo.
UNIVERSIDAD DE MAGALLANES
84
CAPÍTULO VII
AUTOEJECUCIÓN DE APLICACIÓN EN
WINDOWS MOBILE
UNIVERSIDAD DE MAGALLANES
85
7.1 Objetivo
Luego de lograr la instalación de Windows Mobile en el sistema
desarrollo Logic, uno de los objetivos era lograr auto inicializar una aplicación
sin necesidad de esperar a abrirla desde Windows.
Esto lamentablemente no se pudo ejecutar con el sistema señalado ya
que sufrió una falla eléctrica provocada por la conexión inversa en los
terminales de alimentación, quedando completamente inutilizada, en vista de
esta complicación y considerando los elevados costos y tiempo que lleva la
importación de un nuevo kit, es que se optó por la adquisición de otro sistema
de desarrollo con características similares, pero que se puede encontrar en el
mercado local y a un valor relativamente normal. El sistema seleccionado y
adquirido fue una HP Ipaq Hx 4700, y será el dispositivo utilizado para auto
ejecutar una aplicación.
7.2 ¿Qué es Windows Mobile?
Tal como su nombre lo señala Windows Mobile, está diseñado para
dispositivos móviles con alta autonomía, esto es típico de ver en
handheld (dispositivos móviles industriales o de alta exigencia), también en la
actualidad un simple celular tiene la posibilidad de contar con un sistema
operativo de este tipo.
Windows Mobile, tiene sentido en el ámbito señalado ya que consume
menos recursos que un sistema operativo de Workstation o pc de escritorio,
esto debido a que
ambientes
la
cantidad
de
visuales y resolución son
instrucciones son
menores, los
menos exigentes, la capacidad de
almacenaje es menor y el sistema de archivos se basa en fat32 que es la
partición básica en la actualidad, todo esto implica hardware más básico y de
menor tamaño con bajo consumo eléctrico, siendo capaz de lograr una
elevada autonomía con una simple batería de litio ion.
UNIVERSIDAD DE MAGALLANES
86
7.3 Historia de Windows Mobile.
Un poco de historia, Windows Mobile apareció en sus inicios con el
nombre de Pocket PC (computador de bolsillo), esto como una ramificación
del desarrollo de Windows CE, el primero de sus desarrollos dados a conocer
fue el Pocket Pc 2002 utilizando Windows CE 3.0 para dispositivos móviles
de bolsillo con resolución máxima de 320x240 pixeles, y dejando abierta la
licencia para que se pudieran desarrollar las ROM con Shared Source (código
fuente abierto).
Posteriormente en junio de 2003 apareció el Windows CE 4.02 o también
conocido como Windows Mobile 2003, este aparentemente era muy parecido a
su antecesor pero con la diferencia que se podía aplicar también a teléfonos
móviles los cuales no contaban con pantalla táctil solo teclado y resolución de
pantalla más baja.
En marzo de 2004 aparece la versión mejorada del Windows Mobile
2003 el Windows Mobile 2003SE (Windows CE 4.21.111), este poseía más
más aplicaciones de redes, teniendo la posibilidad de contar con sistema de
comunicación WIFI, en Internet Explorer se podía desplazar verticalmente por
la pantalla, resoluciones de hasta 640 x 480 pixeles, y la opción de cambiar la
orientación de la pantalla de forma manual.
El 9 de mayo de 2005 aparece el Windows Mobile 5.0 que utiliza
la estructura de conceptos, prácticas y criterios del .NET framework, incorpora
adicionalmente una versión de office Mobile, reproductor multimedia
“Windows media 10 Mobile”, interfaz de administración GPS (Gound Position
Satelital), soporte para teclados completos QWERTY, acceso telefónico a
redes locales e internet, utiliza memoria ROM para almacenar el programa
principal aumentando de esta forma la autonomía y utilización de ActiveSync
para la sincronización de datos con el PC de escritorio.
Para febrero de 2007 se anunció la creación de Windows Mobile 6.0 o
Windows Mobile 5.2, este sistema ya soporta resoluciones de 800x480,
acceso a escritorio remoto, llamadas mediante VoIP, gran mejora en conexión
UNIVERSIDAD DE MAGALLANES
87
Bluetooth consiguiendo sincronización por este medio con el PC de escritorio,
soporte para Java Script, entre otras mejoras visuales importantes.
Así para el 11 de mayo de 2009 se presentó el Windows Mobile 6.5, el
cual presenta mejoras importantes en la visualización y el rendimiento
comparativamente con su antecesor.
Finalmente, el Windows Phone 7 salió al mercado el 15 de febrero de
2010, y con solo leer el nombre del sistema queda claro cuál es el camino que
seguirá en el futuro, un sistema operativo de bajo consumo de recursos
especialmente diseñado para telefonía móvil, ejemplos de estos equipos
móviles que utilizan este sistema son: LG optimus 7, HTC HD7 y Samsung
Omnia 7.
Ahora en cuanto a los recursos que Windows Mobile nos puede entregar,
no sólo es un celular con muchas prestaciones, sino que una plataforma de
desarrollo de bajo costo con alta cantidad de aplicaciones y capacidad
de comunicación por variados medio como son RS-232, USB, Bluetooth,
WI-FI, VoIP, entre otras, las cuales en combinación con programas de
adquisición de datos como por ejemplo Labview, pueden lograr, que un
sencillo microprocesador y un versátil software como Windows Mobile se
conviertan en un sistema integral para desarrollar aplicaciones de alto nivel de
complejidad en el ámbito de la ingeniería.
7.4 Aplicaciones
Mobile.
y
archivos
ejecutables
Windows
Como el código fuente de Windows Mobile es basado en .NET
framework, y una vez adquirido puede ser desarrollado libremente sin informar
a Microsoft, se han desarrollado un sinnúmero de aplicaciones y programas
para trabajar bajo este sistema operativo, de esta forma empresas dedicadas
al desarrollo y programación de software como personas naturales han
logrado aplicaciones de todo tipo, desde juegos hasta ediciones de la ROM
para distintos dispositivos que utilizan en este programa base.
UNIVERSIDAD DE MAGALLANES
88
En efecto, se pueden presentar muchas aplicaciones y desarrollos pero
que no viene al caso detallar, solo nos enfocaremos en hacer un análisis de
los tipos de archivos ejecutables bajo la plataforma que nos convoca.
Archivos *.CAB, formato de compresión de archivos utilizado por
Microsoft para compilar archivos en formato reducido, la ventaja de este tipo
de archivos es que se pueden instalar directamente de la memoria interna o
externa del dispositivo.
Archivos *.EXE o *.MSI, es un tipo de archivos autoejecutables, pero
que solo se puede utilizar en las últimas versiones de Windows Mobile, ya que
en las primeras versiones, este tipo de archivo no es soportado y se deben
instalar mediante el ActiveSync (Software de sincronización con el PC de
escritorio.
7.5 Ipaq Hx4700
El sistema HP Ipaq Hx4700 mostrada
en
la
figura
7.3,
tiene
características que la hacen una plataforma ideal para trabajar, por contar
con variados tipos de comunicación los cuales se señalan en la tabla 7.1 con
el detalle técnico de la Ipaq.
El sistema operativo que la Ipaq trae por defecto no sirve para
ejecutar archivos *.EXE, por lo cual se debió cambiar la ROM de
Windows a una más actualizada quedando finalmente con Windows Mobile
6.5, el proceso de actualización de ROM se detalla en el punto 7.6.
UNIVERSIDAD DE MAGALLANES
89
Figura 7.3: Hp Ipaq Hx4700 con Windows Mobile 6.5.
Procesador
Procesador
Intel XScale PXA270 624 MHz
Memoria
ROM
128 MB – Flash
Memoria RAM
Tarjetas de memoria flash soportadas
64 MB – SDRAM
SD Memory Card
Display
Tipo de pantalla
4" matriz activa TFT – transflectivo
Imagen
16 bits (64K colores)
Resolución de pantalla
480 x 640
Audio
Capacidad de grabar la voz
Sí
Audio salida
Formatos de audio digital admitidos
Altavoces
MP3
Audio entrada
Micrófono
Telecom
Conectividad Inalámbrica
IrDA, Bluetooth, IEEE 802.11b
Expansión / Conectividad
Total ranuras de expansión (libres)
1 Tarjeta CompactFlash - tipo II
Interfaces
1 Tarjeta de memoria SD
1 x auriculares - salida - mini-conexión telefónica estéreo 3,5 mm
1 x USB
Dispositivo(s) de conectividad
Soporte de conexión
Dispositivo de entrada
Tipo
Pantalla sensible al tacto, touchpad, lápiz
Alimentación
Dispositivo de alimentación
Adaptador de corriente
Voltaje necesario
CA 120/230 V ( 50/60 Hz )
Batería
Cantidad instalada (máximo soportado)
1 (instalados) / 1 (máx.) Tecnología / Factor de forma Ion de litio
Sistemas operativos / Software
OS proporcionado
Microsoft Windows Mobile para Pocket PC 2003 Second Edition
Tabla 7.1: características técnicas de Hp Ipaq Hx 4700.
UNIVERSIDAD DE MAGALLANES
90
7.6 Actualización ROM Ipaq.
Tal como se indicaba anteriormente, la ROM de Windows que la Ipaq
trae por defecto no hace posible la auto ejecución de archivos *.EXE, por lo
cual se debe actualizar, esto, en el entendido que el objetivo de este capítulo
es auto iniciar una aplicación en el sistema de desarrollo.
Para lograr el upgrade de ROM, internet entrega una serie de
posibilidades muy simples y básicas de utilizar, para esta ocasión se utilizó la
ROM e instrucciones de la siguiente página: www.spiaatie.com.
El archivo readme.txt ilustra el proceso de actualización, este se puede
ver en la figura 7.4, siguiendo los pasos señalados se logra luego de algunos
minutos, un sistema Ipaq con Windows Mobile 6.5.
…:::hp iPAQ hx4700 WM6.5 Actualización de ROM por Spiaatie:::…
*Carpeta Update_SP_Roadster_v1_c_ENG en directorio- C:\ o D:\ ect.
* Ejemplo – C:\Update_SP_Roadster_v1_C_ENG
…:::Windows 2k / XP / Vista – Procedimiento de Actualización:::…
* Poner la iPAQ en modo BootLoader.
*Pulse los siguientes botones para entrar en bootloader: Contactos + iTask + Reset!
* Conectar el cable USB en la cuna.
* Ejecutar UPDATE_TOOL.exe u seleccionar spiaatie_wm65_hx4700.nb0
* La ROM se debe actualizar ahora.
…:::Windows 7 – Procedimiento de Actualización:::…
*Abrir la carpeta ROM, buscar Vista_Drivers.exe.
*Hacer Click derecho e ir a propiedades, seleccionamos compatibilidad con Windows Vista – OK.
* Ejecutar Vista_Drivers.exe – Los nuevos controladores USB se instalaran.
* Poner la iPAQ en modo BootLoader y conectar al PC.
* Ejecutar UPDATE_TOOL.exe u seleccionar spiaatie_wm65_hx4700.nb0
* La ROM se debe actualizar ahora.
…:::RESET PROFUNDO:::…
Luego de realizada la actualización hacer 2 (dos) RESET PROFUNDO: Contactos + Mensajes + Reset
con el lápiz
…:::Información Libre:::…
…:::CE OS 5.2.5.2.21905 (Build 21905.0.92):::…
…:::Versión: WM6.5. SPv1 C ENG:::…
…:::www.spiaatie.com:::…
…:::10/07/2010:::…
Figura 7.4: Readme actualización de ROM Ipaq HX4700.
UNIVERSIDAD DE MAGALLANES
91
7.7 Auto ejecución de aplicación.
El archivo utilizado para generar la auto-aplicación se denomina
maritima2.exe y muestra una ruta de navegación extraída de Google
Earth.
En Internet se pueden encontrar variadas formas para auto ejecutar una
aplicación en Windows Mobile, pero son para casos puntuales, ya sea de
ejecutar dos sistemas operativos, o bien con programas que permiten generar
una edición del boot (proceso donde se carga la configuración inicial de
arranque del sistema), desafortunadamente estas formas de auto ejecución no
eran aplicables en este caso. En vista de lo anterior, una idea era editar el
archivo autoexec.bat (el primer archivo que se ejecuta al iniciar un programa
basado en Disk Operating System DOS), este archivo no puede ser
encontrado en Windows Mobile y el equivalente es welcome.exe ubicado en el
directorio Windows.
Este archivo se copia al PC por medio de ActiveSync y se edita para
luego copiar nuevamente en el directorio Windows de la Ipaq, éste
proceso se puede describir de la siguiente forma:
1. Copiar welcome.exe al PC (figura 7.5).
2. Editar welcome.exe con block de notas en el PC, modificando el archivo
que llama al inicio de cada reinicio por marítima.exe (figura 7.6).
3. Copiar el archivo welcome.exe modificado al directorio Windows en la Ipaq.
4. Copiar el archivo marítima2.exe al directorio Windows en la Ipaq.
5. Resetear la Ipaq.
6. El archivo marítima2.exe se auto ejecuta sin necesidad de abrirlo
desde Windows (figura 7.7).
La ventaja de lograr la auto ejecución de esta forma, es tener la
posibilidad de contar con Windows cuando se requiera. Las desventajas son,
UNIVERSIDAD DE MAGALLANES
92
equivocarse en la edición del archivo welcome.exe que podría dejar inutilizable
el sistema, y que una vez cerrada la aplicación se debe resetear el dispositivo o
abrir manualmente desde la ruta con el administrador de archivos.
Figura 7.5: Copiar archivo welcome.exe al escritorio del PC.
Figura 7.6: edición de archivo welcome.exe, en azul la modificación.
UNIVERSIDAD DE MAGALLANES
93
Figura 7.6: Auto ejecución de la aplicación maritima2.exe
UNIVERSIDAD DE MAGALLANES
94
CAPÍTULO VIII
CONCLUSIONES
UNIVERSIDAD DE MAGALLANES
95
8.1 Resultados Obtenidos
Los resultados obtenidos del presente trabajo de titulación fueron, la
puesta en marcha tanto de hardware como de software de un sistema de
desarrollo de bajo costo y altas prestaciones como es el LH7A404-11, la auto
ejecución de una aplicación bajo el ambiente de Windows Mobile 6.5 utilizando
un sistema de desarrollo IPAQ HX4700.
Para lograr esto se fueron presentado varios objetivos específicos a lo
largo de la investigación, dentro de ellos destacan: el funcionamiento del
controlador LCD inmerso en el kit de desarrollo para incorporar una pantalla
compatible, y la adaptación de la misma con altos niveles de integración, la
importación de productos que no se encuentran en el mercado nacional, la
comunicación internacional con LOGICPDTM para adquirir controladores que no
se podían descargar con la cuenta existente, la creación de una imagen
personalizada de Windows CE 5.0 y utilización de lenguaje de comunicación
LogicLoader.
8.2 Comprobación
La hipótesis de lograr un sistema de desarrollo de bajo costo, altas
prestaciones
y
tamaño
reducido,
es
comprobable
ya
que
la
parte
correspondiente a la operación tanto de hardware y software, fue realizada
exitosamente.
8.3
Conclusión General
Se desprende, que existen sistemas de desarrollo de bajo costo con una
amplia gama de aplicaciones en la industria, medicina, entre otros. Capaces de
operar a distancia por Internet, con elevados niveles de autonomía, gran
UNIVERSIDAD DE MAGALLANES
96
capacidad de procesamiento y utilizando software de libre desarrollo.
8.4 Aportes
El principal aporte establecido es la posibilidad de crear sistemas de
desarrollo a bajo costo, con sistemas no automatizados, utilizando como
microprocesador el LH7A404, el cual es capaz de administrar y controlar una
serie de periféricos como: pantalla LCD, TouchScreen, USB de entrada y
salida, comunicación serial, micrófono, auriculares, Ethernet, almacenamiento
mediante tarjetas de memoria y comunicación infrarroja.
UNIVERSIDAD DE MAGALLANES
97
GLOSARIO
DEFINICIONES
UNIVERSIDAD DE MAGALLANES
98
Glosario de definiciones:
ADTFT
Advance TFT, tipo de pantallas de alto contraste, pantalla LCD visible
en ambientes con mucha luz (luz solar) y en condiciones de poca luz.
Además, permite el funcionamiento en entornos de alta vibración debido
a que contiene un sistema de interfaz eléctrica robusta.
AHB
Advanced High – Performance Bus, definida según la especificación
AMBA, el AHB conecta los bloques de alto desempeño como el núcleo
ARM922T, SMC, SDMC, memoria SDRAM, CLCDC, HRTFTLCDTC y el
controlador DMA, el AHB soporta la transferencia en forma de ráfaga y
dividida, y la sincronización es referenciada a un reloj externo.
ALI
Advanced LCD Interface, este permite la conexión directa a los
controladores de filas y columnas en las pantallas super ligeras que no
incorporan ASIC de tipos separados.
AMBA
Advanced Microcontroller Bus Architecture, es una específicación
utilizada como BUS on-chip, para procesadores ARM, introducida en el
año 1996.
APB
Advanced Peripheral Bus, definido según la especificación AMBA, éste
conecta los bloques periféricos de bajo rendimiento, en este caso
conecta el RTC, WDT, Los Timers, GPIO, SSP, BMI, UARTS, USB
interface, MMC, Audio Codec, AC97, SCI, DC-DC interface y el
controlador de interrupciones, el APB se conecta al AHB mediante el
puente de APB.
ARM
Advanced RISC Machine, es una familia de microprocesadores
basada en tecnología RISC diseñados por Acorn Computers y
desarrollada por Advanced RISC Machine Ltd.
BIG-ENDIAN
La parte más importante de los datos es almacenada en la dirección
más baja de almacenamiento, para ser enviada y recibida en primer
lugar.
BMI
Battery Monitor Interface,
especializada para las baterías.
Interface
de
comunicación
serial
BUFFER
Es una ubicación de memoria reservada para el almacenamiento
temporal de información, mientras espera a ser procesada.
UNIVERSIDAD DE MAGALLANES
99
BUS
Es un sistema digital que transfiere datos entre los distintos
componentes de un computador, está formado por cables o pistas en un
circuito impreso.
CHECKSUM
Es una suma de verificación, consiste en sumar cada uno de los bits,
almacenando el resultado, el cual es posteriormente verificado por el
receptor de los datos. Si ambas sumas concuerdan, el dato fue enviado
correctamente.
CLCDC
Color Liquid Crystal Display Controller, este controlador proporciona
todas las señales de control y datos para la interface entre el LH7A404 y
una variedad de pantallas LCD color y monocromáticas.
CPLD
Complex Programable Logic Device, es un dispositivo de
programación lógica cuya interconexión o funcionalidad puede ser
programada a través de un software de programación especializada.
CPU
Central Processing Unit, es el componente de un computador o
microcomputador responsable de interpretar las instrucciones
contenidas en los programas y procesar los datos.
DAISY CHAIN
Es una sucesión de enlaces donde un dispositivo A es conectado a un
dispositivo B, éste a un dispositivo C y así sucesivamente. Las
conexiones no forman redes ya que no se puede conectar un dispositivo
C al A.
DIMM
Dual In-line Memory Module, son módulos de memoria para
computadores, con 168 contactos y capacidad de trabajo en 64 bits.
DMA
Direct Memory Access, permite a cierto tipo de dispositivos acceder a
la memoria del sistema para leer y escribir independientemente de la
CPU.
EEPROM
Electrically-Erasable Programmable Read-Only Memory, es un tipo de
memoria que puede ser borrada, escrita y reprogramada eléctricamente.
FRAMEBUFFER
Es una porción de memoria reservada para mantener temporalmente
una imagen, a la espera de ser enviada a un monitor o dispositivo.
GPIO
General Purpose Input and Output, ver I/O
UNIVERSIDAD DE MAGALLANES
100
HARVARD ARCHITECTURE
Es un tipo de arquitectura que utiliza dispositivos físicamente
separados para los datos y las instrucciones.
HRTFT
High Reflective TFT, es un tipo de pantalla de alta definición. No utiliza
un sistema de retroalimentación, esto permite un funcionamiento de
larga duración con baterías y reducción de tamaño y peso.
IrDA
Infrared Data Association, forma de conexión bidireccional a través de
rayos luminosos con velocidades desde los 9.600 bps y los 4 Mbps.
I/O
Input / Output, son los dispositivos de entrada y salida, esto para
formar la comunicación entre distintas partes, inclusive el usuario
mediante el teclado o ratón.
JTAG
Join Test Action Group, es el nombre comúnmente utilizado para la
norma IEEE 1149.1, actualmente es usado para la prueba de submódulos de circuitos integrados, es también muy utilizado como
mecanismo de depuración de aplicaciones ya que entrega una “puerta
trasera” hacia dentro del sistema.
LITTLE-ENDIAN
La parte menos importante de los datos es almacenada en la dirección
más baja de almacenamiento, o transmitida o recibida primero. El
LH79520 utiliza Little-Endian para ordenar el almacenamiento.
MMC
MultiMediacard, es un tipo de memoria portátil similar diseñada
especialmente para dispositivos móviles, como teléfonos, PDA’s,
Notebook, entre otros, por ahora la máxima capacidad es de 8 GB.
MMU
Memory Management Unit, es un dispositivo de hardware formado por
un grupo de circuitos integrados, responsables del manejo de acceso a
memoria por parte de la CPU
PCMCIA
Personal Computer Memory Card International Association, es un tipo
de tarjetas de memoria, que permite añadir varias funciones a los
computadores móviles, como son tarjetas módem, de red, sonido, etc.
PIXEL
Elemento de imagen, es la unidad más pequeña que se puede
controlar en una matriz de display LCD.
PWM
pulse-width modulation, es una técnica que modifica el ciclo de trabajo
de una señal periódica, habitualmente se lleva a cabo por medio de la
UNIVERSIDAD DE MAGALLANES
101
comparación de dos señales de entrada, que entregan unas salida con
frecuencia igual a la señal de referencia y ciclo de trabajo de la
portadora.
RISC
Reduced Instrucction Set Computer, es un tipo de procesadores que
utiliza un diseño con conjuntos de instrucciones pequeñas y simples que
toman menor tiempo en ejecutarse.
UART
Universal Asynchronous Receiver – Transmitter, es el encargado de
trasmitir los bytes en formato de bits individuales de forma secuencial,
los cuales son reensamblados por otra UART en el dispositivo receptor.
RTC
Real – Time Clock, es un reloj de tiempo real que habitualmente se
encuentra en incluido en un circuito integrado, y están presente en la
mayoría de los aparatos electrónicos que requieren guardar el tiempo
exacto.
SCI
Smart Card Interface, interface entre tarjetas SD y APB
SDMC
Synchronous Dynamic Memory Controller, proporciona una interface
entre el AHB y los dispositivos externos de memoria sincrónica.
También se puede utilizar para controlar las memorias flash y ROM
sincrónicas.
SDRAM
Synchronous Dynamic Random Access Memory, es una memoria
dinámica de acceso aleatorio, que posee una interface sincrónica,
SMC
Static Memory Controller, en el LH7A404 el SMC es un bloque esclavo
del AHB, proporcionando una interface entre el AHB y los dispositivos
externos de memoria asincrónica.
SODIMM
Es una versión compacta de los módulos DIMM, cuentan con 100, 144
o 200 pines de conexión, habitualmente se utilizan para memorias de
computadores, pero en la actualidad se han utilizado como ordenadores
de una sola placa como Toradex Colibri y el LH7A404-11
SSP
Synchronous Serial Port, este controlador soporta la interface de
conexión con periféricos seriales, utiliza un criterio de maestro esclavo
para la comunicación.
STN
Super- Twisted Nematic, tipo de pantalla en el que cada fila o columna
tiene un solo circuito eléctrico. Los pixeles se dirigen a la vez por
UNIVERSIDAD DE MAGALLANES
102
direcciones de fila y de columna. Este tipo de pantalla se denomina
matriz pasiva-dirigida, ya que el pixel debe conservar su estado entre los
períodos de refresco sin beneficiarse de una carga eléctrica constante.
A medida que el número de pixeles se incrementa, este tipo de pantallas
se vuelve menos apropiadas, con tiempos de respuesta muy lentos y
contraste bastante pobre.
TFT-LCD
Thin Film Transistor- Liquid Crystal Display, tipo de pantalla LCD que
utiliza transistores para mejorar su calidad de imagen. Ya que cada pixel
tiene su propio transistor dedicado, que permite a cada línea de la
columna acceder a un pixel. Cuando una línea de fila esta activada,
todas las líneas de la columna están conectadas a una fila de pixeles y
una correcta tensión de alimentación es impulsada a todas las líneas de
la columna. Cuando una línea de fila se desactiva, la siguiente línea de
fila es activada. Todas las líneas de filas se activan secuencialmente
durante una operación de actualización. Esto es llamado también matriz
activa, la cual está dirigida a dispositivos con un mayor brillo y tamaño.
USB
Universal Serial Bus, es un puerto de comunicación serie para
comunicar el computador con dispositivos de toda índole, existen varios
tipos de velocidades que van desde los 1,5 Mbps hasta 4,8 Gbps en el
caso del USB 3.0.
WATCHDOG
Es un mecanismo de seguridad que resetea el sistema en caso que
este sea bloqueado.
WDT
Ver WATCHDOG.
WORD
En el caso del LH7A404, es un elemento de 32 bits de datos
estructurados como una secuencia ordenada, contiene el byte más
significativo a la izquierda y el menos significativo a la derecha.
UNIVERSIDAD DE MAGALLANES
103
BIBLIOGRAFÍA
UNIVERSIDAD DE MAGALLANES
104
Logicpd. (2008). Zoom starter development kit brief. Recuperado el 15 de mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/2359/70000021G_SDK_Brief.pdf
Logicpd. (2009). Zoom sdk quickstar guide. Recuperado el 15 de mayo de 2009,
de
http://support.logicpd.com/downloads/archives/2702/1011932E_SDK_QS_Guide.
pdf
Logicpd. (2007). LH7A404-11 hardware specification. Recuperado el 15 de mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/2131/70000233F_LH7A404_Hard
ware_Spec.pdf
Logicpd. (2009). Zoom display kit quickstart guide. Recuperado el 15 de mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/2647/1012085J_Zoom_Display_
QSG.pdf
Logicpd. (2009). Tera term. (4.63). [Programa de Computador]. Minneapolis,
Estados Unidos: Logic Product. Logic.
Advance Risc Machines Ltda. (2004). ARM9 processor family. Recuperado el 8
de
enero
de
2011,
de
http://www.arm.com/products/processors/classic/arm9/index.php
Logicpd. (2007). Logicloader user’s manual. Recuperado el 15 de mayo de
2009,
de
http://support.logicpd.com/downloads/archives/2149/70000016O_LoLo_Users_
Manual.pdf
Logicpd. (2007). Logicloader command description manual. Recuperado el 15
de
2009
de
2009,
de
http://support.logicpd.com/downloads/archives/2148/1002184E_LoLo_Comman
d_Description.pdf
Logicpd. (2009). An 161 interfacing lcds to logic’s development kits. Recuperado
el
15
de
mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/2581/70000161B_AN161_Interfa
cing_LCDs_DevKits.pdf
NXP semiconductors. (2007). LH7A404 user’s guide. Recuperado el 15 de
mayo
de
2009,
de
http://ics.nxp.com/support/documents/microcontrollers/pdf/user.manual.lh7a404.
pdf
UNIVERSIDAD DE MAGALLANES
105
Logicpd. (2005). An 298 integrating custom displays with logicloader.
Recuperado
el
15
de
mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/1277/1002791_Rev_B.pdf
Sharp Microelectronics of the Americas. (2002). LQ64D343 tft-lcd module.
Recuperado
el
30
de
agosto
de
2010,
de
http://www.sharpsma.com/webfm_send/1325.
Logicpd. (2007). Loce windows ce 5.0 bsp user guide. Recuperado el 15 de
mayo
de
2009,
de
http://support.logicpd.com/downloads/archives/2291/70000143H_LoCE_Window
s_CE_BSP_Users_Guide.pdf
Logicpd. (2006). WinCE 5.0 som base bsp. (2.3.0). [Programa de Computador].
Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2005). WinCE 5.0 atamemcf compactflash driver. (50.1.3.0).
[Programa de Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2006). WinCE 5.0 kernel for the LH7A404-11 card engine.
(50.2.1.7.1). [Programa de Computador]. Minneapolis, Estados Unidos: Logic
Product. Logic.
Logicpd. (2005). WinCE 5.0 LH7A404 usb host driver. (50.1.1.0). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2005). WinCE 5.0 LH7A40x Ethernet driver. (50.1.2.0). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2007). WinCE 5.0 LH7A40x usb function driver. (50.1.3.1). [Programa
de Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2006). WinCE 5.0 LH7A40x lcdc driver. (50.1.6.0). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2005). WinCE 5.0 LH7A40x serial driver. (50.1.3.0). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2006). WinCE 5.0 LH7A40x yaffs file system driver. (50.1.2.0).
[Programa de Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2006). WinCE 5.0 LH7A40x audio driver. (50.0.3.2). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
Logicpd. (2006). WinCE 5.0 LH7A40x eeprom driver. (50.1.0.0). [Programa de
Computador]. Minneapolis, Estados Unidos: Logic Product. Logic.
UNIVERSIDAD DE MAGALLANES
106
Spiaatie. (2010, 21 de junio). [ROM] [HP iPAQ hx4700] [WM6.5 / WM6.5.x]
Roadster
ROM
Series.
Mensaje
dirigido
a
http://forum.xdadevelopers.com/showthread.php?t=707528
Alex G, (2007, 15 de noviembre). Tutorial Windows Mobile: ActiveSync y la
instalación de programas. Mensaje dirigido a http://blog.uptodown.com/tutorialwindows-mobile-activesync-y-la-instalacion-de-programas/
Neil Henry. (2008, 31 de diciembre). The History of Windows Mobile. Mensaje
dirigido
a
http://www.brighthub.com/computing/windowsplatform/articles/1295.aspx
by Eric Urban. (2010, 15 de febrero). Windows Phone 7 Series – Show and Tell.
Mensaje dirigido a
http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2010/02/
15/windows-phone-7-series-show-and-tell.aspx
UNIVERSIDAD DE MAGALLANES
107
ANEXO A
TARJETA BASE Y MICROCONTROLADOR
LH7A404
UNIVERSIDAD DE MAGALLANES
108
a.1 Especificaciones eléctricas del Microcontrolador
El sistema de desarrollo LH7A404-11 utiliza un sistema altamente
integrado basado en el microcontrolador LH7A404, el cual a su vez posee un
núcleo RISC ARM922T de 32 bit, y entrega la posibilidad de varios periféricos
integrados como son:
Integrated ARM922T™ Core
o
32-bit ARM922T™ RISC Core
o
16kB Caché: 8kB Instruction Caché and
8kB Data Caché
o
MMU
o
4 GB logical address space
80 KB on-chip SRAM
Integrated LCD Controller
o
Up to 800 x 600 Resolution at 16-bit color
(1024 x 786 at 8 bits color)
o
Supports STN, TFT, and HR-TFT
o
Up to 65,536 Colors
Classic IrDA (up to 115.2 Kbps)
Three UARTs
SSP interface
AC97 CODEC Interface
1 USB Client and 1 USB host Interface (USB 1.1)
MultiMediaCard/Secure Digital interface
Smart Card interface (ISO7816)
Smart Battery Monitor Interface
Up to 64 General Purpose I/O Signals
Two 16-bit Pulse Width Modulators
Ten fully independent DMA Channels
Three Programmable Timers
RTC
Boot ROM
Low Power Modes
5-Volt Tolerant Inputs
a.2 Diagrama de bloques del Microcontrolador.
En las figuras 1.a y 2.a se muestra el diagrama de bloques para la tarjeta
del
microprocesador
y
el
diagrama
de
bloques
del
microprocesador
respectivamente, desde este punto se desprenden varias definiciones que
serán explicadas en el anexo B.
UNIVERSIDAD DE MAGALLANES
109
Figura a.1: diagrama de bloques de la tarjeta del microprocesador.
UNIVERSIDAD DE MAGALLANES
110
Figura a.2: diagrama de bloques del microprocesador.
a.3 PinOut del Microcontrolador.
En la tabla 1.a, se muestra la descripción de cada pin de salida o entrada
del microcontrolador LH7A404.
UNIVERSIDAD DE MAGALLANES
111
Pin
I/O
Descripción
1
ETHER_RX(-)
I
2
MSTR_nRST
I
3
ETHER_RX(+)
I
4
uP_SW_nRESE
T
I
5
ETHER_TX(-)
O
6
FAST_nMCS
O
7
ETHER_TX(+)
O
8
SLOW_nMCS
O
This input pair receives 10/100 MB/s Manchester encoded data from the 10/100 BASE-T
receive lines. Route as differential pair with ETHER_RX(+).
Active Low. Driven low during power on in order to initiate a hard reset, erasing the
contents of external memory. Refer to the reset description found in section 3.2.1 for
more information on how this signal is driven. Drives the processor’s nPOR line and
every peripheral on the Card Engine with a reset line is reset with the assertion of this
signal. Refer to the processor datasheet for register power-on reset states. This signal is
pulled up to 3.3V_uP_SDRAM through a 10K resistor.
This input pair receives 10/100 MB/s Manchester encoded data from the 10/100 BASE-T
receive lines. Route as differential pair with ETHER_RX(-).
Active Low. This signal initiates a soft reset (manual reset) – external memory contents
are retained during reset. Drives processor’s nURESET line. Supporting software must
b e implemented in order to function properly. This signal is pulled up to
3.3V_uP_SDRAM through a 33K resistor.
This output pair drives 10/100 Mb /s Manchester-encoded data to the 10/100 BASE-T
transmit lines. Route as differential pair with ETHER_TX(+).
Active Low. Buffered chip-select for asynchronous memory area 7 - the "fast peripheral"
chip-select area. This signal is an output from the CPLD. Therefore when the CPLD
does not decode an address that relates to the CPLD registers in the “fast peripheral”
register set, it asserts FAST_nMCS. See the LH7A404-11 IO Controller Specification for
addresses that are decoded b y the CPLD.
This output pair drives 10/100 Mb /s Manchester-encoded data to the 10/100 BASE-T
transmit lines. Route as differential pair with ETHER_TX(-).
Active Low. Buffered chip-select for asynchronous memory area 6 - the "slow
peripheral" chip-select area. This signal is an output from the CPLD. Therefore when
the CPLD does not decode an address that relates to the CPLD registers in the “slow
peripheral” register set, it asserts SLOW_nMCS. See the LH7A404-11 IO Controller
Specification for addresses that are decoded b y the CPLD.
Digital Ground (0V)
9
Nombre Señal
DGND
I
10
VIDEO_nMCS
O
11
ACT_LED/LAN
_LED1
O
12
BOOT_nMCS
O
13
O
14
LNK_LED/LAN
_LED2
nIOWR
O
15
uP_nSTANDBY
I
Active Low. CPLD Power Management Register signal. Software must b e implemented
on the processor in order for this signal to operate properly. A low nSTANDBY signal will
generate an interrupt in the processor. Software will cause the LH7A404-11 to enter
standb y mode (hardware power down), where the contents of the SDRAM are placed in
self-refresh and will b e maintained. See the LH7A404-11 IO Controller Specification for
further details. This signal is pulled up to 3.3V_uP_SDRAM through a 33K resistor.
16
nIORD
O
17
DGND
I
Active Low. The CPLD ISA-like Bus Logic decodes this Read signal. This signal is used
to request CompactFlash and ISA peripherals in area 6 to drive data during a b us
cycle. See the LH7A404-11 IO Controller Specification for further details.
Digital Ground (0V)
18
3.3V_WRLAN
O
19
3.3V
I
20
BALE
O
21
uP_WAKEUP
I
Active Low. Buffered chip-select for asynchronous memory area 1. This is the "video"
chip select area.
Active Low open drain output. 24mA sink. This output indicates transmission or
reception of frames or detection of a collision. This signal may b e connected directly to
an external LED.
Active Low. This signal is the chip select for an off-b oard memory device. When
uP_MODE3 line is low this device is located in asynchronous memory area 0. When
uP_MODE3 is high this device is located in asynchronous memory area 2. See the
LH7A404-11 IO Controller Specification for further details.
Active Low open drain output. 24mA sink. This output indicates valid link pulses. This
signal may b e connected directly to an external LED.
Active Low. The CPLD ISA-like Bus Logic decodes this Write signal. This signal is used
to notify CompactFlash and ISA peripherals in area 6 of valid data during a b us cycle.
See the LH7A404-11 IO Controller Specification for further details.
Power Supply (3.3V) from the 10/100 wired LAN circuit. This pin is used to power the
impedance matching resistor network on the Ethernet’s TX and RX lines. It should not
b e connected to anything else. It may b e shut down when appropriate (software
controlled to cut power off to the wired LAN circuit). See Section 3.5.1.
Power Supply (3.3V). See section 3.5.1.
Active High. Buffered Address Latch Enab le. This signal is driven high to indicate when
the MA<19:0> signal lines are valid or the processor data b us is in use. See the
LH7A404-11 IO Controller Specification for further details.
Active Low. This is connected to the processor WAKEUP pin. The LH7A404-11
implements an Auto Wakeup circuit to enable this line. This signal is pulled up to
3.3V_uP_SDRAM through a 33K resistor.
UNIVERSIDAD DE MAGALLANES
112
Pin
Nombre Señal
I/O
Descripción
22
nCHRDY
I
23
uP_nIRQD
I
24
uP_TEST1
I
25
uP_nIRQC
I
26
uP_TEST2
I
27
uP_nIRQB
I
28
MSTR_nRST
I
29
uP_nIRQA
I
30
uP_TMS
I
Active Low. This line can b e asserted b y an ISA-like or CompactFlash device. When
asserted low, this generates a low on the uP_WAIT signal to the processor. See the
LH7A404-11 IO Controller Specification for further details and timing diagrams. This
signal is pulled up to 3.3V through a 1K resistor.
Active Low. Dedicated hardware interrupt (INT4) on the processor. May also b e
configured as a GPIO pin. See Section 5.5. This signal is pulled up to 3.3V_uP_SDRAM
through a 33K resistor.
This is connected to Test Mode Pin 0 on the processor. This signal needs to b e pulled
high for normal operation and low for JTAG use. Please see the section on Operating
Modes in the processor’s datasheet for detailed operation. This signal is pulled up to
3.3V_uP_SDRAM through a 33K resistor.
Active Low. Dedicated hardware interrupt (INT2) on the processor. May also b e
configured as a GPIO pin. See Section 5.5. This signal is pulled up to 3.3V_uP_SDRAM
through a 33K resistor.
This is connected to Test Mode Pin 1 on the processor. This signal needs to b e pulled
high for b oth normal operation and for JTAG use. Please see the section on Operating
Modes in the processor’s datasheet for detailed operation. This signal is pulled up to
3.3V_uP_SDRAM through a 33K resistor.
Active Low. Dedicated hardware interrupt (INT1) on the processor. May also b e
configured as a GPIO pin. See Section 5.5. This signal is pulled up to 3.3V_uP_SDRAM
through a 33K resistor.
Active Low. Driven low during power on in order to initiate a hard reset, erasing the
contents of external memory. Refer to the reset description found in Section 3.2.1 for
more information on how this signal is driven. Drives the processor’s nPOR line and
every peripheral on the Card Engine with a reset line is reset with the assertion of this
signal. Refer to the processor datasheet for register power-on reset states. This signal is
pulled up to 3.3V_uP_SDRAM through a 10K resistor.
Active Low. Dedicated hardware interrupt (INT0) on the processor. May also b e
configured as a GPIO pin. See Section 5.5. This signal is pulled up to 3.3V_uP_SDRAM
through a 33K resistor.
JTAG Test Mode Select Input. May leave unconnected if not using the JTAG port. This
signal is pulled up to 3.3V_uP_SDRAM through a 10K resistor.
No internal connection (not implemented on the LH7A404-11)
NC
31
32
uP_TDO
JTAG Test Data Serial Output. Leave unconnected when JTAG port is not in use. This
signal is pulled up to 3.3V_uP_SDRAM through a 10K resistor.
No internal connection (not implemented on the LH7A404-11)
I
JTAG Test Serial Data Input. May leave unconnected if not using the JTAG port. This
signal is pulled up to 3.3V_uP_SDRAM through a 10K resistor.
No internal connection (not implemented on the LH7A404-11)
JTAG Test Clock Input. May leave unconnected if not using the JTAG port. This signal is
pulled up to 3.3V_uP_SDRAM through a 10K resistor.
Active low. This is the processor’s wait signal. The Wired LAN and the CPLD ISA I/O
Ready signal may drive this signal low. See the LH7A404-11 IO Controller Specification
for further details. This signal is pulled up to 3.3V_uP_SDRAM through a 1K resistor.
NC
33
34
O
uP_TDI
NC
35
36
uP_TCK
I
37
uP_nWAIT
I
38
uP_MODE3
I
39
uP_UARTA_RT
S
O
40
uP_MODE2
I
41
I
42
uP_UARTA_CT
S
uP_MODE1
I
43
uP_UARTA_TX
O
Boot device signal. If high, b oot from onb oard flash. If low, boot from external device.
This signal is pulled up to 3.3V_uP_SDRAM through a 33K resistor.
This is a GPIO signal (PC4) that is used to implement the “Ready To Send” line for the
processor’s UART2 interface. See Section 2.9. May also b e configured as a GPIO pin.
See Section 5.5.
This pin can also b e used as a General Purpose input and read from the CPLD Mode
register. See the LH7A404-11 IO Controller Specification for further details. This signal
is pulled up to 3.3V_uP_SDRAM through a 33K resistor.
This is the “Clear To Send” line for the processor’s UART2 interface. See Section 2.9.
This signal is pulled down to DGND through a 33K resistor.
This is the “Transmit” line for the processor’s UART2 interface. See Section 2.9. This
signal is pulled up to 3.3V through a 33K resistor.
UNIVERSIDAD DE MAGALLANES
113
Pin
Nombre Señal
44
uP_MODE0
I
45
uP_UARTA_RX
I
46
uP_DREQ1
O
47
I/O
Descripción
This is the “Receive” line for the processor’s UART2 interface. See Section 2.9. This
signal is pulled up to 3.3V through a 33K resistor.
The DMA Request 1 line. This signal is pulled to DGND through a 33K resistor.
No internal connection (not implemented on the LH7A404-11)
NC
48
uP_DREQ0
49
50
uP_UARTA_DS
O
This is the “Data Set Ready” line for the processor’s UART2 interface. See Section 2.9.
R
This signal is pulled up to 3.3V through a 33K resistor.
NC
No internal connection (not implemented on the LH7A404-11)
51
nSUSPEND
52
NC
O
I
The DMA Request 0 line. This signal is pulled to DGND through a 33K resistor.
Active Low. CPLD Power Management Register signal. Software must b e implemented
on the processor in order for this signal to operate properly. A low nSUSPEND signal
will generate an interrupt in the processor. Software will cause the LH7A404-11 to enter
suspend mode (hardware power down), where the contents of the SDRAM are placed in
self-refresh and will b e maintained. See the LH7A404-11 IO Controller Specification for
further details. This signal is pulled up to 3.3V_uP_SDRAM through a 33K resistor.
No internal connection (not implemented on the LH7A404-11)
53
uP_AUX_CLK
O
54
uP_DACK1
O
This signal is a programmab le auxiliary clock that is set to 14.7456 (max value) b y
default. See Section 2.2.
The DMA Acknowledge 1 line. This signal is pulled to DGND through a 33K resistor.
55
DGND
I
Digital Ground (0V)
56
uP_DACKO
O
The DMA Acknowledge 0 line. This signal is pulled to DGND through a 33K resistor.
57
VCORE
I
CPU core voltage supply (on during low power, uP_SW_Reset). VCORE is fixed at 1.8V.
58
VCORE
I
CPU core voltage supply (on during low power, uP_SW_Reset). VCORE is fixed at 1.8V.
59
VCORE
I
CPU core voltage supply (on during low power, uP_SW_Reset). VCORE is fixed at 1.8V.
60
VCORE
I
CPU core voltage supply (on during low power, uP_SW_Reset). VCORE is fixed at 1.8V.
61
3.3V_uP_SDRA
M
I
62
3.3V_uP_SDRA
M
I
63
3.3V_uP_SDRA
M
I
64
3.3V_uP_SDRA
M
I
65
uP_SPI_FRM
O
66
uP_BUS_CLK
O
67
uP_SPI_TX
O
uP and SDRAM Power Supply (3.3 V) (on during low power, uP_SW_Reset).
Recommend leaving this supply as the only powered supply during Standb y power
down mode.
uP and SDRAM Power Supply (3.3 V) (on during low power, uP_SW_Reset).
Recommend leaving this supply as the only powered supply during Standb y power
down mode.
uP and SDRAM Power Supply (3.3 V) (on during low power, uP_SW_Reset).
Recommend leaving this supply as the only powered supply during Standb y power
down mode.
uP and SDRAM Power Supply (3.3 V) (on during low power, uP_SW_Reset).
Recommend leaving this supply as the only powered supply during Standb y power
down mode.
SPI Fame signal. This signal is connected directly to the processor’s SSPFRM signal. It
is used to mark the b eginning and end of a frame. See the processor’s data sheet for
further details.
Synchronous Memory Clock. This clock operates at 100MHz and is connected to the
SDRAM as well as the CPLD. See Section 2.2.
SPI Transmit signal. This signal is connected directly to the processor’s SSPTX signal. It
is used to transmit serial data. See the processor’s data sheet for further details.
68
DGND
I
Digital Ground (0V)
69
uP_SPI_RX
I
70
uP_nRAS
O
SPI Receive signal. This signal is connected to the processor’s SSPTX signal. It is used
to receive serial data. See the processor’s data sheet for further details. This signal is
pulled up to 3.3V through a 33K resistor.
Synchronous Memory Row Address Strob e Signal. This signal is used in synchronizing
all SDRAM into row addressing mode. This signal has a 22-OHM series resistor.
UNIVERSIDAD DE MAGALLANES
114
Pin
Nombre Señal
I/O
Descripción
71
uP_SPI_SCK
O
72
uP_nCAS
O
73
uP_MD0
I/O
SPI clock signal. This signal is connected directly to the processor’s MMSPICLK signal.
SPI transmit/receive data is valid on the rising edge of this clock (data is output from
one falling edge to the next and clock ed in on the rising edge). See the processor’s data
sheet for further details.
Synchronous Memory Column Address Strob e Signal. This signal is used in
synchroniz ing all SDRAM into column addressing mode. This signal has a 22-OHM
series resistor.
Buffered Data Bus b it 0.
74
uP_nMWE3
O
Active low. Buffered write enab le for b uffered data bus b its 16->31 to the Flash.
75
uP_MD1
I/O
Buffered Data Bus b it 1.
76
uP_nMWE2
O
77
uP_MD2
I/O
Active low. Buffered Byte Lane Enab le 2 signal. This signal is supplied for off-b oard use
in order to implement memory devices of varying widths.
Buffered Data Bus b it 2.
78
uP_nMWE1
O
79
uP_MD3
I/O
80
uP_nMWE0
O
Active low. Buffered write enab le for b uffered data bus b its 0->15 to the flash.
81
uP_MD4
I/O
Buffered Data Bus b it 4.
82
uP_nMWR
O
83
uP_MD5
I/O
Active low. This b uffered signal from the CPLD is the processor’s write enab le line. See
the LH7A404-11 IO Controller Specification for further details.
Buffered Data Bus b it 5.
84
uP_nMRD
O
Active low. This b uffered signal is the Flash Read signal.
85
uP_MD6
I/O
Buffered Data Bus b it 6.
86
uP_MA27
O
Buffered Address Bus b it 27.
87
uP_MD7
I/O
Buffered Data Bus b it 7.
88
uP_MA26
O
Buffered Address Bus b it 26.
89
DGND
I
Digital Ground (0V)
90
uP_MA0
O
Buffered Address Bus b it 0.
91
uP_MD8
I/O
Buffered Data Bus b it 8.
92
uP_MA1
O
Buffered Address Bus b it 1.
93
uP_MD9
I/O
Buffered Data Bus b it 9.
94
uP_MA2
O
Buffered Address Bus b it 2.
95
uP_MD10
I/O
Buffered Data Bus b it 10.
96
uP_MA3
O
Buffered Address Bus b it 3.
97
uP_MD11
I/O
Buffered Data Bus b it 11.
98
uP_MA4
O
Buffered Address Bus b it 4.
Buffered Data Bus b it 12.
Active low. Buffered Byte Lane Enab le 1 signal. This signal is supplied for off-b oard use
in order to implement memory devices of varying widths.
Buffered Data Bus b it 3.
99
uP_MD12
I/O
100
uP_MA5
O
Buffered Address Bus b it 5.
101
uP_MD13
I/O
Buffered Data Bus b it 13.
102
uP_MA6
O
Buffered Address Bus b it 6.
103
uP_MD14
I/O
Buffered Data Bus b it 14.
104
uP_MA7
O
Buffered Address Bus b it 7.
105
uP_MD15
I/O
Buffered Data Bus b it 15.
106
uP_MA8
O
Buffered Address Bus b it 8.
107
3.3V
I
Power Supply (3.3V)
108
uP_MA9
O
Buffered Address Bus b it 9.
109
DGND
I
Digital Ground (0V)
110
uP_MA10
O
Buffered Address Bus b it 10.
111
uP_MD16
I/O
Buffered Data Bus b it 16.
112
uP_MA11
O
Buffered Address Bus b it 11.
113
uP_MD17
I/O
Buffered Data Bus b it 17.
114
uP_MA12
O
Buffered Address Bus b it 12.
115
uP_MD18
I/O
Buffered Data Bus b it 18.
116
uP_MA13
O
Buffered Address Bus b it 13.
UNIVERSIDAD DE MAGALLANES
115
Pin
Nombre Señal
I/O
117
uP_MD19
I/O
118
uP_MA14
O
Buffered Address Bus b it 14.
119
uP_MD20
I/O
Buffered Data Bus b it 20.
120
uP_MA15
O
Buffered Address Bus b it 15.
121
uP_MD21
I/O
Buffered Data Bus b it 21.
122
uP_MA16
O
Buffered Address Bus b it 16.
123
uP_MD22
I/O
Buffered Data Bus b it 22.
124
uP_MA17
O
Buffered Address Bus b it 17.
125
uP_MD23
I/O
Buffered Data Bus b it 23.
126
uP_MA18
O
Buffered Address Bus b it 18.
127
DGND
I
128
uP_MA19
I/O
Buffered Address Bus b it 19.
129
uP_MD24
I/O
Buffered Data Bus b it 24.
130
uP_MA20
O
Buffered Address Bus b it 20.
131
uP_MD25
I/O
Buffered Data Bus b it 25.
132
uP_MA21
O
Buffered Address Bus b it 21.
133
uP_MD26
I/O
Buffered Data Bus b it 26.
134
uP_MA22
O
Buffered Address Bus b it 22.
135
uP_MD27
I/O
Buffered Data Bus b it 27.
136
uP_MA23
O
Buffered Address Bus b it 23.
137
uP_MD28
I/O
Buffered Data Bus b it 28.
138
uP_MA24
O
Buffered Address Bus b it 24.
139
uP_MD29
I/O
Buffered Data Bus b it 29.
140
uP_MA25
O
Buffered Address Bus b it 25.
141
uP_MD30
I/O
Buffered Data Bus b it 30.
142
nAEN
O
143
uP_MD31
I/O
Active Low. The CPLD Chip Select Logic decodes this Address Enab le signal. See the
LH7A404-11 IO Controller Specification for further details.
Buffered Data Bus b it 31.
144
3.3V
I
Descripción
Buffered Data Bus b it 19.
Digital Ground (0V)
Power Supply (3.3V)
a.4 Esquemático de la Placa Base.
En la figura 3.a, se visualiza el esquemático de la tarjeta base, donde se
aloja la tarjeta del microprocesador en un conector del tipo SODIMM de 144
Pines.
UNIVERSIDAD DE MAGALLANES
116
Figura a.3: esquemático de la tarjeta base.
UNIVERSIDAD DE MAGALLANES
117
ANEXO B
REGISTROS DEL CONTROLADOR LCD
Y ALI
UNIVERSIDAD DE MAGALLANES
118
b.1 Descripción de Registros Controlador LCD
b.1.1
LCD Timing 0 (TIMING0)
Tabla b.1.1: Registro Timing0.
Tabla b.1.2: Descripción campos del registro Timing0.
b.1.2
LCD Timing 1 (TIMING1)
Tabla b.1.3: Registro Timing0.
UNIVERSIDAD DE MAGALLANES
119
Tabla b.1.4: Descripción campos del registro Timing1.
b.1.3
LCD Timing 2 (TIMING2)
Tabla b.1.5: Registro Timing2.
UNIVERSIDAD DE MAGALLANES
120
Tabla b.1.6: Descripción campos del registro Timing2.
UNIVERSIDAD DE MAGALLANES
121
b.1.4
Registro (UPBASE)
Tabla b.1.7: Registro UPBASE.
Tabla b.1.8: Descripción campos del registro UPBASE.
b.1.5
Registro (LPBASE)
Tabla b.1.9: Registro LPBASE.
Tabla b.1.10: Descripción campos del registro LPBASE.
UNIVERSIDAD DE MAGALLANES
122
b.1.6
Registro de control LCD (LCDCTRL)
Tabla b.1.11: Registro CONTROL.
UNIVERSIDAD DE MAGALLANES
123
Tabla b.1.12: Descripción campos del registro CONTROL.
UNIVERSIDAD DE MAGALLANES
124
b.1.7
Registro LCD Overflow(OVERFLOW)
Tabla b.1.13: Registro OVERFLOW.
Tabla b.1.14: Descripción campos del registro OVERFLOW.
b.2 Descripción de Registros de ALI
b.2.1
Registro ALI Setup (ALISETUP)
Tabla b.2.1: Registro ALISETUP.
UNIVERSIDAD DE MAGALLANES
125
Tabla b.2.2: Bits del registro ALISETUP.
b.2.2 Registro ALI Control (ALICONTROL)
Tabla b.2.3: Registro ALICONTROL.
Tabla b.2.4: Campos de Bits del registro ALICONTROL.
UNIVERSIDAD DE MAGALLANES
126
b.2.3
Registro ALI Timing 1 (ALITIMING1)
Tabla b.2.5: Registro ALITIMING1.
Tabla b.2.6: Bits del registro ALICONTROL.
b.2.4 Registro ALI Timing 2 (ALITIMING2)
Tabla b.2.7: Registro ALITIMING2.
UNIVERSIDAD DE MAGALLANES
127
Tabla b.2.8: Campos del registro ALICONTROL.
UNIVERSIDAD DE MAGALLANES
128
ANEXO C
PANTALLA LCD TFT COLOR LQ64D343
UNIVERSIDAD DE MAGALLANES
129
C.1 Características eléctricas
c.1.1
Panel LCD-TFT
Tabla c.1: Características eléctricas panel LCD-TFT.
c.1.2
Luz de fondo
El sistema de luz de fondo (backlight) es un tipo de iluminación que se
colocan en los bordes del marco de la pantalla LCD con doble lámpara de luz
fluorescente de cátodo frio (CCFL).
Tabla c.2: Características de una lámpara.
UNIVERSIDAD DE MAGALLANES
130
c.1.3
Características de sincronización de las señales de entrada.
Tabla c.3: Características de tiempo.
UNIVERSIDAD DE MAGALLANES
131

Documentos relacionados