Manual del Usuario

Manual del Usuario
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08”
Manual del Usuario
Versión 1.0
Sistema Didáctico / Entrenamiento
para las familias HC908 / HC9S08 /
HC9S08 - V1 ColdFire Flexis
1
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
- Contenido.
1.0 – Introducción.
2.0 - Características Generales.
3.0 - Contenido del KIT.
4.0 - Especificaciones Generales.
5.0 - Puertos de Comunicación del “EDUKIT08” con la PC.
5.1 - Instalación del Puerto de Comunicaciones.
6.0 - Hardware del Sistema.
6.1 - Asignación de “Jumpers”.
6.2 - Asignación de Líneas en el sistema “EDUKIT08”.
7.0 - Instalación del entorno “WinIDE”.
8.0 – Comenzando a trabajar con el entorno “WinIDE”.
9.0 – Sistema “CodeWarrior” for HC(S)08, de Freescale Semiconductor.
9.1 – Instalación del entorno “CodeWarrior”.
9.2 - Comenzando a trabajar con el entorno “CodeWarrior”.
10.0 - Ubicación física de Conectores e interfaces de comunicación.
11.0 – Guía rápida de uso.
Diseñado y Desarrollado por:
Ing. Daniel Di Lella
Dedicated Field Application Engineer (D.F.A.E )
for Freescale Semiconductor products
EduDevices.com.ar
E-Mail Privado: dilella@arnet.com.ar
Comentarios & Sugerencias:
EduDevices.com.ar
Bolivia 1676 (CP1416ANL) Ciudad Autónoma de Buenos Aires - República Argentina
Tel: (54 11) 4584 – 3142
www.edudevices.com.ar
info@edudevices.com.ar
2
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Control de Versiones:
1.0 – Editada en Septiembre de 2007.
3
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
1.0 – Introducción.
El propósito de este manual es describir el funcionamiento del sistema EDUKIT08
y dar instrucciones paso a paso que permitan el uso de este potente sistema didáctico /
entrenamiento para las familias de microcontroladores HC908 / HC9S08 / HC9S08 –
V1 ColdFire Flexis de Freescale Semiconductor.
El sistema EDUKIT08 es una herramienta didáctica y de entrenamiento diseñada para
guiar al alumno en forma teórico – práctica en el aprendizaje de los distintos módulos
que constituyen los microcontroladores de 8 bits FLASH HC908 / HC9S08 y la familia
“Flexis” de 8 / 32 Bits de Freescale Semiconductor.
El sistema cuenta con todo el hardware necesario para realizar numerosas prácticas de
los módulos típicos de los HC908 / HC9S08 como display LCD inteligente, display de 4
dígitos LED 7 segmentos, sensor de temperatura, puertos UARTs (RS-232C / RS-485),
puerto Infrarrojo (IRDA), pulsadores, leds de uso general, led de potencia para PWM, etc.
También incorpora un circuito que permite Emulación en Tiempo Real por medio de una
PC y un entorno integrado de trabajo (IDE) como el WinIDE y el CodeWarrior.
El KIT viene provisto con un curso teórico muy completo y con numerosos ejercicios
prácticos para cada uno de los módulos.
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 Pura sin
circuito (CodeWarrior), Edición y Compilación de Código y Programación de los
dispositivos usados como ejemplos para las familias HC908 / HC9S08 / HC9S08 –
V1 ColdFire Flexis.
Aplicaciones
•
KIT didáctico / entrenamiento para prácticas de los módulos típicos del HC908 /
HC9S08 y de la serie “Flexis” con hardware asociado a cada módulo.
•
Emulación en sistema en Tiempo Real, Simulación, Grabación del MCU.
•
Prácticas en Entornos de trabajo integrados (IDE) WinIDE y CodeWarrior.
•
Aprendizaje guiado teórico – práctico.
4
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
2.0 – Características Generales.
Detalle de Características
•
Placa “Motherboard” que contiene el siguiente hardware:
-
Display inteligente LCD 16 caracteres x 2 líneas con backlight, y control de
Contraste para escritura a 8 y 4 bits de datos.
-
Display LED de 4 dígitos de 7 segmentos para escritura por multiplexación
de líneas.
-
Puerto Serial UART RS-232C para prácticas de comunicación con distintos
dispositivos externos (PCs, Modems, Impresoras, otros EDUKIT08, etc.).
-
Puerto Serial UART RS-232C / RS-485 / Infrarrojo (IRDA), seleccionable por
medio de Jumpers, para comunicaciones en red, inalámbricas, etc.
-
4 Pulsadores para función KBI (Keyboard Interrupt) y usos grales.
-
Diodos LEDs de usos grales.
-
Dispositivo de memoria externo (24LC256) para prácticas de comunicaciones I2C.
-
MCU especial para emular comunicaciones SPI y generación de señales para la
práctica de función ICAP (Input Capture – Captura de Pulsos).
-
Diodo LED de potencia para la práctica de control por PWM.
-
Sensor de Temperatura y Resistor ajustable Preset para práctica conversor A/D.
-
Puertos I/O de propósitos grales. disponibles mediante jumpers.
-
Futura expansión para comunicaciones inalámbricas por RF (ZigBee).
-
Futuras placas de expansión para periféricos diversos por medio de los puertos I/O
de Propósitos Grales (CN3 / CN4).
5
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
•
EduDevices.com.ar
www.edudevices.com.ar
Sistema actualizable por placas “PLUGIN” para trabajar con HC908 y
HC9S08, y familia FLEXIS:
-
Placa “PLUGIN_AP” con MC68HC908AP32 para HC908.
Placa “PLUGIN_AW” con MC9S08AW60 para HC9S08.
Placa “PLUGIN_FLX08” con MC9S08AC60CFUE para HC9S08 Flexis.
Placa “PLUGIN_FLXCV1” con MCF51AC256AVFUE para ColdFire
“V1”Flexis.
•
Circuito incorporado para Emulación en Tiempo Real con una PC o Notebook
(para la familia HC908) y un entorno integrado de trabajo (IDE).
•
Conexión con la PC por medio de Puerto Serial RS-232C (COM xx) o por medio
de un Puerto Serial Universal USB (Universal Serial Bus) que permite utilizar
PCs o Notebooks nuevas o viejas.
•
Alimentación del sistema EDUKIT08 por medio de fuentes externas de
corriente continua o corriente alterna (DC o AC desde 7 a 16V) y además puede
ser alimentado por medio del puerto USB 2.0 que disponen las PCs o Notebooks.
•
Edición con WinIDE (editor de Texto)(Entorno Integrado de P & E).
•
Ensamblado con CASM08 compilador assembler.
•
Programación de la memoria FLASH con el PROG08SZ y múltiples
Algoritmos de programación ".08p".
•
Carga de código en memoria FLASH para uso de depuración.
•
Emulación en Tiempo Real y depuración con ICD08SZ, incluyendo:
• Carga de código en RAM.
• Ejecución "Real -Time" en RAM o FLASH (grabada con PROG08SZ)
• Un "hardware breakpoint" en FLASH (en cualquier posición flash)
• Modos de ejecución Paso a Paso, Multi-paso, y continuo.
• Depuración en "Real - Time" sin demoras o instrucciones extras.
• Documentación de Ayuda "On-Line" para todo el software.
• Software integrado dentro del entorno WinIDE, permite acceso inmediato a
las aplicaciones.
6
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
•
Habilitación / Deshabilitación de configuraciones especiales del pin IRQ,
Reset, Oscillator Out (OSC1), y otras señales por medio de múltiples jumpers.
•
Selección de dos (2) diferentes Osciladores:
• OSC Externo = 20.000 MHz.
• OSC Placa “PLUG_IN” = 32,768 KHz para uso con PLL.
•
Visualización en pantalla de registros del CPU, ventana de memoria, variables
elegidas por el usuario, etc.
•
Actualizaciones frecuentes de prácticas (rutinas) para los módulos de las
familias HC908 / HC9S08 / Flexis desde el Sitio Web de EduDevices.com.ar
•
EDUKIT08 es 100% compatible con entornos integrados de desarrollo como el
WinIDE de P&E Microcomputer Systems, CodeWarrior 5.0 / 5.1 / 6.x de
Freescale Semiconductor, ICC08 de Imagecraft, Cosmic Compiler, etc.
•
Versiones gratuitas de los Entornos Integrados “Codewarrior” incorporadas en el KIT.
•
El EDUKIT08 viene completo para trabajar con la familia HC908, actualizable
para HC9S08 / Serie Flexis por medio de placas “PLUGIN” y CD ROMs con
manuales y cursos correspondientes y otras actualizaciones por venir.
•
Conector “BDM” incorporado en la placa para trabajar con la familia HC9S08 / Serie
Flexis y herramientas BDM como el “R(S)_POD” y el “USBMULTILINKBDME”.
•
Homologado por Freescale Semiconductor Third Party Tools Sector.
3.0 – Contenido del Kit.
El kit del sistema EDUKIT08 viene provisto de los siguientes elementos:
•
•
•
•
•
•
•
Placa principal “MotherBoard” “EDUKIT08”.
Placa “PLUGIN_AP” para trabajar con Familia HC908.
Cable Serial Tipo Null Modem RS-232C M/H.
Cable Serial USB 2.0 Tipo A – B (Universal Serial Bus).
CD ROM de Instalación HC908 (Manual de Usuario, Drivers, Bibliografía, etc.)
CD ROM demostración de CodeWarrior 5.0
Listado de Materiales.
7
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Accesorios no incluidos
•
Fuente de Alimentación 220Vca / 12V @ 500 mA.
•
KIT de actualización “KIT_PLG_AW” conteniendo lo siguiente:
- Placa “PLUGIN_AW” para trabajar con Familia HC9S08.
- CD ROM de Instalación HC9S08 (Manual de Usuario, Drivers, Bibliografía, etc.)
- CD ROM demostración de CodeWarrior 6.2
•
KIT de actualización “KIT_PLG_FLX08” conteniendo lo siguiente:
- Placa “PLUGIN_FLX08” para trabajar con la Familia HC9S08 Flexis.
- CD ROM de Instalación HC9S08 Flexis (Manual de Usuario, Drivers, etc.)
- CD ROM demostración de CodeWarrior 6.2
•
KIT de actualización “PLUGIN_FLXCV1” conteniendo lo siguiente:
- Placa “PLUGIN_FLXCV1” para trabajar con la Familia V1 ColdFire Flexis.
- CD ROM de Instalación V1 ColdFire Flexis (Manual de Usuario, Drivers, etc.)
- CD ROM demostración de CodeWarrior 6.2
•
Sistema de desarrollo (BDM) de bajo costo para HC9S08 / RS08 / HC9S08 Flexis / V1
ColdFire Flexis “R(S)_POD”
4.0 – Especificaciones Generales.
El sistema didáctico “EDUKIT08” puede ser alimentado tanto en forma externa por una
fuente de alimentación de 9 a 16 V de Corriente Continua (cualquier polaridad) o de
Corriente Alterna o también puede ser alimentado por medio del Puerto Serial Universal
USB 2.0 que poseen muchas PC´s o Notebooks hoy en día.
Tener especial cuidado de no conectar ambas alternativas de alimentación en forma
“SIMULTANEA”, ya que de hacerlo podrían producirse sobrecargas de corriente en el
puerto USB 2.0 que podrían dañarlo en forma irreversible.
Tener en cuenta cuando se usa el Puerto Serial Universal USB 2.0, NO superar la
corriente Máxima especificada para el mismo, que según la norma es de 500 mA.
8
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Características Eléctricas.
Parámetro
Tensión de
alimentación
Externa
Tensión de
alimentación
Interna (USB)
Corriente
pico
Corriente
promedio
Símbolo
Min.
Típico
Max.
Unidad
Vcc
7
12
16
V
VDD
4,5V
5V
I
-
-
500
mA
Iav
-
-
150
mA
V
Diagrama en Bloques.
WinIDE
CodeWarrior
USB o RS232
Fuente
PC / Notebook
Placa principal
( Motherboard )
“EDUKIT08”
Solo usar con
RS-232C
Placa Personalización
“PLUGIN_AP”
“PLUGIN_AW”
“PLUGIN_xx”
9
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E – Freescale Semiconductor
EduDevices.com.ar
www.edudevices.com.ar
Interfaces de Conexión.
El sistema EDUKIT08 posee una serie de conectores que lo vinculan con el medio exterior
para llevar a cabo múltiples prácticas con diversos periféricos y para establecer un medio
de comunicación “Sistema – PC” que permite “depurar” los programas implementados en
dicho sistema bajo un Entorno Integrado de Trabajo (IDE) como lo son el WinIDE de
P & E Microcomputer Systems y el CodeWarrior de Freescale Semiconductor.
Ubicación de Conectores.
Detalle Conector de Alimentación CN5:
Soporta cualquier Polaridad!!
10
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Asignación de Conectores.
Asignación de Pines conector DB9 / CN2 (MON08 / RS-232C).
11
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Detalles de montaje Placas “PLUGIN”.
El sistema didáctico permite ser actualizado por medio de placas de “personalización”
denominadas Placas “PLUGIN”. Esta personalización permite al usuario trabajar con
distintas familias de microcontroladores de la línea Freescale Semiconductor desde 8 Bits
con las familias HC908 / HC9S08, hasta los 8 / 32 Bits de la Serie Flexis.
Existe una placa “PLUGIN” para cada una de ellas y el usuario solo tiene que sustituir una
por otra de la placa principal “Motherboard” para, de esta forma, obtener las funciones de
la familia elegida.
Las placas “Motherboard” y “PLUGIN” han sido diseñadas para evitar inversiones en la
conexión, se sugiere observar atentamente las posiciones mecánicas de los conectores al
remover o insertar una nueva placa de personalización del sistema.
Marca de Referencia (debe
coincidir con la placa “PLUGIN”)
Área Placa “PLUGIN” sin
la placa de personalización
12
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Placa “PLUGIN” de
personalización
Placa Principal
“MotherBoard”
Precaución:
Cuando se proceda a sustituir una placa de personalización “PLUGIN” por otra, tener
presente de desconectar toda fuente de energía a la misma, como pueden ser la fuente de
alimentación externa o el cable Serial USB 2.0 tipo “A-B” provisto con el kit.
Mantener las placas de personalización que no se utilicen dentro de sus respectivas cajas o
en lugares libres de polvo, grasa, agentes abrasivos, etc., evitando doblar o someter a
torsiones diversas las tiras de pines que constituyen las conexiones principales entre la
placa “Motherboard” y estas.
13
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
5.0 – Puertos de Comunicación del EDUKIT08 con la PC.
En la placa principal del sistema existen 2 puertos de comunicaciones bajo protocolo
“MON08” que hacen muy flexible la conexión Herramienta – PC con todo tipo de
máquinas, viejas o de última generación.
Puerto Serial COM – RS-232C (CN2).
Para las PC´s o Notebooks que dispongan de un puerto Serial COM (RS-232C)
existe un conector RS-232C en la placa denominado “CN2” RS-232C – MON08
(DB9 – HEMBRA). El puerto CN2 está destinado para ser usado con un HOST PC
que controla al sistema EDUKIT08, con una velocidad de comunicación de 19.200 BPS.
No se necesita driver alguno para que los entornos WinIDE o CodeWarrior dispongan
de este puerto de comunicaciones. Se debe utilizar el cable Serial tipo Null Modem
DB9 – DB9 provisto en el kit para conectar la placa con la PC o Notebook.
- 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 sistema didáctico (emulación,
debugging, programación de la flash, etc.).
Puerto Serial Universal USB (CN1).
Para aquellas PC´s o Notebooks que posean solo un Puerto Serial Universal – USB, o el
usuario desee usar este tipo de conexión, el sistema EDUKIT08 dispone de un puerto
USB en el conector “CN3” – USB MON08. Por medio de este conector, no solo se logra
comunicar al sistema didáctico con la PC o Notebook, sino que además permite alimentar
a TODO el sistema con todos sus periféricos (Display LCD / 7 segmentos / LEDs / etc.).
Para disponer de este puerto el usuario debe configurar los jumpers JP2A / JP2B / JP2C
según lo indicado en las sección 6.1 – “Asignación de Jumpers”(o en “Guía Rápida de
Uso”).
Además el usuario debe instalar los drivers especiales necesarios para que el entorno
WinIDE o CodeWarrior puedan manejar a la herramienta por medio de este puerto. El
usuario hallará estos en la carpeta “DRIVERS_ USB xx” (xx según el sistema operativo).
14
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Nota 1: Al utilizar esta opción, NO será necesario el uso de una Fuente Externa de
Energía conectada a CN5 (Power Plug), ya que el puerto serial USB proveerá de toda la
energía necesaria para alimentar al sistema completo. Por lo tanto, no conectar fuente
externa alguna cuando se trabaja con la opción de USB porque podría dañarse dicho
puerto.
Nota 2: Tener presente la corriente Máxima que puede soportar el puerto USB de la PC
o Notebook utilizada durante el trabajo de desarrollo, ya que el sistema didáctico se
alimentará del puerto USB (no es necesario el uso de fuente de alimentación).
Un puerto USB 2.0 puede entregar hasta 500 mA de corriente total. Se debe utilizar
con un puerto USB 2.0 (HUB) libre de otros dispositivos conectados a el.
5.1 – Instalación del Puerto de Comunicaciones.
Elegir el tipo de puerto de comunicaciones a utilizar para controlar el sistema EDUKIT08
con el entorno de trabajo, si se ha elegido el puerto Serial RS-232C (COM), verificar que
esté habilitado en el sistema operativo Windows. Si se ha elegido el puerto Serial
Universal USB, se procederá a cargar los drivers del conversor USB incorporado en la
placa principal. El conjunto Drivers – Conversor, hará posible que la herramienta se
controle desde un “puerto virtual” COM nuevo (estará disponible en el panel 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,
siempre controlaremos a nuestro sistema por medio de un puerto COM, virtual o real,
según lo que hayamos elegido.
Para instalar los drivers del conversor, se procederá de la siguiente forma:
En el CD ROM de cortesía se encuentra la carpeta “DRIVERS_ USB xx” (elegir la
carpeta que corresponda al sistema operativo en uso), 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.....
15
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Hacer “click” en el icono “Next” para avanzar con la instalación que nos mostrará la
segunda pantalla...
Hacer “click” en el botón “YES” para dar conformidad a los términos y condiciones de la
licencia de uso de los drivers para USB, mostrando la siguiente pantalla......
16
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
En esta pantalla se nos mostrará el lugar donde se instalarán los drivers para el
controlador (ruta por defecto C:\Silabs\MCU\CP2101), si no fuera del agrado del
usuario el destino elegido por el programa instalador, se puede cambiar ello por medio
del icono “Browse” implementado a tal efecto. Luego hacer “click” en el icono “Next”
para pasar a la próxima pantalla...
17
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Al presionar el icono “Finish” pondremos fin al programa de instalación de los drivers del
controlador USB y estaremos en condiciones de instalarlos realmente en el sistema
operativo Windows (95, 98, 98SE, Me, XP, Vista) para que ello sea efectivo.
Ahora conectar el sistema “EDUKIT08” (previa configuración de los jumpers JP2A /
JP2B / JP2C) al puerto Serial Universal (USB) “CN1” y al puerto USB (USB 2.0) de la
PC o Notebook por medio del cable tipo “A-B” provisto en el kit para que Windows
reconozca la presencia de un nuevo hardware presente en el puerto.
El sistema operativo ha reconocido la presencia del nuevo hardware, hacer “click” en el
icono “Next” para continuar con la instalación....
18
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Elegir la opción que se ve en la pantalla (recomendada) y hacer click en el icono
“Siguiente”.......
En algunos sistemas operativos (en algunos W98SE o en algunas versiones de XP) puede
ocurrir que aparezca una pantalla de aviso indicando que no se ha podido encontrar la
ruta de acceso a los archivos a instalar, por lo que se sugiere “tildar” la opción “Atrás” y
elegir la opción “Mostrar una lista de ..... y configurar la ruta de acceso donde se han
instalado los archivos según los pasos anteriores (por defecto C:\Silabs\MCU\CP2101).
Tildar la opción “Especificar una ubicación” y establecer la ruta de acceso a los drivers
instalados con anterioridad según lo que muestra la figura (por Default) o donde el usuario
eligió instalarlos en su momento.
19
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Hacer “click” en el icono “Siguiente” para continuar con la instalación .....
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 al concluir con ella, se abrirá nuevamente una pantalla pidiendo la instalación de
un nuevo driver.....
20
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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”...
21
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Tildar la opción “Especificar una ubicación” y establecer la ruta de acceso a los drivers
instalados con anterioridad según lo que muestra la figura (por Default) o donde el usuario
eligió instalarlos en su momento.
Hacer “click” en el icono “Siguiente” para continuar con la instalación.....
22
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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 el cuadro 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 Bridge Controller (COM3)” o el número de
COM que le asigne el sistema operativo luego de la instalación (verificar que el número de
COM asignado finalmente sea el siguiente al que tenía reservado el sistema, y si ello no
ocurriera, modificarlo para que así sea).
23
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Configurar el nuevo puerto “virtual” COM x según los siguientes parámetros:
Bits por Segundo: 115.200.
Bits de Datos: 8
Paridad: Ninguno
Bits de Parada: 1
Control de Flujo: Ninguno o Xon / Xoff.
Nota Importante:
Para garantizar el éxito en la instalación del los drivers para el controlador de USB es
necesario tener en cuenta lo siguiente:
1) Verificar que no existan puertos seriales o dispositivos que tengan asignados el
COM3 o el número de 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 próxima siguiente
que no interfiera (Icono “Avanzada” en propiedades de CP2101 USB to UART
Bridge Controller).
2) Tener presente la corriente Máxima que puede soportar el puerto USB de la PC
o Notebook utilizada durante las prácticas, ya que el sistema EDUKIT08 y sus
periféricos (si así se los configura por medio de los jumpers) se alimentarán del
puerto USB (no es necesario el uso de fuente de alimentación Externa).
Un puerto USB 2.0 puede entregar hasta 500 mA de corriente total. No utilizar con
un puerto USB (HUB) que ya esté en uso con otro dispositivo porque se podría
exceder la corriente del mismo y además podría dar lugar a mal funcionamiento del
sistema EDUKIT08.
3) Aquí se ha mostrado la instalación para W98SE, para Windows XP la instalación es
similar y aún más sencilla ya que se despliegan menor cantidad de pantallas durante
el proceso de instalación de los drivers USB (tomar como base la de W98SE).
24
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
En Windows XP solo es necesario correr el programa ejecutable
CP2101_Drivers.exe” para que se guarden en la carpeta
C:\Silabs\MCU\CP2101\WIN los archivos finales de instalación,
luego al conectar el sistema “EDUKIT08” al puerto Serial USB, el sistema
operativo reconocerá la presencia de un nuevo dispositivo USB conectado a
uno de sus puertos y procederá en forma automática a buscar los archivos
finales de instalación en el directorio mencionado. Si el sistema operativo no
reconociera en forma automática el nuevo hardware conectado, el usuario deberá
“orientar” la instalación con la ruta correcta donde se han descargado los archivos
para la instalación (por defecto C:\Silabs\MCU\CP2101\WIN).
4) Para el sistema operativo Windows Vista, existe un driver USB específico
contenido en CD ROM de instalación en la Carpeta “Drivers USB W_Vista”.
6.0 – Hardware del Sistema.
El sistema didáctico “EDUKIT08” básico está compuesto por una placa principal
“MotherBoard” y una placa “PLUGIN_AP” que permite trabajar con la familia HC908.
Otras placas PLUGIN estarán disponibles en el futuro, así como placas de funciones
especiales que otorgarán al sistema una mayor flexibilidad de trabajo y una permanente
actualización para trabajar en el mundo de los MCUs de 8 Bits y 32 Bits.
PLACA “PLUGIN_AP” (para prácticas flia. HC908):
• Utiliza MC908AP32CFBE (QFP 44).
• Selección en placa PLUGIN de xtal. 32,768 Khz (solo modo usuario para TBM / PLL)
u oscilador externo de 20,000 Mhz (utilizado para el MODO MONITOR ALTA
TENSIÓN).
• Baud Rate de 19.200 BPS aprox. (FBUS = 5 MHZ ) en modo monitor.
• Filtro PLL en la placa / alimentación referencia A/D y otros en la placa.
• + VDD = 5V ---- Toda la placa se alimenta con +5V.
25
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
PLACA “PLUGIN_AW” (para prácticas flia. HC9S08):
• Utiliza MC9S08AW60CFUE (QFP 64).
• Selección en placa PLUGIN de xtal 32,768 KHz / oscilador externo / oscilador
•
•
•
•
interno (como posee BDM integrado puede usarse cualquiera de estas fuentes de
clock).
+VDD = 5V --- Toda la placa se alimenta con +5V.
FBUS muy flexible, no es importante para el BDM.
Todas las alimentaciones de referencia resueltas en la placa.
Depuración de código por conector BDM de 6 pines en Motherboard, para conectar
herramientas de desarrollo de bajo costo como el “R(S)_POD” o el
“USBMULTILINKBDME” en forma Externa (se proveen aparte).
6.1 – Asignación de “Jumpers”.
Jumper “JP1”.
Ubicación: Placa “PLUGIN_AP”
Función: Selección de Fuente de Oscilador de Referencia para el MCU.
El sistema posee dos (2) fuentes de oscilador para que el usuario disponga de alguna de
ellas (una u otra) en los distintos modos de funcionamiento.
Posición 1-2 ----- Oscilador a Xtal de 32,768 Khz conectado entre los pines OSC1 y
OSC2 del MCU para usar con PLL o módulo TBM. Este Xtal se usará
como referencia de clock cuando se habilite el PLL o el TBM solo en
Modo Usuario, NO DISPONIBLE durante el Modo Monitor
MON08 (Emulación en Tiempo Real).
Posición 2-3 ----- Oscilador a Xtal Externo de 20 Mhz conectado al pin OSC1 del MCU.
Esta posición se utilizará durante el Modo Monitor MON08 para
garantizar la comunicación entre el sistema “EDUKIT08” y la PC a
un Baud Rate de 19.200 BPS.
26
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Jumpers “JP2A / JP2B / JP2C”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección del tipo de puerto utilizado para la emulación con la PC.
Se puede seleccionar el tipo de puerto a utilizar para conectar el sistema EDUKIT08 con
una PC. Utilizando el protocolo “MON08” el entorno integrado de trabajo (IDE) como el
WinIDE o el CodeWarrior pueden comunicarse con el sistema didáctico para efectuar
borrado / grabación de memoria Flash o Emulación en Tiempo Real (depuración de
código) del MCU “integrado” en la placa “PLUGIN_AP”.
Todos en Posición 1-2 ------ Puerto COM (RS-232C) DB9 – Hembra “CN2” Habilitado.
En esta posición, se habilita el puerto serial COM / RS-232C (conector CN2) del sistema
para utilizarlo como puerto de emulación con la PC. Se deberá conectar el sistema por
medio de un cable serial del tipo “Null Modem” DB9 / DB9 (Macho / Hembra) provisto
con el kit.
Nota: Al utilizar esta opción, se deberá proveer de energía al sistema por medio de una
fuente externa conectada al “POWER PLUG” (CN5). La fuente puede ser de 9 a 16V DC
o 9 a 12Vca @ 500 mA. sin importar la polaridad.
Todos en Posición 2-3 ------- Puerto Serial USB (USB 2.0) “CN1” Habilitado.
En esta posición, se habilita el puerto serial universal USB (USB 2.0) (conector CN1) del
sistema para utilizarlo como puerto de emulación con la PC. Se deberá conectar el sistema
por medio de un cable serial USB del tipo “A – B” provisto con el kit.
Nota 1: Al utilizar esta opción, NO será necesario el uso de una Fuente Externa de
Energía conectada a CN5 (Power Plug), ya que el puerto serial USB proveerá de toda la
energía necesaria para alimentar al sistema completo. Por lo tanto, no conectar fuente
externa alguna cuando se trabaja con la opción de USB porque podría dañarse dicho
puerto.
Nota 2: Tener presente la corriente Máxima que puede soportar el puerto USB de la PC o
Notebook utilizada durante el trabajo de desarrollo, ya que el sistema didáctico se
alimentará del puerto USB (no es necesario el uso de fuente de alimentación).
Un puerto USB 2.0 puede entregar hasta 500 mA de corriente total. Se debe utilizar con
un puerto USB 2.0 (HUB) libre de otros dispositivos conectados a el.
27
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Nota 3: Para hacer uso de este tipo de conexión, el usuario deberá instalar los drivers
correspondientes en el sistema operativo Windows para que el mismo reconozca al
sistema EDUKIT08 como un nuevo dispositivo USB (ver instalación de Drivers USB).
Jumpers “JP3 / JP5 / JP6”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección del Modo de funcionamiento del sistema didáctico.
El sistema EDUKIT08 está preparado para soportar las familias de MCUs HC908,
HC9S08, HC9S08 Flexis, “V1” ColdFire Flexis. Para ello dispone de jumpers de
configuración que permiten distintos modos de funcionamiento en las familias
mencionadas.
Configuraciones familia HC908.
Cuando se ha insertado la placa “PLUGIN_AP” en la placa principal EDUKIT08 el
sistema queda preparado para trabajar con la familia HC908, en especial con el
dispositivo MC908AP32CFBE integrado en dicha placa.
La familia HC908 dispone de dos “modos” de funcionamiento, “Modo Monitor” y “Modo
Usuario”.
“Modo Monitor Alta Tensión” en familia HC908:
Jumper “JP3” ---- Posición 1-2
Jumper “JP5” ---- Posición Cerrado.
Jumper “JP6” ---- Posición Cerrado.
“Modo Usuario” en la familia HC908:
Jumper “JP3” ---- Posición 2-3
Jumper “JP5” ---- Posición Abierto.
Jumper “JP6” ---- Posición Abierto.
28
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Configuración en la familia HC9S08 / HC9S08 “Flexis” / “V1” ColdFire Flexis.
Cuando se insertan las placas “PLUGIN_AW”, “PLUGIN_FLX08” o
“PLUGIN_FLXCV1”, el sistema queda preparado para trabajar con la familia HC9S08
(en especial el MC9S08AW60), la familia HC9S08 “Flexis” o la familia “V1” ColdFire
Flexis respectivamente.
Todas estas familias de MCUs poseen su propio módulo BDM integrado en el chip,
haciendo innecesario el uso del BDM “MON08” incorporado en el sistema
“EDUKIT08”.
Además, los MCUs de estas familias funcionan permanentemente en modo normal o
modo “usuario” y por medio de comandos especiales pueden ingresar al modo
“background” (modo de depuración) para obtener una Emulación en Tiempo Real.
Para ello es sistema didáctico cuenta con el conector “CN10” (BDM HC9S08) que
permite vincular al mismo con herramientas de emulación BDM como el “R(S)_POD” o
el “USBMULTILINKBDME” que se proveen en forma separada.
La configuración de jumpers deberá ser la siguiente:
Modo “Usuario” / Modo “Background” en HC9S08 / HC9S08 “Flexis” / V1 Coldfire:
Jumper “JP3” ---- Posición 2-3
Jumper “JP5” ---- Posición Abierto.
Jumper “JP6” ---- Posición Abierto.
Jumper “JP4”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección tensión de trabajo pin RESET de los HC908
(Vreset = +Vhigh o +VDD).
El sistema “EDUKIT08” permite configurar la tensión de trabajo del pin RESET cuando
se trabaja con la familia HC908. En esta familia, y en especial el dispositivo
MC908AP32CFBE contenido en la placa “PLUGIN_AP”, permite trabajar con tensiones
superiores a +VDD (+ 5V) e iguales a +VHIGH (+8V) en el pin de RESET.
29
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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 la aplicación, el circuito necesitara controlar el pin IRQ para generar una
interrupción externa, se podría afectar el modo monitor, para evitar ello, los
microcontroladores HC908 reservan igual función para el pin RESET, 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).
JP4 --- Posición 1-2 ---- Vreset = +VDD (+5V).
JP4 --- Posición 2-3 ---- Vreset = +VHIGH (+8V).
Jumpers “JP7 / JP8 / JP9 / JP10 / JP11 / JP12 / JP13 / JP14”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Habilitación de Puertos I/O Externos en CN3 / CN4.
El sistema EDUKIT08 dispone de hasta 8 líneas de Puertos I/O Externas para uso
generales del usuario. En los Conectores CN3 / CN4 se dispone de ellas, además de
+VDD y GND, otorgándole mayor flexibilidad a las aplicaciones del usuario o disponer
de futuras placas para funciones especiales (módulo Zigbee, módulo TouchPad, etc.).
Jumpers JP7 a JP14 ----- en Posición Cerrado ---- Puertos I/O Externos Deshabilitados.
Pulsadores SW1 a SW4 para funciones KBI (keyboard interrupt) y función SPI Habilitada
dentro del sistema (las 8 líneas I/O están compartidas con estas funciones).
Jumpers JP7 a JP14 ----- en Posición Abierto ---- Puertos I/O Externos Habilitados.
Pulsadores SW1 a SW4 y Función SPI dentro del sistema Deshabilitadas (las líneas I/O
están disponible en forma exclusiva en CN3 / CN4).
30
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Jumpers “JP15 / JP16 / JP17 / JP18 / JP19 / JP20”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Habilitación / Deshabilitación DISPLAY LCD / DISPLAY 7 segmentos LEDS.
El sistema EDUKIT08 dispone de dos tipos de displays para realizar distintas
experiencias prácticas, ambos displays comparten líneas de datos y de control por lo que
NO ES POSIBLE UTILIZARLOS EN FORMA SIMULTANEA. Para ello se dispone de
una serie de jumpers que habilitan o deshabilitan a cada uno en forma independiente.
Uso DISPLAY LCD “LCD1” (16 caracteres x 2 líneas):
JP15 --- Posición Cerrado ---- +VDD en LCD habilitado (LCD alimentado).
JP16 --- Posición Cerrado ---- BackLight (luz de fondo) habilitada para ser controlada
por el sistema.
JP17 a JP20 ---- Posición Abierto ----- Displays 7 segmentos DSP1 / DSP4
deshabilitado.
Uso DISPLAY 7 segmentos LEDS (DSP1 / DSP4):
JP15 --- Posición Abierto ---- +VDD en LCD Deshabilitado (LCD sin alimentación).
JP16 --- Posición Abierto ---- BackLight (luz de fondo) Deshabilitada no puede ser
controlada por el sistema.
JP17 a JP20 ---- Posición Cerrado ----- Displays 7 segmentos DSP1 / DSP4 habilitado.
31
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Jumper “JP21”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección entrada analógica para la práctica con el módulo A/D.
Para realizar las prácticas con el módulo A/D de los HC908, tanto en 8 como en 10 bits de
resolución, se dispone de dos fuentes de entradas analógicas. Una de ellas es un simple
Preset (PR2) que permite variar la tensión de entrada al módulo A/D (Vin) entre +VDD y
GND. La otra entrada es un sensor de temperatura del tipo LM335 que entrega una
tensión proporcional a la temperatura ambiente medida.
Posición 1-2 ------- Sensor de Temperatura LM335 habilitado como Vin para el A/D.
Posición 2-3 ------- Preset “PR2” habilitado para variar Vin entre +VDD y GND.
Jumper “JP22”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección funciones ICAP / SPI incluidas en el sistema.
El sistema “EDUKIT08” incluye un microcontrolador MC908QY4ACPE que permite
realizar las prácticas de los módulos ICAP (Input Capture) y SPI (Serial Peripheral
Interface) con el MCU de la placa PLUGIN elegida. Las funciones ICAP y SPI pueden
ser seleccionadas por medio del jumper “JP22” de la siguiente forma:
Posición 1-2 ------ Función ICAP habilitada.
El MC908QY4ACPE generará formas de ondas rectangulares de distintas frecuencias y
ciclos de trabajos según lo seleccionado por el pulsador SW6 “ICAP” y lo indicará por
medio de los LEDs LD7 a LD9 (7 opciones distintas).
Posición 2-3 ------ Función SPI habilitada.
El MC908QY4ACPE estará preparado para realizar una comunicación SPI como
dispositivo “Esclavo” (Slave), mientras que el MCU del sistema didáctico tomará el rol de
dispositivo “Amo” (Master).
32
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Jumpers “JP23A / JP23B / JP23C / JP23D”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección NODO AMO / ESCLAVO en una RED RS-485.
El sistema EDUKIT08 viene equipado para realizar una comunicación serial de nivel
eléctrico RS-485 a 4 hilos, utilizando el módulo SCI2 (UART) o IRSCI (2do. módulo
SCI o Infrarrojo). La comunicación puede ser FULL DUPLEX contra otro dispositivo
RS-485 terminal (dispositivo contra dispositivo, sin dirección de nodo) o bien formar una
red de nodos en topología “BUS” con otros sistemas “EDUKIT08”.
En el modo “terminal”, 2 (dos) sistemas EDUKIT08 pueden comunicarse entre sí, como
lo harían dos puertos seriales RS-232C, o sea, simplemente cruzando las conexiones de
las borneras TX y RX contra las del otro sistema, tal como se muestra en la figura (la
comunicación RS-485 estará disponible en las borneras CN8_IN y CN9_IN de cada
placa).
En el modo “Red de Nodos en topología BUS”, 2 o más sistemas EDUKIT08 (hasta 32
nodos) podrán comunicarse entre sí formando una red de nodos en topología BUS a 4
hilos en configuración AMO / ESCLAVO (Master / Slave) según se muestra en la figura
(Borneras CN8_IN, CN8_OUT, CN9_IN, CN9_OUT)
Recordar que en los conectores CN8 / CN9 de cada placa EDUKIT08 que compone la red
se debe respetar la polaridad de conexión, o sea la línea del BUS que se conecta al borne
“A” debe conectarse a todos los bornes “A” y la línea del BUS que se conecta al “B” a
todos los “B”, sin producir “cruces” (inversiones de polaridad).
33
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
DETALLE DE CONEXIÓN:
CN8_OUT “A”
CN8_OUT “B”
CN9_OUT “A”
CN9_OUT “B”
------ CN8_IN “A”
------ CN8_IN “B”
------ CN9_IN “A”
------ CN9_IN “B”
34
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Modo Terminal:
JP23A / JP23B / JP23C / JP23D ---- Posición 1-2 (Modo Master).
Modo Red de Nodos en topología BUS:
JP23A / JP23B / JP23C / JP23D ---- Posición 1-2 (Nodo Master).
JP23A / JP23B / JP23C / JP23D ---- Posición 2-3 (Nodos Slave).
Jumpers “JP24A / JP24B / JP25A / JP25B”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección de Resistores de terminación para una RED RS-485.
El sistema didáctico EDUKIT08 está provisto de jumpers para habilitar / deshabilitar
resistores de terminación para “ecualizar” impedancias de la línea de transmisión utilizada
en una red en topología BUS. Como es típico en una topología BUS los cables utilizados
en la red deben “Entrar” (CN8_IN / CN9_IN) y “Salir” (CN8_OUT / CN9_OUT) de cada
uno de los nodos esclavos (Slaves) de la red, con la excepción del Nodo “Master” del que
solo “salen” cables y del “último” nodo esclavo del que solo “entran” cables. De esta
forma, todos los nodos de la red (Master y todos los esclavos menos el último) deberán
configurarse sin resistores de terminación (Fail Safe Termination). La excepción se
establece para el último Nodo físico que compone la red en topología BUS que se le debe
habilitar dicha terminación para mantener ecualizada la línea de transmisión.
JP24A / JP24B / JP25A / JP25B -- Posición Cerrado ---- “R” de terminación Activa.
JP24A / JP24B / JP25A / JP25B -- Posición Abierto --- Sin “R” de terminación.
35
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Jumpers “JP26A / JP26B”.
Ubicación: Placa Principal “EDUKIT08”.
Función: Selección de Modos de funcionamiento del puerto Serial SCI2.
Se dispone de jumpers para seleccionar alguno de los tres (3) modos de funcionamiento
distintos del Puerto Serial SCI2 disponible para el usuario en el sistema. Los modos de
funcionamiento del puerto Serial SCI2 son solo en el nivel “físico” del mismo, esto quiere
decir que no se producen modificaciones de niveles de lógica o protocolos, sino en el
aspecto físico de cómo se realiza la comunicación.
Modos de funcionamiento disponibles:
1) Puerto Serial (UART) con nivel RS-232C (CN7 – DB9 Hembra).
2) Puerto Serial (UART) con nivel RS-485 para usar en las modalidades anteriormente
descriptas (CN8_IN / CN8_OUT / CN9_IN / CN9_OUT).
3) Puerto Serial Infrarrojo (IRDA - SIR) para comunicaciones inalámbricas de hasta
1 mts y hasta 115,2 KBPS.
JP26A / JP26B ---- en Posición 1 ----- Puerto Serial con nivel RS-232C.
JP26A / JP26B ---- en Posición 2 ----- Puerto Serial con nivel RS-485.
JP26A / JP26B ---- en Posición 3 ----- Puerto Serial Infrarrojo IRDA – SIR.
6.2 – Asignación de Líneas en el sistema “EDUKIT08”.
Para obtener las máximas prestaciones del sistema didáctico “EDUKIT08”, se han
configurado los distintas líneas de los periféricos contenidos en la placa principal
“Motherboard”, las placas “PLUGIN” y los distintos microcontroladores contenidos en
cada una de ellas para obtener la máxima independencia de funcionamiento entre ellos.
Es por este motivo que el usuario notará que en algunos casos se ha optado por utilizar un
puerto I/O incompleto en lugar de uno completo, esto se debe a que existen funciones
que se superponen en las líneas de estos y con ello no se podría obtener el máximo de
independencia de funcionamiento de los distintos periféricos que componen la placa.
36
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
CONTROL DE DISPLAY LCD INTELIGENTE (LCD1).
Bus de Datos:
Línea del MCU
PTD0 a PTD3
PTA4 a PTA7
Placa PLUGIN
DT0 a DT3
DT4 a DT7
Línea Periférico
D0 a D3
D4 a D7
Configurar como:
Puerto Output
puerto output.
Líneas de Control:
Línea del MCU
PTC0
PTC1
PTB5
PTB7
Placa PLUGIN
CTRL1
CTRL2
CTRL3
CTRL4
Línea Periférico
E negado
RS negado
R/W
Backlight (activo
alto)
Configurar como:
Puerto Output
Puerto Output
Puerto Output
Puerto Output
CONTROL DISPLAY 7 SEGMENTOS LEDs 4 DÍGITOS (DSP1 a DSP4).
Bus de datos:
Línea del MCU
PTD0
PTD1
PTD2
PTD3
PTA4
PTA5
PTA6
PTA7
Placa PLUGIN
DT0
DT1
DT2
DT3
DT4
DT5
DT6
DT7
Línea Periférico
Segmento “a”.
Segmento “b”.
Segmento “c”.
Segmento “d”.
Segmento “e”.
Segmento “f”.
Segmento “g”.
Segmento “D.P.”
Configurar como:
puerto output
puerto output
puerto output
puerto output
puerto output
puerto output
puerto output
puerto output
37
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Líneas de Control:
Línea del MCU
PTC0
PTC1
PTB5
PTB7
Placa PLUGIN
CTRL1
CTRL2
CTRL3
CTRL4
Línea Periférico
DSP1 (Activo alto).
DSP2 (Activo alto).
DSP3 (Activo alto).
DSP4 (Activo alto).
Configurar como:
puerto output
puerto output
puerto output
puerto output
JUMPERS: JP17 a JP20 ----- habilitan / deshabilitan ---- DISPLAY 7 Segmentos.
JP15 ----- DISPLAY LCD on / off (VDD del LCD on / off)
JP16 ------ Backlight on / off (independientemente de CTRL4).
Tener en cuenta que para el manejo de ambos displays se deberá hacer una “mascara” en
el bus de datos para garantizar la facilidad de escritura en el manejo del mismo, ya que no
es un “Bus entero” y si uno dividido en dos.
Para el LCD inteligente se pueden utilizar rutinas de manejo a 8 BITS y a 4 BITS del Bus
de datos.
En el DISPLAY 7 Segmentos se puede utilizar también el punto decimal que servirá para
distintas aplicaciones. Manejar este Display por “multiplexación de dígitos”.
Backlight del LCD del tipo ON / OFF controlable por línea de control CTRL4 (60 mA de
consumo).
LED INDICADORES DE USO GENERAL Y OTROS.
Línea del MCU
PTA1
Placa PLUGIN
LD1
PTA2
LD2
PTB0
SDA
Línea Periférico
LED 1 uso general
(activo bajo)
LED 2 uso general
(activo alto)
Configurar como:
puerto output
LED 10 uso general
(activo bajo) / pin SDA
del I2C (input/output)
Indicador de actividad en
SDA para comunicación
I2C
Puerto Output para
uso general e Input /
Output para I2C
puerto output
38
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Número de LED
Nombre
LD3
SIST. ACTIVO
LD4
PWM
LD5
LD6
LD7/LD8/LD9
LD11
TX_RS485
RX_RS485
Modos ICAP
ACT. MON08
función
Se enciende cuando el sistema está activo (Modo
Monitor / Modo Usuario Activos) (sistema
energizado, +VDD / +VHIGH, etc.)
Led de alta potencia utilizado para la práctica de
PWM (Modulación por Ancho de Pulso)
Muestra actividad en línea TX de la RS-485
Muestra actividad en línea RX de la RS-485
Indican las 7 configuraciones ICAP disponibles
Muestra actividad durante la comunicación
“MON08” utilizada en la familia HC908.
PULSADORES PARA KBI y USO GENERAL.
Línea del MCU
PTD4
Placa PLUGIN
KB1
PTD5
KB2
PTD6
KB3
PTD7
KB4
Línea Periférico
SW1 pulsador uso
p/ KBI o gral.
SW2 pulsador uso
p/ KBI o gral.
SW3 pulsador uso
p/ KBI o gral.
SW4 pulsador uso
p/ KBI o gral.
Configurar como:
puerto input.
puerto input.
puerto input.
puerto input.
Número de
Pulsador
SW5
SW6
Nombre
Función
RESET
ICAP
SW7
IRQ
Pulsador de RESET general del sistema
Pulsador de selección del número de
configuración ICAP elegida.
Pulsador de IRQ Externa (Buffered) (aislada
de la alta tensión durante el modo monitor)
39
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
MODO MONITOR “MON08”.
Línea del MCU
PTA0
Placa PLUGIN
1_Wire_M
Línea Periférico
comunicación bi Direccional modo
monitor MON08
Configurar como:
Puerto INPUT
siempre!!!
PTA1 / PTA2 / PTB0 ----- Niveles forzados por LEDs y resistores (todas estas patas se
ponen en forma automática en INPUT cuando se entra en un RESET) para garantizar el
modo monitor alta tensión. Luego estos pines se ponen al estado que se configure por soft,
Por lo general como salidas.
VREFH/L, VDDA / VSSA / VDD / VSS ----- todos a +VDD o VSS según
corresponda.
OSC1 ---- oscilador buffereado de 20.000 MHZ ---- FBUS = OSC / 4 = 5 MHZ.
BAUD RATE ----- 19200 BPS. (19200 / 8 / N / 1).
IRQ1 ----- ALTA TENSIÓN (+8V), disponible para usar en forma externa o por medio
de un Pulsador (SW6) separada por un buffer conversor de nivel (IRQ_B).
Test point disponibles TP14 (+8V / 0V) y TP15 (+5V / 0V).
RESET ----- ALTA TENSIÓN (+8V) o a +VDD (+5V), útil para garantizar el modo
monitor aún cuando se maneje el pin IRQ. Pulsador de Reset externo SW5.
Manejo de POWER por medio del pin “DTR” del COMx de la PC (CLASE I).
JUMPERS:
JP2A / JP2B / JP2C ---- Selección de Modo Monitor por COMx RS-232C de la PC
o por COM virtual USB (Conexión USB pero manejo en el
entorno de desarrollo (WinIDE / CodeWarrior) como COM
virtual.
JP3 ----- USER / BDM ---- Se fuerza la señal DTR de modo de alimentar a toda la placa
en forma permanente cuando está en MODO USER (usuario)
(+VDD FIJA) o cuando se quiere trabajar con la placa
PLUGIN_AW (HC9S08)
40
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
JP4 ------ RESET (+5V / VHIGH) ---- Útil para asegurar modo monitor cuando se
maneja el pin de IRQ1 al forzarlo a VHIGH.
JP5 ------ USER / BDM ----- Si se deja abierto, el pin de reset no tiene el control del
resto del circuito. Util para trabajar en modo USUARIO
o para PLUGIN_AW (HC9S08).
JP6 ----- HC08 / HCS08 – USER MODE --- Si se deja abierto, NO hay ALTA
TENSIÓN en el pin IRQ1 por lo que es útil
para usar la placa en MODO USUARIO o
cuando se usa la placa PLUGIN_AW
(HC9S08) no se necesita la alta tensión.
MODULO TIMER – PWM:
Línea del MCU
PTB6 (T2CH0)
Placa PLUGIN
PWM
Línea Periférico
PWM
Configurar como:
Puerto Output
PWM unbuffered /
Buffered.
Maneja un LED de alto rendimiento “LD4” con Driver de corriente a transistor.
La intensidad irá cambiando según el ciclo de servicio del PWM
Test Point ----- TP2 ---- Señal PWM al LED “LD4”.
41
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
MODULO TIMER – ICAP:
Línea del MCU
PTB4 (T1CH0)
Placa PLUGIN
ICAP
Línea Periférico
ICAP (U12)
Configurar como:
Puerto INPUT
Input Capture.
La señal para el ICAP será generada por el MC908QY4ACPE (U12) con distintos anchos
de pulso y frecuencias seleccionados por medio del pulsador SW6 y led´s LD7 a LD9 que
se dispone en el entorno de U12.
La generación de la señal para el ICAP se selecciona desde el JUMPER “JP22” (ver
circuito) y se ejecuta esa función como prioritaria. Si se selecciona SPI con JP22, solo se
ejecuta esa función como prioritaria.
Test Point ------ TP7 ----- Señales rectangulares con diferentes frecuencias
y ciclos de servicio (Duty Cycle).
Señal de ICAP:
El microcontrolador U12 generará una señal rectangular por PWM a los efectos que el
microcontrolador AP pueda medir su frecuencia y ancho de pulso por medio del módulo
ICAP. Existen 8 modalidades que proveen distintas frecuencia y ancho de pulso, a saber:
Modo 0 => Frecuencia 200Hz Duty cycle 25%
Modo 1 => Frecuencia 200Hz Duty cycle 50%
Modo 2 => Frecuencia 200Hz Duty cycle 75%
Modo 3 => Frecuencia 400Hz Duty cycle 25%
Modo 4 => Frecuencia 400Hz Duty cycle 50%
Modo 5 => Frecuencia 1KHz Duty cycle 15%
Modo 6 => Frecuencia 1KHz Duty cycle 40%
Modo 7 => Frecuencia 1KHz Duty cycle 60%
LD9
OFF
OFF
OFF
OFF
ON
ON
ON
ON
LD8
OFF
OFF
ON
ON
OFF
OFF
ON
ON
LD7
OFF
ON
OFF
ON
OFF
ON
OFF
ON
MODO
Modo 0
Modo 1
Modo 2
Modo 3
Modo 4
Modo 5
Modo 6
Modo 7
LD7
LD8
LD9
42
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Las modalidades de PWM pueden variarse de 2 maneras:
a- Utilizando el módulo SPI para lo cual debe ponerse el jumper “JP22” en la posición
1-2 y empleando los comandos que se explicaron al comienzo.
b- Utilizando el pulsador SW6 con el jumper JP22 en la posición 2-3. Cada vez que se
oprime el pulsador se pasa de una modalidad de PWM a la siguiente.
Ambas formas de uso son excluyentes, es decir que si se usa SPI para controlar la
modalidad de PWM no puede usarse el pulsador SW6.
Ver NOTA 5 y NOTA 6 al final de este manual para saber cuales son las prácticas que
utilizan las funciones ICAP y SPI.
MODULO CONVERSOR A/D:
Línea del MCU
PTA3 (A/D CH3)
Placa PLUGIN
A/D
Línea Periférico
A/D
Configurar como:
Puerto INPUT A/D
CH3 (channel 3).
Se dispone de dos entradas a sensar:
-
LM335Z (U7) para medir temperatura ambiente.
PRESET (PR2) para medir tensión desde 0V a +5V.
Se pueden realizar rutinas de conversión a 8 y 10 bits de resolución. Conversión Continua,
simple conversión, y conversión por interrupción.
JUMPERS:
JP21 ------ Selección entre LM335Z y PRESET.
Test point ----- TP1 ---- Se lee valor analógico de tensión a convertir.
43
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
MODULO TIMER:
Como módulo TIMER de 16 bits no tiene salida al mundo exterior, pero pueden hacerse
varias rutinas usándolo como, por ejemplo, Programa “calesita” o de tareas temporizadas
utilizando la modalidad Timer Overflow (TOV) por interrupción que posee este módulo.
Demoras de “debounce” anti – rebotes para pulsadores, demoras para “parpadeo” de leds, y
otras aplicaciones solo limitadas por la imaginación del usuario.
Modulo TBM (Time Base Module):
Aquí se puede hacer una rutina de un RTS (Real Time System) usando el XTAL de
32,768KHZ y generando una interrupción cada “n” milisegundos. También se puede
implementar un RTC (Real Time Clock) con el mismo esquema circuital pero generando
una interrupción cada 1 Segundo.
Se puede implementar un Reloj con Calendario (HH:MM:SS – DD:MM:AA) con
corrección por año bisiesto y mostrarlo por el Display LCD.
Usar el sistema EDUKIT08 en Modo Usuario con el PLL activado y el cristal de la
placa PLUGIN_AP de 32,768 Khz (JP1 en posición 1-2).
MODULOS SERIALES ASINCRÓNICOS:
Módulo SCI1:
Línea del MCU
PTB3
Placa PLUGIN
SC1RxD
PTB2
SC1TxD
Línea Periférico
PIN 3 (Tx_PC1)
CN6. convertida a
RS –232C
PIN 2 (Rx_PC1)
CN6. convertida a
RS-232C
Configurar como:
Puerto Input
Puerto Output
Se pueden implementar rutinas desde las básicas para la recepción y transmisión de un byte
cualquiera, otra que pueda recibir el byte emitido por un Hyperterminal y envíe de vuelta
el carácter posterior. Se puede utilizar transmisión por polling de Flag “empty” y por
interrupción cuando el buffer está vacío. Distintos Baud Rates con la misma FBUS. Todas
las rutinas con 8 N 1 o con otras relaciones de bits de Datos / paridad / Stop.
Test point ----- TP3 y TP4 para ver las señales en nivel TTL.
44
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Módulo SCI2:
Línea del MCU
PTC7
Placa PLUGIN
SC2RxD
PTC6
SC2TxD
Línea Periférico
Según lo
seleccionado por
JP26A / JP26B
convertida a RS232C / RS-485 /
Infrarrojo (IRDA).
Según lo
seleccionado por
JP26A / JP26B
convertida a RS232C / RS-485 /
Infrarrojo (IRDA).
Configurar como:
Puerto Input
Puerto Output
La selección del modo de trabajo se hace con JP26A / JP26B.
Modo RS-232:
Se pueden desarrollar rutinas similares a las del SCI1 con el agregado de una que “conecte”
(GateWay) a los dos módulos SCI para intercambiar variables que son RECIBIDAS a una
velocidad y TRANSMITIDAS a otra velocidad... Por ejemplo, recibir a 9600 BPS y
transmitir a 19.200 o similar.....
Modo RS-485:
Se puede desarrollar rutinas básicas para lograr un conversor simple RS-232 (por SCI1) a
RS-485 (por SCI2) para comunicar dos PC´s entre sí a larga distancia.
Otra rutina es implementar una red simple tipo MASTER / SLAVE con un nodo MASTER
y otros SLAVES. Los SLAVES enviarán valores de variables (conversor A/D, pulsadores,
y otras aplicaciones que el usuario necesite) que podrán ser mostradas por LCD o por
PC.....
45
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Modo Infrarrojo (Puerto IRDA):
Se sugiere utilizar el módulo decodificador / codificador IR que posee el HC908AP32
conectado al chip de Vishay (TFDU 4300) para comunicar una placa contra otra placa en
forma inalámbrica por infrarrojo sin usar el stack IRDA (soft), solo la capa física del
IRDA - SIR.
Utilizar el puerto SCI1 de cada placa para conectarlo a sendas PCs para formar la conexión
inalámbrica. Otra variante puede ser enviar variables de una placa a otra en forma
inalámbrica y mostrarla por LCD o display 7 segmentos.
Distancia de comunicación: 1 mts garantizado por norma IRDA – SIR
Test point ----- TP5 y TP6 para ver las señales en nivel TTL.
MODULO SPI:
Línea del MCU
PTC2 (MISO)
Placa PLUGIN
MISO_C
PTC3 (MOSI)
MOSI_C
PTC4 (SS – Master) SS_C
PTC5 (SPSCLK)
SPSCLK_C
Línea Periférico
Va a pin MISO del
QY4A (U12)
Va a pin MOSI del
QY4A (U12)
Está conectado a
+VDD por una R
(Master)
Va a pin SPSCLK
del QY4A (U12)
Configurar como:
Puerto INPUT.
Puerto OUTPUT.
Puerto INPUT.
Puerto OUTPUT.
El AP32 dispone de un módulo de SPI completo, se configurará al AP32 como MASTER y
se hablará contra el esclavo (U12) a la velocidad que permita la rutina implementada en el
MCU QY4A. (ver “Guía de Prácticas” contenida en el CD ROM de instalación)
Test point ------ TP8 / TP9 / TP11.
46
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Comunicación por SPI:
La misma puede cumplir 2 funciones:
a- Leer un valor de tabla del microcontrolador QY4 (U12), comportándose como si
fuera una memoria del tipo SPI.
b- Controlar la señal de PWM generada por el microcontrolador QY4 (U12) en el pin
ICAP (para efectuar la función ICAP) como se haría por el pulsador SW6.
Para cumplir estas funciones se envían 3 bytes por SPI desde el microcontrolador
HC908AP, y por razones obvias de la comunicación SPI se reciben 3 bytes en el
microcontrolador HC908AP como respuesta.
Estos 3 bytes son:
Byte 1: Comando.
Byte 2: Address / Modo.
Byte 3: Ficticio (byte no válido, solo a los efectos de demora de tiempo).
Para utilizar al microcontrolador QY4 (U12) como una memoria SPI se debe hacer el byte
1 de comando igual a 10h y el byte 2 se comporta como el address que se utiliza para
índice de una tabla en la memoria Flash del microcontrolador QY4 (U12), mientras que el
Byte 3 puede contener cualquier valor, ya que es usado como demora de tiempo.
El microcontrolador QY4 devuelve 3 bytes por SPI. El primero y el segundo siempre son
iguales a 0h y deben ser descartados. El tercero es el byte leído de la tabla.
Para controlar la señal de PWM generada por el microcontrolador QY4 (U12) debe
hacerse el byte 1 de comando igual a 20h y el byte 2 expresa la modalidad en que se
desea poner a la señal de PWM. Es un byte que puede tomar valores de 0 a 7.
El tercer Byte puede tomar cualquier valor (Byte Ficticio).
Ver la descripción de las funciones de ICAP para mas detalles.
Ver NOTA 5 y NOTA 6 al final de este manual para saber cuales son las prácticas que
utilizan las funciones ICAP y SPI.
47
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
MODULO I2C:
Línea del MCU
PTB0 (SDA)
Placa PLUGIN
SDA
PTB1 (SCL)
SCL
Línea Periférico
Configurar como:
Pin bi – direccional Puerto Input / Output
del I2C “SDA” de
la memoria
24LC256
Puerto Output.
Master clock del
I2C y pin “SCL” de
la memoria
24LC256
El sistema EDUKIT08 dispone de una memoria EEPROM con interface I2C del tipo
24LC256 conectada a las líneas I2C del MCU de la placa PLUGIN elegida.
(ver “Guía de Prácticas” contenida en el CD ROM de instalación)
Test Point ----- TP12 / TP13 ------ señales SDA y SCL del Bus I2C.
48
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
7.0 – Instalación del Entorno WinIDE.
Introducción:
El WinIDE (Windows Integrated Development Enviroment) es un entorno integrado de
trabajo que permite reunir en un solo ambiente, múltiples aplicativos útiles en el trabajo
de desarrollo, todos accesibles 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 en lenguaje Assembler), un Compilador universal
assembler para toda la familia HC908, un simulador puro (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.
Figura 1 – Pantalla principal típica del entorno WinIDE.
49
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Cuando se diseñó el software, se pensó en un entorno WinIDE para cada familia o grupo
de derivativos HC908. Esto se debe a que dentro del entorno existen dos aplicativos como
el Simulador Puro y El Simulador 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 un WinIDE universal que no incluye las modalidades de “simulación”, pero
sí todos los otros aplicativos típicos del WinIDE.
Instalación:
Para instalar el software, se dispone de un CD ROM con la etiqueta “EDUKIT08” que
constituye el CD ROM de instalación propiamente dicho.
Dentro del sub directorio “WinIDE”, se encuentran 2 (dos) carpetas que contienen las
siguientes aplicaciones:
-
MMEVS0505 ---- Editor Universal WinIDE apto para cualquier herramienta
compatible con la familia HC908.
-
PKG08SZ ---- Paquete universal de Emulación (ICD08SZ) y de Programación
(PROG08SZ)
Primeramente se comenzará instalando el paquete de emulación y programación universal
contenido en la carpeta “PKG08SZ”, para ello, simplemente se hará “click” en el archivo
ejecutable “PKG08SZ_INSTALL” y en forma automática por medio de un programa
instalador “Wizard” irá guiando al usuario a lo largo de toda la instalación.
Si no se es un usuario experimentado, se sugiere seleccionar las configuraciones por
defecto en cada pregunta, y el programa correrá sin problemas. Las versiones de software
aquí presentadas, son compatibles con Windows 95 y Windows 98, Windows 98SE,
Windows ME, y 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.
50
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Luego de finalizada la instalación del paquete de emulación y grabación universal, se
procederá a instalar el editor universal WinIDE contenido en la carpeta “MMEVS0508”,
para ello simplemente se hará “click” en el archivo ejecutable “SETUP.EXE” y en forma
automática por medio de un programa instalador “Wizard” irá guiando al usuario a lo
largo de todo la instalación.
Una vez que se haya concluido con las instalaciones, se procederá a crear un “acceso
directo” o icono en el escritorio de la PC del editor WinIDE (WinIDE Development
Environment) como se muestra en las siguientes figuras......
51
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Hecho ello, se procederá a hacer “click” en el icono creado y con ello se abrirá el entorno
integrado de trabajo (IDE) “WinIDE Development Environment”.
Cerrar todas las ventanas emergentes con textos y programas de “Bienvenida” si los
hubiera y hacer “click” en la solapa “Environment” y elegir la opción “Setup
Environment” como se muestra en la figura.....
Hecho ello, se ingresará a las distintas pantallas de configuraciones del entorno integrado
de trabajo, donde se verificará que las “rutas de acceso” a los distintos programas de
aplicación (Compilador “CASM08SZ”, In – Circuit Debugger “ICD08SZ” (emulador en
Tiempo Real), y el Programador “PROG08SZ”) sean las correctas según las pantallas que
se muestran a continuación.....
52
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Pantalla de configuración del Compilador Assembler “CASM08SZ”.
Verificar que la ruta de acceso al compilador sea donde se ha instalado el programa
ejecutable por defecto como por ejemplo, “C:\pemicro\pkg08sz\CASM08SZ.EXE”,
sino completar la misma en forma manual.
53
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Luego hacer “click” en la solapa “EXE2” y completar todos los cuadros según se muestra
en la siguiente figura......
Pantalla de configuración del Programador de memoria Flash “PROG08SZ”.
Verificar que la ruta de acceso al programador sea donde se ha instalado el programa
ejecutable por defecto como por ejemplo, “C:\pemicro\pkg08sz\PROG08SZ.EXE”,
sino completar la misma en forma manual.
54
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Luego hacer “click” en la solapa “EXE3” y completar todos los cuadros según se muestra
en la siguiente figura......
Pantalla de configuración del In – Circuit Debugger (Emulador en Tiempo Real)
“ICD08SZ”.
Verificar que la ruta de acceso al emulador en tiempo real sea donde se ha instalado el
programa ejecutable como por ejemplo, C:\pemicro\pkg08sz\ICD08SZ.EXE”,
sino completar la misma en forma manual.
A continuación, dejar “limpias” las solapas “EXE1” y “EXE4” como se muestran en las
siguientes figuras, ya que no hay programas de aplicación para estas ventanas.
55
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Finalmente, para “guardar” los cambios en las configuraciones de las distintas pantallas,
solo hace falta hacer “click” en el ícono “O.K” para que las mismas tengan efecto.
56
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
8.0 – Comenzando a trabajar con el entorno WinIDE.
Una vez hechas las configuraciones del entorno WinIDE, se estará en condiciones de
comenzar a trabajar con el sistema “EDUKIT08” dentro de este entorno de trabajo.
En el entorno WinIDE instalado para el sistema EDUKIT08 no se dispone de los
siguientes aplicativos:
-
Simulador Puro (sin circuito) (ICS08SZ).
Simulador En – Circuito (ICS08SZ).
Archivos de Registros para los simuladores.
Esto se debe a que la “simulación” se basa en correr el programa del usuario en la PC y no
en el MCU propiamente dicho, como se ha visto en detalle en los primeros capítulos de
este curso. Ello obliga a disponer de un “programa” o aplicativo de simulación para cada
uno de los MCUs de la familia HC908. Lamentablemente, se disponen de muchos
simuladores para los primeros dispositivos de la familia HC908, pero no así para la familia
908APxx que es la que posee la placa PLUGIN_AP incluida en el kit.
La “Simulación En - Circuito” y la “Simulación Pura” son de relativa utilidad ya que no
involucran hechos “reales”, en “tiempos reales”, y pueden hacer pensar al usuario que lo
“simulado” sea la “realidad”, cuando nada más lejos de ello.
Hechas las aclaraciones del caso, comenzaremos a trabajar en nuestro ejemplo práctico,
el archivo aquí elegido lleva el nombre “TEMP01.ASM” y tiene por objeto mostrar el
funcionamiento del módulo A/D en resolución de 10 bits, conectado a un sensor de
temperatura (LM335Z) y mostrar lo medido por medio del display 7 segmentos de 4
dígitos LEDs que posee el sistema didáctico.
Para ello, procederemos a configurar los “jumpers” del sistema según nuestras
necesidades y de acuerdo a los explicado en “Manual del Usuario” del sistema
EDUKIT08 (como por ejemplo, “guía rápida de uso”, o “Asignación de Jumpers”).
Que para nuestro ejemplo será:
JP1 ---- Placa “PLUGIN_AP” ---- Posición 2-3 (oscilador externo 20 Mhz).
JP2A / JP2B / JP2C --- Placa Principal
Posición 1-2 ---- Uso del Puerto Serial RS-232C “CN2” al COMx de la PC.
(usar fuente de alimentación Externa!!).
Posición 2-3 ---- Uso del Puerto Serial USB “CN1” al puerto USB 2.0 de la PC.
(No usar fuente de alimentación Externa!!).
57
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
JP3 --- Placa Principal ---- Posición 1-2 (Control de alimentación por DTR).
JP4 --- Placa Principal ---- Posición 2-3 (+VHIGH en pin RESET)
JP5 --- Placa Principal ---- Posición Cerrado (Manejo del pin de Reset)
JP6 --- Placa Principal ---- Posición Cerrado (Manejo del pin de IRQ)
JP15 / JP16 --- Placa Principal ---- Posición Abierto (Display LCD OFF).
JP17/JP18/JP19/JP20 --- Placa Principal ---- Posición Cerrado
(Display 7 Segmentos LEDs Activo).
JP21 --- Placa Principal ---- Posición 1-2 (Sensor Temperatura activo en A/D).
Una vez comprobada la configuración y hecha la conexión entre el sistema didáctico y la
PC por medio del cable serial RS-232C (y fuente de alimentación) o por medio del cable
serial USB (no usar fuente de alimentación!!) se procederá a abrir el programa de
práctica como se muestra en la siguiente figura (por medio de la opción File / Open, o el
botón “Open File” de la barra de Herramientas).....
Pantalla principal del entorno WinIDE con programa “TEMP01.ASM”
58
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
1
2
3
4
5
6
7
8
1 – Compilador / Ensamblador (CASM08SZ)
2 – Simulador En – Circuito (ICS08SZ)
3 – Programador (PROG08SZ)
4 – Emulador en Tiempo Real (ICD08SZ)
5 - Simulador Puro (ICS08SZ)
6 – Botones de Edición (Copy / Paste / Cut)
7 – Botones de manejo de archivos (Open /
Close / Save File / Save Project)
8 - Archivos de Registros
Barra de Herramientas e iconos de aplicaciones del entorno.
El archivo “TEMP01.ASM” es solo un archivo de tipo texto que puede ser modificado por
el usuario para realizar numerosas pruebas por medio del editor de texto y sus herramientas
de edición, presentes desde 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 formato S19 (formato Motorola) para ”bajarlo” al HC908AP32 de la placa
“PLUGIN_AP” incorporada en el sistema para luego realizar trabajos de emulación en
Tiempo Real en circuito.
Esta tarea se realiza haciendo un click en el botón “Compiler / Assembler” (CASM08Z)
en la barra de herramientas que dispone el WinIDE. Si se encuentra un error (detectado por
el compilador), el editor resaltará la línea de código conteniendo el error y detendrá la
compilación, según muestra la siguiente figura.
Pantalla típica de error durante la compilación de un programa.
59
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
El proceso se repetirá hasta que no se encuentre error alguno, y el archivo así
generado quedará listo para grabarse en la memoria FLASH del dispositivo HC908AP32
para luego realizar tareas de Emulación en Tiempo Real. El compilador incluido en el
entorno WinIDE (CASM08Z) es del tipo general o sea sirve para cualquier HC908 sin
importar tamañ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 de compilación del archivo de texto con extensión
“.asm” se obtienen 5 archivos en total y ellos son los siguientes:
- Archivo con extensión .asm ----- TEMP01.ASM (archivo de texto en lenguaje
assembler).
- Archivo con extensión .bak ------ TEMP01.BAK (archivo back up del archivo .asm).
- Archivo con extensión .lst ----- TEMP01.LST (archivo “list”, listado de variables y
etiquetas).
- Archivo con extensión .map ----- TEMP01.MAP (archivo “map” con direcciones de
variables y etiquetas).
- Archivo con extensión .s19 ----- TEMP01.S19 (archivo “s19” con código ejecutable
en formato Motorola)
Usando la función “Programación”.
Cuando se selecciona el módulo de programación “Programmer” (PROG08SZ) por
medio del icono de la barra de herramientas del WinIDE (o cuando el aplicativo
PROG08SZ es elegido como programa principal), y previamente se energiza el sistema
por medio de una fuente externa o por medio del cable USB, se estaría en condiciones
de establecer la comunicación con el sistema “EDUKIT08” y como consecuencia de ello,
se desplegará una pantalla gris de configuraciones que nos permitirá setear velocidad 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: 19200 bps. Aquí deberemos poner el Baud que tendrá directa relación con la
frecuencia de Bus (FBUS) y con la frecuencia del oscilador externo elegido a inyectar por
el pin OSC1 (FXTAL = 20.000 Mhz -– FBUS = 5 Mhz).
60
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Target MCU Security Bytes: Attemp ALL Know Security codes in order.
En este punto se deberá tener en cuenta que en los microcontroladores de la familia
HC908 existe un mecanismo 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 usuario tenga que habilitar dicha función, como sucedía con el antiguo esquema de
protección por “bit” de seguridad implementado en los MCU OTP o de otros fabricantes,
en donde el usuario tiene la responsabilidad 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 memoria de programa del MCU.
El mecanismo de los HC908 está basado en un “Security Password” o palabra de
seguridad de una longitud de 8 bytes de largo (2 elevado a la 64 posibles
combinaciones !!!) que se encuentra en la memoria FLASH de los HC908 compartiendo la
zona de vectores de estos, como se ha visto en detalle en capítulos anteriores.
61
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
De esta forma, la palabra de seguridad está directamente relacionada con el contenido de
los vectores de interrupción utilizados por el usuario durante el diseño del programa de
aplicación de este. Cada programa, al utilizar en forma distinta los vectores de
interrupción, tendrá su propia palabra de seguridad válida, sin que para ello, medie alguna
acción del usuario.
Se sugiere consultar el manual de datos de cualquier HC908 en la sección “Monitor
ROM” para conocer mayores detalles del mecanismo de seguridad contra lecturas no
autorizadas implementados en ellos.
Para nuestro ejemplo, se eligió la opción de intentar todos los password conocidos
(memorizados en los intentos previos) aunque podríamos utilizar el password $FF FF FF
FF FF FF FF FF pues es casi seguro que nuestro microcontrolador HC908AP32 de la placa
PLUGIN_AP estará con su memoria FLASH virgen 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
microcontrolador de la placa PLUGIN y el sistema formado por PC – EDUKIT08
(configuraciones de jumpers), entregándonos datos de en cual etapa se produce el error en
la comunicación. Esto es muy útil para corregir problemas de hardware por pines mal
conectados o tensiones incorrectas en las señales necesarias para asegurar 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óxima etapa 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 el sistema EDUKIT08, ya que como expresa el enunciado en inglés, al tildar
esta opción siempre se desplegará el cuadro de seteo antes de efectuar el contacto con
el sistema.
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 en el cuadro de contacto para establecer efectivamente la comunicación
con el sistema y se efectúa un primer intento por pasar el mecanismo de seguridad.
En este estado, se efectuará un "ciclado de la alimentación del MCU bajo desarrollo" en
forma totalmente automática entre la placa y la PC (indicado por LED 3 “System
Ready” , LED 3 – ON – MCU Power – On , LED 3 – OFF – MCU Power - Off ), y
dependiendo del estado del sistema esto puede ser efectuado múltiples veces.
62
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Cada vez que se remueva la alimentación de la placa (por medio de la remoción de la
fuente externa o de la desconexión del cable serial USB), se debe esperar por lo menos 1
segundo para reanudar la alimentació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, se mostrará la pantalla explicada pero con la sección “Status” con los estados
resultantes de cada una de las etapas de la comunicación para poder determinar en donde se
ha producido el error. Se sugiere verificar configuraciones de jumpers, puertos seriales
elegidos, alimentación (si se usara fuente externa y puerto RS-232C), fusible de la placa,
configuración de la pantalla de comunicación, etc.).
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).
63
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Seleccionar el algoritmo adecuado para el MCU bajo programación, existe un algoritmo
para cada tipo de HC908, en nuestro sistema, deberemos elegir el
“908_ap32_Highspeed.08p”, que es el que corresponde al MCHC908AP32CFBE
que se encuentra en la placa “PLUGIN_AP” para nuestras prácticas.
De esta forma el dispositivo ha sido inicializado y está listo para su borrado y posterior
reprogramación.
Seguridad en los HC908.
Si por distintas circunstancias, no se pudiera superar el mecanismo de seguridad en forma
exitosa, referirse a la sección 10.4 del manual de Datos Técnicos referencia del
dispositivo HC908AP32, para conocer como trabaja el mismo.
El mecanismo de seguridad implementado en el MCU, previene todo intento de observar el
contenido de la memoria Flash, por parte de personas extrañas al programa.
Solo el autor del programa puede acceder a todas las funciones del modo “monitor”,
quedando solo disponible para las personas no autorizadas la función “Borrado total de la
memoria FLASH del MCU” (Mass Erase), que permite reutilizar el microcontrolador
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 la opción de saltar este paso y entrar al MCU al modo monitor pero en el
modo “seguro” (o sea, no permite observar 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 totalmente borrado) proceder por medio del WinIDE a la grabación de este.
64
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Dentro del PROG08SZ “Programmer”.
Una vez superado el cuadro de comunicaciones y elegido el “algoritmo” de programación
correspondiente al MCU de la placa PLUGIN (HC908AP), se ingresará a la ventana del
programador “PROG08SZ” como se puede ver en la figura......
65
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
1
2 3
4 5 6
7 8 9
10
11 12
13 14
1 – Botón Volver al Editor
2 - Botón “Reset Processor”
3 – Botón “Choose Module (elegir algoritmo)
4 – Botón “View Module Data” (ver data en Flash)
5 – Botón “Black Check” (chequeo de memoria en Blanco)
6 – Botón “Erase Module” (Mass Erase – Borrado gral.)
7 – Botón “Load .S19” (carga el archivo S19 a grabar)
8 – Botón “Program Module” (Programación de la Flash)
9 - Botón “Verify Module” (verificación de lo grabado)
10 – Botón “UpLoad Module” (levanta código de la flash)
11 – Botón “Show Algoritm” (muestra el código del algoritmo)
12 – Botón “Help” (Ayuda)
13 – Botón “Specify Serial Num” (no usado aquí)
14 – Botón “Program Serial Num” (no usado aquí).
Barra de Herramientas del PROG08SZ y los distintos iconos que la componen.
Lo primero que uno debería hacer es verificar si la memoria Flash del MCU está borrada
(blank), para ello se procede a hacer “click” en el botón “Blank Check” de la barra de
herramientas. Si ello no es así, se procederá a borra la misma haciendo “click” en el Botón
“Erase Module” para efectuar un borrado gral. de la memoria Flash del MCU.
Una vez borrada la memoria, se cargará el programa “TEMP01.S19” por medio del botón
“Load .S19” y se examinarán las carpetas hasta hallar la ubicación del mismo.
Se podrán ver las rutas de acceso al archivo de “algoritmo” de grabación y al archivo
“.S19” a grabar en el cuadro superior derecho (Configurations) de la pantalla del
programador.
Para efectuar la grabación de la memoria Flash en forma efectiva, se deberá hacer “click”
en el botón “Program Module” (Rayito) y luego de unos instantes la memoria estará
grabada con el archivo correspondiente. Verificar la grabación en Flash con el archivo
contenido en la PC por medio del botón “Verify Module”.
66
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
El programador “PROG08SZ” posee más funciones que escapan al contenido de este
manual, pero el lector puede ampliar sus conocimientos simplemente haciendo “click” en
el botón de Ayuda (Help) que contiene la barra de herramientas del mismo.
Al finalizar con éxito la grabación de la memoria Flash, se deberá salir del programador
haciendo “click” en la solapa “file” y luego “Exit” o simplemente haciendo “click” en la
“X” superior derecha típica de las aplicaciones “Windows”.
ICD08SZ In - Circuit Debugger.
La aplicación ICD08SZ “In – Circuit Debugger” (Depuración En – Circuito), nos permite
depurar un programa en Tiempo Real o también conocida como “Emulación en Tiempo
Real”. La Emulación en Tiempo Real, se lleva a cabo en la familia HC908 por medio del
protocolo “MON08” como se ha visto en capítulos anteriores. Este “Monitor” posee ciertas
características y limitaciones que el usuario debe tener presentes cuando lo utiliza para así
obtener de él, el máximo provecho y funcionalidad.
MON08, Limitaciones en el Debugging.
El debugger emplea un set de comandos que le permiten realizar debugging en Tiempo
Real con las limitaciones del programa monitor MON08 contenido en los dispositivos
MCHC908'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" Puede ser "A" o "B") (1-Wire Communication, ver el Data Book del
dispositivo específico). Cuando se escribe, 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.
67
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
6. Tener cuidado acerca de la observación de los estados de los periféricos y registros de
datos en la ventana de variables o memoria. El refresco de estas ventanas leerán estos
registros y podrán causar el borrado de los flags correspondientes.
7. El monitor para debug integrado dentro de los procesadores HC08, usa hasta 13 bytes
del 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.
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 adicional será tomado como Software Breakpoint. Para esta seguro de que
un Hardware Breakpoint está siendo seteado, usar el comando NOBR antes de setear
el mismo. El hardware breakpoint detendrá la ejecución en FLASH y RAM.
El software breakpoint SOLO detendrá la ejecución en RAM.
3. Ejecutar una instrucción SWI mientras se corre un programa (dentro del programa) es
funcionalmente equivalente a activar un breakpoint, excepto que la ejecución se
detendrá en la instrucción siguiente al 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).
6. El sistema Watchdog no está activo mientras se corre el ICD08SZ. Cuando el
dispositivo es programado y energizado sin el debugger (EDUKIT08 en plena
EMULACION), el watchdog está activado por default.
Para inicializar y usar el ICD08SZ, por favor lea cuidadosamente la sección 7
(ICD08SZ - In – Circuit Debugger) y más secciones del M68ICS08 USER'S
MANUAL (WinIDE User Manual).
68
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Ahora volviendo a nuestro ejemplo.......
Para hacer uso de la Emulación en Tiempo Real por medio de la aplicación ICD08SZ (In –
Circuit Debugger) y una vez compilado nuestro programa de demostración
“TEMP01.asm” con el compilador CASM08Z 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 un dispositivo HC908, la programación de la memoria FLASH es
necesaria cuando se quiere volcar el código del programa del usuario en el dispositivo
final (microcontrolador de la aplicación) como paso previo al uso del Emulador En
Tiempo Real (ICD08SZ) que nos permitirá una depuración de código en TIEMPO
REAL con las ventajas que ello implica.
Luego de realizada la programación del MC908AP32 se podrá hacer uso del ICD08SZ
por medio del icono presente en la barra de herramientas (icono con forma de reloj
pulsera), como toda aplicación que necesite comunicación con la placa de hardware
(EDUKIT08) se abrirá el cuadro de comunicación para 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 Tiempo Real) como se muestra en la figura......
69
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Como puede observarse en la ventana “Code Windows 2” , el código fuente aparece sin
comentarios o etiquetas o sea un disassembler rústico, debido a que el ICD08SZ no
“carga” en forma automática el archivo 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 o bien hacer click en el ícono “HL” y se nos abrirá una ventana con todos los
archivos “.map” disponibles. A continuación elegimos el archivo indicado (TEMP01.map)
y podremos ver la pantalla de la figura.....
Pantalla de Emulación con el archivo fuente “TEMP01.asm”.
70
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Ya estamos listos para empezar a correr nuestra “demo” en tiempo real y luego de
configurar las variables a mostrar en la ventana “Variables Window” nos aprestaremos a
colocar un punto de parada o Break Point en algún lugar del programa que nos sea de
interés.
En este punto es bueno aclarar que, en la Emulación en tiempo Real, solo podremos usar
un SOLO break point por hardware, ya que es el disponible en el interior del
microcontrolador (ver manual de datos del HC908AP o el Reference Manual de la
familia), pues solo en la simulación se dispone de más de un break point porque la misma
corre en la PC y no en el MCU como aquí.
Colocamos el Break Point en una línea del programa de nuestro interés, donde queramos
rescatar valores de variables y registros en ese punto exacto, de forma muy sencilla
haciendo “click” en el botón “derecho” del mouse sobre la línea de interés previamente
escogida, de esta forma se nos abrirá una ventana (pop up) con distintas opciones, entre
ellas la opción “Toggle Breakpoint at Cursor”, haciendo un simple click sobre esta opción
se nos iluminará en rojo la línea elegida, indicándonos de esta forma que el Breakpoint ha
sido aceptado y el programa está listo para comenzar a “correr” en el modo de
“Emulación”.
Luego corremos el programa “TEMP01” en tiempo real por medio del botón “Go”
(flecha verde entera) disponible en la barra de herramientas del emulador.
Luego de unos instantes el programa se detendrá en el punto de parada que previamente
se había establecido devolviendo valores de variables y registros que fueron modificados
por la “corrida” del programa en tiempo real (ver figura).
71
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Pantalla de Emulación con el programa detenido en el Break Point y las variables y
registros actualizados luego de la detención.
72
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Pantalla del sistema “corriendo” (running) sin encontrar el Breakpoint.
Sistema “EDUKIT08” corriendo la aplicación “TEMP01” durante la Emulación
en Tiempo Real con el ICD08SZ del WinIDE.
73
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Hasta aquí hemos llegado con las demostraciones prácticas de los distintos aplicativos
disponibles en el entorno WinIDE y como utilizarlos, sugerimos al usuario leer
detenidamente el documento “WinIDE User Manual.pdf ” (contenido en el CD ROM de
instalación del sistema) que es manual del usuario del entorno WinIDE para obtener las
máximas prestaciones de esta herramienta de software. Muchas son las posibilidades de
este entorno, solo la práctica y la atenta lectura del manual del usuario dará al lector el
control total de dicho entorno.
74
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
9.0 - Sistema “CodeWarrior” for HC(S)08,
de Freescale Semiconductor.
El sistema “CodeWarrior” es un entorno integrado de trabajo (IDE) de uso profesional
que reúne en un mismo entorno un compilador de código Assembler y código “C”, un
linkeador y un debugger de código assembler fuente / código “C”, y que puede ser
ampliado según las necesidades del usuario.
El entorno de trabajo CodeWarrior es básicamente el mismo desde microcontroladores
muy pequeños de 8 Bits hasta microcontroladores complejos de 32 Bits. Este aspecto es
muy interesante ya que “acostumbra” al diseñador con microcontroladores a moverse
dentro de un entorno único y a no encontrarse con “un mundo nuevo” cada vez que efectúa
la migración de un proyecto con un microcontrolador de 8 Bits a otro de 16 o 32 Bits.
Existen varias versiones del sistema CodeWarrior, cada una de ellas soporta una serie de
familias de microcontroladores de distinta complejidad y aplicaciones.
Por ejemplo, para movernos dentro del sistema didáctico “EDUKIT08”, las versiones que
se pueden utilizar son las siguientes:
•
CodeWarrior 5.0: apto para MCUs de la familia HC908 y HC9S08, puede
instalarse en PCs o Notebooks con sistemas operativos Windows 98SE / Me / XP y
no requiere de grandes exigencias del hardware de la PC, con procesadores Pentium
III o similar y 128 Mbytes de RAM es suficiente. La versión gratuita permite
compilar sin límites código assembler y hasta 16 Kbytes en código “C”.
•
CodeWarrior 5.1: apto para MCUs de la familia HC908, HC9S08 y RS08, puede
instalarse en PCs o Notebooks con sistemas operativos Windows XP o superior y
requiere de procesadores Pentium IV o equivalentes y más de 256 Mbytes de RAM.
Posee un muy buen nivel de actualizaciones y soporta muchas herramientas
distintas. La versión gratuita permite compilar sin límites código assembler y hasta
32Kbytes en código “C”.
•
CodeWarrior 6.x: Son las últimas versiones disponibles, apto para MCUs de la
familia HC908, HC9S08, RS08 y la nueva familia “Flexis” de 8 / 32 Bits. Pueden
instalarse en PCs o Notebooks con sistemas operativas Windows XP o superior y
requieren de procesadores Pentium IV o superiores y más de 512 Mbytes de RAM.
Posee un muy buen nivel de actualizaciones y soporta muchas herramientas
distintas. La versión gratuita permite compilar sin límites código assembler y hasta
32Kbytes en código “C” para la familia HC9S08 y 64Kbytes para la familia Flexis
HC9S08 / V1 ColdFire.
•
En esta sección trabajaremos con la versión 5.0 del CodeWarrior, ya que su forma de
manejo es similar en todas las versiones.
75
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
La versión "5.0" ofrece ensamblado de código fuente en forma ilimitada (assembler) y
provee capacidades de Debugging muy interesantes aún para programadores adelantados.
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
sistema EDUKIT08.
-
Un Compilador ANSI C (16K Bytes de código) 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 entornos
CodeWarrior 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ás complejo, pero los tutoriales, FAQs y guías rápidas de
comienzo son fáciles de seguir y ayudan a construir un nuevo proyecto, usando "templates"
pre-construidos, en muy poco tiempo.
(Ver www.freescale.com y seleccionar.....
"CodeWarrior For HC(S)08 Microcontrollers".)
9.1 – Instalación del entorno “CodeWarrior”.
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
2) Ejecutar el archivo “Launch” de dicho directorio y nos aparecerá la siguiente
pantalla ......
76
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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.
77
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
5) Una vez concluida la instalación, procederemos a lanzar el CodeWarrior 5.0 IDE
Seleccionando Inicio Æ Programas Æ Freescale CodeWarrior Æ HC08 V5.x
Æ CodeWarrior IDE (como se ve en la figura, o bien instalando un icono de acceso
directo del CodeWarrior 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......
78
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Siempre que se tenga “tildada” la opción “Display on Startup” se abrirá la ventana con
opciones de comienzo de trabajo con el sistema que facilitarán nuestro aprendizaje en el
mismo.
Al cerrar esta pantalla, se nos abrirá otra conteniendo “tips” que nos irán mostrando las
distintas posibilidades 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
posibilita mantener al día nuestro sistema de desarrollo ante la aparición de nuevos
dispositivos, correcciones o mejoras, ejemplos de aplicación, etc.
Es indispensable que en la PC o Notebook elegida para la instalación del sistema
CodeWarrior se disponga de una conexión a Internet, ya sea en forma directa (modem)
o bien por medio de la red en donde la misma se encuentre conectada.
Las versiones demo del CodeWarrior 5.0 / 5.1 / 6.x contenidas en los CD ROMs de
cortesía, requieren de actualizaciones para funcionar correctamente con el sistema
EDUKIT08.
Para ello se procederá de la siguiente forma:
1) Ejecutar la aplicación “CodeWarrior 5.0 / 5.1 / 6.x 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.
79
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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 a los sistemas 5.0/5.1/6.x
para una correcta actualización.
80
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
A partir de esta pantalla se irán mostrando los progresos de las descargas y las posteriores
instalaciones una 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, el sistema lo corregirá en forma automática en posteriores intentos.
Se sugiere actualizar a los sistemas CodeWarrior en forma periódica.
9.2 – Comenzando a trabajar con el entorno “CodeWarrior”.
El siguiente ejemplo ilustrará como programar y depurar código en un MCU HC908 desde
un entorno CodeWarrior IDE.
Aquí se darán los pasos principales en la programación de la memoria FLASH con
CodeWarrior en modo monitor y como comenzar una sección de debug (depuración).
Nuestro ejemplo consistirá en implementar un pequeño programa en lenguaje ensamblador
que efectue una 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ás complejas en forma periódica de modo similar a
como lo haría un sistema operativo más complejo.
Primeramente configuraremos al sistema EDUKIT08 para trabajar con el MCU
MC908AP32CFBE que es el microcontrolador disponible en la placa “PLUGIN_AP”
que viene con el kit del sistema.
Utilizaremos la conexión USB entre el sistema de desarrollo y nuestra PC, alimentando a
todo el sistema didáctico con +5Vdc provistos por la propia PC.
81
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
De esta forma la configuración final será:
JP1 ---- Placa “PLUGIN_AP” ---- Posición 2-3 (oscilador externo 20 Mhz).
JP2A / JP2B / JP2C --- Placa Principal
Posición 2-3 ---- Uso del Puerto Serial USB “CN1” al puerto USB 2.0 de la PC.
(No usar fuente de alimentación Externa!!).
JP3 --- Placa Principal ---- Posición 1-2 (Control de alimentación por DTR).
JP4 --- Placa Principal ---- Posición 2-3 (+VHIGH en pin RESET)
JP5 --- Placa Principal ---- Posición Cerrado (Manejo del pin de Reset)
JP6 --- Placa Principal ---- Posición Cerrado (Manejo del pin de IRQ)
JP15 / JP16 --- Placa Principal ---- Posición Abierto (Display LCD OFF).
JP17/JP18/JP19/JP20 --- Placa Principal ---- Posición Abierto
(Display 7 Segmentos LEDs OFF).
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 o Notebook utilizada interprete como un puerto “COM
Virtual” al puerto USB físico, ya que en los entornos de trabajo integrados como el
CodeWarrior o P & E WinIDE utilizaremos la opción “COM” como medio válido para
comunicarnos (ver sección 5.1 “Instalación del Puerto de Comunicaciones”)
Configurado nuestro sistema, procederemos a iniciar nuestro programa en el sistema
CodeWarrior 5.0 efectuando los siguientes pasos:
Al ejecutar el CodeWarrior IDE, se nos abrirá una ventana de opciones como se ve en la
figura 1.
82
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Figura 1.- Pantalla “Startup” con opciones de ayuda.
Elegiremos la opción “Create New Project” para armar nuestro nuevo proyecto.....
1) Se ingresará en la pantalla de configuración del proyecto donde elegiremos generación
de lenguaje ASSEMBLY, y nombraremos a nuestro proyecto con el nombre
“proyecto1.mcp”, según se puede ver en la figura 2.
Figura 2.- Pantalla de configuración del proyecto.
83
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
En la siguiente pantalla configuraremos la familia y dispositivo en particular a utilizar para
nuestro proyecto (MC908AP32CFBE) 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 HC908, dispositivo
MCHC908AP32CFBE y en cuanto a la conexión con la herramienta debe elegirse la
opción “Mon08 Interface” ya que es la opción universal de conexión para los sistemas
de desarrollo como los EVAL08QTY, FLASH_POD, EDUKIT08 y toda otra herramienta
que no figure explícitamente en el listado de conexiones.
Figura 4.- Pantalla de adición de archivos al proyecto.
84
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Al hacer click en el botón “siguiente” pasamos a una pantalla (Figura 4.-) que nos
permite adicionar cualquier archivo al proyecto, para incluirlo en nuestro trabajo.
En nuestro caso, saltaremos esta opció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).
En la pantalla que se observa en la figura 5.-, se puede elegir la generación de código de
inicialización de los distintos periféricos asistida o no. Nosotros elegiremos utilizar la
generación de código asistida, por medio del aplicativo “Processor Expert”, que nos irá
guiando paso a paso en la inicialización de los distintos periféricos del MCU elegido.
Al hacer click en el botón “Finalizar”, se generarán todos los archivos del proyecto, se
lanzará la pantalla principal de trabajo del mismo y se podrá ver una interface gráfica con
los pines y los distintos módulos que constituyen el MCU (Figura 6.-).
85
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Figura 6.- Pantalla principal del proyecto e interface gráfica de generación de
código (Processor Expert).
Hacer “click” en el icono “Select CPU Package” y elegir el encapsulado
“MC68HC908AP32CFB” que es el correcto utilizado en nuestro kit.
Ahora nos queda generar el código de inicialización del Timer para producir una
interrupción periódica que será la base de nuestro sistema de disparo de tareas,
inicializar los puertos I/O, los registros de configuración, etc., etc.
Para hacer esto, usaremos el generador de código asistido “Processor Expert” haciendo
click primeramente en el modulo CPU para configurar el Clock del sistema y otros
aspectos como se observa en la figura 7.-
86
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Figura 7.-
EduDevices.com.ar
www.edudevices.com.ar
Pantalla del módulo de CPU.
Se configura el módulo de CPU para:
•
•
•
•
•
•
•
•
Clock ---- Externo ---- 20,000Mhz (lo inyectará EDUKIT08 por pin OSC1).
LVI ----- LVI en +VDD habilitado / LVI en Reset habilitado / LVI en +Vreg habilitado
/ LVI en modo STOP deshabilitado.
PLL Clock ---- Deshabilitado.
CPU mode Selection ----- “Monitor Mode”.
PTB0 pin level ------ “Logical 1”.
Interrupciones Habilitadas.
Vector de Reset apuntando a la etiqueta “_Startup”
SWI deshabilitada.
87
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Figura 8.- Pantalla con los detalles de configuración del CPU.
A continuación procederemos a configurar el módulo de Timer (TIM) ingresando al
mismo como muestra en la figura 9.-
Figura 9.- Pantalla del Módulo de Timer.
88
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Ahora es el turno de configurar el módulo del TIMER según lo siguiente:
•
•
•
•
•
•
Prescaler = 32 ----- FBUS = 5,0000 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
Una vez que se ha configurado el módulo de TIMER, procederemos a configurar los
puertos I/O según lo siguiente:
PORTA ---- DDRA = % 11110110 ---- PTA = % 00000010.
PORTB ----- DDRB = % 11100110 ---- PTB = % 00000110.
PORTC ----- DDRC = % 01110111 ---- PTC = % 01010000.
PORTD ----- DDRD = % 00001111 ---- PTD = % 00000000.
89
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Figura 11.- Pantallas de configuración de puertos (PORTA / PORTB / PORTC /
PORTD).
Si luego se presiona el botón “Generation Code” , el generador de código del Processor
Expert generará código y nos mostrará una ventana explicando los pasos a seguir para
incorporarlo efectivamente al resto del programa.
Figura 12.- Pantalla de generación de Código que producirá archivos bajo
el Nombre “MCUinit” para inicializar el MCU.
90
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
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
comentar y descomentar lo siguiente (solo para el CodeWarrior 5.0, en otras versiones solo
verificar que así suceda):
•
Comentar en el archivo “Project.prm” la línea --- VECTOR 0 _Startup /* Reset
vector ......
Con una barra cruzada y asterisco (/*) delante de la sentencia y luego salvarlo.
•
Descomentar en el archivo “main.asm” la línea “JSR MCU_int” para que de esta
forma en el programa principal se pueda invocar a la sub rutina MCU_int que
inicializa al MCU.
Luego de realizar esas modificaciones sugeridas por el Processor Expert, introduciremos
nuestras líneas de código en la sub rutina de interrupción por Timer Overflow
(isrINT_TIMOvr) para realizar, por ejemplo, un Toggle (inversión de estado) del puerto
PTA1 (LED 1 del EDUKIT08) cada vez que atendamos la interrupción propiamente
dicha. En este punto podemos poner todas nuestras tareas en forma de llamado a sub rutina
que se irán ejecutando una a una cada 100 ms.
91
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
BCLR T1SC_TOF,T1SC
BRCLR PTA_PTA1,PTA,OFF_PUERTO
BCLR PTA_PTA1,PTA
BRA FIN_TIMOvr
EduDevices.com.ar
www.edudevices.com.ar
;Limpio bit TOF del timer1
;Invierto estado puerto PTA1
;Enciendo LED 1 del EDUKIT08
;salto a fin rutina
OFF_PUERTO:
BSET PTA_PTA1,PTA
;Apago LED 1 del EDUKIT08
FIN_TIMOvr:
RTI
Figura 15.- Agregado de nuestras líneas de código en la rutina de manejo de la
interrupción por Timer Overflow (isrINT_TIMOvr).
92
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Una vez introducido nuestro código, debemos compilarlo haciendo click en el botón
“Make” en la barra de proyecto o en la barra de herramientas general. Si no hemos
tenido algún error de compilación estaremos yá en condiciones de pasar a la etapa de
EMULACION EN TIEMPO REAL de nuestro programa.
Para realizar ello, primero deberemos establecer una conexión entre el CodeWarrior 5.0 y
nuestro sistema de desarrollo EDUKIT08 que iremos configurando a lo largo de las
siguientes pantallas luego de hacer click en el botón “Debugger” (fecha verde en la
barra de proyecto).....
Figura 16.- 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
processor installed” y hacemos click en el botón “ok”.
93
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Figura 17.- Pantalla de manejo de la conexión con el hardware (FLASH_POD).
Luego configuramos la siguiente pantalla eligiendo el número de puerto COM en el que
esté asignado el puerto COM VIRTUAL utilizado por EDUKIT08 para la conexión USB
SISTEMA – PC, en nuestro caso es el COM3 y le asignaremos un Baud Rate de 19200
Bps de acuerdo a lo configurado en nuestro sistema anteriormente.
Como se podrá observar en la figura, también se configurará la opción de borrado y
grabación de la memoria FLASH del MCU en forma previa y automática cada vez que se
quiera entrar en el modo de Debugging (Emulación en Tiempo Real) ya que es la
condición necesaria para que cualquier HC908 pueda trabajar como una verdadera
herramienta de desarrollo.
Hacemos click en el icono “contact target with these sedttings....” para establecer la
comunicación con la placa EDUKIT08 y entrar al entorno de Debugging propiamente
dicho.
94
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Una vez que nuestro sistema sortea las etapas de seguridad con éxito, nos aparecerá una
ventana (Erase and Program Flash?) preguntando por el borrado y grabación de la
FLASH antes de ingresar al modo de Debugging propiamente dicho. Haremos Click en el
icono “Yes” para proceder a borrar y grabar nuestro programa en la memoria flash e
ingresar al modo Debugging.
Figura 18.- Pantalla de Debugging (Emulación en Tiempo Real).
95
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
Pues bien, ya tenemos la pantalla principal de Debugging (Emulación en Tiempo Real)
y solo nos resta correr nuestro programa haciendo Click en el icono con la “flechita
verde” (Run / Continue) para poder ver la señal cuadrada de 200 ms de período que
obtendremos en el puerto PTA1 de nuestro sistema didáctico, según nos muestran las
figuras 19 y 20.
Figura 19.- Sistema “Corriendo” en Tiempo Real (Debugging).
LED 1
Figura 20.- Led “LD1” parpadeando con un período de 200 ms.
96
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Para detenerlo solo tendremos que hacer “click” en el botón “Halt” de la barra de
herramientas y se nos abrirá una pequeña pantalla que nos dirá que no tiene comunicación
con el MCU bajo depuración, esto es lógico debido a que, como se vio en capítulos
anteriores, la familia HC908 tiene un modo “monitor” que solo devuelve el control a la PC
si el Program Counter (PC) pasa por la dirección donde se había colocado un “Breakpoint”,
y hasta ahora en nuestro ejemplo, no se ha colocado ninguno. Esta pantalla nos da varias
opciones, la aconsejable es la opción “RESET” que produce un reset del MCU y con ello
“restablece” el control del mismo en el modo monitor (Debugger).
Para aprovechar realmente la posibilidad de Emulación en Tiempo Real (Debugger), es
necesario incluir un “Breakpoint” en algún punto de interés de nuestro programa para
“detener” la ejecución normal del mismo en ese punto y poder rescatar los valores de las
variables a examinar justo en ese momento.
Por ejemplo, en nuestro ejemplo anterior, se introducirá un breakpoint en las líneas de
código que se han agregado en la interrupción por “Timer Overflow”, justo en la línea
donde se apaga el LED “LD1”.
Para ello, se hará “click” en la opción “Source” de la solapa “Window” de la barra de
herramientas del Debugger, para seleccionar y mostrar las líneas de código del archivo
“MCUinit.dbg” que es el que contiene las líneas agregadas en la interrupción por Timer
Overflow, según se muestra en las siguientes figuras.......
97
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Una vez que en la ventana “Source” se pueden observar las líneas de código pertenecientes
al archivo “MCUinit.dbg”, se introducirá un “Breakpoint” en la línea elegida simplemente
ubicando el puntero en dicha línea y haciendo “click” en el botón derecho del mouse se
abrirá una ventana con distintas opciones, se elegirá “Set Breakpoint” haciendo “click” en
la opción.......
Como resultado de ello, aparecerá una “flecha Roja con una barra” indicando donde se
ha colocado el breakpoint como se puede observar en la figura ........
98
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
A continuación, ya se está en condiciones de “correr” la aplicación con el Debugger
haciendo “Click” en la flechita Verde de la barra de herramientas......
Pantalla del Debugger con el programa “detenido” en el breakpoint .....
Hasta aquí se han visto los aspectos principales de uso del entorno integrado CodeWarrior,
sugerimos al lector ampliar sus conocimientos por medio del uso de la opción “Help” que
dispone el entorno y además consultar los numerosos manuales y tutoriales disponibles en
el sitio web de Freescale (www.freescale.com/codewarrior ).
En el CD ROM de instalación, también se puede encontrar una carpeta bajo el nombre
“Bibliografía CodeWarrior” que contiene una gran cantidad de información útil para
aprender con dicho entorno.
99
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
10.0 – Ubicación física de Conectores e interfaces de comunicación.
CN5
“POWER PLUG ”
CN1
“USB MON08”
CN2
“RS-232C MON08”
LCD1
Display LCD 16 x 2 Con Backlight
PR1
Contraste
DSP1 / DSP4
Display 7 Segmentos
CN10
BDM
HC9S08
F1 / FUSE
CN6
RS-232C
SCI 1
LD3
LD11
LD5
CN3
SW7
SW5
LD6
CN4
LD2
CN7
RS-232C
SCI 2
LD4
PWM
Puerto IRDA
SW6
LD1
LD7 / LD9
LD10
CN8_IN / CN8_OUT
TX – RS - 485
CN9_IN / CN9_OUT
RX – RS - 485
PR2
Vin A/D
Temp
A/D
SW4 – SW3 – SW2 – SW1
GND
Posición correcta de 2 placas “EDUKIT08” para comunicación IRDA.
100
EduDevices.com.ar
www.edudevices.com.ar
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
PC
EDUKIT08
CN6 / CN7
Cable Serial
Tipo “Null Modem”
DB9 / DB9
(Macho / Hembra)
Cable Serial
Tipo “Null Modem”
DB9 / DB9
(Macho / Hembra)
RS – 232C
COM x
PC
RS – 232C
COM x
Conexión típica entre 2 PCs y el sistema “EDUKIT08” utilizado como “Gateway”
(comunicación a distintas velocidades) entre puertos RS-232C / RS-232C.
Asignación de Pines en conectores DB9 Hembras CN6 / CN7 (RS – 232C)
Pin Nro
1
2
3
4
5
6
7
8
9
Función
N.C.
RX_PC
TX_PC
N.C
GND
N.C.
N.C.
N.C.
N.C.
101
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Notas Importantes:
Nota 1:
Para una mejor comprensión del sistema EDUKIT08 se sugiere efectuar las numerosas
prácticas contenidas en el CD ROM de instalación del Kit en la carpeta “PRACTICAS”
y leer atentamente la “Guía de trabajos Prácticos” contenida en dicha carpeta.
Nota 2:
Para aquellos estudiantes avanzados que pretendan tener un mayor dominio del sistema
EDUKIT08 para realizar prácticas adicionales a las ya dispuestas, se sugiere consultar los
diagramas eléctricos de todo el sistema contenidos en la carpeta “ESQUEMATICOS” del
CD ROM de instalación.
Nota 3:
Los usuarios que deseen profundizar conocimientos del manejo del módulo SCI Infrarrojo
(IRDA) se sugiere leer atentamente la Sección 14 “Infrared Serial Communications
Interface Module (IRSCI)” del manual de Datos Técnicos del MCU MC68HC908AP
contenido en el CD ROM de instalación.
Nota 4:
El sistema “EDUKIT08” dispone de un sitio web especial donde se podrá encontrar nuevas
prácticas de los distintos módulos de las familias de 8 y 32 Bits de Freescale, material
adicional, correcciones u observaciones de ingeniería, novedades como placas de
expansión, nuevas placas “PLUGIN”, así como todo otro material relacionado con el
sistema didáctico.
El link es:
www.edudevices.com.ar
Nota 5:
ICAP01.asm
Muestra en el LCD la frecuencia y el ancho de pulso de la señal generada por el
microcontrolador QY4 (U12) utilizando el módulo ICAP. En este caso el cambio de
modalidad se hace por medio del pulsador SW6 por lo cual la práctica requiere el jumper
JP22 en la posición 2-3.
102
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
ICAP02.asm
Es semejante a la práctica ICAP01.asm pero se diferencia en que el cambio de modalidad
en la señal de PWM se hace por medio de la comunicación SPI. Inicialmente el
microcontrolador HC908AP (contenido en la placa “PLUGIN_AP”) establece la modalidad
0 y el programa comienza a medir frecuencia y ancho de pulso.
Si el usuario oprime el pulsador SW1 pasa a un modo de selección de señal de PWM. Allí
puede elegir entre las 8 modalidades. Al oprimir SW1 nuevamente se inicia la medición
por ICAP.
Nota 6:
SPI01.asm
Muestra en el LCD las leyendas:
Address: XXX
Data:
YYY
Donde el microcontrolador HC908AP (contenido en la placa “PLUGIN_AP”) consultará la
dirección XXX de la tabla del microcontrolador QY4 (U12) por SPI , obteniendo como
resultado el byte YYY que muestra en el LCD.
Con los pulsadores SW1 y SW2 puede cambiar la dirección XXX entre 0 y 255. Cada vez
que se la cambié la dirección el microcontrolador HC908AP consultará nuevamente por
SPI para leer la tabla.
103
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
11.0 – Guía Rápida de uso.
A continuación se darán los pasos mínimos a efectuar para hacer uso del sistema didáctico
“EDUKIT08” en todos sus modos de funcionamiento.
Modo Monitor “MON08” (Borrado / Grabación / Emulación en Tiempo Real):
1) Verificar que la placa “PLUGIN_AP” se encuentra correctamente conectada en el Area
de PLUGIN de la placa principal según las indicaciones gráficas que poseen ambas.
2) Configurar los “Jumpers” de la siguiente forma:
JP1 ---- Placa “PLUGIN_AP” ---- Posición 2-3 (oscilador externo 20 Mhz).
JP2A / JP2B / JP2C --- Placa Principal
Posición 1-2 ---- Uso del Puerto Serial RS-232C “CN2” al COMx de la PC.
(usar fuente de alimentación Externa!!).
Posición 2-3 ---- Uso del Puerto Serial USB “CN1” al puerto USB 2.0 de la PC.
(No usar fuente de alimentación Externa!!).
JP3 --- Placa Principal ---- Posición 1-2 (Control de alimentación por DTR).
JP4 --- Placa Principal ---- Posición 2-3 (+VHIGH en pin RESET)
JP5 --- Placa Principal ---- Posición Cerrado (Manejo del pin de Reset)
JP6 --- Placa Principal ---- Posición Cerrado (Manejo del pin de IRQ)
Otros Jumpers configurar según los distintos periféricos que se quieran utilizar (ver
sección “asignación de jumpers”).
3)
Si se utiliza el Puerto Serial USB “CN1” para la comunicación EDUKIT08 – PC, se
deberá proceder a la instalación de los Drivers USB necesarios para que el sistema
operativo de la PC reconozca el sistema EDUKIT08 (ver sección “instalación del
puerto de comunicación”).
4) Instalar el entorno de trabajo integrado WinIDE (PKG08SZ) según las indicaciones de
la sección “Instalación del Entorno WinIDE”.
104
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
5) Grabar y Ejecutar en el entorno WinIDE – EDUKIT08 los programas “demos” de
práctica según las indicaciones de cada uno de ellos.
Modo “Usuario” (Ejecución de los programas en Flash sin intervención de la PC):
1) Tener en cuenta de descargar el programa (grabar en memoria Flash del MCU) a
ejecutar antes de entrar en el modo usuario, sin conexión a PC.
2) Configurar los “jumpers” del sistema según lo siguiente:
JP1 ---- Placa PLUGIN_AP ----- Posición 1-2 (oscilador Xtal 32,768 Khz y PLL)
(Tener en cuenta de habilitar las líneas de código de
configuración del PLL para que este genere la
frecuencia de Bus (FBUS) deseada)
JP2A/JP2B/JP2C ---- Placa Principal ---- No importa la posición (no conectar a la PC)
JP3 ---- Placa Principal ----- Posición 2-3 (Sistema siempre alimentado – DTR = 0)
JP4 ---- Placa Principal ----- Posición 1-2 (+VDD en pin RESET)
JP5 ---- Placa Principal ---- Posición Abierto (No hay manejo del pin RESET).
JP6 ---- Placa Principal ----- Posición Abierto (No hay manejo del pin IRQ).
Otros Jumpers configurar según los distintos periféricos que se quieran utilizar (ver
sección “asignación de jumpers”).
3) Proceder a alimentar al sistema EDUKIT08 con una fuente externa por medio del
conector CN5 “Power PLUG” en la placa principal del sistema.
4) Si la aplicación no tiene un buen “arranque” (no se ejecuta correctamente) presionar el
pulsador “SW5” (RESET) para generar un reset general del sistema y un comienzo
controlado del programa de aplicación.
105
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
Modo “Usuario” / Modo “Background” en HC9S08 / HC9S08 “Flexis” / V1 Coldfire:
1) Cuando se insertan las placas “PLUGIN_AW”, “PLUGIN_FLX08” o
“PLUGIN_FLXV1”, el sistema queda preparado para trabajar con la familia HC9S08
(en especial el MC9S08AW60), la familia HC9S08 “Flexis” o la familia “V1”
ColdFire Flexis respectivamente.
Todas estas familias de MCUs poseen su propio módulo BDM integrado en el chip,
haciendo innecesario el uso del BDM “MON08” incorporado en el sistema
“EDUKIT08”.
Además, los MCUs de estas familias funcionan permanentemente en modo normal o
modo “usuario” y por medio de comandos especiales pueden ingresar al modo
“background” (modo de depuración) para obtener una Emulación en Tiempo Real.
Para ello el sistema didáctico cuenta con el conector “CN10” (BDM HC9S08) que
permite vincular al mismo con herramientas de emulación BDM como el “R(S)_POD”
o el “USBMULTILINKBDME” que se proveen en forma separada.
2) Configurar los “jumpers” del sistema según lo siguiente:
JP1 ----- Placa PLUGIN_xx (la elegida) ----- Posición 1-2 o Posición 2-3
Según las necesidades del usuario.
(verificar que el módulo BDM del MCU
elegido pueda trabajar con Xtal de 32Khz
o con oscilador interno)
JP2A/JP2B/JP2C ---- Placa Principal ---- No importa la posición (No MON08)
JP3 ---- Placa Principal ---- Posición 2-3 (Sistema siempre alimentado – DTR = 0)
JP4 ---- Placa Principal ---- Posición 1-2 (+VDD en pin RESET)
JP5 ---- Placa Principal --- Posición Abierto (No hay manejo del pin RESET).
JP6 ---- Placa Principal ---- Posición Abierto (No hay manejo del pin IRQ).
Otros Jumpers configurar según los distintos periféricos que se quieran utilizar (ver
sección “asignación de jumpers”).
3) Si lo que se pretende es depurar un programa (borrar / grabar / emular) por medio del
módulo BDM entonces hacer lo siguiente:
106
“EDUKIT08” Manual de Usuario – Versión 1.0
Diseñado por: Ing. Daniel Di Lella
D.F.A.E
EduDevices.com.ar
www.edudevices.com.ar
3_1) Conectar la herramienta de emulación BDM (R(S)_POD /
USBMULTILINKBDME) al conector BDM “CN10” en la placa principal del
sistema “EDUKIT08”.
3_2) Proceder a alimentar al sistema EDUKIT08 con una fuente externa por medio del
conector CN5 “Power PLUG” en la placa principal del sistema.
3_3) Ejecutar el entorno CodeWarrior, junto con la herramienta elegida según las
indicaciones del manual de usuario de la placa “PLUG_IN” elegida.
4) Si lo que se pretende es correr un programa en el modo “usuario”, ya grabado en la
memoria Flash del MCU, entonces hacer lo siguiente:
4_1) Proceder a alimentar al sistema EDUKIT08 con una fuente externa por medio del
conector CN5 “Power PLUG” en la placa principal del sistema.
4_2) Si la aplicación no tiene un buen “arranque” (no se ejecuta correctamente) presionar
el pulsador “SW5” (RESET) para generar un reset general del sistema y un comienzo
controlado del programa de aplicación.
107
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising