tel: (54 11) 4584 – 3142 - edudevices · 2016. 9. 21. · mulator) es un sistema de desarrollo...

82
“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E 1 “FLASH_POD” Manual de Usuario Emulador en Sistema (I.S.E) para TODA la familia de Microcontroladores HC908 FLASH de Freescale Semiconductor. Versión 1.2

Upload: others

Post on 26-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

1

“FLASH_POD”

Manual de Usuario

Emulador en Sistema (I.S.E) para TODAla familia de Microcontroladores HC908FLASH de Freescale Semiconductor.

Versión 1.2

DANNY
Versión 1.2
Page 2: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

2

- Contenido.

------ 1.0 – Introducción.------ 2.0 – Características Generales.------- 3.0 – Contenido del Kit.------- 4.0 – Instalación del Software.------- 5.0 – Instalación del Hardware del Sistema.------ 6.0 – Seteos de Switchs y Jumpers.------- 7.0 – Zócalo IDC de Emulación para la tarjeta de usuario.------- 8.0 – Puertos de Comunicación.------- 9.0 – Modos de Operación.------- 10.0 - Poniendo en Marcha el Sistema.------- 11.0 – Seguridad.------- 12.0 - ICS08xxZ In-Circuit Simulator, Interface de Usuario.------- 13.0 - ICD08SZ In-Circuit Debugger.------- 14.0 – Función “Diagnóstico”.------- 15.0 – Función “Ver Oscilador Activo”.------- 16.0 - Codewarrior 5.x / 6.x para HC(S)08.------- 17.0 – Preguntas Frecuentes.------- Apendice 1: Lay out de jumpers y conectores.------- Apendice 2: Instalación y actualización del Entorno CodeWarrior 5.0

Diseñado y Desarrollado por:

Ing. Daniel Di Lella

Dedicated Field Application Engineer (D.F.A.E )(Ingeniero de Aplicaciones)

EduDevices.com.arE-Mail Privado: [email protected]

Comentarios & Sugerencias:

EduDevices.com.arRepública ArgentinaTel: (54 11) 4584 – [email protected]

Page 3: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

3

Control de Versiones:

1.0 – Editada en Marzo de 2006.

1.1 – Editada en Noviembre de 2006.

• Contiene correciones en las sección “6.0- Jumpers & Settings” con respecto a J1A/J1B/J1C.• Mejoras en la sección “16.0 – CodeWarrior 5.0 para HC(S)08”.• Agregado del Apendice 2. – “Instalación y Actualización del Entorno CodeWarrior 5.0”

1.2 – Editada en Junio de 2007.

• Se incorpora nota aclaratoria sobre las limitaciones en la Simulación En Circuito (ICS08SZ) para lanueva familia HC908QTxA y HC908QYxA en la sección 12.1 de este manual de usuario.

DANNY
Control de Versiones:
Page 4: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

4

1.0 - Introducción:

El propósito de este manual es describir el funcionamiento del sistema FLASH_POD y dar instruccionespaso a paso que permitan el uso de esta potente herramienta de desarrollo para los nuevosmicrocontroladores de la familia HC908 de Freescale Semiconductor MC908xx.

El sistema FLASH_POD es una herramienta de desarrollo para diseñadores que desarrollan y depurantarjetas que incorporan alguno de los microcontroladores (MCU) MC908xx y es la evolución natural delsistema ampliamente conocido “E-FLASH08” y 100% compatible con este último.

El KIT contiene todo el hardware y software necesario para desarrollar una aplicación completa,incluyendo, Emulación En Circuito en Tiempo Real, Simulación En Circuito (No Tiempo Real),Simulación Pura sin circuito, Edición y Compilación de Código y Programación de todos losmicrocontroladores de la familia HC908.

A título ilustrativo, se detalla una lista parcial de los MCUs soportados por el sistema FLASH_POD:

MC68HC908JK1, MC68HC908JK3, MC68HC908JL3, MC68HC908JK8, MC68HC908JL8,MC68HC908GP32, MC68HC908GT16, MC68HC908GT8, MC68HC908GR16 MC68HC908GR8,MC68HC908GR4, MC68HC908MR32, MC68HC908MR24, MC68HC908MR16, MC68HC908MR8,MC68HC908KX8, MC68HC908KX2, MC68HC908RK2, MC68HC908JB8, MC68HC908JB16,MC68HC908KH12, MC68HC908SR12, MC68HC908AB32, MC68HC908AP64, MC68HC908AP32,MC68HC908AP16, MC68HC908AP8, MC68HC908AP64A, MC68HC908AP32A,MC68HC908AP16A, MC68HC908AP8A, MC68HC908QT1, MC68HC908QT1A, MC68HC908QT2,MC68HC908QT2A, MC68HC908QT4, MC68HC908QT4A, MC68HC908QY1, MC68HC908QY1A,MC68HC908QY2, MC68HC908QY2A, MC68HC908QY4, MC68HC908QY4A, MC68HC908QY8,MC68HC908QB8, MC68HC908QB4, MC68HC908LJ24, MC68HC908BD48, MC68HC908GZ60,MC68HC908GZ16, MC68HC908GZ8, MC68HC908AZ60A, y futuros nuevos derivativos HC908,que aparezcan o que no figuren en esta lista ( ver sitio web de Freescale Semiconductorwww.freescale.com )

2.0 - Características Generales:

Cuando comenzamos a trabajar con una nueva familia de microcontroladores, nos encontramos amenudo, con el dilema de elegir la herramienta mas adecuada para nuestros futuros proyectos. En lanueva familia de Microcontroladores FLASH HC908 de Freescale, nos encontramos ante esta situación.Para fortuna de los diseñadores de sistemas con MCUs, la familia HC908 posee un amplio porfolio deherramientas de desarrollo en Tiempo Real, sin embargo, todos los sistemas responden a dos grandesgrupos.

- Emuladores En Circuito.

- Emuladores En Sistema.

Page 5: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

5

¿Que es un Emulador En - Circuito?

Un Emulador En - Circuito o I.C.E (In - Circuit Emulator) es un sistema de desarrollo capaz de emularen tiempo real (a la velocidad del clock del sistema) las funciones y funcionalidad de unmicrocontrolador determinado. Los I.C.E poseen un conector de cable plano con un zócalo en uno desus extremos que "imitan" física y mecánicamente la disposición de pines del "Chip" del MCU aemular.

Esto permite reemplazar al chip que iría en la aplicación bajo desarrollo del usuario por el cable planoen 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 paralos mismos.Dentro de las ventajas, podemos destacar que en los I.C.E la "potencia" de Emulación reside dentro deellos, permitiendo utilizar mínimo hardware cuando, por ejemplo, solo se quiere depurar o probar unmódulo específico del MCU (SCI, SPI, TIMERS, A/D, etc.).Otra ventaja, es que al usar un zócalo que reemplaza al microcontrolador a emular, no se utiliza unconector extra en la placa bajo desarrollo.

Las limitaciones en este tipo de sistemas, pasan por la poca "flexibilidad" en la variedadde dispositivos a emular, ya que se necesita un "arnés" (conector + cable plano) para cada tipo dederivativo, tipo de encapsulado, y además circuitería especifica incluida en el emulador para cadauno de ellos.Otra limitación es el alto costo de estos sistemas, ya que tienen involucrado una gran cantidad dehardware, conectores especiales y zócalos de iguales características.

Detalle conexión cable plano p/ Emulación con la placa del usuario bajo desarrollo en un sistema I.C.E típico.

Cable plano, conzócalo para emulación

Placa del usuario bajodesarrollo

Page 6: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

6

¿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 losI.C.E., y es una tendencia en franca expansión entre los fabricantes de microcontroladores y proveedoresde herramientas.Los I.S.E son también sistemas de desarrollo capaces de emular en tiempo real (a la velocidad del clockdel sistema) las funciones y funcionalidad de un microcontrolador determinado, pero a diferencia de losI.C.E. basan su "potencia" de Emulación en los distintos MCUs incorporados en las propias placas delos usuarios bajo desarrollo. Los microcontroladores de la familia HC908 de Freescale, soportan un modo especial de operación quepermite a los desarrolladores de software acceder a un programa monitor "interno" que ayudará en ladepuración de los programas. Este modo de operación se conoce como "Modo Monitor" y permite queun 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 familiaHC908, para Emulación en Tiempo Real, Programación de la memoria FLASH, y Simulación con la tarjeta de hardware real del usuario. Solamente un conector (header) del tipo IDC 2 x 10 es necesario incluir en la tarjeta del usuario, parade 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ñalesdel MCU y el resto del circuito de la placa, existiendo señales comunes y otras particulares entre losdistintos 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 unafamilia de MCUs (todos los HC908), independientemente del tipo de encapsulado y cantidad depines (DIP, SOIC, QFP, TQFP). Otra ventaja es el menor costo de este tipo de herramientas, ya que no tiene que “cargar” con un hardwarecomplejo y sobredimensionado, ni con cables planos o zócalos especiales. Las limitaciones en este tipo de sistemas pasan por la inclusión "obligatoria" del conector de vinculaciónplaca - emulador en la placa bajo desarrollo y el no poder utilizar al sistema emulador sin la placa delusuario con el MCU a emular. Esta última limitación se debe al hecho que en un sistema 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., que son vitalesen dicho sistema pero la potencia de emulación descansa realmente en el MCU de la propia placa adepurar. En el Kit "FLASH_POD", se incluye una placa "demo" (Demo Board) conteniendo un MCU derivativo de la flia. HC908 como el MC68HC908QY4A, que permite realizar pruebas ydepuraciones de distintos módulos del chip, sin la necesidad de agregar hardware adicional o con usomínimo del mismo. De esta forma, se compensa la última limitación comentada anteriormente para este tipo de Sistemas.

Page 7: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

7

Detalle de conexión con una placa de usuario bajo desarrollo y un sistema I.S.E típico. El sistema puede trabajar como "Emulador En No Tiempo Real" (I.C.S para Freescale) y también como"Emulador En Tiempo Real" (I.C.D para Freescale). Esta característica y el Editor WinIDE (WindowsIntegrated Development Environment) hacen sencilla la edición, compilación, ensamble, y correr lossiguientes programas externos del ICS08:

• CASM08Z assembler (compilador general Assembler para HC908)• ICS08xxZ In-circuit simulator (Simulador en Circuito p/ cada flia. HC908)• PROG8SZ FLASH programmer (Programador universal)• ICD08SZ real-time in-circuit debugger (Emulador en Tiempo Real)

El Kit FLASH_POD es un sistema de desarrollo de bajo costo que soporta edición, ensamblado, Simulación En-Circuito, Emulación Tiempo Real En-Circuito (In-Circuit Debugger), y programación de la memoria FLASH.

Placa de Usuario Bajo desarrolloMCU en la placa !!!!Conector IDC

Sobre “Header”de 2 x 10 pines

“Header Board”

Page 8: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

8

Entre las características que se incluyen, se puede citar :

• Edición con WinIDE (editor de Texto).

• Ensamblado con CASM08 compilador assembler.

• Programación de la memoria FLASH con el PROG8SZ y múltiples algoritmos de programación ".08p".

- Carga de código en memoria FLASH para producción y/o uso de depuración.

• Simulación En-Circuito y Simulación pura de los MCUs MC908xx Con el ICS08xxZ, incluyendo:

- Simulación de todas las instrucciones, memoria, registros, y periféricos.- Simulación opcional de los pines de entrada desde el hardware.- Breakpoints condicionales, archivos script, y archivos log.- Modos de ejecución Paso a Paso, Multi-paso, y continuo.

• Introducción de hasta 64 "Breakpoints" por soft, en cualquier posición del programa, también disparado por un valor de Acumulador, o por el Stack

Pointer (SP)(Breakpoints Condicionales) (solo en el modo ICS, NO DISPONIBLE en el modo ICD (Debbuger en Tiempo Real)).

• Emulación en Tiempo-Real limitada y depuración con ICD08SZ, incluyendo:

- Carga de código en RAM- Ejecución "Real-Time" en RAM o FLASH (grabada con PROG8SZ)- Un "hardware breakpoint" en FLASH (en cualquier posición flash)- Multiples breakpoints en RAM- Modos de ejecución Paso a Paso, Multi-paso, y continuo.- Depuración en "Real - Time" sin demoras o instrucciones extra.

• Documentación de Ayuda "On-Line" para todo el software

• Software integrado dentro del entorno WinIDE, permite acceso inmediato a lasAplicaciones.

• Conexión con el hardware a emular (tarjeta de usuario) por medio de un cable flexible y unconector IDC de 2 x 10 pines (Header Board).

• Mínimo espacio de PCB requerido para el conector de emulación.

• Conexión con la PC por medio de puerto serial RS-232C (COM xx) o por medio de un puertoserial universal USB (Universal Serial Bus) que permite utilizar PCs o Notebooks nuevas oviejas sin problemas.

Page 9: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

9

• Alimentación del sistema FLASH_POD por medio de fuentes externas de corriente continuao corriente alterna (DC o AC) y además puede alimentarse por medio del puerto USB que

disponen las PCs o Notebooks.

• Función “diagnóstico” incorporada a la herramienta, permite verificar en forma sencilla lasconexiones principales entre el sistema de desarrollo y la placa del usuario bajo depuración.

• Un circuito exclusivo permite que todos los pines del MCU estén disponibles durante el Modo de Emulación sin limitaciones de uso (I/O, ADC, Timers Channels, IRQ, Reset, etc.). Solamente 1 (un) pin del MCU NO está disponible durante la emulación, porque es necesario un puerto de comunicación a un solo hilo entre el MCU y la PC (1-WIRE-M).

• Operación con dispositivos desde 5 hasta 2,7 Volts o Tensiones Mixtas ( por ej. tipo HC908JB8, HC908JB16 MCUs para USB).

- Habilitación / Deshabilitación de configuraciones especiales del pin IRQ, Reset, Oscillator Out, y VDD output por medio de múltiples jumpers.

• Selección de cuatro ( 5 ) fuentes diferentes de Osciladores:

- OSC1 = 4,9152 Mhz - OSC2 = 9,8304 Mhz.- OSC3 = 14,7456 Mhz- OSC4 = 6,0000 Mhz.- OSC EXT = “oE” --- Oscilador Externo

• Posibilidad de elegir entre "Modo Simulación", "Modo Emulación" y "Modo Emulación en Circuito en tiempo Real" (limitado).

• Retención automática en memoria no volátil de la configuración elegida por medio de pulsadoresdurante un desarrollo.

• Creación de "macros" para ejecución automática de programas.

• Armado de "carpetas" de proyecto con todos los archivos involucrados en

el mismo. • Visualización en pantalla de registros del CPU, ventana de memoria,

