• No results found

Failure Modes and Effects Analysis

A.2. Reliability and Safety Analysis and Modeling Techniques

A.2.4. Failure Modes and Effects Analysis

La tarjeta de desarrollo que se presenta a continuación se encuentra basada en la sección anterior referente al Modo monitor de la familia HC08 de Free-Scale, que a su vez se encuentra basada en la nota de aplicación AN2317/D (Low-Cost Programming and Debugging Options for M68HC08 MCUs) que puede ser encontrada en el sitio Web de la empresa: www.freescale.com

La implementación de la tarjeta de programación universal es sencilla puesto que se trata de un arreglo compacto que provee las señales estándar estudiadas anteriormente, necesarias para trabajar en modo monitor con diferentes microcontroladores pertenecientes a la familia HC08. La idea es que esta tarjeta pueda ser utilizada en conjunto con una regleta de montajes (Proto-Board) u otros circuitos complementarios en los que se encuentren las conexiones necesarias para las diferentes clases de microcontroladores y aplicaciones a implementar. A continuación se presenta el esquemático de la tarjeta de Programación:

Figura 37: Esquemático tarjeta de programación para microcontroladores de la familia HC08.

El circuito consta de una etapa de regulación obteniéndose 5Vdc a partir de una fuente de 12Vdc con su correspondiente interruptor y Led indicador de encendido, una etapa para la comunicación con el Pc conformada por los integrados MAX232 y 74HC125 y el conector DB-9 para poder implementar la comunicación propia del modo monitor es decir Half-Duplex empleando un solo pin del Microcontrolador. La tarjeta cuenta con dos tipos de osciladores externos que pueden ser seleccionados con el Jumper JP1; uno de una sola pieza (4 pines), éste presenta mayor estabilidad y es habilitado con un Jumper en la posición 1-2 de JP1. El otro arreglo consta de un cristal con resistencia y condensadores de acople (posición 2-3 de JP1), en lugar de un cristal fijo se pueden colocar un par de Pin Headers para ubicar cristales de diferentes valores dependiendo de la aplicación. A su vez se cuenta con un arreglo de resistencias en configuración Pull-Up y Pull-Down utilizadas para configurar el modo monitor en los pines correspondientes de acuerdo con la tabla 8.

Los interruptores tipo Dip (S1) sirven para deshabilitar las señales que no sean requeridas ya sea durante la programación, depuración y/o puesta en marcha de la aplicación, por ejemplo si se utiliza el oscilador de 9.8 MHz, además de colocar el Jumper JP1 en las posiciones 1-2 se debe deshabilitar el interruptor 2 ya que éste pertenece al arreglo necesario para utilizar el otro arreglo de oscilador.

El diseño del circuito impreso correspondiente al esquemático de la figura 38 se presenta a continuación:

Figura 38: Diseño del circuito impreso para la tarjeta de programación.

Se puede observar en la figura que se ha habilitado un pin para el acceso a la fuente de 12 Vdc para el caso de que sea necesario este voltaje en el proyecto (Relés, motores, etc). Además se ha diseñado la tarjeta con un conector lateral de

12 pines en forma de regleta de una sola fila, las conexiones de pueden realizar de diferentes formas: se pueden soldar los pines para que sobresalgan por debajo de la tarjeta permitiendo el acceso de las diferentes señales mediante el montaje de la tarjeta en una Proto-Board, también se puede cablear hacia una Proto-Board o circuito mediante la soldadura de pinheads de conexión, a su vez se pueden utilizar circuitos impresos diseñados de manera que sean compatibles con este conector o también puede ser utilizado un cable configurado adecuadamente a partir de este conector para obtener una interfaz estándar MON-08 en caso de ser requerida.

En la figura 39 se observa los pines requeridos para obtener el conector de la interfaz MON-08:

Figura 39: Conector estándar de la interfaz MON-08.

Lección 9: Software.

Para programar un MCU se requiere un programa de computador que convierta los comandos de un determinado programa realizado en ensamblador, C, C++ o Basic, entre otros, a código de máquina; este proceso se conoce como compilación. A su vez el programa debe enviar al dispositivo los códigos de máquina una vez han sido compilados a través de un POD como el descrito en la sección anterior.

Existen diferentes opciones a la hora de seleccionar el software que se empleará para programar los dispositivos, algunos mas completos y con mayores prestaciones que otros, esto se ve reflejado en el costo de determinada herramienta, aunque pueden conseguirse versiones de prueba con limitación en el tamaño del programa a realizar así como también puede conseguirse software libre.

Independientemente del Software seleccionado el proceso de Escribir Programas, Compilación y posterior programación de dispositivos es similar para todas las herramientas se debe acudir a la ayuda y/o tutoriales del mismo teniendo en cuenta configurar adecuadamente los diferentes parámetros para lograr programar, simular y realizar depuración satisfactoriamente en un determinado dispositivo.

Entre los parámetros que se deben tener en cuenta a la hora de programar un dispositivo en la mayoría de herramientas están:

 Dar un nombre adecuado al proyecto.

 Dirección donde se guardará dicho proyecto.

 Seleccionar el dispositivo de destino (Tipo de MCU) con que se trabajará.

 Especificar en el editor de texto el lenguaje de programación que será empleado.

 Especificar tipo de conexión al dispositivo.

Una vez configurado el proyecto se puede empezar a escribir el programa correspondiente al proyecto y seguidamente compilar, simular, depurar y programar el dispositivo escogido, haciendo uso de los manuales y hojas de datos tanto de los dispositivos como del software.

A continuación se presentan diferentes opciones de software que se puede emplear con sus características:

CODE-WARRIOR: Code Warrior Development Studio es un Ambiente de

Desarrollo Integrado IDE (Integrated Development Environment) que contiene todas las herramientas necesarias para completar cualquier proyecto de desarrollo de sistemas embebidos, incluye: editores de texto, compiladores tanto para assembler como para C y C++, depuradores, librerías de variadas aplicaciones. CodeWarrior es ahora desarrollado y distribuido por Freescale, existen diferentes versiones que según sus prestaciones aumenta su costo, afortunadamente hay versiones de prueba que limitan el tamaño del código que puede ser implementado pero suficientes para que los estudiantes puedan empezar a realizar sus prácticas.

Para mayor información Y/O bajar el programa se puede visitar el siguiente link:

http://www.freescale.com

WinIDE: es también un ambiente de desarrollo integrado (IDE) para Windows

(Win), el cual posee herramientas de programación para dispositivos, programación en lenguaje ensamblador, simulación en circuito o sin chip, es desarrollado por la compañía PE-micro, de manera gratuita como una herramienta de desarrollo para microcontroladores de diferentes tipos, tanto de 8-bits como de 16 y 32 bits. Para la línea de 8-bits, han desarrollado los algoritmos de casi todos los microcontroladores de la familia HC08 o por lo menos los más utilizados como los microcontroladores de la serie JK, JL, GP y los muy utilizados, serie QT y QY.

La desventaja que presenta el uso de este programa es que para cada tipo de microcontrolador hay que bajar e instalar una versión diferente del programa. Para mayor información Y/O bajar el programa se puede visitar el siguiente link:

http://www.pemicro.com

CROSSWARE: es una compañía dedicada al desarrollo de software como

compiladores de C y C++, simuladores de Assembler, depuradores y herramientas hardware para sistemas embebidos, posee aplicaciones para distintos tipos de dispositivos entre los que se encuentra la familia 68xxx de Motorola. El software de esta compañía tiene un costo relativamente elevado para principiantes pero de su página Web pueden bajarse versiones estudiantiles de evaluación limitadas por tiempo de hasta 12 meses.

Para mayor información Y/O bajar el programa se puede visitar el siguiente link:

http://www.crossware.com

SDCC - Small Device C Compiler: Es un compilador de código ANSI - C que

puede ser empleado para dispositivos de diferentes fabricantes entre los que se encuentran: Intel 8051, Maxim 80DS390, Zilog Z80 y la familia Motorola 68HC08. También se trabaja en la compatibilidad con los MCU‟s de Microchip de las series PIC16 y PIC18. SDCC es un programa libre de código abierto que se distribuye bajo licencia GNU General Public License (GPL).

Para mayor información Y/O bajar el programa se puede visitar el siguiente link:

http://sdcc.sourceforge.net/

Otras dos opciones que pueden ser tenidas en cuenta son:

 http://www.imagecraft.com/

 http://www.cosmic-software.com