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