variables elegidas por el usuario, etc.

• Verdadero nivel "simbólico" del programa bajo emulación (conserva nombres de variables y etiquetas, sin reemplazarlas por su verdadera posición).

• Actualizaciones frecuentes de seteos para emular NUEVOS microcontroladores de la familiaHC908 por medio de un sitio web, de esta forma la herramienta se mantiene actualizada en formapermanente.

• FLASH_POD es 100% compatible con entornos integrados de desarrollo como el WinIDE de P & E Microcomputer Systems y CodeWarrior 5.x / 6.x de Freescale Semiconductor.

Page 10: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

10

3.0 - Contenido del Kit: El kit del sistema FLASH_POD viene provisto de los siguientes elementos:

- 1 Placa Mother Board (placa principal del sistema).- 1 Placa Header Board (placa de generación de clocks, e interface con MCU).- 1 Placa Demo Board (placa de “Demo” para realizar las primeras experiencias).- 1 Cable Serial RS-232C tipo Macho – Hembra Null Modem.- 1 Cable Serial USB tipo “A – B”.- 1 CD ROM de instalación.- 1 CD ROM con versión “Demo” del Entorno CodeWarrior 6.x- Hojas de Instrucciones de instalación Rápida.

4.0 - Instalación del Software:

En la actualidad hay disponibles dos entornos de trabajo integrado (I.D.E) como son el WinIDE dela firma P & E Microcomputer Systems Inc, y el CodeWarrior 5.x / 6.x de la firma FreescaleSemiconductor.

Ambos sistemas son 100 % compatibles con el hardware de FLASH_POD y constituyen entornos detrabajo integrados poderosos y flexibles que aprovechan al máximo las características especiales delhardware.

4.1 - Instalación del entorno WinIDE:

Introducción:

El WinIDE (Windows Integrated Development Enviroment) es un entorno integrado de trabajo quepermite reunir en un solo ambiente, múltiples aplicativos útiles en el trabajo de desarrollo, todosaccesibles por medio d e “íconos” gráficos típicos de las aplicaciones bajo Windows. El WinIDE

reúne un Editor de Texto sencillo del tipo “Wordpad”(apto para escribir nuestro programa enlenguaje Assembler), un Compilador universal assembler para toda la familia HC908, un simuladorpuro (simulación sin hardware), un Simulador En Circuito (In Circuit Simulator), y un Emulador En

Tiempo Real (In Circuit Debugger).

En la Figura 1, se puede observar la pantalla principal típica del entorno WinIDE.

Page 11: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

11

Figura 1 – Pantalla principal típica del entorno WinIDE.

Cuando se diseñó el software, se pensó en un entorno WinIDE para cada familia o grupo de derivativosHC908. Esto se debe a que dentro del entorno existen dos aplicativos como el Simulador Puro y ElSimulador En Circuito, que están “personalizados” para cada familia en particular debido a que“simulan” registros y periféricos por soft que pueden o no compartir entre familias.

Posteriormente, y debido al crecimiento del número de derivativos de la familia HC908, se dispone de unWinIDE universal que no incluye las modalidades de “simulación”, pero sí todos los otros aplicativostípicos del WinIDE.

Instalación

Para instalar el software, usted dispone de un CD ROM con la etiqueta “FLASH_POD”.

Dentro del sub directorio “WinIDE”, se encuentran distintas carpetas que contienen las distintasversiones del entorno a instalar para cada tipo de familia.Si no se encontrara la carpeta correspondiente a la familia a utilizar, sugerimos instalar el softwarecontenido en la carpeta “PKG08SZ” que no es otra cosa que el WinIDE universal.

Page 12: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

12

La ruta de acceso es:

- FLASH_POD\WinIDE\HC908xx

(donde HC908xx es la carpeta que contiene el software del dispositivo elegido)

Por ejemplo, si se quiere trabajar con la familia HC908JK (JK1/JK3/JL3) se tiene que instalar el softcontenido en la carpeta HC908jkz, si por ejemplo, se quiere trabajar con la familia HC908QT/QY(QT1/QY1/QT2/QY2/QT4/QY4) se tiene que instalar el soft contenido en la carpeta HC908qtqyz.

En cada carpeta se encontrará un ejecutable, hacer doble clic para activar el programa de auto-instalaciónWIZARD que guiará al usuario en el proceso de instalación.

Si no se es un usuario experimentado, se sugiere seleccionar los seteos por default en cada pregunta, y elprograma correrá sin problemas. Las versiones de software aquí presentadas, son compatibles conWindows 95 y Windows 98, Windows 98SE, Windows ME, Windows XP.

Para actualizaciones de Software, por favor chequee el:

Web Site de P&E Microcomputer Systems Inc. http://www.pemicro.com/

Debe registrase en forma gratuita en dicho sitio para poder bajar la información deseada.

Pantalla típica de instalación de los entornos WinIDE. Una vez finalizada la instalación del entorno elegido, para una mayor comodidad, llevar alescritorio de la PC, el ejecutable principal denominado “WinIDE Development Enviroment”.

Page 13: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

13

5.0 - Instalación del Hardware del sistema: El sistema FLASH_POD está formado por las siguientes 3 placas:

- Mother Board: Placa principal de control de las señales, seteos y configuración paradistintos microcontroladores.

- Header Board: Placa de generación de clocks, manejo de señales y conexión con la placadel usuario bajo desarrollo.

- Demo Board: Placa de demostración, sirve como referencia para trabajar. Luego estaplaca es reemplazada por la placa del usuario bajo desarrollo.

Este sistema pertenece a la categoría de los I.S.E (In System Emulator, o emulador en sistema) y basa su capacidad de desarrollo en el “propio” microcontrolador ubicado en la placa bajodesarrollo del usuario. Este concepto permite gran flexibilidad de trabajo, ya que la emulación selleva a cabo en el microcontrolador realmente a utilizar, sin importar el tipo de encapsulado delmismo y la cantidad de pines que este disponga. Los microcontroladores de la familia HC908 de Freescale, 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 conocecomo "Modo Monitor" y permite que un sistema Host (PC) se comunique con el microcontroladorbajo desarrollo. 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 bajodesarrollo y así obtener una completa emulación "In-System". Este conector se intercalará entrelas principales señales del MCU y el resto del circuito de la placa, existiendo señales comunes yotras particulares entre los distintos MCUs a emular.

Aplicativos reunidos en un mismo entorno

“Icono” principal del WinIDE

Page 14: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

14

6.0 - Seteos de Switchs y Jumpers:

Switchs y Jumpers fueron agregados al sistema FLASH_POD para permitir un fácil yrápido seteo del MCU en los distintos modos de funcionamiento. Además se colocaron jumpers queposibilitan funciones adicionales como:

• Habilitación / Deshabilitación de la salida VDD al circuito, en el zócalo de emulacióndel MCU (disponible en la Header Board).

• Habilitación / Deshabilitación de la salida del oscilador, en el zócalo deEmulación del MCU (disponible en la Header Board).

• Selección de la Tensión de Alimentación, para 5 Volts o 3,3 V a 2,7V, del MCU.

• Selección de la Tensión de Lógica, para 5 Volts o 3 V del MCU.

• Selección de Tensión de Reset, para uso con tensión alta (V_High) o VDD en el pin de Reset.

JUMPER’S:

JP1A / JP1B / JP1C --- Jumpers Selección puerto Serial COM / USB.

1-2 Cerrado ---- Puerto Serial COM (RS-232C) “CN1” habilitado.Habilitar este puerto cuando se disponga en la PC un puerto Serial RS-232CLibre.

2-3 Cerrado ---- Puerto Serial USB (USB 2.0) “CN3” habilitado. Habilitar este puerto cuando se disponga en la PC un puerto Serial Universal

(USB) y no se disponga (o no se tenga) de un puerto Serial COM (RS-232C).Tener en cuenta que antes de utilizar este puerto, se debe cargar los “drivers”

correspondientes incluidos en el CD ROM de cortesía (Drivers USB).

JP2 ---- No existe en este sistema!!!.

JP3 --- Selección de Tensión Lógica (Tensión Lógica (tensión en los pines I/O) del MCU a emular).

1-2 Cerrado ----- Tensión Lógica MCU a emular de 5Volts, habilitada.

2-3 Cerrado ----- Tensión Lógica MCU a emular de 3Volts, habilitada.

Page 15: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

15

Nota: En general, la Tensión Lógica seleccionada deberá ser igual a la Tensión de Alimentación del MCU a emular, a excepción de los microcontroladores que disponen de interfaces USB (HC908JB1, HC908JB8, HC908JB16, etc.) que utilizan +5V en la tensión de alimentación y +3,3V en la tensión lógica.

JP4 ---Selección Tensión de alimentación (Tensión de Alimentación MCU a emular).

1-2 Cerrado -----Tensión MCU a emular de 5Volts, habilitada.

2-3 Cerrado -----Tensión MCU a emular de 3Volts, habilitada.

Nota: Tanto la Tensión Lógica, como la Tensión de Alimentación, en la posición de + 3V son AJUSTABLES por medio del preset “PT1”. La tensión puede ajustarse entre 2,45V y 3,5V.

JP5 ------ Habilitación/Deshabilitación de la salida VDD al circuito, en el zócalo de emulación del MCU (disponible en la Header Board).

JP5 Cerrado ---- Salida VDD al circuito, habilitada. En esta posición, se dispone de alimentación tanto en el MCU como en el

resto del circuito de la placa bajo desarrollo. De esta forma se puede controlar en forma automática TODA la alimentación del sistema bajo desarrollo.

JP5 Abierto ----- Salida VDD al circuito, deshabilitada. En esta posición, SOLO se dispone de alimentación en el MCU bajo

desarrollo. En este modo, el usuario deberá alimentar en forma separada al resto del circuito, teniendo especial cuidado de hacerlo luego de establecida la comunicación entre el MCU y el sistema de desarrollo, y así evitar problemas de “retornos” en la alimentación que dificultan la comunicación.

JP6 ----- Habilitación/Deshabilitación de la salida de los osciladores en el zócalo de emulación del MCU (disponible en la Header Board).

JP6 Cerrado ----- Salida de osciladores disponible en el zócalo (Header Board)

JP6 Abierto ------Salida de osciladores NO disponible en el zócalo (Header Board)

JP7 ------- Selección Tensión de Reset (Vreset = Vhigh o VDD).

1-2 Cerrado --- VDD (5V or 3V) Tensión de Reset, habilitada.

2-3 Cerrado ---- Vhigh (8V, Reset "high voltage" mode) Tensión de Reset, habilitada.

Page 16: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

16

Nota: La selección del jumper JP7 es útil para imponer una tensión más elevada o no en el pin de RESET del microcontrolador bajo desarrollo. En los microcontroladores de la familia HC908 una de las condiciones necesarias, pero no suficientes, es que en el pin IRQ de los mismos haya una tensión superior a VDD (de +7V a +9V) cuando se lo quiere mantener en el “modo Monitor”, modo vital para asegurar la comunicación MCU – PC. Cuando los circuitos internos del microcontrolador reconocen la presencia de esta tensión elevada, detienen el funcionamiento del COP “watchdog” para garantizar la comunicación y permanecer en el modo monitor. Si por motivos de diseño, nuestro circuito necesitara controlar el pin IRQ para generar una interrupción externa, podríamos afectar el modo monitor, para evitar ello, los microcontroladores HC908 reservan igual función para el pin ESET, ya que este pin puede soportar tensión elevada sin problemas, y mientras se mantenga la misma, retener el modo monitor y la detención del COP watchdog. (Ver sección “Monitor ROM” de los manuales de datos de los HC908).

Selección de Configuración, pulsadores SW1 & SW2.

El sistema FLASH_POD tiene dos pulsadores de selección de configuración para los diferentesdispositivos MCU bajo desarrollo.En razón de usar el Modo Monitor (Modo Emulación) se hace necesario que algunos pines en losHC908xx se configuren a ciertos niveles cuando el microcontrolador sale del reset.Esto se realiza por medio de los pulsadores SW1 & SW2 "Selección de Configuración"y se puede observar el número de configuración en el display DSP1/DSP2.(Ver Apendice -, "Números de Configuración y Jumpers").

Cada vez que SW1 es pulsado ----- El número de configuración avanza "una" (1) unidad.

Cada vez que SW2 es pulsado -- El número de configuración avanza "diez" (10) unidades

El display de configuración mostrará números desde "00" hasta "99" (100 configuraciones diferentes deMCUs HC908 !!), si cualquiera de los pulsadores SW1 o SW2 son pulsados varias veces y la cuenta deldisplay es mayor que 99, el contador dará "la vuelta" a la diferencia entre "la cuenta acumulada" - "100"

"Configuración Real".

Por Ejemplo: El display muestra "95" y luego SW2 (10 unidades) se pulsa una vez:

La Configuración Real a mostrar en el display será (95 + 10) - 100 = 05

El sistema FLASH_POD posee un mecanismo de auto repetición asociado a la tecla SW1 (unidades)y a la tecla SW2 (decenas) que al dejar pulsado SW1 / SW2 por más de 500 mSeg., se pasa al modo autoincremento del número de configuración a un ritmo de una posición (unidad o decena) cada 500 mSeg.

Page 17: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

17

Función “Auto Repetición” en los pulsadores SW1 & SW2

Retención de la memoria de Configuración.

El sistema FLASH_POD posee una característica muy práctica que permite "salvar" el Númerode configuración en la memoria FLASH del sistema.

Esta opción es automática, cuando el número de configuración es elegido, este es guardado en memoriaNo – volátil (flash) del microcontrolador de la placa Mother Board.

La retención de la configuración es útil para salvar la configuración de trabajo (del MCU bajo desarrollo)durante todo el tiempo de desarrollo.

7.0 - Zócalo IDC de Emulación:

El sistema FLASH_POD dispone de un “zócalo” del tipo IDC 2 x 10 vias (“P4”) integrado en laHeader Board, especialmente diseñado para conectar una tira de 2 x 10 pines (header) en el PCB (tarjetadel usuario) que le permite de esta forma una "Emulación En - Sistema" en la placa bajo desarrollo. VerApéndice - "Números de Configuración y Jumpers" para más detalles acerca de la conexión de P4 con laplaca bajo desarrollo.

La placa “Header Board” se debe conectar en forma vertical para permitir que el conector “P4” entrecon comodidad en la tira de pines de 2 x 10 pines que debe contener la placa del usuario bajo desarrollo(ver fotografía del detalle de conexión)

Page 18: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

18

Asignación de pines en el “ZOCALO IDC (P4)”:

IDC 2 x 10 vias

