Programa de Postgrados en Ingeniería Eléctrica y Electrónica

Anuncio
Programa de Postgrados en
Ingeniería Eléctrica y Electrónica
Arquitectura de
Procesos Industriales
Unidad 3
Arquitecturas de los Sistemas de Desarrollo
Autor
Profesor Eval Bladimir Bacca Cortés
Ing. Electrónico
Mg. En Automática
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Escuela de Ingeniería Eléctrica y Electrónica
Dirección de Nuevas Tecnologías y Educación Virtual
Vicerrectoría Académica
Universidad del Valle
©2007
Ficha Técnica
Coordinador de Programa Académico
Humberto Loaiza Correa
Diseño Gráfico
Edinson Largo Hoyos
Montaje e Ilustración
Karol Johanna Romero Villota
Programación
Sandra Lorena Mayorga Muriel
Asesoría Metodológica
Oscar Trejos Sinisterra
Pacífico Abella Millán
Coordinación Programación
Henry A. Taquez Quenguán
Coordinación Diseño Gráfico
Karen Ramírez González
Diagramación Versión Imprimible
John Jairo Toro Londoño / Sadua Vanessa Aristizabal
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Escuela de Ingeniería Eléctrica y Electrónica
Dirección de Nuevas Tecnologías y Educación Virtual
Vicerrectoría Académica
Universidad del Valle
©2007
Tabla de Contenido
Introducción
Objetivos
5
5
Contenido
Tema 1. Sistemas de Desarrollo CPU08
(Familia MCS51)
5
Tema 2. Sistemas de Desarrollo TINI (Familia
DS80C390
Tema 3. Sistemas de Desarrollo RCM3200
(Familia RC3000)
Tema 4. Sistemas de Desarrollo
M68EVB912B32 (Familia 68HC12)
Resumen
Actividades de Aprendizaje
Lecturas Complementarias
Bibliografía
13
17
20
23
23
23
24
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Introducción
E
ste documento presenta una guía introductoria sobre el procedimiento estándar
para poder emplear cada sistema de desarrollo. Esto incluye: la programación
en el ambiente de desarrollo que la plataforma trae consigo o uno alternativo; la
compilación y obtención del archivo que se enviará al sistema de desarrollo; la descarga
del archivo al sistema de desarrollo y la ejecución de la aplicación desarrollada.
Este documento no incluye información adicional sobre los lenguajes de programación
que se usan para poder desarrollar aplicaciones en las plataformas citadas. Teniendo
en cuenta esto el usuario debe estar preparado para entender programas realizados en:
C, dynamic-C, ensamblador y JAVA.
Objetivos
Conocer la arquitectura, funcionamiento e interconexión de las herramientas de
desarrollo
Contenidos
Tema 1. Sistemas de Desarrollo CPU08 (Familia
MCS51)
Para desarrollar aplicaciones sobre la familia MCS5X se usará la plataforma CPU08, la
cual es un desarrollo del grupo P.S.I. (Percepción y Sistemas Inteligentes). Aunque no
cuenta con una interfaz de usuario propia ni una herramienta que sea capaz de realizar
una depuración de aplicaciones, se explicará como se puede programar la plataforma
usando otros herramientas.
Subtema 1.1 Descripción del Hardware
La Figura 3.1 muestra la distribución de componentes del sistema CPU08, la cual posee
las siguientes especificaciones básicas:
Microcontrolador
AT89C52-24PC (8k bytes de memoria Flash, Máxima Fclk: 24
MHz)
Memoria RAM
6264 (8k bytes)
Cristal
11.0592 MHz
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Interfaz serial
RS232/RS485 (MAX232 y 75176 presentes en versión 2 y
posteriores)
Decodificador
74x138 Incluido (En algunas aplicaciones resulta innecesario)
Lath
74x373 Incluido (En aplicaciones mínimas podría ser
innecesario)
Regulador
7805 Incluido
Versión 1
Incluye 4 entradas digitales aisladas ópticamente
Versión 2
Incluye conversores V/F con variación de frecuencia entre 10
Hz y 11 kHz
Sobre la tarjeta existen un conjunto de conectores (JP1 a JP8) los cuales manejan
señales de interfaz paralela, seriales para la programación, digitales y decodificación de
memoria por lo cual se debe aclarar su significado:
Figura 3.1 Distribución de componentes del sistema CPU08
• JP1 – Bus de expansión principal
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
PIN
SEÑAL
FUNCIÓN
1
P0.0/AD0
I/O. Bus multiplexado datos/direcciones
3
P0.1/AD1
I/O. Bus multiplexado datos/direcciones
5
P0.2/AD2
I/O. Bus multiplexado datos/direcciones
7
P0.3/AD3
I/O. Bus multiplexado datos/direcciones
9
P0.4/AD4
I/O. Bus multiplexado datos/direcciones
11
P0.5/AD5
I/O. Bus multiplexado datos/direcciones
13
P0.6/AD6
I/O. Bus multiplexado datos/direcciones
15
P0.7/AD7
I/O. Bus multiplexado datos/direcciones
17
P3.7/RD*
I/O. Señal de lectura en memoria de datos
19
P3.6/WR*
I/O. Señal de escritura en memoria de datos
21
ALE
Señal para demultiplexado del bus datos/direcciones
23
PSEN*
Señal de lectura en memoria de programa
25
P2.7/A15
I/O. Parte alta del bus de direcciones
27
P2.6/A14
I/O. Parte alta del bus de direcciones
29
P2.5/A13
I/O. Parte alta del bus de direcciones
31
P2.4/A12
I/O. Parte alta del bus de direcciones
33
P2.3/A11
I/O. Parte alta del bus de direcciones
35
P2.2/A10
I/O. Parte alta del bus de direcciones
37
P2.1/A9
I/O. Parte alta del bus de direcciones
39
P2.0/A8
I/O. Parte alta del bus de direcciones
2
+V
Voltaje de alimentación positivo (no necesariamente
+5V)
4
+V
Voltaje de alimentación positivo (no necesariamente
+5V)
6
-V
Voltaje de alimentación negativo (no
necesariamente -5V)
8
-V
Voltaje de alimentación negativo (no
necesariamente -5V)
10
P1.0/T2 I/O.
Entrada del contador 2 (8032 y similares)
12
P1.1/T2EX
I/O.
Entrada del contador 2 (8032 y similares)
14
P3.2/INT0
I/O.
Interrupción externa 0
16
P3.3/INT1
I/O.
Interrupción externa 1
18
P3.4/T0 I/O.
Entrada del contador 0
20
P3.5/T1 I/O.
Entrada del contador 1
22
SEL0*
Salida Y0 del decodificador 74138 (si se encuentra
presente)
24
SEL2*
Salida Y1 del decodificador 74138 (si se encuentra
presente)
26
SEL4*
Salida Y2 del decodificador 74138 (si se encuentra
presente)
28
SEL6*
Salida Y3 del decodificador 74138 (si se encuentra
presente)
30
SEL8*
Salida Y4 del decodificador 74138 (si se encuentra
presente)
32
SELA*
Salida Y5 del decodificador 74138 (si se encuentra
presente)
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
34
SELC*
Salida Y6 del decodificador 74138 (si se encuentra
presente)
36, 38, 40
GND
Tierra lógica y de potencia
• JP2 – Entradas y Salidas digitales
PIN
SEÑAL
FUNCIÓN
1
P1.0/T2
I/O.
(Entrada del contador 2 en 8032 y similares)
2
P1.1/T2EX
I/O. (Entrada del contador 2 en 8032 y similares)
3
P1.2
I/O.
4
P1.3
I/O.
5
P1.4/SS
I/O. (Selección de esclavo SPI en AT89S8252 y similares)
6
P1.5/MOSI
I/O. (Master Output, Slave Input de SPI en AT89S8252 y
similares)
7
P1.6/MISO
I/O. (Master Input, Slave Output de SPI en AT89S8252 y
similares)
8
P1.7/SCK
I/O. (Reloj de SPI en AT89S8252 y similares)
9
+5V
Voltaje de alimentación
10
GND
Tierra lógica y de potencia
11
P3.2/INT0
I/O. Interrupción externa 0
12
P3.3/INT1
I/O. Interrupción externa 1
13
P3.4/T0
I/O. Entrada del contador 0
14
P3.5/T1
I/O. Entrada del contador 1
• JP3 – Entradas digitales aisladas y puerto de comunicación RS232
PIN
SEÑAL
FUNCION
1
ISO1
Entrada aislada 1 (ingresa al microcontrolador por P1.2)
2
ISO2
Entrada aislada 2 (ingresa al microcontrolador por P1.3
3
ISO3
Entrada aislada 3 (ingresa al microcontrolador por P1.4)
4
ISO4
Entrada aislada 4 (ingresa al microcontrolador por P1.5)
5
ISOG
Referencia común para las entradas aisladas
6
P1.4/SS
Señal del puerto SPI (AT89S8252, pin P1.4)
7
P1.5/MOSI
Señal de datos del puerto SPI (AT89S8252, pin P1.5)
8
P1.6/MISO
Señal de datos del puerto SPI (AT89S8252, pin P1.6)
9
P1.7/SCK
Señal de reloj del puerto SPI (AT89S8252, pin P1.7)
10
A
Línea diferencial A para comunicación vía RS485
11
TXD
Línea de transmisión de datos RS232
12
B
Línea diferencial B para comunicación vía RS485
13
RXD
Línea de recepción de datos RS232
14
GND
Tierra lógica y de potencia
• Para la versión 2.0 de la CPU08 se tienen estas modificaciones para el conector
JP3
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
PIN
SEÑAL
FUNCIÓN
1
ANIN0*
Entrada análoga 0. La salida de frecuencia llega a P3.4 (T0)
2
GND
Tierra lógica y de potencia
3
ANIN1*
Entrada análoga 1. La salida de frecuencia llega a P3.5 (T1)
4
GND
Tierra lógica y de potencia
5
-
No usado
• JP4 – Acceso a los puertos 0 y 2 del microcontrolador en caso de no usarse
memoria externa
PIN
SEÑAL
FUNCIÓN
1
A12
P2.4
2
WR
P3.6
3
A13
P2.5
4
A13
P2.5
5
A8
P2.0
6
A8
P2.0
7
A14
P2.6
8
A9
P2.1
9
A15
P2.7
10
A11
P2.3
11
-
No usado
12
-
No usado
13
A10
P2.2
14
A10
P2.2
15
RD
P3.7
16
RD
P3.7
17
-
No usado
18
AD7
P0.7
19
AD0
P0.0
20
AD6
P0.6
21
AD1
P0.1
22
AD5
P0.5
23
AD2
P0.2
24
AD4
P0.4
25
GND
Tierra lógica y de potencia
26
AD3
P0.3
• JP5 – Selección del tamaño de memoria RAM externa
JUMPER
FUNCIÓN
1 /SELM=/SELE
El dispositivo de memoria externa es seleccionado por la
salida Y7 del decodificador 74138. (Posición por defecto)
2
/SELM=GND
El dispositivo de memoria externa está permanentemente
seleccionado.
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
3
/SELM=A15 (o /A15)
El dispositivo de memoria externa es seleccionado cuando
A15 es cero en la versión 1 y cuando es uno en la versión
2 y posteriores.
• Las combinaciones posibles se muestran en la siguiente tabla
74138
JP5-3
JP5-2
JP5-1
Capacidad
No
colocado
No
Si
X
128 K;
No
colocado
No
Si
X
64 K;
no periféicos
No
colocado
No
Si
X
32 K;
no periféicos
No
colocado
Si
No
X
32 K;
un periféico
colocado
Si
No
No
32 K;
tres periféicos
No
colocado
No
Si
X
16 K;
no periféicos
No
colocado
de
Memoria
no periféicos
(A15)
(SEL8, SELA, SELC)
Si
No
X
16 K;
un periférico
colocado
Si
No
No
16 K;
tres periféricos
(A15)
No
colocado
No
Si
X
8 K;
no periféricos
No
colocado
Si
No
X
8 K;
un periférico
colocado
No
No
Si
8 K; siete periféricos (todas las SELx excepto
SELE)
colocado
No
No
Si
0 K; siete periféricos (todas las SELx excepto
SELE)
(SEL8, SELA, SELC)
(A15)
• JP6 – Espacios de memoria de datos y programa separados o traslapados.
JUMPER
FUNCIÓN
1-2 /MOE=/RD*/PSEN
El dispositivo de memoria externa sirve como espacio de
memoria de datos y programa simultáneamente. (Posición
por defecto)
2-3
/MOE=/RD
El dispositivo de memoria externa sirve únicamente como
espacio de memoria de datos.
• JP7 – Selección de memoria de programa interna o externa.
JUMPER
FUNCIÓN
1-2
EXT
La señal /EA es colocada en bajo. El microcontrolador únicamente
ejecuta código de memoria externa de programa.
2-3
La señal /EA es colocada en alto. El microcontrolador inicia ejecutando
código de memoria externa de programa. (Por defecto)
• JP8 – Selección de interfaz de comunicación RS232 o RS485
JUMPER
10
Universidad del Valle
FUNCION
1-2
232
Se selecciona
defecto)
la
interfaz
RS232
2-3
Se selecciona la interfaz RS485
(Posición
por
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Subtema 1.2 Descripción del Software e Instalación
Las herramientas de programación son básicamente dos, una de ellas es el entorno
de desarrollo y la otra que es usada para chequear el estado del microcontrolador y
descargar la aplicación previamente compilada.
Figura 3.2 Interfaz de usuario del ProView32.
La Figura 3.2 muestra la interfaz de usuario del ProView32, la cual es la herramienta
que se usará en este curso para diseñar e implementar las aplicaciones en ANSI C.
No es la única, su selección sólo es debida a que la versión de evaluación posee los
componentes necesarios para poder llevar a cabo las prácticas del curso.
La Figura 3.3 muestra la interfaz de usuario del programa de Windows Terminal a través
del cual se descargará el archivo HEX, este archivo se ha generado previamente con el
ProView32.
Figura 3.3 Interfaz de usuario del programa Terminal de Windows.
A través del programa Terminal es posible chequear el buen estado de los puertos
binarios del microcontrolador, esto es lo primero que debe realizarse y solamente se
debe escribir un ‘0’ en el área de datos de Terminal. Para la descarga de un programa
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
11
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
se invoca el envío de un archivo de texto, se selecciona el archivo HEX mencionado
anteriormente y se envía a la CPU08 que deberá estar encendida.
Subtema 1.3 Consideraciones de Programación
En el momento de usar el ambiente de desarrollo, se debe tener en cuenta que se
trabaja por proyectos, cada proyecto contiene uno o varios archivos a compilar. Sin
embargo, una guía detallada la encuentra en la documentación de la herramienta, lo
importante es la adecuada modificación de las propiedades del proyecto, las cuales
deben estar acordes con las especificaciones de la CPU08.
Los pasos y situaciones que se deben tener en cuenta son:
• Adición de archivos al proyecto
• Ir al menú: PROJECT > ADD FILE
• Seleccionar el archivo STARTUP.A51 primero
• Seleccionar los archivos .C o .H que hagan parte de su aplicación.
• Modificar la dirección base de memoria a partir de la cual se ubicará el
programa
• Ir al menú: OPTIONS > PROJECT > L51 > LINKER
• Modificar la opción CODE y ubicar el valor 4000 o 6000 dependiendo del tamaño
de la RAM disponible, 32Kbytes o 8Kbytes respectivamente.
• Verificar que el programa de STARTUP.A51, adicionado previamente al proyecto,
posea en su directiva CSEG el mismo valor ubicado en el punto anterior.
• Verificar que en el programa de STARTUP.A51 se encuentre la definición “DB
0aah, 0aah, 0aah, 0aah, 0aah” antes de la directiva END, sin esto no se podrá
cargar el programa de usuario.
• Generación del archivo HEX
• Ir al menú: OPTIONS > PROJECT > L51 > LINKER
• En las opciones de MISC, seleccionar Intel HEX.
• Si aplica, generación de vectores de interrupción
• Ir al menú: OPTIONS > PROJECT > C51 > OBJECT
• Ubicar el valor equivalente en decimal al ubicado en la opción CODE del menú
OPTIONS > PROJECT > L51 > LINKER
12
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Tema 2. Sistemas de Desarrollo TINI (Familia
DS80C390)
En esta sección se describirá brevemente la estructura de funcionamiento del sistema
de desarrollo TINI. Teniendo en cuenta el hardware que posee, las consideraciones
de ampliación del mismo con el fin de realizar una interfaz paralela con dispositivos
externos, consideraciones para la instalación del software y su puesta en marcha.
El sistema de desarrollo TINI es programable usando JAVA, por lo tanto el usuario
debe conocer los mínimos conceptos de este lenguaje, instalar la máquina virtual y
los paquetes necesarios para establecer una comunicación con la TINI y descargar la
aplicación.
Subtema 2.1 Descripción del Hardware
El sistema de desarrollo TINI consta de dos componentes principales: la tarjeta SIMM
en la cual se encuentra el microcontrolador DS80C390, el controlador ETHERNET y la
memoria; el segundo componente es el SOCKET donde se ubica el SIMM y posee los
conectores ETHERNET, seriales, 1-WIRE y de potencia.
Figura 3.4 Vista superior del sistema de desarrollo TINI
La fuente de poder necesaria para encender la TINI se limita a un adaptador con voltaje
de salida entre 9V y 18V, si la TINI no posee el FIRMWARE descargado en su memoria
FLASH solamente el LED de encendido está activo (junto al cristal), sin embargo, si
el FIRMWARE está descargado el controlador ETHERNET está operativo y los LEDS de
enlace, transmisión y recepción se activan dependiendo del tráfico en el segmento de
red.
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
13
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
El sistema de desarrollo TINI no posee los integrados necesarios para realizar una
interfaz paralela, éstos se deben conseguir por separado, al igual que el conector y
soldarse sobre la tarjeta. Las Figuras 3.5 y 3.6 mostrarán los integrados necesarios para
esta labor.
Figura 3.5 Primer puerto de Entrada / Salida
Figura 3.6 Segundo puerto de Entrada / Salida
14
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Como se pudo observar en la Figura 3.4 la TINI posee dos conexiones seriales en J3 y J6
las cuales poseen el hardware necesario para funcionar. Sin embargo, en los conectores
J18 y J19 existe la posibilidad de conectar otros dos puertos seriales a través de una
UART como lo muestra la Figura 3.7.
Figura 3.7 Puertos seriales adicionales
Subtema 2.2 Descripción del Software e Instalación
La instalación y puesta en marcha del software del sistema de desarrollo será parte de
una práctica de laboratorio, por tanto, en este momento nos limitaremos a citar los
pasos principales para esta tarea:
• Instalación y configuración de JAVA
• Opcional – Instalación de MTK, el cual es un software para la descarga de
aplicaciones.
• Instalación del JAVACOMM para comunicación serial.
• Instalación del API para la TINI
• Carga del FIRMWARE de la TINI
• Configuración de rede de la TINI
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
15
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Subtema 2.3 Consideraciones de Programación
Con el fin de diseñar programas, escribirlos y ponerlos en marcha se deben tener en
cuenta ciertas consideraciones, las cuales se explican a continuación:
1. Creación de Aplicaciones – El entorno de programación es JAVA, para lo cual
existen tanto herramientas gratuitas como comerciales para tener un buen entorno de
desarrollo. Las aplicaciones pueden ser escritas en interfaces como:
•
•
•
•
•
ECLIPSE
NETBEAMS
JCREATOR
NOTEPAD
Entre otros
2. Programación – Lo primero que se debe tener en cuenta son los paquetes a
importar con el fin de tener acceso desde JAVA a los recursos de la TINI. El paquete
genérico es: com.dalsemi.* dentro del cual existen utilidades para:
•
•
•
•
•
•
•
•
•
•
•
Trabajo en red
Herramientas del sistema.
Acceso a recursos.
Puertos de entrada y salida.
Puertos paralelos
Puertos seriales.
Sistema de archivos.
Interfaz para OneWire
Interfaz para SHELLS
Programación de Sockets.
Acceso a redes.
3. Compilación y Conversión – Luego de crear el programa se compila lo cual arroja
un archivo .CLASS que es convertido a un formato propio de la TINI para ser ejecutado.
Estos dos pasos se realizan con:
• El compilador de JAVA: javac
• El conversor de la TINI que es una aplicación de JAVA: TINIConvertor.
4. Carga y Ejecución – Luego se toma el archivo .TINI resultado de la anterior etapa y
a través de una sesión de FTP se carga al sistema de archivos de la TINI. Finalmente se
ejecuta a través de una sesión de TELNET.
Una vez en ejecución, el programa es dueño completo de todo el sistema de desarrollo
TINI, si se desea que el programa corra en el Background del sistema de desarrollo se
debe adicionar un & al final del nombre de la aplicación.
16
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Tema 3. Sistemas de Desarrollo RCM3200 (Familia RC3000)
En esta sección se mostrará la estructura hardware del sistema de desarrollo RCM3200,
su entorno de desarrollo y su programación. El hardware se compone básicamente de
dos partes, el módulo RCM3200 y la tarjeta de prototipos, donde se puede encontrar los
conectores para la expansión de una interfaz paralela, un puerto IRDA, puertos digitales
para el control de un motor de DC, control de un LCD o control de un teclado.
La programación se realiza a través de un entorno de desarrollo que maneja
automáticamente la carga de los programas al módulo. El lenguaje de programación
es Dynamic C, el cual es muy similar al ANSI C en su sintaxis, sin embargo, difiere de
éste en una serie de estructuras de control orientadas a la programación de eventos y
multi – tarea.
Subtema 3.1 Descripción del Hardware
La Figura 3.8 muestra la apariencia del
módulo RCM3200 el cual contiene el
microcontrolador, memoria RAM, FLASH
y controlador ETHERNET.
Figura 3.8 Módulo RCM3200
La Figura 3.9 muestra la tarjeta de prototipos, sobre la cual se encuentra: dos zócalos
(uno maestro y otro esclavo) donde ubicar módulos RCM3200, puerto IRDA, conexiones
para interfaz paralela en cada uno de los zócalos para cada módulo RCM3200, potencia,
área de soldadura, interruptor de re – inicio, interruptores de uso variado, LEDs de
uso general, interfaz para LCD o teclado matricial e interfaz para control de motores
de DC.
Figura 3.9 Tarjeta de prototipos
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
17
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Figura 3.10 Conexión del cable de programación.
La programación de este sistema de desarrollo se realiza vía puerto serial, a través de
un cable que se conecta directamente al módulo RCM3200 previamente conectado a la
tarjeta de prototipos, esto con el fin de proveer una apropiada alimentación. La Figura
3.10 muestra la conexión del cable de programación.
En la Figura 3.11 y Figura 3.12 se muestra la correspondencia entre los conectores que
lleva el módulo RCM3200, el cual se ubica en la tarjeta de prototipos, y los conectores
que se encuentran justo a la izquierda, los cuales permiten el diseño de una interfaz
paralela ya sea en el área de soldadura o como un circuito externo.
Al igual que en el anterior sistema de desarrollo, el RCM3200 está en capacidad de
conectarse a una red LAN, por lo tanto se debe definir la topología de conexión a la red y
su configuración. La Figura 3.13 muestra la conexión a la red, se puede realizar a través
de un cable cruzado y conectar el sistema de desarrollo directamente al PC, o, a través
de un concentrador o SWITCH.
Figura 3.11 Señales del módulo RCM3200
18
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Figura 3.12 Interfaz paralela de la tarjeta
Figura 3.13 Conexión a la red de un RCM3200
En cualquiera de las dos opciones, existen las siguientes propiedades y valores que
deben definirse tanto en el PC como en el módulo RCM3200: Número IP, Número de
Máscara Y puerta de enlace por defecto.
Subtema 3.2 Descripción del Software e Instalación
El procedimiento de instalación del software, que incluye el ambiente de desarrollo y el
compilador, es fácil ya que se trata de una aplicación Windows. Figura 3.14
Figura 3.14 Interfaz de usuario para la programación del RCM3200
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
19
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
El fabricante recomienda que cada aplicación sea ejecutada siempre en RAM, por lo
tanto se debe modificar una opción que se encuentra en el menú de Options > Project
Options > Compiler llamada “Code and BIOS in FLASH, run in RAM”, la cual está
desactivada y debe activarse antes de enviar el programa al módulo.
Subtema 3.3 Consideraciones de Programación
Con el fin de lograr una buena adaptación del estudiante al manejo del sistema de
desarrollo, se recomienda el estudio del ANSI C y luego una revisión de la librería que
maneja el RCM3200, con lo cual se debe tener en cuenta:
• No se usa la directiva #include sino #use.
• Se deben revisar las directivas del compilador y enlazador que podrían afectar a
las aplicaciones.
• Que la librería del RCM3200, la rcm3200.lib, contiene una serie de funciones que
sirven de interfaz para:
• Los puertos seriales.
• El puerto IRDA
• El LCD y el teclado
• Todo puerto de E/S ya sea en memoria o directo.
• Los interruptores y LEDS de usuario.
• Configuraciones de los diferentes módulos del microcontrolador, entre otras.
• Las librerías de comunicación por Internet son independientes.
Tema 4. Sistemas de Desarrollo M68EVB912B32
(Familia 68HC12)
El sistema de desarrollo para la familia 68HC12 es el más sencillo de los últimos dos,
pero es una plataforma de 16bits a diferencia de todos los anteriores. De la misma
forma que en las secciones anteriores, se explicará brevemente las consideraciones
de hardware, interfaz, instalación y configuración del software necesario para usar el
sistema de desarrollo.
Subtema 4.1 Descripción del Hardware
La Figura 3.15 muestra el diagrama de la tarjeta de desarrollo para el 68HC12, dentro
de la cual se distingue un área para soldadura, el microcontrolador rodeado de 4
conectores para una interfaz paralela, conectores para los modos de depuración de
código, alimentación y comunicaciones tanto RS232 como CAN.
20
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Figura 3.15 Tarjeta de desarrollo para el 68HC12
El microcontrolador 68HC912B32 es capaz de operar en varios modos, dos de ellos
usan el modo de depuración, el cual posee un FIRMWARE dentro del microcontrolador
con el fin de introducir comandos al microcontrolador o con el fin de servir como una
interfaz de prueba y supervisar la operación del microcontrolador.
El tercer modo usa la EEPROM interna al microcontrolador para ejecutar un programa;
y el cuarto modo emplea el puerto de comunicaciones RS232 a 9600bps, sin paridad,
8bits de datos y 1bit de parada para descargar una aplicación de usuario a la FLASH del
microcontrolador.
Adicionalmente, existen otros modos de operación en los cuales se usa la interfaz de
memoria externa, para lo cual se tienen los conectores P2, P3, P4 y P6, los cuales
brindan las señales de puertos de Entrada / Salida, bus de control, direcciones y datos
necesarias para diseñar la interfaz.
La Figura 3.16 muestra la distribución de señales en estos conectores.
Figura 3.16 Señales de los conectores P2, P3, P4 y P6
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
21
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Subtema 4.2 Descripción del Software e Instalación
El sistema de desarrollo para el HC12 viene consigo con el programa CodeWarrior V2.0,
cuya interfaz de usuario se muestra en la Figura 3.17 .
Figura 3.17 Entorno de desarrollo para el HC12
Es una aplicación Windows, por tanto el proceso de compilación, enlazado y ejecución
del programa se realiza de forma automática. Sin embargo, debido a que es una interfaz
con una licencia especial, se debe hacer el registro de la misma vía correo electrónico y
esperar un archivo de licencia adicional, esto con el fin de poder quitar la restricción del
tamaño de los archivos a compilar.
Subtema 4.3 Consideraciones de Programación
A diferencia del sistema de desarrollo TINI y RCM3200 el de la familia 68CH12 posee
una tarjeta más modesta, aunque existe el soporte de las librerías de ANSI C para
trabajar con el microcontrolador, no existe una librería especializada para módulos de
comunicación o cualquier periférico de la tarjeta, éstos deben diseñarse por completo
de acuerdo a las especificaciones de la aplicación.
La herramienta de programación de CodeWarrior trabaja por proyectos, para lo cual es
importante tener en cuenta:
• Con el fin de aprovechar las ventajas del módulo de depuración que corre
directamente en el microcontrolador, es necesario crear un proyecto.
• Se debe revisar cuidadosamente las librerías: hidef.h y 68hc12dp256b.h que por
defecto para un proyecto estacionario o de plantilla son incluidas.
22
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Resumen
A
ntes de seguir con los demás documentos que explican en detalle los periféricos
y los conceptos básicos que rigen su comportamiento, es necesario que veamos
las herramientas de desarrollo de las que disponemos para cada una de las
plataformas basadas en microcontroladores.
En todas las plataformas, la CPU08 que usa un microcontrolador 89C52, la TINI que
usa un DS80C390, la RCM3200 que emplea un microcontrolador de la familia RC3000
y la EV68HC912BC32 que tiene un microcontrolador de la familia HC12, poseen un
hardware que se llama sistema de evaluación o desarrollo, además, un software el cual
es el ambiente de desarrollo de aplicaciones para cada microcontrolador en particular.
Actividades de Aprendizaje
S
eleccione y descargue una de las prácticas de laboratorio que se encuentran
listadas en la página 1 de las Actividades de Aprendizaje, de la unidad 3 publicada
en el campus virtual.
Lecturas de Aprendizaje
• FRANCIS, Christian, “Isolation Techniques Using Optical Couplers”, Application
Note, Motorola.
• El Osery , “Rechargeable Battery Types”, Tutorial,
http://www.ee.nmt.edu/~elosery/
• T.W, Schultz, “Digital Interfacing”, notas de clase, Purdue University, West Lafayette,
IN.
• Dallas Semiconductor, “Getting Started with the TINIm390 Verification Module”,
http://pdfserv.maxim-ic.com/en/an/app188.pdf
• Metrowerks, “CodeWarrior Development Studio IDE 5.5 User’s Guide”, archivo
IDE_5.5_Users_Guide.pdf.
• Rabbit Semiconductor, “An Introduction to TCP/IP”,
http://www.rabbitsemiconductor.com/documentation/tcpintro.pdf
• Atmel Semiconductor, “In-System Programming with C51 MCU and External
Flash”,
http://www.atmel.com/dyn/resources/prod_documents/doc3ae686c15593f.pdf
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
23
Universidad del Valle
Programa de Postgrados en Ingeniería Eléctrica y Electrónica
Especialización en Informática Industrial – Arquitectura de Procesos Industriales
Bibliografía
• Motorola, “M68HC12B Family, Technical Data”, Rev. 4 2002.
• Motorola, “CPU12, Reference Manual”, Rev. 3 2002.
• Motorola, “M68EVB912b32 Evaluation Board”, Rev. 1 1999.
• Dallas Semiconductor, “High-Speed Microcontroller User´s Guide: DS80C390
Supplement”, Reference 070102.
• Dallas Semiconductor, “DS80C390 Dual CAN High-Speed Microprocessor”,
Reference 110199.
• iButton, TINI board: URL http://www.ibutton.com.
• Intel, “MCS 51 Microcontroller Family User´s Manual”, February 1994.
• GONZÁLES VÁSQUEZ, Adolfo, “Introducción a los Microcontroladores”, Editorial
McGrawHill, 1991.
• Microchip, “PICmicro Mid-Range MCU Family Reference Manual”, December
1997.
24
Universidad del Valle
Unidad 3:
Arquitecturas de los Sistemas de Desarrollo
Descargar