Download COMENTARIO TECNICO
Document related concepts
no text concepts found
Transcript
Dto. Técnico EduDevices www.edudevices.com.ar COMENTARIO TECNICO Herramientas de Hard & Soft. 1era Parte En artículos anteriores se han nombrado distintas herramientas de hardware (placas, sistemas de emulación, grabadores / borradores, etc.) y herramientas de software (Entornos Integrados de Trabajo – IDE) que facilitan el trabajo del desarrollador o diseñador de sistemas con microcontroladores. Pero, ¿Por qué es tan importante contar con estas herramientas? La respuesta es muy clara si hacemos la siguiente analogía....... ¿Se imagina usted transcribir este artículo que está leyendo en una “antigua máquina de escribir mecánica”?...... Una verdadera tortura!! ¿Verdad? ....Bueno, así se trabajaba en los 70´s con los microprocesadores de aquella época!! Los que somos “viejitos” en esto del mundo del microcontrolador, hemos trabajado en forma “casi” artesanal, escribiendo código de programa directamente en “lenguaje de máquina” (o sea, en código Hexadecimal) a mano, con papel y lápiz ¡!! Un Simple programa de 1 K bytes era una verdadera pesadilla para depurar, programar y si uno era “afortunado” podía “emular” en unos sistemas grandes, costosos y en los que debía ingresar “a mano” uno por uno los códigos hexadecimales del programa a probar ¡!! Para los nostálgicos, aquí va una foto ...... (Snif, Snif) Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Hoy en día, se dispone de herramientas de Hard & Soft que permiten trabajar en lenguajes más cómodos para el diseñador como el Assembler o en código “C”, generando en forma automática abundante documentación, introducir “Break Points” (puntos de quiebre) con solo hacer un “click” con el botón derecho del mouse de la PC, utilizar “etiquetas” y código “re – esamblable” y “correr” en Tiempo Real y en circuito nuestra aplicación bajo prueba. Herramientas de Hardware. Todas las herramientas de hardware disponibles actualmente en el mercado para la familia HC908 basan su funcionamiento en “forzar” al MCU bajo desarrollo a ingresar al “Modo Monitor” o “MON08” que dispone la familia HC908 y que hemos visto en detalle en capítulos anteriores. Afortunadamente se dispone de un amplio porfolio de herramientas, muchas de ellas, desarrolladas por terceras partes bajo el apoyo de Freescale, y con el común denominador del bajo costo. Como ejemplo, veremos algunas de ellas: Placa de Evaluación (I.C.E) EVAL08QTY. El sistema EVAL08QTY es una herramienta completa de muy bajo costo que permite Emulación en Tiempo Real, Simulación en Circuito, Simulación Pura, Borrado y Grabación de la memoria Flash de los MCUs de toda la familia HC908Q de 8 y 16 pines actual. Basa su funcionamiento en el “Modo Monitor” que poseen todos los HC908, que permite obtener de esta manera una herramienta económica de emulación y desarrollo. La herramienta es ideal para desarrollos con toda la familia HC908Q a muy bajo costo. Características. • • • • • • In Circuit Debugger para toda la familia HC908Q de 8 y 16 pines. Puerto Serial RS-232C para conexión a la PC. Programación / Emulación / Edición Bajo un mismo entorno de trabajo. Arnés “DipZoc” de 16 pines que facilita la emulación en circuito. Compatible con los Entornos de trabajo integrados WinIDE o CodeWarrior. Tensión de alimentación de 9 a 16 VDC o conector a batería de 9Vdc. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices • www.edudevices.com.ar Emulación de los siguientes MCUs: • MC68HC908QT1 / MC68HC908QY1 • MC68HC908QT1A / MC68HC908QY1A • MC68HC908QT2 / MC68HC908QY2 • MC68HC908QT2A / MC68HC908QY2A • MC68HC908QT4 / MC68HC908QY4 • MC68HC908QT4A / MC68HC908QY4A • MC68HC908QY8 / MC68HC908QB8 • MC68HC908QB4 / MC68HC908QL4 Conexión Típica del sistema EVAL08QTY Entorno integrado (IDE) del tipo WinIDE o CodeWarrior bajo Windows Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Numerosos jumpers para configuraciones del sistema “Headers” de 8 y 16 pines para conectar “Arnés” de cable plano que vincula la placa del usuario con el sistema emulador (Dipzoc). Zócalos para la personalización de la placa y grabación de los MCUs (8 y 16 pines) Salida RS-232C para conexión PC – Emulador con entorno IDE In System Emulator (I.S.E) “FLASH_POD”. El sistema “FLASH-POD” pertenece a la categoría de los “Emuladores en Sistema” (I.S.E) y permite una vinculación “universal” con la placa bajo desarrollo del usuario, abriendo paso a la Emulación en Tiempo Real, Simulación en Circuito, Simulación Pura, Borrado y Grabación de la memoria Flash de TODOS los MCUs de la familia HC908. Basa su funcionamiento en el “Modo Monitor” que poseen los HC908, que permite obtener una herramienta económica de emulación y desarrollo. Este sistema posee pulsadores de configuración que permiten el uso de distintos microcontroladores HC908 en una gran variedad de condiciones de trabajo. Configuración actualizable de tablas y de software disponible de terceras partes. Es una versión mejorada y 100% compatible de la popular herramienta “E-FLASH08”. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Características. • • • • • • • • • In Circuit Debugger para TODA la familia HC908. Puerto Serial USB y RS-232C para conexión a la PC. Función “diagnóstico” para verificar condiciones modo monitor en la placa de usuario. Conexión con el hardware a emular (tarjeta de usuario) por medio de un cable flexible y un conector IDC de 2 x 10 pines (Header Board). Operación con dispositivos desde 5 hasta 2,5 Volts o Tensiones Mixtas ( por ej. tipo HC908JB8, HC908JB16 MCUs para USB). Selección de cuatro ( 4 ) diferentes Osciladores (4,9152Mhz / 9,8304Mhz / 14,7456Mhz / 6,00Mhz). Versión mejorada 100% compatible con el “E-FLASH08”. Entornos Integrados de Desarrollo “WinIDE” y “CodeWarrior”. Alimentación AC / DC 9 a 16V o por puerto USB 2.0. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Conexión Típica del Sistema “FLASH_POD” Detalle de “Vinculación” entre la placa del Usuario y el I.S.E Conector IDC 20 vinculando eléctricamente a la placa del usuario y al sistema I.S.E de emulación Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Diferencias entre los sistemas I.C.E y los I.S.E Cuando comenzamos a trabajar con una nueva familia de microcontroladores, nos encontramos a menudo, con el dilema de elegir la herramienta mas adecuada para nuestros futuros proyectos. En la familia de Microcontroladores FLASH HC908 de Freescale, nos encontramos ante esta situación. Aquí se prestará especial atención a los sistemas más económicos disponibles para la familia HC908. ¿Que es un Emulador En - Circuito? Un Emulador En - Circuito o I.C.E (In - Circuit Emulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones y funcionalidad de un microcontrolador determinado. Los I.C.E poseen un conector de cable plano con un zócalo en uno de sus extremos que "imitan" física y mecánicamente la disposición de pines del "Chip" del MCU a emular. Esto permite reemplazar al chip que iría en la aplicación bajo desarrollo del usuario por el cable plano en cuestión, posibilitando de esta forma la vinculación entre la aplicación y el sistema de desarrollo. Debido a este modo de vinculación que poseen estos sistemas, se plantean ventajas y limitaciones para los mismos. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Dentro de las ventajas, podemos destacar que en los I.C.E la "potencia" de Emulación reside dentro de ellos, permitiendo utilizar mínimo hardware cuando, por ejemplo, solo se quiere depurar o probar un módulo específico del MCU (SCI, SPI, TIMERS, A/D, etc.) Esta situación es ideal y muy frecuente en usuarios noveles o con poca experiencia en estos MCUs o bien en ámbitos escolares y/o académicos, en donde los ensayos son parciales y no específicos a un proyecto determinado. Las limitaciones en este tipo de sistemas, pasan por la poca "flexibilidad" en la variedad de dispositivos a emular, ya que se necesita un "arnés" (conector + cable plano) para cada tipo de derivativo, tipo de encapsulado, y además circuitería especifica incluida en el emulador para cada uno de ellos. Los sistemas "EVAL08" pertenecen al grupo de los I.C.E., y en su diseño se tuvo en cuenta obtener el máximo de prestaciones sobre la base del más bajo costo posible. En el EVAL08QTY, se pueden emular derivativos tales como los HC908Q de encapsulados DIP 16 y 8 pines. Otro integrante del grupo de los I.C.E es el sistema didáctico “EDUKIT08” que posee toda su potencia de emulación “integrada” en el sistema. En este se consigue flexibilidad por medio del intercambio de las placas “PLUGIN” que logran configurarlo para trabajar con otras familias de MCUs de 8 Bits y de 32 Bits. ¿Que es un Emulador En - Sistema? Los Emuladores En - Sistema o I.S.E. (In - System Emulator), son de más reciente aparición que los I.C.E., y especialmente para la línea HC908. Los I.S.E son también sistemas de desarrollo capaces de emular en tiempo real (a la velocidad del clock del sistema) las funciones y funcionalidad de un microcontrolador determinado, pero a diferencia de los I.C.E. basan su "potencia" de Emulación en los distintos MCUs incorporados en las propias placas de los usuarios bajo desarrollo. Como se ha visto en otros capítulos, los microcontroladores de la familia HC908, soportan un modo especial de operación que permite a los desarrolladores de software acceder a un programa monitor "interno" que ayudará en la depuración de los programas. Este modo de operación se conoce como "Modo Monitor MON08" y permite que un sistema Host (PC) se comunique con el microcontrolador bajo desarrollo. El sistema "FLASH_POD" pertenece al grupo de los I.S.E, este usa el "Modo Monitor" de la familia HC08, para Emulación en Tiempo Real, Programación de la memoria FLASH, y Simulación con la tarjeta de hardware real del usuario. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Solamente un conector (header) del tipo IDC 2 x 10 es necesario incluir en la tarjeta del usuario, para de esta forma, permitir que el sistema FLASH_POD se comunique con la tarjeta bajo desarrollo y así obtener una completa emulación "In-System". Este conector se intercalará entre las principales señales del MCU y el resto del circuito de la placa, existiendo señales comunes y otras particulares entre los distintos MCUs a emular. De esta forma de vinculación entre placa y sistema de emulación, surgen ventajas y limitaciones. Entre las ventajas podemos citar la gran flexibilidad a la hora de emular distintos derivativos de una familia de MCUs, independientemente del tipo de encapsulado y cantidad de pines (DIP, SOIC, TQFP). Las limitaciones en este tipo de sistemas pasan por la inclusión "obligatoria" del conector de vinculación placa - emulador en la placa bajo desarrollo y el no poder utilizar al sistema emulador sin la placa del usuario con el MCU a emular. Esta última limitación se debe al hecho que en un I.S.E, existen circuitos de adaptación de señales, control de alimentación, comunicación con la PC, manejo de recursos I/O, etc., que son vitales en dicho sistema pero la potencia de emulación descansa realmente en el MCU de la propia placa a depurar. En el Kit "FLASH_POD", se incluye una placa "demo" (Demo Board) conteniendo un MCU derivativo de la flia. HC908 como el MC908QY4ACPE, que permite realizar pruebas y depuraciones de distintos módulos del chip, sin la necesidad de agregar hardware adicional o con uso mínimo del mismo. De esta forma, se compensa la última limitación comentada anteriormente para este tipo de Sistemas. Placa Header Board que sirve como interface entre el emulador y la placa del usuario. Vinculación entre placa DEMO (o del usuario) y el sistema de emulación por medio del conector IDC 20 como forma universal de conexión. Placa “Demo Board” con MC908QY4ACPE, aquí podría usarse cualquier placa de usuario con el mismo conector IDC 20 Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Como se comentó anteriormente, el conector de vinculación entre Emulador - Placa bajo desarrollo, es del tipo 2 x 10 pines (tira de pines 2 x 10 a paso de .1") "header" en la placa, y del tipo IDC 2 x 10 (hembra) en el emulador (Header Board). Este conector debe intercalarse entre el MCU y el resto del circuito, de esta forma el emulador "abre" el camino natural de las señales entre el MCU y el resto de la circuitería. Cuando el emulador, ya no es necesario, este conector de vinculación (tira de pines) es puesto en "corto" entre pines opuestos por medio de jumpers estándar. A continuación pueden verse algunos detalles de conexión entre MCU y resto de circuito, para distintos derivativos de la línea HC908. Conexiones hacia los circuitos del usuario (leds, relays, pulsadores, etc., etc.) NOTA 1: En el Pin 7 del conector IDC 20 se debe conectar el circuito del oscilador, es decir una de las patas de cristal con su correspondiente capacitor de 22 PF y la resistencia de 10 Mohms. La otra pata del cristal debe ir directamente conectada al PIN 5 del Chip (OSC 2 ). NOTA 2: En los pines donde se conectarán los circuitos correspondientes a IRQ y RST (reset), así como en los pines de I/O generales (uso I/O general), el usuario conectará el dispositivo que considere necesario (demás C.Is, transistores, etc.) de acuerdo con su diseño original. NOTA 3: El concepto del conector tipo “tira de 2 x 10 pines en la placa del usuario” (Header), es como si el mismo fuera “intercalado” entre las 10 señales más importantes entre el MCU y el resto del circuito externo al mismo. Estas señales son utilizadas por el sistema FLASH_POD para “dialogar” con el MCU bajo desarrollo en el modo “monitor” y luego de liberar las mismas en forma automática, permitir de esta forma una emulación en tiempo real. Una vez finalizada la etapa de depuración de la placa del usuario, el conector formado por una tira de pines de 2 x 10 en la placa bajo desarrollo (Conector “Header”), debe ser PUENTEADO por “jumpers” que permitan al flujo normal de las señales en cuestión. (Ejemplo, se puentea PIN 1 con PIN 2, PIN 3 con PIN 4……… PIN 19 con PIN 20. ) Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Sistema Didáctico “EDUKIT08”. El sistema “EDUKIT08” es una herramienta didáctica y de entrenamiento diseñada para guiar al alumno en forma teórico – práctica en el aprendizaje de los distintos módulos que constituyen los microcontroladores de 8 Bits FLASH HC908 / HC9S08 y de 32 Bits de Freescale Semiconductor. El sistema cuenta con todo el hardware necesario para realizar numerosas prácticas de los módulos típicos de los HC908 / HC9S08 como display LCD inteligente, display de 4 dígitos LED 7 segmentos, sensor de temperatura, puertos UARTs (RS-232C / RS-485), puerto Infrarrojo, pulsadores, leds, led de potencia para PWM, etc. También incorpora un circuito que permite Emulación en Tiempo Real por medio de una PC y un entorno integrado de trabajo (IDE) como el WinIDE y el CodeWarrior. El sistema está preparado para soportar actualizaciones por medio de placas “PLUGIN” y placas de expansión que le permiten mayor flexibilidad para trabajar con distintas familias de MCUs de 8 y de hasta 32 bits, distintos periféricos como “ZigBee” (tecnología inalámbrica), “TouchPad” (Teclado sin contacto por campo eléctrico), Modem G24 GSM / GPRS (tecnología celular GSM / GPRS), Display gráficos, etc., etc.. Características. • • • • • • Placa didáctica con hardware completo para prácticas con cada módulo típico del HC908 / HC9S08 y familia “FLEXIS” de 8 / 32 bits. In Circuit Debugger incorporado para la familia HC908. Puerto Serial USB y RS-232C para conexión a la PC. Compatible con Entornos Integrados de Desarrollo WinIDE y CodeWarrior 5.0, 5.1, 6.x Alimentación AC / DC 9 a 16V o por puerto USB 2.0. Actualizaciones por placas “PLUGIN” y placas de expansión de periféricos. • Selección de dos (2) diferentes Osciladores (OSC Externo = 20.000 MHz. / OSC Placa “PLUG_IN” = 32,768 KHz para uso con PLL). • Conector “BDM” incorporado en la placa para trabajar con la familia HC9S08 y herramientas BDM como el “R(S)_POD” y el “USBMULTILINKBDME”. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar BDM “MON08” incorporado en la placa para HC908 Gran variedad de periféricos incorporados permiten prácticas con todos los módulos del MCU elegido. Placa “PLUGIN_AP” para trabajar con la familia HC908 Conexión Típica del sistema “EDUKIT08”. Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar Dto. Técnico EduDevices www.edudevices.com.ar Asignación de Conectores disponibles en el sistema: Hasta aquí se han visto las distintas herramientas de hardware disponibles para la familia HC908 y las características de cada una de ellas, en el próximo artículo se verán las herramientas de software disponibles para trabajar con esta y otras familias de MCUs de Freescale Semiconductor. Continuará ...... Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: dilella@arnet.com.ar