1 - VDD-C 2 - VDD-M 3 - IRQ-C 4 - IRQ-M 5 - RST-C 6 - RST-M 7 - OSC-C 8 - OSC-M 9 - GND-C 10 - GND-M11 - 1WIRE-C 12 - 1WIRE-M13 - PT0-C 14 - PT0-M15 - PT1-C 16 - PT1-M17 - PT2-C 18 - PT2-M19 - PT3-C 20 - PT3-M

220

Header Board

P4

P3

LadocircuitoExterno del

Lado del MCUbajo desarrollo(pines del MCU).

JP6JP5

Conectar a la placadel usuario bajodesarrollo

Conectar a P1 delMother BoardFLASH_POD

Conexión de Header Board(conector P4) con la placa delusuario bajo desarrollo(conector IDC 20)Montaje Vertical de la Placa

Page 19: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

19

8.0 - Puertos de Comunicación:

En la placa “Mother Board” existen 2 puertos de comunicaciones que hacen muy flexible la conexiónHerramienta – PC con todo tipo de máquinas, viejas o de última generación.

Puerto Serial COM – RS-232C (CN1).

Para las PC´s o Notebooks que dispongan de un puerto Serial COM (RS-232C) existe un conectorRS-232C en la placa denominado “CN1”(DB9 – HEMBRA). El puerto CN1 está destinado para serusado con un HOST PC que controla al sistema FLASH_POD, con una velocidad de comunicación desde4800 Bps a 28800 Bps.No se necesita driver alguno para que el entorno WinIDE disponga de este puerto de comunicaciones.Utilizar el cable Serial tipo Null Modem DB9 – DB9 provisto en el kit para conectar la placa con la PC oNotebook.

- Conector CN1 --- Conector RS - 232C para conexión a PC, utilizado por el sistema cuando se está en el “modo emulador” y permite que la PC tome control del FLASH_POD (emulación, debugging, programación de la flash, etc.).

Puerto Serial Universal USB (CN3).

Para aquellas PC´s o Notebooks que posean solo un Puerto serial Universal – USB, el sistemaFLASH_POD dispone de un puerto USB en el conector CN3. Por medio de este conector, no solo selogra comunicar al sistema de desarrollo con la PC o Notebook, sino que además permite alimentar aTODA la herramienta y a la placa bajo desarrollo si así se lo configura. Para disponer de este puerto elusuario debe configurar los jumpers JP1A / JP1B / JP1C según lo indicado en las secciones anteriores(Seteos de Switchs y Jumpers). Además el usuario debe instalar los drivers especiales necesarios para queel entorno WinIDE u otro entorno puedan manejar a la herramienta por medio de este puerto. El usuariohallará estos en la carpeta “DRIVERS_ USB”. (ver la sección “Poniendo en marcha el Sistema”).

CN1 – Puerto Serial RS-232C

Page 20: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

20

9.0 - Modos de Operación:

Los dispositivos MC908xx pueden operar en el “modo usuario” en forma estándar o en un modo llamado“monitor”. Esta sección describirá estos modos, el uso de cada uno y como entrar en el sistemaFLASH_POD.

Modo Usuario.

Este es el modo de operación estándar del dispositivo en el cual el mismo se encuentra bajo el control delprograma de aplicación del usuario.Cualquier interacción externa debe ser manejada por el programa.Este modo está activo en cualquier momento que se lo requiera y no es necesario entrar al modo monitor.

Modo Monitor.

Este modo permite el completo testeo y programación del dispositivo por medio de una interface deun solo hilo (1-WIRE-M) con el Host (PC).En el Modo Monitor, todos los pines I/O con excepción de PTA0 o PTB0 (según la familia HC908)(denominado en el sistema como 1-WIRE-M), retienen sus funciones normales. Por ejemplo, para elmicrocontrolador HC908GP32 los puertos PTC0, PTC1 y PTC3, PTA7 e IRQ (Ver el Data Bookcorrespondiente para mas detalles) son controlados para entrar en este modo, pero después decompletarse el ciclo de “Power On Reset” pueden “liberarse” para el uso por parte del programadel usuario (el sistema FLASH_POD libera ello en forma automática).

Los pulsadores SW1 / SW2, y los jumpers complementarios permiten configurar al FLASH_PODpara trabajar en este último modo (Modo Monitor) ver tablas y diagramas circuitales.

Conector Serial USB (CN3)

Page 21: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

21

10.0 - Poniendo en marcha el sistema:

Soft.

Para poner en marcha el sistema de desarrollo FLASH_POD, primero se debe instalar el soft del entornode trabajo WinIDE o CodeWarrior en la PC o notebook elegida, según lo indicado en la sección“Instalación del Software”. Para nuestros primeras experiencias, utilizaremos el WinIDE que lecorresponde a la familia de microcontroladores HC908QT / QY cuyo nombre es ICS08QTQYZ y seencuentra en la carpeta HC908QTQYZ dentro de la sección WinIDE del CD ROM de cortesía.

Puerto de Comunicaciones.

Elegir el tipo de puerto de comunicaciones a utilizar para controlar el sistema FLASH_POD con elentorno de trabajo, si se ha elegido el puerto Serial RS-232C (COM), verificar que esté habilitado en elsistema operativo Windows. Si se ha elegido el puerto Serial Universal USB, se procederá a cargar losdrivers del conversor USB incorporado en la placa Mother Board. El conjunto Drivers – Conversor, haráposible que la herramienta se controle desde un “puerto virtual” COM nuevo (estará disponible en elpanel general de control de Windows bajo el título “CP2101 USB to UART Bridge Controller(COMx)” aunque la misma se encuentre físicamente conectada al puerto USB. De esta forma, siemprecontrolaremos a nuestro sistema por medio de un puerto COM, virtual o real.

Para instalar los drivers del conversor, se procederá de la siguiente forma:

1) En el CD ROM de cortesía se encuentra la carpeta “DRIVERS_ USB”, ejecutar el programa de instalación “CP2101_Drivers.exe” siguiendo detenidamente las indicaciones del mismo.....

Al ejecutar el programa de instalación, se mostrará la siguiente pantalla...

Hacer “click” en el icono “Next” para avanzar con la instalación que nos mostrará la segunda pantalla...

Page 22: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

22

Hacer “click” en el botón “YES” para dar conformidad a los términos y condiciones de la licencia de usode los drivers para USB, mostrando la siguiente pantalla....

En esta pantalla se nos mostrará el lugar donde se instalarán los drivers para el controlador, si no fueradel agrado del usuario el destino elegido por el programa instalador, se puede cambiar ello por medio delicono “Browse” implementado a tal efecto. Luego hacer “click” en el icono “Next” para pasar a lapróxima pantalla...

Page 23: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

23

Al presionar el icono “Finish” pondremos fin al programa de instalación de los drivers del controladorUSB y estaremos en condiciones de instalarlos realmente en el sistema operativo Windows (95, 98,98SE, Me, XP) para que ello sea efectivo.

Ahora conectar el sistema “FLASH_POD” al puerto Serial Universal (USB) “CN3” y al puerto USBde la PC o Notebook por medio del cable tipo “A-B” provisto en el kit para que Windows reconozca lapresencia de un nuevo hardware presente en el puerto.

Page 24: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

24

El sistema operativo ha reconocido la presencia del nuevo hardware, hacer “click” en el icono “Next”para continuar con la instalación....

Elegir la opción que se ve en la pantalla (recomendada) y hacer click en el icono “Siguiente”...

Tildar la opción “Especificar una ubicación” y establecer la ruta de acceso a los drivers instalados conanterioridad según lo que muestra la figura (por Default) o donde el usuario eligió instalarlos en sumomento.

Page 25: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

25

Hacer “click” en el icono “Siguiente” para continuar con la instalación .....

Hacer “click” en el icono “Finalizar” para terminar con la primera parte de la instalación, ya que alconcluir con ella, se abrirá nuevamente una pantalla pidiendo la instalación de un nuevo driver.....

Page 26: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

26

Hacer click en el icono “Siguiente” para continuar con la instalación del nuevo driver ......

Elegir la opción que se ve en la pantalla (recomendada) y hacer click en el icono “Siguiente”...

Page 27: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

27

Tildar la opción “Especificar una ubicación” y establecer la ruta de acceso a los drivers instalados conanterioridad según lo que muestra la figura (por Default) o donde el usuario eligió instalarlos en sumomento.

Hacer “click” en el icono “Siguiente” para continuar con la instalación .....

Page 28: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

28

Finalmente hacer “click” en el icono “Finalizar” para concluir con la instalación de los drivers de USB.

Una vez concluido el proceso de instalación, el usuario puede comprobar si ello fue exitoso, mediante elcuadro de “Propiedades del Sistema” de Windows en el que debe figurar el nuevo puerto “virtual”dentro de las opciones de los Puertos COM y LPT. Aquí debe leerse “CP2101 USB to UART BridgeController (COM3)” o el número de COM que le asigne el sistema operativo.

Page 29: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

29

Propiedades del nuevo puerto virtual por Default optimas para un buen funcionamiento.

Nota Importante:

Para garantizar el éxito en la instalación del los drivers para el controlador de USB es necesario tener encuenta lo siguiente:

1) Verificar que no existan puertos seriales o dispositivos que tengan asignados el COM3 o el númerode COM que el sistema asigne en la instalación, ya que ello puede provocar interferencias en el

funcionamiento normal del puerto virtual instalado. Placas de Modems telefónicos, drivers USB de otros conversores y otros dispositivos pueden generar mal o nulo funcionamiento del puerto virtual COM. Para resolver ello, se sugiere desinstalar aquellos aplicativos que interfieran con el puerto virtual, o en el caso de usar Windows XP, el usuario tiene la opción de modificar el número de COM asignado por default a una posición que no interfiera (Icono “Avanzada” en propiedades de CP2101 USB to UART Bridge Controller). Es conveniente asignar al COM “virtual” el número de COM siguiente al COM “físico” (RS-23C, Modem, etc.) que posea la PC o Notebook para evitar un “salto” en la numeración de los mismos que interfiera especialmente con el entorno CodeWarrior.

2) Cuando se conecta el puerto serial USB del sistema FLASH_POD durante el proceso de instalaciónde los controladores, es importante que el sistema NO TENGA CIRCUITOS O PLACAS del usuarioconectadas al mismo. Solo debe conectarse las 3 (tres) placas provistas en el kit.

Page 30: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

30

3) Tener presente la corriente Máxima que puede soportar el puerto USB de la PC o Notebookutilizada durante el trabajo de desarrollo, ya que el sistema FLASH_POD y la placa del usuario bajodesarrollo (si así se configura por medio del jumper JP5) se alimentarán del puerto USB (no esnecesario el uso de fuente de alimentación). Un puerto USB 2.0 puede entregar hasta 500 mA decorriente total.

El sistema FLASH_POD implementa mecanismos de ayudan a la reducción de la corriente total Durante el uso de la herramienta, sin embargo siempre es oportuno mantener bajo control la corriente total tomada desde el puerto. La herramienta de desarrollo consume 100 mA en modo stand by (modo no activo de desarrollo), pero SOLO 20 mA en modo ACTIVO (“Ready”, o de plena emulación). De esta forma, se logra aumentar la cantidad de corriente disponible para alimentar la placa bajo desarrollo del usuario (aplicación).

4) Aquí se ha mostrado la instalación para W98SE, para Windows XP la instalación es similar yaún más sencilla ya que se despliegan menor cantidad de pantallas durante el proceso de instalaciónde los drivers USB (tomar como base la de W98SE).

Armado del Hardware:

Como se explicó en secciones anteriores, el kit consta de 3 placas, que se vincularán entre sí por mediode conectores para nuestros primeros pasos con el sistema. Para ello, conectaremos el arnés de cableplano en los conectores “P1” de la placa Mother Board y “P3” de la placa Header (tira de pines 2 x 10)como se puede observar en las figuras 2, 3 y 4. Luego conectaremos la placa Header Board con la placaDemo Board por medio del conector “P4” de la forma que se puede observar en la figura 5.

Una vez completada la unión de las placas, debemos vincular la herramienta con el puerto decomunicaciones, utilizando para ello el cable Null Modem DB9 – DB9 en el caso de usar el puerto SerialRS-232C o bien el cable Serial USB A – B cuando se utilice el puerto USB (ver “Puertos deComunicación”).

Figura 2 – Placas constitutivas del sistema FLASH_POD.

PLACA “MOTHER BOARD”PLACA“HEADERBOARD”

PLACA“DEMOBOARD”

Page 31: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

31

Figura 3 – Detalle de conexión entre conector “P1” y arnés de cable plano.

Figura 4 – Detalle de conexión entre conector “P3” y arnés de cable plano.

Conector P1 y arnés de cable plano en placaMother Board (Observar la polaridad en elconector – Marcas Blancas)

Conector P3 y arnés de cableplano en placa Header Board(Observar polaridad)

Page 32: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

32

Figura 5 – Detalle de conexión placa Header Board (conector P4 – IDC 20) y Placa Demo Board (Tira de pines 2 x 10).

Configuraciones del sistema:

Para comenzar con el uso del sistema, utilizaremos configuraciones estándar tanto en el hardware comoen el software involucrado.Para nuestro ejemplo de configuración, utilizaremos los del MCU MC908QY4A que está contenido en laplaca Demo Board del kit.

Los valores de configuración son los siguientes:

Mother Board:

JP1A / JP1B / JP1C = Jumpers en posición 1-2, si se usa Puerto Serial RS-232C (Conector CN1).

JP1A / JP1B / JP1C = Jumpers en posición 2-3, si se usa Puerto Serial USB (Conector CN3).

JP3 = Jumper Cerrado en posición 1-2, microcontrolador alimentado con 5 Volts.

JP4 = Jumper Cerrado en posición 1-2, lógica I/O alimentada con 5 Volts.

JP7 = Jumper Cerrado en posición 1-2, Tensión del Reset igual a VDD del MCU.

Page 33: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

33

Header Board:

JP5 = Jumper Cerrado, se alimentarán microcontrolador y circuito asociados a la placa Demo.

JP6 = Jumper Cerrado, señal de oscilador disponible en pin OSC-M.

Switchs SW1 & SW2:

Número de Configuración = “18”, oscilador de 9,8304 Mhz elegido y FBUS = OSC / 4 = 2,4576 Mhz.

Alimentación:

Si se utiliza el cable serial DB9 – DB9 (RS-232C), se deberá utilizar una fuente externa dealimentación de 9V CC o CA @ 500 mA no importando su polaridad o tipo de corriente, ya quela placa Mother Board posee un puente rectificador incorporado.

