COMENTARIO TECNICO Herramientas de Hard & … · Integrados de Trabajo – IDE) que facilitan el...

13
Dto. Técnico EduDevices www.edudevices.com.ar Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected] 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)

Transcript of COMENTARIO TECNICO Herramientas de Hard & … · Integrados de Trabajo – IDE) que facilitan el...

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

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 (EntornosIntegrados de Trabajo – IDE) que facilitan el trabajo del desarrollador o diseñador desistemas con microcontroladores. Pero, ¿Por qué es tan importante contar con estasherramientas?

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 deescribir mecánica”?...... Una verdadera tortura!! ¿Verdad? ....Bueno, así se trabajaba en los70´s con los microprocesadores de aquella época!!Los que somos “viejitos” en esto del mundo del microcontrolador, hemos trabajado enforma “casi” artesanal, escribiendo código de programa directamente en “lenguaje demá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 siuno era “afortunado” podía “emular” en unos sistemas grandes, costosos y en los que debíaingresar “a mano” uno por uno los códigos hexadecimales del programa a probar ¡!!

Para los nostálgicos, aquí va una foto ...... (Snif, Snif)

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Hoy en día, se dispone de herramientas de Hard & Soft que permiten trabajar en lenguajesmás cómodos para el diseñador como el Assembler o en código “C”, generando en formaautomática abundante documentación, introducir “Break Points” (puntos de quiebre) consolo 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 familiaHC908 basan su funcionamiento en “forzar” al MCU bajo desarrollo a ingresar al “ModoMonitor” o “MON08” que dispone la familia HC908 y que hemos visto en detalle encapí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 elcomú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.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

• 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 tipoWinIDE o CodeWarrior bajoWindows

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

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 obteneruna herramienta económica de emulación y desarrollo.Este sistema posee pulsadores de configuración que permiten el uso de distintosmicrocontroladores HC908 en una gran variedad de condiciones de trabajo. Configuraciónactualizable de tablas y de software disponible de terceras partes.Es una versión mejorada y 100% compatible de la popular herramienta “E-FLASH08”.

“Headers” de 8 y 16pines para conectar“Arnés” de cable planoque vincula la placa delusuario con el sistemaemulador (Dipzoc).

Zócalos para lapersonalización de la placa ygrabación de los MCUs (8 y16 pines)

Numerososjumpers paraconfiguracionesdel sistema

Salida RS-232Cpara conexión PC –Emulador conentorno IDE

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

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.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Conexión Típica del Sistema “FLASH_POD”

Detalle de “Vinculación” entre la placa del Usuario y el I.S.E

Conector IDC 20vinculando eléctricamente ala placa del usuario y alsistema I.S.E de emulación

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Diferencias entre los sistemas I.C.E y los I.S.E

Cuando comenzamos a trabajar con una nueva familia de microcontroladores, nosencontramos a menudo, con el dilema de elegir la herramienta mas adecuada para nuestrosfuturos proyectos. En la familia de Microcontroladores FLASH HC908 de Freescale, nosencontramos ante esta situación. Aquí se prestará especial atención a los sistemas máseconó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 desarrollocapaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones yfuncionalidad de un microcontrolador determinado. Los I.C.E poseen un conector decable plano con un zócalo en uno de sus extremos que "imitan" física ymecánicamente la disposición de pines del "Chip" del MCU a emular. Esto permitereemplazar al chip que iría en la aplicación bajo desarrollo del usuario por el cable plano encuestión, posibilitando de esta forma la vinculación entre la aplicación y el sistema dedesarrollo.

Debido a este modo de vinculación que poseen estos sistemas, se plantean ventajas ylimitaciones para los mismos.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Dentro de las ventajas, podemos destacar que en los I.C.E la "potencia" de Emulaciónreside dentro de ellos, permitiendo utilizar mínimo hardware cuando, por ejemplo, solo sequiere 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 estosMCUs o bien en ámbitos escolares y/o académicos, en donde los ensayos son parciales y noespecíficos a un proyecto determinado.

Las limitaciones en este tipo de sistemas, pasan por la poca "flexibilidad" en la variedad dedispositivos a emular, ya que se necesita un "arnés" (conector + cable plano) para cadatipo de derivativo, tipo de encapsulado, y además circuitería especifica incluida en elemulador para cada uno de ellos.

Los sistemas "EVAL08" pertenecen al grupo de los I.C.E., y en su diseño se tuvo encuenta 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 encapsuladosDIP 16 y 8 pines.

