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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]
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: [email protected]