Si se utiliza el cable Serial USB A-B, no utilizar fuente alguna!!, ya que el puerto USB proveerá laalimentación necesaria al sistema. Tener en cuenta que la corriente máxima manejada por un puerto USB2.0 es por norma de 500 mA. Verificar atentamente que ello se cumpla en la PC o Notebook utilizada, yaque la corriente total consumida por el sistema + nuestra aplicación (de elegirse la opción dealimentar el circuito externo por medio de JP5 cerrado) NO DEBE SUPERAR este valor para no tenerconsecuencias graves en la PC o Notebook.

Entorno de Trabajo:

Una vez instalado el entorno WinIDE correspondiente al MCU contenido en la placa Demo Boardincluida en el kit (el que corresponde es el ICS08QTQYZ), se dispondrá de una serie de iconos (archivosejecutables) dentro de la carpeta principal del mismo (Ver figura 6).Se deberá correr primero el archivo WINIDE.EXE, el mismo es un programa editor y funciona como unlanzador (shell) para otros módulos (ver Figura 7).

Figura 6. – Aplicativos reunidos en el ICS08QTQYZ.

Page 34: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

34

Figura 7 – Ventana típica del entorno WinIDE y sus “íconos” windows de aplicaciones.

El programa de aplicación demo_qt4.asm (para la versión ICS08QTQYZ) será abierto automáticamentecuando se comience con el WinIDE, junto con un programa de solo texto “Welcome.asm” que nos darála bienvenida al nuevo entorno, pero esto puede cambiarse y abrirse desde el menú de archivos cuando elusuario así lo desee en ocasiones posteriores.

La placa Demo Board contiene un microcontrolador MCC908QY4ACPE y la aplicación“demo_qt4.asm” fue diseñada para demostrar en forma sencilla la flexibilidad de uso y programacióndel módulo de timer en los HC908.

En dicha aplicación se utilizan demoras implementadas en base al módulo de timer que el usuario puedecontrolar por medio de variables de “time out” y que producirán un pulso de salida en el puerto PTA5cuyo ancho será proporcional a la demora finalmente implementada en el programa.

El archivo “demo_qt4.asm” es solo un archivo de tipo texto que puede ser modificado por el usuariopara realizar numerosas pruebas por medio del editor de texto y sus herramientas de edición, presentesdesde el primer momento de la ejecución del entorno WinIDE.

El próximo paso que necesita el archivo ASM, es ser ensamblado, creando un código objeto en formatoS19 (formato Motorola) para ”bajarlo” al HC908QY4 de la placa Demo Board del sistemaFLASH_POD o para realizar trabajos de simulación pura o simulación en circuito.Esta tarea se realiza haciendo un click en el botón “Compiller / Assembler” (CASM08Z) en la barra deherramientas que dispone el WinIDE. Si se encuentra un error ( detectado por el compilador ), el editorresaltará la línea de código conteniendo el error y detendrá la compilación, según muestra la figura 8.

CompiladorAssembler

Simulador encircuito (ICS)

Programador

Emulador enTiempo Real

SimuladorPuro

Page 35: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

35

Figura 8 – Pantalla típica de error durante la compilación de un programa.

El proceso se repetirá hasta que no se encuentre error alguno, y el archivo así generado quedará listopara grabarse en la memoria FLASH del dispositivo 68HC908xx o bien para realizar tareas desimulación pura, simulación en circuito o Emulación en Tiempo Real. El compilador incluido en elentorno WinIDE (CASM08Z) es del tipo general o sea sirve para cualquier HC908 sin importartamaño de memoria de programa o configuración de periféricos existente y no contempla “linkeadores”que permitan compilar distintos “trozos” de programa en forma separada. Como resultado del proceso decompilación del archivo de texto con extensión “.asm” se obtienen 5 archivos en total y ellos son lossiguientes:

- Archivo con extensión .asm ----- demo_qt4.asm (archivo de texto en lenguaje assembler).- Archivo con extensión .bak ------ demo_qt4.bak (archivo back up del archivo .asm).- Archivo con extensión .lst ----- demo_qt4.lst (archivo “list”, listado de variables y

etiquetas)- Archivo con extensión .map ----- demo_qt4.map (archivo “map” con direcciones de variables y etiquetas)- Archivo con extensión .s19 ----- demo_qt4.s19 (archivo “s19” con código ejecutable en

formato Motorola)

Usando la función “Programación”

Antes de programar o realizar alguna comunicación con la placa FLASH_POD, se debe presetear losswitchs SW1 / SW2 & jumpers, para el Número de Configuración, Tensión de Alimentación del MCU,Tensión lógica del MCU, y el Buad Rate elegido como se describió anteriormente o según lasnecesidades del usuario en su proyecto.

Page 36: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

36

Cuando se selecciona el módulo de programación “Programmer” (PROG08SZ) por medio del icono dela barra de herramientas del WinIDE (o cuando el aplicativo PROG08SZ es elegido como programaprincipal), y previamente se energiza el sistema por medio de una fuente externa o por medio delcable USB, se estaría en condiciones de establecer la comunicación con el sistema FLASH_POD ycomo consecuencia de ello, se desplegará una pantalla gris de configuraciones que nos permitirá setearvelocidad de comunicación y otros parámetros en función de lo establecido en las placas del sistema.

Para nuestro ejemplo utilizaremos los siguientes valores para dicha pantalla:

Target Hardware Type: CLASS I, placa con control de alimentación por señal DTR.

Serial Port: Aquí poner el Número de puerto Serial COM Real o Virtual (si se usa el cable USB) utilizado por el usuario en la PC.

Baud: 9600 bps. Aquí deberemos poner el Baud Rate elegido por medio del número de configuración en la placa Mother Board y que tendrá directa relación con la frecuencia de Bus (FBUS)

y con la frecuencia del oscilador externo elegido a inyectar por el pin OSC-M (OSC1 del MCU). (ver Apéndice de configuraciones).

Target MCU Security Byte: Attemp ALL Know Security codes in order.

Page 37: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

37

En este punto se deberá tener en cuenta que en los microcontroladores de la familia HC908 existe unmecanismo de seguridad “anti – lectura no autorizada” que funciona en forma “implícita” en ellos.Todos los HC908 están protegidos en forma automática contra lectura sin la necesidad de que el usuariotenga que habilitar dicha función, como sucedía con el antiguo esquema de protección por “bit” deseguridad implementado en los MCU OTP o de otros fabricantes, en donde el usuario tiene laresponsabilidad de habilitar la función anti – lectura por medio de la escritura de un bit de seguridad(en muchos casos, del tipo irreversible) anterior o posteriormente al proceso de grabación de la memoriade programa del MCU.

El mecanismo de los HC908 está basado en un “Security Password” o palabra de seguridad de unalongitud de 8 bytes de largo (2 elevado a la 64 posibles combinaciones!!!) que se encuentra en lamemoria FLASH de los HC908 compartiendo la zona de vectores de estos. De esta forma, la palabra deseguridad está directamente relacionada con el contenido de los vectores de interrupción utilizados por elusuario durante el diseño del programa de aplicación de este. Cada programa, al utilizar en forma distintalos vectores de interrupción, tendrá su propia palabra de seguridad válida, sin que para ello, medie algunaacción del usuario.Sugerimos consultar el manual de datos de cualquier HC908 en la sección “Monitor ROM” paraconocer mayores detalles del mecanismo de seguridad contra lecturas no autorizadas implementados enellos.

Para nuestro ejemplo, se eligió la opción de intentar todos los password conocidos (memorizados en losintentos previos) aunque podríamos utilizar el password $FF FF FF FF FF FF FF FF pues es casi seguroque nuestro microcontrolador HC908QY4A de la placa Demo Board estará con su memoria FLASHvirgen o sea totalmente borrada ($FF) y el password para esta condición es el anteriormente mencionado.

Status:

En este cuadro de estados se puede verificar las distintas etapas de la conexión entre el microcontroladorde la placa demo y el sistema formado por PC – FLASH_POD, entregándonos datos de en cual etapa seproduce el error en la comunicación. Esto es muy útil para corregir problemas de hardware en nuestraplaca bajo desarrollo por pines mal conectados o tensiones incorrectas en las señales necesarias paraasegurar el modo monitor del HC908.

Si no hubiera errores, no tendríamos retorno de este cuadro, ya que se pasaría directamente a la próximaetapa del modo programación.

Tildado del cuadro “Show this dialog before attempting to contact the target 68HC908 Board” :

Esta opción debe ser seleccionada (tildar el cuadro pequeño) antes de establecer el primer contacto con elsistema FLASH_POD, ya que como expresa el enunciado en inglés, al tildar esta opción siempre sedesplegará el cuadro de seteo antes de efectuar el contacto con el sistema.

Page 38: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

38

Botón de Contacto con el Sistema “Contact Target with this Settings”:

Una vez completado todo el seteo de las opciones presentadas en el cuadro, el usuario debe hacer click enel cuadro de contacto para establecer efectivamente la comunicación con el sistema y se efectúa unprimer intento por pasar el mecanismo de seguridad.

En este estado, se efectuará un "ciclado de la alimentación del MCU bajo desarrollo" en formatotalmente automática entre la placa y la PC (indicado por LED 1 “System Ready” , LED 1 – ON –MCU Power – On , LED 1 – OFF – MCU Power - Off ), y dependiendo del estado del sistema estopuede ser efectuado múltiples veces.

Cada vez que se remueva la alimentación de la placa (por medio de la remoción de la fuente externa ode la desconexión del cable serial USB), se debe esperar por lo menos 1 segundo para reanudar laalimentación, de esta forma se asegurará que el MCU efectúe su ciclo de “Power On Reset”.

Si la comunicación es exitosa se pasará a la próxima pantalla del programador, pero si no lo es, semostrará la pantalla explicada pero con la sección “Status” con los estados resultantes de cada una de lasetapas de la comunicación para poder determinar en donde se ha producido el error.

Detalle de sección “Status” cuando hay errores en la comunicación MCU – PC.

Después de pasar el mecanismo de seguridad, se mostrará al usuario un cuadro de elección del“algoritmo” de programación (contiene rutinas especiales para programar al dispositivo elegido, vertabla abajo). Seleccionar el algoritmo adecuado para el MCU bajo programación, existe un algoritmopara cada tipo de HC908, en nuestro ejemplo, deberemos elegir el “908_qy4.08p”, que es el quecorresponde al MC908QY4ACPE que se encuentra en la placa Demo Board para nuestras prácticas.De esta forma el dispositivo ha sido inicializado y está listo para su borrado y posterior reprogramación.

Page 39: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

39

Algoritmos disponibles:

- 908_gp20.08p --- Para GP20- 908_gp32.08p --- Para GP32- 908_gp32_highspeed.08p -- Para GP32- 908_jl3.08p ----- Para JL3- 908_jk3.08p ----- Para JK3- 908_jk1.08p ----- Para JK1- 908_qy4.08p ----- Para QY4A- 908_xx.08p ----- Para más de 50 dispositivos diferentes (ver tabla)

11.0 - Seguridad:

Si por distintas circunstancias, no se pudiera superar el mecanismo de seguridad en forma exitosa,referirse a la sección 15.5 del manual de referencia del MC68HC908GP32 (o el dispositivo HC908específico elegido), para conocer como trabaja el mismo.El mecanismo de seguridad implementado en el MCU, previene todo intento de observar el contenido dela memoria Flash, por parte de personas extrañas al programa. Solo el autor del programa puede accedera todas las funciones del modo “monitor”, quedando solo disponible para las personas no autorizadas lafunción “Borrado total de la memoria FLASH del MCU” (Mass Erase), que permite reutilizar elmicrocontrolador protegido, pero no permite la lectura de código interno en la memoria FLASH de este,por parte de personas no autorizadas.

En el caso que luego de múltiples intentos fallidos por pasar la seguridad terminen sin éxito, se tiene laopción de saltar este paso y entrar al MCU al modo monitor pero en el modo “seguro” (o sea, no permiteobservar contenido alguno de memoria ni ejecutar comandos) por medio de una ventana que indicará ello(tildar la opción IGNORE security failure and enter monitor mode).De esta forma solo se tendrá acceso al borrado total del dispositivo, para luego (con el mismo totalmenteborrado) proceder por medio del WinIDE a la grabación de este.

Page 40: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

40

12.0 - ICS08xxZ In-Circuit Simulator, Interface de Usuario.

12.1 - ICS08xxZ Descripción.

El ICS08xxZ (donde "xx" es "GP" para dispositivos GP, JL para dispositivos JL/JK, QTQY paradispositivos QT / QY, etc.) In - Circuit Simulator, es un componente de "depuración de código"de un completo ambiente de desarrollo cuando se usa en conjunto con el entorno de edición WinIDE,el Compilador assembler en línea CASM08Z, el programador de memoria FLASH PROG08SZ,y el In - Circuit Debugger (Emulador en Tiempo Real) ICD08SZ.

El entorno WinIDE opera como un editor standard de archivos ASCII (tal como un archivo assembler)para Windows e incluye algunos botones "rápidos" para llamar ensambladores propios, compiladores ydebuggers. En conjunción con el ensamblador CASM08Z y el In - Circuit Debugger ICD08SZ, esteambiente permite que los archivos ensamblados puedan ser "descargados" y testeados mientras el códigofuente original es modificado y ensamblado.

El ICS08xxZ toma entradas y salidas del dispositivo desde una placa externa o Pod (FLASH_POD)conectada a la PC (Host). Los puertos I/O pueden ser usados por medio de la conexión de la placa"Header Board" del FLASH_POD a la tarjeta del usuario con un conector apropiado (header) de 2 x 10vías (ver sección 7.0 - ).

Los dispositivos 68HC908xx pueden ser programados por medio del sistema FLASH_POD usando elsoftware PROG08SZ contenido en el entorno WinIDE o como aplicativo separado.

El ICS08xxZ es un debugger "En - No - Tiempo - Real". El código del MCU corre solo tan rápidocomo pueda ser simulado por el PC Host. Para ejecución en Tiempo - Real, Use el "In - CircuitDebugger ICD08SZ".

El ICS08xxZ acepta cualquier archivo tipo "S" Motorola S19 standard como entrada para la simulación.Estos archivos objetos pueden ser creados por cualquier ensamblador HC908, tal como el CASM08SZ.Sin embargo, para efectuar debugging a nivel "fuente" de estos archivos (en la ventana de Código), debencargarse archivos de nivel fuente del tipo "map" P & E compatibles.Estos archivos "map" pueden ser generados atraves del CASM08Z. Si se usa un compilador de Terceraspartes (Assembler o C), el compilador debe ser capaz de producir archivos de nivel fuente tipo map,P & E compatibles.

Nota importante:

