Capítulo II. Placa Base y Microcontrolador.
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