Otro integrante del grupo de los I.C.E es el sistema didáctico “EDUKIT08” que posee todasu potencia de emulación “integrada” en el sistema. En este se consigue flexibilidad pormedio del intercambio de las placas “PLUGIN” que logran configurarlo para trabajar conotras 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 recienteaparició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 lavelocidad del clock del sistema) las funciones y funcionalidad de un microcontroladordeterminado, pero a diferencia de los I.C.E. basan su "potencia" de Emulación en losdistintos 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, soportanun modo especial de operación que permite a los desarrolladores de software acceder a unprograma monitor "interno" que ayudará en la depuración de los programas. Este modo deoperación se conoce como "Modo Monitor MON08" y permite que un sistema Host (PC) secomunique con el microcontrolador bajo desarrollo.

El sistema "FLASH_POD" pertenece al grupo de los I.S.E, este usa el "Modo Monitor" dela familia HC08, para Emulación en Tiempo Real, Programación de la memoria FLASH, ySimulación con la tarjeta de hardware real del usuario.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Solamente un conector (header) del tipo IDC 2 x 10 es necesario incluir en la tarjeta delusuario, para de esta forma, permitir que el sistema FLASH_POD se comunique con latarjeta bajo desarrollo y así obtener una completa emulación "In-System". Este conector seintercalará 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 ylimitaciones.Entre las ventajas podemos citar la gran flexibilidad a la hora de emular distintosderivativos de una familia de MCUs, independientemente del tipo de encapsulado ycantidad de pines (DIP, SOIC, TQFP).Las limitaciones en este tipo de sistemas pasan por la inclusión "obligatoria" del conectorde vinculación placa - emulador en la placa bajo desarrollo y el no poder utilizar alsistema 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 deseñales, control de alimentación, comunicación con la PC, manejo de recursos I/O, etc., queson vitales en dicho sistema pero la potencia de emulación descansa realmente en elMCU de la propia placa a depurar. En el Kit "FLASH_POD", se incluye una placa "demo" (Demo Board) conteniendo unMCU derivativo de la flia. HC908 como el MC908QY4ACPE, que permite realizar pruebasy depuraciones de distintos módulos del chip, sin la necesidad de agregar hardwareadicional o con uso mínimo del mismo.

De esta forma, se compensa la última limitación comentada anteriormente para este tipo deSistemas.

Placa “Demo Board” conMC908QY4ACPE, aquí podría usarsecualquier placa de usuario con elmismo conector IDC 20

Vinculación entre placa DEMO(o del usuario) y el sistema deemulación por medio delconector IDC 20 como formauniversal de conexión.

Placa Header Board quesirve como interfaceentre el emulador y laplaca del usuario.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Como se comentó anteriormente, el conector de vinculación entre Emulador - Placa bajodesarrollo, 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 elemulador "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) espuesto 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.

NOTA 1: En el Pin 7 del conector IDC 20 se debe conectar el circuito del oscilador, es decir una de las patasde cristal con su correspondiente capacitor de 22 PF y la resistencia de 10 Mohms. La otra pata del cristaldebe 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 enlos 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 elmismo fuera “intercalado” entre las 10 señales más importantes entre el MCU y el resto del circuito externo almismo. Estas señales son utilizadas por el sistema FLASH_POD para “dialogar” con el MCU bajo desarrolloen el modo “monitor” y luego de liberar las mismas en forma automática, permitir de esta forma unaemulació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 de2 x 10 en la placa bajo desarrollo (Conector “Header”), debe ser PUENTEADO por “jumpers” que permitanal 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. )

Conexiones hacia los circuitos del usuario(leds, relays, pulsadores, etc., etc.)

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Sistema Didáctico “EDUKIT08”.

El sistema “EDUKIT08” es una herramienta didáctica y de entrenamiento diseñada paraguiar al alumno en forma teórico – práctica en el aprendizaje de los distintos módulos queconstituyen los microcontroladores de 8 Bits FLASH HC908 / HC9S08 y de 32 Bits deFreescale Semiconductor. El sistema cuenta con todo el hardware necesario para realizarnumerosas prácticas de los módulos típicos de los HC908 / HC9S08 como display LCDinteligente, 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 unaPC 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” yplacas de expansión que le permiten mayor flexibilidad para trabajar con distintas familiasde MCUs de 8 y de hasta 32 bits, distintos periféricos como “ZigBee” (tecnologíainalá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 delHC908 / 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”.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Conexión Típica del sistema “EDUKIT08”.

Placa “PLUGIN_AP”para trabajar con lafamilia HC908

BDM “MON08”incorporado en laplaca para HC908

Gran variedad deperiféricosincorporadospermiten prácticascon todos los módulosdel MCU elegido.

Dto. Técnico EduDevices www.edudevices.com.ar

Ing. Daniel Di Lella – Dedicated Field Application Engineer e-mail: [email protected]

Asignación de Conectores disponibles en el sistema:

Hasta aquí se han visto las distintas herramientas de hardware disponibles para la familiaHC908 y las características de cada una de ellas, en el próximo artículo se verán lasherramientas de software disponibles para trabajar con esta y otras familias de MCUs deFreescale Semiconductor.

Continuará ......