Debido a que recientemente Freescale Semiconductor ha lanzado al mercado la nueva familiaHC908QTxA / QYxA, con notables ventajas frente a la familia HC908QT/QY clásica (conversor A/D de10 bits, 3 frecuencias de oscilador interno, 3 modos de cristal externo, conversión A/D a baja velocidadde clock, etc.), la Simulación En Circuito para esta nueva familia NO ES POSIBLE, ya que se produceun error al querer cargar un pequeño programa de control en la memoria RAM de los nuevos “Q”. Hastael momento no se contempla corrección alguna en la Simulación En Circuito para esta nueva familia, si elusuario quisiera utilizarla, deberá reemplazar los HC908QTxA / QYxA, por los clásicos HC908Q. LaSIMULACIÓN PURA (sin hardware) funciona sin problemas.

Page 41: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

41

12.2 - ICS08xxZ, Velocidad de Simulación.

El usuario debe tener presente de la diferencia existente entre Simulación "pura" y Simulación"In - Circuit".La simulación pura, es por lo general mucho más rápida que la Simulación en Circuito, pero noenvuelve entradas o salidas reales.El software puede setearse para simulación pura desde el arranque, usando el comando SIM08.Adicionalmente, si la alimentación del sistema FLASH_POD se encuentra cortada al comienzo(arranque), el usuario tendrá la opción de elegir "simulación" desde el botón de la ventana de error decomunicación.

La Simulación En - Circuito es más lenta pero envuelve salidas y entradas reales.El comando POD permite al usuario reconectar el módulo para la Simulación En – Circuito (permitevincular la PC con el sistema FLASH_POD).

12.3 - Requerimientos del Sistema para el ICS08xxZ.

El ICS08xxZ corre bajo entornos Windows 95 o versiones posteriores.

El computador debe tener un mínimo de 5 Mbytes de memoria RAM (memoria de sistema) disponiblepara procesos de ensamblado, y también suficiente espacio en disco para almacenar los archivos que elICS08xxZ crea. Por lo que realmente, el entorno WinIDE no requiere gran capacidad de la PC onotebook, lo que permite utilizar el sistema con una gran variedad de equipos.

Para aquella PCs o Notebooks que utilicen sistemas operativos Windows XP, podrían, en algunos casos,presentarse problemas con el control de los puertos seriales COM (RS-232C), ya que este sistemaoperativo es muy “celoso” de los aplicativos que corren bajo él y toman control de los puertos seriales.Sugerimos al usuario prestar atención a la configuración de los puertos intentando la mejor opciónposible o bien utilizar el puerto Serial USB si la PC o Notebook así lo disponen.

12.4 - Comenzando con el ICS08xxZ.

Para inicializar y usar el ICS08xxZ, por favor lea cuidadosamente la sección 5 (ICS08Z -In - Circuit Simulator User Interface) y más secciones del M68ICS08 USER'S MANUAL(908som.pdf) dentro del CD-ROM de cortesía.

A continuación veremos las funciones principales del simulador puro / simulador en circuitoICS08QTQYZ que es el simulador correspondiente a la familia HC908QT / QY . Cabe aclarar, aunquese lo hizo anteriormente, que la simulación pura o en circuito NO ES UNA DEPURACIÓN ENTIEMPO REAL del programa del usuario, el código compilado corre en la PC del usuario y esta “imita”por medio de soft especifico las funciones y operaciones que efectuaría en forma real el MCU, perocorriendo a la velocidad posible de la PC y su sistema operativo. En el caso de la Simulación Pura, no seinvolucra hardware alguno (POD) y por lo tanto no es necesario el uso de las placas de FLASH_PODpara utilizar este aplicativo.

Page 42: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

42

En el caso de la Simulación en Circuito, si hay una conexión con las placas del sistemaFLASH_POD y es por medio del puerto serial RS-232C o USB según corresponda. Pero igualmente,las placas solo sirven como puertos de I/O o para usar los perifericos del MCU bajo desarrollo,mientras que el control y responsabilidad de la ejecución del código del programa del usuario estáSIEMPRE bajo la orbita de la PC.

Continuando con el ejemplo ....

Una vez compilado nuestro programa de demostración “demo_qt4.asm” con el compilador CASM08Zdisponible en la barra de herramientas y luego de corregido todos los errores de compilación, si loshubiera, se generarán 5 archivos vitales para nuestra depuración de código.En la sección “Usando la función Programación” se vio como programar la memoria FLASH de undispositivo HC908, la programación de la memoria FLASH solo es necesaria cuando se quiere volcarel código del programa del usuario en el dispositivo final para efectuar pruebas de campo en condiciones“cuasi – definitivas” o como paso previo al uso del Emulador En Tiempo Real (ICD08xxZ) (InCircuit Debugger) que nos permitirá una depuración de código en TIEMPO REAL con las ventajas queello implica.

Si a continuación, hacemos click en el botón de Simulación Pura (representado por engranaje, verfigura 7) se abrirá una nueva pantalla que corresponde al entorno de simulación como se puede observaren la siguiente figura.

Page 43: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

43

Si nuestro programa demo no se hubiera cargado en forma automática en el entorno de simulación comonos ha sucedido en la figura, tendremos que cargarlo por medio de cualquiera de los dos comandos paraello, “Load S19 File” o “Load Current S19 File” que se encuentran disponibles en la barra deherramientas del entorno.

Al hacer click en alguno de ellos, se nos presentará una ventana con los archivos “.S19” disponiblespara cargar. En nuestro ejemplo deberemos cargar el “demo_qt4.s19” y una vez hecho esto la pantalla desimulación será la siguiente...

Entorno de Simulación Pura, con el programa “demo_qt4” cargado.

Page 44: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

44

En dicho entorno, podemos observar las siguientes ventanas:

- CPU08.- Variables Window- Cycles- Memory Window 1- HC908QT1- Code Window 1: Source (demo_qt4.asm)- Status Window- Command Window

Una descripción pormenorizada de cada una de las ventanas y sus prestaciones se pueden obtener en elmanual de usuario del entorno WinIDE M68ICS08 USER'S MANUAL (908som.pdf) dentro delCD-ROM de cortesía.

Para nuestro ejemplo, solo citaremos comandos y ventanas necesarias para nuestros propósitosdemostrativos.

Para comenzar a trabajar con el entorno de simulación lo primero que debemos hacer es personalizar elmismo para el microcontrolador que estamos trabajando, en nuestro caso es el HC908QY4, sin embargocuando se abre el entorno de simulación por primera vez, el mismo se encuentra configurado para elMCU HC908QT1 (el más pequeño de la familia) y puede comprobarse ello por medio de la ventana delestado de la conexión PC – POD bajo el nombre “HC908QT1” . Para ello reconfiguraremos el entornocon el comando CHIPMODE tipeado en la ventana de Comandos como puede verse en las siguientesfiguras.

Ventana conexión PC – POD mostrando tipo de MCU por Default

Ventana de Comandos (extremo inferior izquierdo) con tipeado comando “CHIPMODE”

Page 45: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

45

Ventana de selección del tipo de MCU a simular que se abre con el comando “CHIPMODE”

Ventana conexión PC – POD mostrando tipo de MCU elegido por usuario

Una vez elegido el HC908QY4 como MCU a simular, podemos agregar en la ventana de variables“Variables Window” , algunas variables que se utilizan durante el programa de práctica y que sería idealpoder observar su valor durante la simulación. Esto es posible gracias al comando “VAR” que permitevisualizar en la ventana de variables el valor de la variable tipeada o los puertos del MCU. Para nuestroejemplo tipearemos:

- VAR TIMEOUT1- VAR TIMEOUT2- VAR TIMEOUT3

Ventana de Variables mostrando las variables elegidas en el ejemplo.

Page 46: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

46

A continuación, introduciremos un “Break Point” o punto de parada en nuestro programa antes de correrla simulación. Los Break Point son fundamentales para detener la ejecución de un programa en un puntodeterminado y poder así analisar los distintos valores de las variables elegidas y/o registros del CPUcomo pueden ser el ACC, H:X, SP, PC, CCR.

En nuestro ejemplo, introduciremos un Break Point en un punto determinado del programa y para elloprimeramente haremos click con el botón izquierdo del mouse en el lugar elegido para marcar laposición (línea de programa) de nuestro futuro break point. Una vez marcada la posición, haremos clickcon el botón Derecho del mouse y se abrirá una ventana auxiliar con distintas opciones, de ellaselegiremos “Toggle Break Point At Cursor” como se puede observar en la figura.

Ventana Auxiliar (botón derecho del mouse) con la opción “Toggle Break Point At Cursor”marcada.

Luego de hacer click en la opción “Toggle Break Point at Cursor” , se podrá observar la línea interésresaltada indicando el Break point activo, como vemos en la figura.

Page 47: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

47

Ahora, ya estamos en condiciones de “correr” la simulación, para ello se dispone de 4 botones en la barrade herramientas que nos permitirán distintas acciones en la ejecución de nuestro programa a depurar.Estos botones se pueden observar en la siguiente figura.

“Botones de Acción” disponibles en la barra de Herramientas del Simulador

Botón de RESET del MCU: Al hacer click, se re – inicializa el programa del usuario, cargardo el PC (program counter) con el valor contenido en el Reset Vector. O sea, apunta al comienzo de nuestro programa bajo simulación.

Botón Paso a Paso: Cada vez que se efectua un click, el programa avanza hasta la próxima línea de código.

Botón Multipasos: Al hacer click, el programa comienza a correr pero mostrando todas las variables y estados en el display, actualizando los mismos en forma periódica.

Botón Corrida Continua: Al hacer click, el programa comienza a correr a su máxima velocidad, sin refresco de variables o estados del display (pantalla). En el lugar de los valores de cada variable o estado aparecerán líneas punteadas.

Botón de Parada: Al hacer click, el programa se detendrá por acción del usuario en la posición que estuviera en dicho momento. Aquí también puede ser usada la bara espaciadora como botón de Parada.

Si ahora hacemos click en el botón “Corrida Continua” (RUN) el programa correrá a su máximavelocidad y se detendrá en la línea donde previamente se habia colocado el Break Point o punto deparada, como se puede observar en la siguiente figura.

RESET delMCU

Paso a Paso

MultipasosCorridaContinua

Parada

Page 48: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

48

Ventana de código mostrando el programa detenido en la línea donde está el Break Point

Para eliminar el break point, solo basta con hacer click en el botón derecho del mouse y volver aseleccionar la opción “Toggle Break Point at Cursor” para que este desaparezca como se puede observaren la figura.

Page 49: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

49

Hasta aquí se vió como uitilizar el entorno de “Simulación Pura”, para hacer uso de la “Simulación enCircuito” primero debemos asegurarnos de haber conectado nuestra PC o Notebook con el sistemaFLASH_POD, según lo explicado en parrafos anteriores. Hecha la comprobación, solo hay que hacerclick en el botón “In Circuit Simulator” (icono con forma de microscópio) disponible en la barra deherramientas del entorno principal del WinIDE (ver figura 7) para entrar en comunicación con el sistemaFLASH_POD.Como en toda aplicación que involucre comunicación con el mundo exterior (programación, Simulaciónen Circuito, Emulación en Tiempo Real) se abrirá una pantalla de comunicaciones como la que se explicóen parrafos anteriores. Superada esta etapa, se abrirá la pantalla de Simulación en Circuito que es igual ala de Simulación Pura, pero con la única diferencia en el cuadro de comunicación PC – MCU en donde sepodrá observar que el estado de conexión pasará de POD Detected : NO a...... POD Detected : YES.

13.0 - ICD08SZ In-Circuit Debugger.

13.1 - MON08, Limitaciones en el Debugging.

El debugger emplea un set de comandos que le permiten realizar debugging en Tiempo Real con laslimitaciones del programa monitor MON08 contenido en los dispositivos MC68HC08's .Estas limitaciones son inherentes al MON08 y deben tenerse en cuenta:

1. No debe cambiarse el bit 0 del registro Data Direction o el Data Value del PORTx (donde "x" Puedeser "A" o "B") (1-Wire Communication, ver el Data Book del dispositivo específico). Cuando seescribe, este bit debe ser seteado a "0", o sea debe configurarse el PTA0 o PTB0 (según corresponda)como entrada (INPUT) para no interferir con la comunicación entre el MCU y la PC.

2. No habilitar Keyboard Interrupts (KBI) para el bit 0 del PORTx (donde "x" puede ser "A" o "B") por igual razón que en el punto anterior.

3. No hacer "step" (paso a paso) en una instrucción que salta a si misma.

4. No hacer "step" (paso a paso) de un Software Interrupt Instruction (SWI).

5. Los registros de Hardware Breakpoint están reservados para ser usados por el ICD08SZ debugger.El uso de estos registros para otros propósitos puede NO funcionar.

6. Tener cuidado acerca de la observación de los estados de los periféricos y registros de datos en laventana de variables o memoria. El refresco de estas ventanas leerán estos registros y podrán causarel borrado de los flags correspondientes.

7. El monitor para debug integrado dentro de los procesadores HC08, usa hasta 13 bytesdel stack. No escribir desde la dirección (SP-13) a SP (Cargar un programa en la RAM).Ver cuidadosamente la RAM disponible para cada dispositivo específico.

8. Si las interrupciones son habilitadas durante un "stepping", el ICD08SZ debugger no hará el "step" dentro de la interrupción. En lugar de ello, se ejecutará toda la interrupción y se detendrá en la instrucción de retorno después de la interrupción.

Page 50: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

50

Los siguientes puntos, son útiles de tener en cuenta:

1. Se permite "Single Stepping" tanto en RAM como en FLASH.

2. El primer Breakpoint seteado es siempre un "Hardware Breakpoint" , y cualquier breakpoint adicionalserá tomado como Software Breakpoint. Para esta seguro de que un Hardware Breakpoint está siendoseteado, usar el comando NOBR antes de setear el mismo.El hardware breakpoint detendrá la ejecución en FLASH y RAM. El software breakpoint SOLOdetendrá la ejecución en RAM.

3. Ejecutar una instrucción SWI mientras se corre un programa (dentro del programa) es funcionalmenteequivalente a activar un breakpoint, excepto que la ejecución se detendrá en la instrucción siguienteal SWI.

4. Para debug desde FLASH y ver el código fuente mientras se hace un "stepping", usar el comando LOADMAP. Este carga la información del código fuente contenido en los archivos

de formato de archivos MAP.

5. Si un comando GO es activado sin setear previamente un breakpoint, la única forma de tomar control del procesador nuevamente, es resetearlo (usar el comando RESET).

5. El sistema Watchdog no está activo mientras se corre el ICD08SZ. Cuando el dispositivo esprogramado y energizado sin el debugger (FLASH_POD en plena EMULACION) - por ejemplo, enla tarjeta del usuario - el watchdog está activado por default.

Para inicializar y usar el ICD08SZ, por favor lea cuidadosamente la sección 7 (ICD08SZ - In - CircuitDebugger) y más secciones del M68ICS08 USER'S MANUAL (908som.pdf) dentro delCD-ROM de cortesía.

Ahora volviendo a nuestro ejemplo .......

Para hacer uso de la Emulación en Tiempo Real por medio de la aplicación ICD08SZ (In – CircuitDebugger) y una vez compilado nuestro programa de demostración “demo_qt4.asm” con el compiladorCASM08Z disponible en la barra de herramientas y luego de corregido todos los errores de compilación,si los hubiera, se generarán 5 archivos vitales para nuestra depuración de código.En la sección “Usando la función Programación” se vio como programar la memoria FLASH de undispositivo HC908, la programación de la memoria FLASH es necesaria cuando se quiere volcar elcódigo del programa del usuario en el dispositivo final (microcontrolador de la aplicación) como pasoprevio al uso del Emulador En Tiempo Real (ICD08SZ) que nos permitirá una depuración de código enTIEMPO REAL con las ventajas que ello implica.Luego de realizada la programación del MC908QY4ACPE se podrá hacer uso del ICD08SZ por mediodel icono presente en la barra de herramientas (icono con forma de reloj pulsera), como toda aplicaciónque necesite comunicación con la placa de hardware (FLASH_POD) se abrirá el cuadro de comunicaciónpara configurar tipo de hardware, Baud Rate y otros detalles necesarios para establecer la comunicación(copiar los mismos valores de configuración a los usados durante la programación).Superada este cuadro se nos abrirá la pantalla principal del In Circuit Debugger (Emulador en TiempoReal) como se muestra en la figura 9.

Page 51: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

51

Figura 9 – Pantalla del ICD08SZ, Emulador en Tiempo Real.

Se puede observar en esta pantalla que a simple vista parece muy similar a las de Simulación Pura y enCircuito. La diferencias están en que en la emulación en tiempo real, ya no es necesario tener un feedbackde comunicación con la placa (FLASH_POD), ni es posible mostrar los ciclos de reloj del CPU ya queestamos en un ámbito de tiempo real y ello no es ilógico.Como puede observarse en la ventana “Code Windows 2”, el código fuente aparece sin comentarios oetiquetas o sea un disassembler rústico, debido a que el ICD08SZ no “carga” en forma automática elarchivo con extensión “.MAP” necesario para mostrar con detalles variables y etiquetas del código“.asm” original.

Para solucionar ello, deberemos tipear el comando “LOADMAP” en el cuadro de comandos y se nosabrirá una ventana con todos los archivos “.map” disponibles. A continuación elegimos el archivoindicado (demo_qt4.map) y podremos ver la pantalla de la figura 10.

Page 52: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

52

Figura 10 – Pantalla de Emulación con el archivo fuente “demo_qt4.asm”.

Ya estamos listos para empezar a correr nuestra “demo” en tiempo real y luego de configurar lasvariables a mostrar en la ventana “Variables Window” (las mismas que elegimos en la simulación) nosaprestaremos a colocar un punto de parada o Break Point en algún lugar del programa que nos sea deinterés.En este punto es bueno aclarar que, en la Emulación en tiempo Real, solo podremos usar un SOLO breakpoint por hardware, ya que es el disponible en el interior del microcontrolador (ver manual de datos delHC908 elegido o el Reference Manual de la familia), pues solo en la simulación se dispone de más de unbreak point porque la misma corre en la PC y no en el MCU como aquí.

Colocamos el Break Point de igual forma a lo hecho en la sección de simulación y luego corremos elprograma “demo_qt4” en tiempo real por medio del botón “Go” (flecha verde entera) disponible en labarra de herramientas del emulador.Luego de unos instantes el programa se detendrá en el punto de parada que previamente habíamosestablecido devolviendo valores de variables y registros que fueron modificados por la “corrida” delprograma en tiempo real (ver figura 11).

Page 53: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

53

Figura 11 – Pantalla de Emulación con el programa detenido en el Break Point y las variables y registros actualizados luego de la detención.

Hasta aquí hemos llegado con las demostraciones prácticas de los distintos aplicativos disponibles en elentorno WinIDE y como utilizarlos, sugerimos al usuario leer detenidamente los siguientes documentospara obtener las máximas prestaciones de la herramienta.

Bibliografía:

Se sugiere leer los siguientes documentos contenidos en el CD - ROM:

MC68HC908GP32/D Technical Data BookM68ICS08OM/D M68ICS08 User's ManualAN - HK - 32 In - Circuit Flash Programming, MC68HC908GP32AN1831/D Using MC68HC908 On-Chip Flash Programming RoutinesCPU08RM/AD Programmer Reference ManualTIM08RM/AD Timer Module Reference Manual

Page 54: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

54

14.0 - Función Diagnóstico:

La herramienta “FLASH_POD” cuenta con la función “Diagnóstico”, una función no disponible enotras herramientas similares, que permite chequear ciertas condiciones de contorno presentes en la placabajo desarrollo del usuario.

Como se explicó en puntos anteriores los microcontroladores de la familia HC908 poseen un modoespecial de depuración y comunicación con el exterior denominado “Modo Monitor” que es muyimportante en el funcionamiento de las herramientas como FLASH_POD. Los diseñadores de Freescale,al concebir la familia HC908 pensaron no hacer muy sencillo el ingreso del microcontrolador a estemodo, quizas previendo falsos ingresos al mismo cuando el microcontrolador estuviera ejecutandoprogramas del usuario con las consecuencias que ello acarrearía. Para ello, no solo bastó con que el MCUdebiera reconocer una tensión elevada en el pin de IRQ, sino que además se debieran cumplir otrascondiciones para colocar al mismo en el estado “Monitor”. Forzar ciertos pines I/O del MCU a estadoslógicos determinados durante el ciclo de “Desenergización” (Power Off) y el de “energización” (PowerOn) son las condiciones complementarias para colocar al microcontrolador en el estado “Monitor”.Por este motivo, es muy importante asegurar que el MCU cumpla con este ciclo de POWER OFF / ON,ya que de ello depende que los circuitos internos del microcontrolador reconozcan estos estados.

El sistema FLASH_POD puede chequear los estados de POWER OFF y POWER ON en elmicrocontrolador y advertir al usuario si existe alguna condición anormal que impida cumplir con algunode ellos. Para hacer uso de la función “diagnóstico” se debe seguir los siguientes pasos:

1) Conectar entre si las 3 placas del sistema FLASH_POD (Mother Board – Header Board – DemoBoard) o las 2 placas principales del mismo (Mother Board – Header Board) sin otra placaadicional.

2) Energizar el sistema por medio de la fuente de alimentación (si se usa el puerto serial COM) o elpuerto USB (conexión del cable al conector CN3).

3) Luego de 1 segundo de ejecutado el paso 2), el display de la placa Mother Board mostrará “AA”Indicando que el sistema está en pleno ajuste de las tensiones de referencia que utilizará para lafunción “Diagnóstico”.

4) Una vez que en el display de la placa Mother Board se lea el número de configuración guardado en memoria No – Volátil, se estará en condiciones de conectar por medio de la placa Header Board y el conector P4 la placa bajo desarrollo del usuario a chequear, como si se fuera a realizar una emulación o programación de la memoria Flash del MCU.5) Con estas placas conectadas, proceder a pulsar SW1 + SW2 (ambos al mismo tiempo) y mantenerlos pulsados hasta que en el Display se lea alguno de estos carteles:

“oP” --- “Power O.K” ---- Indica que el microcontrolador HC908 en la placa del usuario, ha pasado con exito los chequeos y cumple con los ciclos de POWER OFF y POWER ON lo que nos asegura ciertas condiciones de buen

funcionamiento para lograr en modo “monitor” .

“PF” ---- “Power OFF error” ---- Indica que el microcntrolador HC908 en la placa del usuario, NO ha pasado con exito el chequeo de POWER OFF lo que significa que la tensión de VDD del MCU es SUPERIOR a 0,7VDC y todavia tiene energía como para considerar que el MCU NO entró en Power Off.

Page 55: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

55

“Po”---- “Power ON error” ---- Indica que el microcontrolador HC908 en la placa del usuario, NO ha pasado con exito el chequeo de POWER ON lo que

significa que la tensión de VDD del MCU y/o la tensión VHIGH en el pin IRQ están por debajo de los valores normales y ello conspira con la posibilidad de entrar en modo “Monitor”.

“PE” ---- “Power OFF/ON error” ---- Indica que que microcontrolador HC908 en la placa delusuario NO ha pasado con exito los chequeos dePOWER OFF y POWER ON lo que significa que lastensiones en VDD y VHIGH en IRQ no cumplen con losvalores para los puntos anteriores.

Función “Diagnóstico” al presionar SW1 + SW2

Los errores en POWER ON y POWER OFF suelen suceder, cuando en la placa bajo desarrollo delusuario, el microcontrolador HC908 tiene algún tipo de camino alternativo de la energía que altera losvalores normales en los dos estados. Por ejemplo, en el estado de POWER OFF el microcntroladornecesita asegurar tensiones de VDD por debajo de los 0,7V para garantizar que realmente se entró enpower off. Si bién el sistema FLASH_POD corta todo tipo de alimentación al MCU, es común que en elcircuito del usuario haya caminos alternativos que provocan retornos de energía, por ejemplo, osciladoresprendidos, salidas lógicas de otros integrados alimentados, capacitores electrolíticos cargados, pilas derespaldo, etc. Tener en cuenta que la familia HC908 es CMOS y todas los pines del chip tienen diodos deprotección contra tensiones ESD que pueden conducir corriente hacia VDD dando como resultado algunatensión superior a 0V por el muy bajo consumo que presenta el MCU en este estado.

Page 56: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

56

En el estado de POWER ON el MCU necesita tener buena tensión en VDD y la tensión VHIGH (7,5V omás) en IRQ no debe ser inferior a + 7,5V. Muchas veces, la placa del usuario posee componentesasociados a VDD y a IRQ que dificultan menejar las tensiones de control necesarias, por ejemplo, en elpin de IRQ es usual colocar un resistor de Pull-Up a + VDD, lo que al aplicarle una tensión superior a+VDD la misma queda contenida por el resistor de PULL – UP en un valor entre +VDD y VHIGH. Parasolucionar este problema, se sugiere colocar un diodo del tipo 1N4148 en serie con el resistor de PULL –UP con el cátodo del diodo conectado hacia el pin de IRQ, de esta forma, tensiones superiores a +VDDen el pin de IRQ pondrían al diodo en polarización inversa lo que haría que la tensión sobre IRQprácticamente sea igual a VHIGH.

15.0 - Función “Ver Oscilador Activo”.

El sistema FLASH_POD posee una función especial que permite ver el número de osciladorseleccionado cuando se ha configurado previamente al sistema por medio de los pulsadores SW1 y SW2(Número de Configuración). Como la herramienta posee mecanismos de ahorro de energía para evitarsobrecargar el puerto USB cuando la misma entra en modo “emulación” (Sistema READY), el displayindicador del número de configuración permanecerá “apagado” durante el estado activo de la emulación.Sin embargo, el usuario puede “ver” el número de OSCILADOR Activo seleccionado (resultado de laelección del número de configuración del sistema) por medio del pulsado de SW1 o SW2 durante elmodo de emulación ACTIVO indicado por el LED 1 (SISTEMA READY) ENCENDIDO. Laindicación del display permanecerá durante todo el tiempo que el usuario mantenga presionadocualquiera de los pulsadores (SW1 / SW2). El sistema podrá mostrar las siguientes indicaciones:

“o1” ----- Oscilador 1 (4,9152 Mhz) Activo.“o2” ----- Oscilador 2 (9,8304 Mhz) Activo.“o3” ----- Oscilador 3 (14,7456 Mhz) Activo.“o4” ----- Oscilador 4 (6,0000 Mhz) Activo.“oE” ---- Oscilador Externo (desde el exterior, remover jumper JP6).

Sistema FLASH_POD en plena EMULACIÓN (SISTEMA READY)

LED 1 “SISTEMA READY”

Display apagado en ahorro deenergía (Emulación Activa)

Page 57: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

57

Detalle del LED 2 “MCU POWER” en la placa HEADER BOARD.

Detalle de la función “Ver Oscilador Activo” al presionar SW1 / SW2

LED 2 – MCU POWERIndica que hay alimentación en elMCU (SISTEMA READY).

Page 58: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

58

16.0 - CodeWarrior 5.x / 6.x for HC(S)08, de Freescale Semiconductor.

Es una herramienta de uso libre, que reúne un compilador, un linkeador y un debugger de códigoassembler fuente, y que puede ser ampliada según las necesidades del usuario.La versión "5.0" ofrece ensamblado de código fuente en forma ilimitada (assembler) y proveecapacidades de Debugging muy interesantes aún para programadores adelantados. Versiones posteriorescomo el CodeWarrior 6.x introducen nuevas mejoras y mayor capacidad de compilación de código “C”en sus versiones gratuitas.

Esta herramienta poderosa, combina un Ambiente de Desarrollo Integrado de Alta perfomance (I.D.E)con:

- Simulación Completa del Chip y programación de la memoria FLASH desde el sistemaFLASH_POD.

- Un Compilador ANSI C (16KB en 5.x, 32KB en 6.x) altamente optimizado y un Debugger en nivel fuente C, Generación automática de código C con "Processor Expert" desde unidades.

Ejecutar una sección de programación o debugging con proyectos basados en entornosCodeWarrior IDE es tan simple como efectuar un doble "click" en el nombre del proyecto (el formato es"nombredelproyecto.mcp") desde el archivo almacenado. Comenzar un nuevo proyecto es un poco máscomplejo, pero los tutoriales, FAQs y guias rápidas de comienzo son fáciles de seguir y ayudan aconstruir un nuevo proyecto, usando "templates" pre-construidos, en muy poco tiempo. (Ver www.freescale.com y seleccionar "CodeWarrior For HC(S)08 Microcontrollers".)

El siguiente ejemplo ilustrará como programar y depurar código en un MCU HC908 desde un entornoCodeWarrior 5.x / 6.x IDE.

Aquí se darán los pasos principales en la programación de la memoria FLASH con CodeWarrior en modomonitor y como comenzar una sección de debug (depuración).Nuestro ejemplo consistirá en implementar un pequeño programa en lenguaje ensamblador que efectueuna interrupción en forma periódica cada “n” milisegundos basado en el uso del Timer en modo TOV(Timer Overflow). Este sencillo programa nos servirá como base para ejecutar un número de tareas máscomplejas en forma periódica de modo similar a como lo haría un sistema operativo más complejo.

Primeramente configuraremos al sistema FLASH_POD para trabajar con el MCU MC908QY4ACPEque es el microcontrolador disponible en la placa DEMO (Demo Board) que viene con el kit del sistema.Utilizaremos la conexión USB entre el sistema de desarrollo y nuestra PC, alimentando almicrocontrolador y a la placa Demo con +5Vdc provistos por la propia herramienta.

De esta forma la configuración final será:

• Jumpers JP1A / JP1B / JP1C = Posición 2-3 cerrado.• Jumpers JP3 / JP4 = Posición 1-2 cerrado.• Jumpers JP5 / JP6 = Posición Cerrado.• Jumper JP7 = Posición 1-2 Cerrado.• Número de Configuración en display = 18• Buad Rate de la comunicación = 9600 bps• Frecuencia del Bus = OSC / 4 = 2,4576 MHz

Page 59: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

59

Cabe recordar que como utilizaremos el puerto USB de nuestro sistema para comunicarnos, se deberácomprobar que se hayan instalado los drivers necesarios, provistos con la herramienta, para que la PC oNotebook utilizada interprete como un puerto “COM Virtual” al puerto USB físico, ya que en losentornos de trabajo integrados como el CodeWarrior o P & E WinIDE utilizaremos la opción “COM”como medio válido para comunicarnos (ver sección 10.0 “Poniendo en Marcha el sistema” de estemanual).

Configurado nuestro sistema FLASH_POD, procederemos a iniciar nuestro programa en el sistemaCodeWarrior 5.x / 6.x efectuando los siguientes pasos:

1) Al ejecutar el CodeWarrior IDE, se nos abrirá una ventana de opciones como se vé en la figura 1.

Figura 1.- Pantalla “Startup” con opciones de ayuda.

Eligiremos la opción “Create New Project” para armar nuestro nuevo proyecto .....

2) Se ingresará en la pantalla de configuración del proyecto donde eligiremos generación de lenguaje ASSEMBLY, y nombraremos a nuestro proyecto con el nombre “proyecto1.mcp”, según se puede ver en la figura 2.

Page 60: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

60

Figura 2.- Pantalla de configuración del proyecto.

3) En la siguiente pantalla configuraremos la familia y dispositivo en particular a utilizar paranuestro proyecto (MC68HC908QY4CP) según se puede ver en la figura 3.

Figura 3.- Pantalla de configuración de Familia, dispositivo y tipo de conexión.

Como se observa en la figura 3, se ha elegido la familia HC08, dispositivo MC908QY4A y en cuanto a laconexión con la herramienta debe elegirse la opción “Mon08 Interface” ya que es la opción universal deconexión para los sistemas de desarrollo como los EVAL08QTY, E-FLASH08, FLASH_POD y toda otraherramienta que no figure explicitamente en el listado de conexiones.

Page 61: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

61

Figura 4.- Pantalla de adición de archivos al proyecto.

4) Al hacer click en el botón “siguiente” pasamos a una pantalla (Figura 4.-) que nos permite adicionarcualquier archivo al proyecto, para incluirlo en nuestro trabajo. En nuestro caso, saltaremos estaopción e iremos a la próxima pantalla.

Figura 5.- Pantalla de elección o no de generación de código asistido (Processor Expert).

Page 62: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

62

5) En la pantalla que se observa en la figura 5.-, se puede elegir la generación de código deinicialización de los distintos periférficos asistida o no. Nosotros elegiremos utilizar la generación decódigo asistida, por medio del aplicativo “Processor Expert”, que nos irá guiando paso a paso en lainicialización de los distintos periféricos del MCU elegido.

6) Al hacer click en el botón “Finalizar”, se generarán todos los archivos del proyecto, se lanzará lapantalla principal de trabajo del mismo y se podrá ver una interface gráfica con los pines y losdistintos módulos que constituyen el MCU (Figura 6.-).

Figura 6.- Pantalla principal del proyecto e interface gráfica de generación de código (Processor Expert).

Ahora nos queda generar el código de inicialización del Timer para producir una interrupción periódicaque será la base de nuestro sistema de disparo de tareas, inicializar los puertos I/O, los registros deconfiguración, etc., etc.Para hacer esto, usaremos el generador de código asistido “Processor Expert” haciendo clickprimeramente en el modulo CPU para configurar el Clock del sistema y otros aspectos como se observaen la figura 7.-

Page 63: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

63

Figura 7.- Pantalla del módulo de CPU.

Se configura el módulo de CPU para:

• Clock ---- Externo ---- 9,8304Mhz (lo inyectará FLASH_POD por pin OSC1).• LVI ----- Habilitado ---- 3V trip point ----- LVI deshabilitado en modo STOP.• Interrupciones Habilitadas.• Vector de Reset apuntando a la etiqueta “_Startup”• Pin de Reset externo no disponible.

Figura 8.- Pantalla con los detalles de configuración del CPU.

Page 64: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

64

7) A continuación procederemos a configurar el módulo de Timer (TIM) ingresando al mismo comomuestra en la figura 9.-

Figura 9.- Pantalla del Módulo de Timer.

Ahora es el turno de configurar el módulo del TIMER según lo siguiente:

• Prescaler = 32 ----- FBUS = 2,4576 MHz.• Período del timer = 100 ms• Modo de funcionamiento ----- Timer Overflow Interrupt (INT_TIMOvr).• Overflow Interrupt = habilitado.• Nombre de la interrupción = isrINT_TIMOvr• Inicialización = Comienzo de la cuenta (arranque del timer).

Figura 10.- Pantalla configuración del TIMER

Page 65: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

65

8) Una vez que se ha configurado el módulo de TIMER, procederemos a configurar los puertos I/O según lo siguiente:

PORTA ---- PTA0 ---- INPUT ----- PTA1/PTA7 DISABLE.

PORTB ----- PTB5 ---- OUTPUT ------ PTB0 / PTB7 DISABLE.

Figura 11.- Pantallas de configuración de puertos (PORTA / PORTB).

Si luego se presiona el botón “Generation Code” , el generador de código del Processor Expertgenerará código y nos mostrará una ventana explicando los pasos a seguir para incorporarloefectivamente al resto del programa.

Figura 12.- Pantalla de generación de Código que producirá archivos bajo el Nombre “MCUinit” para inicializar el MCU.

Page 66: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

66

Figura 13.- Pantalla de ayuda para integrar el código generado al proyecto.

Según lo sugerido por la ventana de ayuda una vez generado el código, procedemos a integrar el códigogenerado a nuestro proyecto.

Luego de realizar esas modificaciones sugeridas por el Processor Expert, introduciremos nuestras líneasde código en la sub rutina de interrupción por Timer Overflow (isrINT_TIMOvr) para realizar, porejemplo, un Toggle (inversión de estado) del puerto PTB5 cada vez que atendamos la interrupciónpropiamente dicha. En este punto podemos poner todas nuestras tareas en forma de llamado a sub rutinaque se irán ejecutando una a una cada 100 ms.

Figura 14.- Agregado de nuestras líneas de código en la rutina de manejo de la interrupción por Timer Overflow (isrINT_TIMOvr).

Page 67: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

67

Una vez introducido nuestro código, debemos compilarlo haciendo click en el botón “Make” en la barrade proyecto o en la barra de herramientas general. Si no hemos tenido algún error de compilaciónestaremos yá en condiciones de pasar a la etapa de EMULACION EN TIEMPO REAL de nuestroprograma.

Para realizar ello, primero deberemos establecer una conexión entre el CodeWarrior 5.x / 6.x y nuestrosistema de desarrollo FLASH_POD que iremos configurando a lo largo de las siguientes pantallas luegode hacer click en el botón “Debugger” (fecha verde en la barra de proyecto).....

Figura 15.- Pantalla de selección de la interface con el hardware a utilizar.

En la ventana “Interface Selection” elegimos la opción “Class 1 – ICS Board with processorinstalled” y hacemos click en el botón “ok”.

Figura 16.- Pantalla de manejo de la conexión con el hardware (FLASH_POD).

Page 68: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

68

Luego configuramos la siguiente pantalla eligiendo el número de puerto COM en el que esté asignadoel puerto COM VIRTUAL utilizado por FLASH_POD para la conexión USB PLACA – PC, en nuestrocaso es el COM3 y le asignaremos un Baud Rate de 9600 Bps de acuerdo a lo configurado en nuestrosistema anteriormente.

Como se podrá observar en la figura, tambien se configurará la opción de borrado y grabación de lamemoria FLASH del MCU en forma previa y automática cada vez que se quiera entrar en el modo deDebugging (Emulación en Tiempo Real) ya que es la condición necesaria para que cualquier HC908pueda trabajar como una verdadera herramienta de desarrollo.

Hacemos click en el icono “contact target with these sedttings....” para establecer la comunicación conla placa FLASH_POD y entrar al entorno de Debugging propiamente dicho.

Una vez que nuestro sistema sortea las etapas de seguridad con éxito, nos aparecerá una ventana (Eraseand Program Flash?) preguntando por el borrado y grabación de la FLASH antes de ingresar al modode Debugging propiamente dicho. Haremos Click en el icono “Yes” para proceder a borrar y grabarnuestro programa en la memoria flash e ingresar al modo Debugging.

Figura 17.- Pantalla de Debugging (Emulación en Tiempo Real).

Page 69: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

69

Pues bien, ya tenemos la pantalla principal de Debugging (Emulación en Tiempo Real) y solo nos restacorrer nuestro programa haciendo Click en el icono con la “flechita verde” (Run / Continue) para poderver la señal cuadrada de 200 ms de período que obtendremos en el puerto PTB5 de nuestro QY4CPen la placa Demo Board, según nos muestra la figura 18.- .

Figura 18.- Oscilograma de la señal de salida en PTB5.

Se sugiere ingresar al Web Site de Freescale, en la sección “CodeWarrior” para obtener notas deaplicaciones varias y tutoriales acerca del uso del entorno integrado de desarrollo (IDE) CodeWarriortanto en Assembler como en código C.

17.0 - Preguntas Frecuentes.

1) ¿Que características presenta el "conector de vinculación" entre el sistema FLASH_POD y la placa del usuario a emular?

El conector de vinculación entre Emulador - Placa bajo desarrollo, es del tipo 2 x 10 pines (tira de pines2 x 10 a paso de .1") "header" en la placa, y del tipo IDC 2 x 10 (hembra) en el emulador (HeaderBoard).Este conector (el de la placa del usuario bajo desarrollo) debe intercalarse entre el MCU y el resto delcircuito, de esta forma el emulador "abre" el camino natural de las señales entre el MCU y el resto dela circuitería.Cuando el emulador, ya no es necesario, este conector de vinculación de la placa de usuario (tira depines) es puesto en "cortocircuito" entre pines opuestos por medio de jumpers estándar.

Page 70: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

Lado Circuito Usuario Lado Circuito MicrocontroladorMC68HC908JK1 – 20 Pines

1) Vdd3) IRQ

5) RESET

7) Al circ. Del Oscilador

11) I/O Generales13) I/O Generales15) I/O Generales17) I/O Generales

19) Pin LIBRE

Lado del MCUPines al chip del MCU

2) PIN 5 Vdd

4) PIN 1 IRQ6) PIN 20 RST

8) PIN 3 OSC 110) PIN 2 Vss12) PIN 15 PTB014) PIN 14 PTB1

16) PIN 13 PTB218) PIN 12 PTB3

20) PIN LIBRE

Conexionado de la tira de pines 2 x 10 en placa de usuario y el conector“P4” IDC 20 de la placa HEADER BOARD para el MC68HC908JK1CP

Lado circuito externo alMCU en la placa delusuario

70

NOTA 1: En el Pin 7 del conector IDC 20 se debe conectar el circuito del oscilador, es decir una de laspatas de cristal con su correspondiente capacitor de 22 PF y la resistencia de 10 Mohms. La otra pata delcristal debe ir directamente conectada al PIN 4 del Chip (OSC 2 ).

NOTA 2: En los pines donde se conectarán los circuitos correspondientes a IRQ y RST (reset), así comoen los pines de I/O generales (uso I/O general), el usuario conectará el dispositivo que considerenecesario (demás C.Is, transistores, etc.) de acuerdo con sudiseño original.

Conector IDC 20 (lado “Header Board”del FLASH_POD) & Conector “Header”2 x 10 (tira de pines, del lado placausuario)

Page 71: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

71

NOTA 3: El concepto del conector tipo “tira de 2 x 10 pines en la placa del usuario” (Header), es comosi el mismo fuera “intercalado” entre las 10 señales más importantes entre el MCU y el resto del circuitoexterno al mismo. Estas señales son utilizadas por el sistema FLASH_POD para “dialogar” con el MCUbajo desarrollo en el modo “monitor” y luego de liberar las mismas en forma automática, permitir de estaforma 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 depines 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 3con PIN 4……… PIN 19 con PIN 20. )

2) ¿Que señales o pines no están disponibles en el emulador FLASH_POD?

El FLASH_POD es un Emulador En - Sistema, que por su concepción, permite disponer libremente delos pines de los distintos MCUs a emular. Un circuito exclusivo permite que todos los pines del MCUestén disponibles durante el Modo de Emulación sin limitaciones de uso (I/O, ADC, Timers Channels,IRQ, Reset, etc.). Solamente 1 (un) pin del MCU NO está disponible durante la emulación, porque esnecesario un puerto de comunicación a un solo hilo entre el MCU y la PC (1-WIRE-M). El pin 1-WIRE -M, generalmente, es PTA0 ó PTB0 según el dispositivo elegido (ver manual de datos del MCUrespectivo) y presenta las mismas limitaciones de uso que en otros los sistemas similares.Si se desea usar este pin SOLO se lo puede hacer en el modo Usuario disponible solo cuando la placadel usuario está corriendo “desenchufada” del sistema FLASH_POD.

3) ¿Cuales son las señales / pines del sistemas FLASH_POD, con las que se debe tener algún cuidado durante su uso ?

Por lo explicado en el punto anterior, el sistema FLASH_POD, permite operar con todas las señales /pines del MCU a emular, sin mayores cuidados en cuanto a su uso. Sin embargo, cabe aclarar que, laseñal de IRQ (External IRQ), NO es físicamente la misma señal o pin del MCU, ya que la misma estáseparada ("Buffered") del resto del circuito exterior. Esto se debe a que en el pin propio del MCU existeuna tensión elevada (8 Vdc aprox.) para colocar al mismo en modo "monitor" y garantizar así laemulación. Por lo tanto, el pin IRQ - C (lado Circuito externo), se encuentra separado por un circuito"buffer" especial de aislación, del pin IRQ-M (lado MCU), aunque funcionalmente son idénticos.

1)

Jumper

Page 72: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

72

Otra señal a tener en cuenta es RESET (RST), pues el sistema FLASH_POD, permite configurar a lamisma para tensiones de trabajo igual a VDD (+ 3Vdc a + 5Vdc) o igual a Vhigh (+8 Vdc). Estacaracterística del sistema, le da al mismo, la posibilidad de trabajar libremente con el pin de IRQ, sinnecesidad de deshabilitar el sistema de COP watchdog por software, durante la emulación de unprograma determinado. Para mayor información acerca de cómo funciona el pin de RESET con Vhighdurante el modo monitor, consultar con el manual de datos respectivo del chip, en la sección "MonitorROM".

4)¿Los sistemas EVAL08 / E-FLASH08 / FLASH_POD utilizan alguna frecuencia de Clock especial durante la emulación o simulación en circuito / sistema?

SI, debido a que estos sistemas basan su funcionamiento en el "Modo Monitor" del MCU HC908,necesitan de una frecuencia de clock especial para comunicarse con el mundo exterior (PC Host)durante la emulación. Dicha frecuencia estará en relación con una velocidad estándar decomunicación o Baud Rate (4800, 9600, 14.400 Bps, etc...) que pueda generar el sistema, a partir deuna frecuencia de cristal dada.El valor de la frecuencia del cristal, dependerá del sistema EVAL08 / E-FLASH08 / FLASH_PODutilizado. Ver las frecuencias disponibles para cada uno de ellos, en sus hojas de datos.

En el sistema FLASH_POD, el clock es generado por la placa "Header Board", que poseecuatro (4) frecuencias distintas (y por configuración de pines se pueden obtener 8 frecuencias distintas deFBUS), e inyectado en la placa del usuario bajo desarrollo, aunque la placa tenga su propio cristal. Estoes posible, gracias a la disposición de pines del conector "header" 2 x 10 de la placa del usuario quepermite "abrir", en forma natural, el camino de la señal del cristal utilizado en la misma placa, anulandosu funcionamiento durante la Emulación y facilitando la inyección de señal del oscilador externo deClock.

5) ¿Que cuidados se deben tener con los MCUs que poseen módulos periféricos con pines de alimentación independientes?

Existen algunos MCUs de la familia HC908 que poseen módulos periféricos tales como, PLLs ,Conversores A/D, Generación de OSD, etc., que disponen de pines separados para su alimentación.En la mayoría de los casos, estos módulos deben alimentarse, aunque no se los utilice, ya que es posibleque el MCU que los posea, no funcione correctamente al NO tener alimentación en dicho módulo omódulos.Para utilizar el sistema FLASH_POD con alguno de estos MCUs, solo es necesario conectarel mismo a la placa del usuario, según lo indicado en el APENDICE 1.8 "Configuration Number& Jumpers" o versiones superiores (ver actualizaciones en nuestra página web), teniendo en cuenta quedeben ser conectados los pines de alimentación de los módulos a los pines de alimentación principal delMCU.

Page 73: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

73

Ejemplo: MC68HC908GP32

Módulo PLL :

- VDDA (PLL) --conectar a ---- VDD del MCU.- VSSA (PLL) -- conectar a ---- VSS del MCU.

Módulo Conversor A/D :

- VDDAD (ADC) --- conectar a ---- VDD del MCU.- VSSAD (ADC) --- conectar a ---- VSS del MCU.

Para mayor información sobre como conectar la alimentación de cada uno de los módulos,Por favor ver sección "Monitor ROM (MON)", párrafo "Monitor Mode Circuit" , en el Manual deDatos del MCU respectivo.

6) Cuando FLASH_POD intenta comunicarse con la placa bajo desarrollo del usuario, no selogra establecer comunicación con la misma y el cuadro “Status” está todo en “Rojo”.

Esta situación puede presentarse por varios motivos, estos son algunos de ellos:

A) Mal configurado el Puerto de Comunicación (COM real o Virtual).Si el puerto serial hubiera sido mal elegido y no fuera el correcto el cuadro de Status nosindicaría esa situación mostrandonos errores en todos sus puntos.

B) Mal funcionamiento del Puerto de Comunicación (COM real o Virtual).Si el puerto no estuviera disponible en la PC o Notebook el cuadro Status nos indicaríaello en la primera línea del mismo.

C) Mal configurado el Baud Rate entre sistema y cuadro de comunicación.Tener cuidado con la configuración del Baud Rate entre lo configurado en el cuadro decomunicaciones y lo configurado en la placa FLASH_POD (Mother Board).

D) Mal las conexiones entre el conector P4 en Header Board y la placa del usuario. Verificar que todos los pines necesarios para colocar al MCU de la placa del usuario en modo “monitor” esten conectados según lo indicado por el “APENDICE de Configuraciones y Seteos” .

7) La comunicación de FLASH_POD con la placa del usuario no supera todos los puntos delcuadro Status, solo los primeros son positivos.

Verificar los niveles de tensión en el estado de POWER OFF (MCU sin energía) y en POWERON (MCU con energía) pueden presentarse caminos alternativos de corriente que modifiquen losniveles de tensión de estos estados. (ver función Diagnóstico).

Page 74: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

74

8) Se ha logrado la comunicación entre FLASH_POD y la placa del usuario, pero en algúnmomento el entorno de desarrollo pierde la comunicación y queda congelada la pantalla.

Este problema puede deberse a cuestiones de Time-out entre el puerto serial y el sistemaoperativo que controla el mismo, sugerimos verificar la configuración del puerto ajustandolohasta conseguir la mejor perfomance posible. Algunas veces puede deberse a problemas internosentre el hardware de la PC y el Windows XP.

9) Idem punto 8) pero en plena tarea de “Emulación en Tiempo Real” aparece el en entornoWinIDE un cartel Gris de error en la comunicación y se piede control de la Emulación.

Este problema puede presentarse por varios motivos:

A) La aplicación en la placa bajo desarrollo del usuario está “conteniendo” el pin decomunicación a un solo hilo PTA0 o PTB0 (según corresponda al MCU HC908) , ya seapor problemas en el HARDWARE (resistores, leds u otro componentes que fuerce un valorlógico fijo sin posibilidad que el MCU bajo desarrollo pueda mover el mismo) o bién pormala configuración del registro DDRA o DDRB (según corresponda) en el BIT 0 quedebe estar seteado como ENTRADA y NUNCA como SALIDA mientras corra laEmulación en Tiempo Real, ya que al colocarlo como SALIDA provoca igual efecto que locomentado líneas arriba.

B) El pin de IRQ del MCU bajo desarrollo en la placa del usuario queda retenido en algúnmomento por circuitos externos en la placa del usuario, por lo que se pierde la tensiónVHIGH (+8Vdc) en dicho pin y en ese caso se dispara el COP WATCH DOG del MCU(ver manual de datos de cualquier HC908, sección Monitor ROM) y se produce un “AutoReset” que provoca la salida del MCU del modo “monitor” perdiendose la comunicacióncon el mismo y la PC.Para evitar ello, y en los casos que pueda implementarse, sugerimos utilizar el JUMPERJP7 de la placa Mother Board en la posición 2-3 en lugar de la posición 1-2. En la posición2-3 se fuerza la tensión VHIGH en el pin RESET del MCU, que en la familia HC908funciona de igual forma que el pin de IRQ para colocar al MCU en modo “monitor” (vermanual de datos de cualquier HC908, sección Monitor ROM).

Page 75: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

75

Apendice 1 - Lay Out de Jumpers y conectores.

MOTHER BOARD:

JUMPERS:

JP1A / JP1B / JP1C / JP3 / JP4 / JP7

CONECTORES:

CN1 --- Conector SERIAL RS-232C.CN2 --- Conector de Alimentación (9 a 12V CD o AC cualquier polaridad).CN3 --- Conector SERIAL USB.CN4 --- Conector para uso SOLO en FABRICA.

P1 ---- Conector 2 x 10 para cable plano de vinculación con placa Header Board.

OTROS:

DSP2 / DSP1 ----- DISPLAY DE CONFIGURACIÓN del sistemas.

SW2 / SW1 ----- Pulsadores de configuración / función Diagnóstico / función “Ver Oscilador Activo”.

F1 ---- Fusible 20 mm de 500 mA.

PT1 ----- PRESET de ajuste de VDD del MCU (opción VDD = 3V).

LED1 ---- LED indicador de “SISTEMA READY” (sistema ACTIVO).

CN4

JP3

JP4

CN3

CN1CN2

PT1

JP7

JP1A

JP1B

JP1C

P1

DSP2 DSP1

SW2 SW1

F1

LED 1

1 3

3 13

1

31

3

1

3

1

1

2

19

Page 76: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

HEADER BOARD:

JUMPERS:

JP5 / JP6

CONECTORES:

P3 ----- Conector 2 x 10 para cable plano de vinculación con placa Mother Board.

P4 ----- Conector IDC 20 ( 2 X 10 pines) para conexión a la placa bajo desarrollo del usuario. (Prestar atención a la numeración de los pines del conector al vincular el Header Board con la placa del usuario bajo desarrollo).

OTROS:

LD2 ------ LED indicador de MCU POWER (monitorea la alimentación en VDD del MCU).

DEMO BOARD:

P62

20

118

( - )

P5

P3JP6

JP5 2

20

P4

LD2

2

20

1

19

19

76

P79 16+

BR1

Page 77: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

77

CONECTORES:

P5 ---- Conector de vinculación con HEADER BOARD (tira de pines 2 x 10)

P6 / P7 ---- Conectores 1 x 8 pines con I/O y pines del MCU (QY4) disponibles para el usuario.

BR1 ----- Bornera de alimentación para usar la placa DEMO en forma solitaria.

Page 78: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

78

Apendice 2. - Instalación y Actualización Entorno CodeWarrior

Instalación.

El Kit del sistema FLASH_POD se provee con la versión “Demo” del sistema CodeWarrior 6.x enforma gratuita (CD ROM de cortesía) con las siguientes limitaciones:

El sistema “CodeWarrior 6.x Development Studio”, está orientado para trabajar con las familias HC908y HC9S08 y no es necesaria registración alguna para que el usuario disponga de una capacidad decompilación en lenguaje “C” de 32 K Bytes de código y un máximo de 32 archivos por proyecto,mientras que posee una capacidad de 64 K Bytes en lenguaje Assembler.

La ampliación de las prestaciones básicas del sistema es muy sencilla y pueden ser efectuadas porInternet. Toda ampliación fuera de las prestaciones básicas es con cargo, para mayor informaciónconsultar en:

Web Site Freescale : www.freescale.com/codewarrior

Requerimientos Mínimos del Sistema:

Hardware:

• Procesador Pentium II 400 Mhz o AMD – K6 (se recomienda Pentium III 550 Mhz o superior).• Memoria RAM 128 MB• Puerto USB 2.0 (@ 500 mA.)• Lectora de CD ROM.

Sistema Operativo:

• Microsoft Windows 98 SE / 2000 / XP sp2 (recomendado).

Espacio en Disco:

• Instalación Compacta 500 MB.• Instalación Full 635 MB.

Procederemos a instalar la Versión CodeWarrior 5.0 para nuestro ejemplo.......

Pasos a seguir:

1) Introduzca el CD ROM con la etiqueta electrónica “CodeWarrior 5.0” en el lector de la PC o Notebook a utilizar y seleccione la siguiente ruta:

D:\ CodeWarrior 5.0

Page 79: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

79

2) Ejecutar el archivo “Launch” de dicho directorio y nos aparecerá la siguiente pantalla ......

3) Elegir la opción “Launch the Installer” para comenzar con la instalación automática.

4) Aparecerá una pantalla de Bienvenida y se deberá seguir atentamente las indicaciones de las sucesivas pantallas a lo largo de la instalación que nos irán guiando paso a paso en la misma.

Page 80: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

80

5) Una vez concluida la instalación, procederemos a lanzar el CodeWarrior 5.0 IDESeleccionando Inicio Programas Freescale CodeWarrior HC08 V5.x

CodeWarrior IDE (como se ve en la figura, o bien instalando un icono de acceso directo delCodeWarrior IDE).

6) Haciendo “click” en el icono de acceso directo del escritorio o bien en la opción “Codewarrior IDE” de la ventana de programas mostrada anteriormente, se nos abrirá la siguiente pantalla de presentación......

Siempre que se tenga “tildada” la opción “Display on Startup” se abrirá la ventana con opciones decomienzo de trabajo con el sistema que facilitarán nuestro aprendizaje en el mismo.

Page 81: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

81

Al cerrar esta pantalla, se nos abrirá otra conteniendo “tips” que nos irán mostrando las distintasposibilidades que nos brinda este poderoso entorno.

Actualización del sistema CodeWarrior.

Los sistemas CodeWarrior disponen de la facilidad de actualización vía Internet lo que posibilitamantener al día nuestro sistema de desarrollo ante la aparición de nuevos dispositivos, correcciones omejoras, ejemplos de aplicación, etc.

Es indispensable que en la PC o Notebook elegida para la instalación del sistema CodeWarrior sedisponga de una conexión a Internet, ya sea en forma directa (modem) o bien por medio de la red endonde la misma se encuentre conectada.

La versión demo del CodeWarrior 5.0 contenida en el CD ROM de cortesía, requiere de actualizaciónpara funcionar correctamente con el sistema FLASH_POD.

Para ello se procederá de la siguiente forma:

1) Ejecutar la aplicación “CodeWarrior 5.0 IDE”.2) Cerrar la pantalla de presentación “Startup” y la pantalla “Tip” subyacente.3) Hacer “click” en la opción “Help” de la “Barra de Herramientas” como se Puede observar en la

figura.

Page 82: Tel: (54 11) 4584 – 3142 - EDUDEVICES · 2016. 9. 21. · mulator) es un sistema de desarrollo capaz de emular en tiempo real (a la velocidad del clock del sistema) las funciones

“FLASH_POD” Manual de Usuario – Versión 1.2 EduDevices.com.ar Diseñado por: Ing. Daniel Di Lella D.F.A.E

82

4) Hacer “Click” en la opción “Check for updates to CodeWarrior” .....

5) Se desplegará una pantalla de actualización y procederemos a hacer click en “next” para avanzar en el proceso, según se muestra en la figura.

6) En la siguiente pantalla nos mostrará todos las actualizaciones disponibles y deberemos elegir todas (tildando las casillas) las referidas al sistema 5.0 para una correcta actualización.

A partir de esta pantalla se irán mostrando los progresos de las descargas y las posteriores instalacionesuna a una a lo largo de todo el proceso de actualización.

Si se produjera algún error durante la instalación de alguno de los paquetes de actualización, elsistema lo corregirá en forma automática en posteriores intentos.

Se sugiere actualizar a los sistemas CodeWarrior en forma periódica.