Universidad Central “Marta Abreus” de Las Villas Facultad de Ingeniería Eléctrica. Departamento de Automática. Trabajo de Diploma Titulo: “Diseño de terminal de programación para sistema automático de quemadores de la central termoeléctrica Carlos Manuel de Céspedes.” Autor: Oscar Riego Morales. Tutor: Ing. Alain Martínez Laguardia. Consultante. Dr.Miguel Rodriguez Borroto. Santa Clara. Año del 45 Aniversario del Triunfo de la Revolución 2004 Universidad Central “Marta Abreus” de las Villas Facultad de Ingeniería Eléctrica. Departamento de Automática. Trabajo de Diploma Titulo: “Diseño de terminal de programación para sistema automático de quemadores de la central termoeléctrica Carlos Manuel de Céspedes.” Autor: Oscar Riego Morales. E-mail: riego@uclv.edu.cu Tutor: Ing. Alain Martínez Laguardia. Prof. Periféricos e Interfaces, Dpto. de Automática Faculta de Ing. Eléctrica. E-mail: amguardia@uclv.edu.cu Consultante. Dr.Miguel Rodriguez Borroto. Prof. Control de Procesos, Dpto. de Automática Facultad de Ing. Electrica. E-mail: marodrig@uclv.edu.cu Santa Clara. ´´Año del 45 Aniversario del Triunfo de la Revolución´´ 2004 mailto:riego@uclv.edu.cu mailto:amguardia@uclv.edu.cu mailto:marodrig@uclv.edu.cu Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central ¨Marta Abreu¨ de Las Villas como parte de la culminación de los estudios de la especialidad de Ingeniería Automática, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicado sin la autorización de la Universidad. _______________________ Firma del autor Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. ____________________ ________________________________ Firma del tutor Firma del jefe de Departamento donde se defiende el trabajo __________________________ Firma del Responsable de Información Científico-Técnica En la vida solo hay un obstáculo para ser, lo que deseas “Tu Mismo”  Charles Chaplin  Dedicatoria                                                            A mis padres.                        A mis suegros.                                                           A mi hermano.                                                     A mi novia.  Agradecimientos  A  todos  los que en alguna medida han contribuido a mi  formación y  aquellos que hicieron posible la realización de este trabajo de diploma  en especial:  A mi tutor  por su apoyo total y dedicación.  A mis suegros, sin ellos hubiese sido imposible.  A mi novia, por las horas de sueño que me ha dedicado.   A mi familia, por la confianza absoluta que depositaron en mi.  Al colectivo de trabajadores de la Termoeléctrica.   A todos los profesores que de una forma u otra contribuyeron a la  realización de este trabajo. Tarea técnica ______________________________________________________________________ TAREA TECNICA 1– Ingeniería inversa del Banco de Memorias a Programar. 2 – Diseño y montaje del Programador. 3 – Diseño y puesta a punto de software de Control e Interface _____________________ ______________________ firma de autor firma del tutor Oscar Riego Morales Trabajo de Diploma. Resumen ______________________________________________________________________ RESUMEN Este trabajo, tuvo como objetivo central el diseño y construcción de un Programador de memorias EPROM (1702A), para su empleo en la programación del banco de memorias del sistema ABS (sistema automático de quemadores) de la central termoeléctrica Carlos Manuel de Céspedes. Durante los siguientes tres capítulos y sus anexos se mostrara el diseño de dicho programador basado en un microcontrolador 80C51, con sus requerimientos de energía, tiempo y comunicación, así como el software operación del mismo y el de interface con el usuario que tiene como objetivo secundario fungir como manual de usuario del equipo. El conjunto de esquemas y diagramas deberá servir a los compañeros de dicha central como manual de servicio de operación. Y constituye un material de consulta para cualquier interesado en aplicaciones con microcontroladores. Oscar Riego Morales Trabajo de Diploma. Tabla de contenido ______________________________________________________________________ INTRODUCCION ................................................................................................................1 CAPITULO 1: CARACTERIZACION DEL PROGRAMADOR PARA LA CENTRAL TERMOELÉCTRICA CARLOS MANUEL DE CESPEDES. ...................4 1.1 INTRODUCCIÓN...........................................................................................................4 1.2 CONSIDERACIONES GENERALES SOBRE LA CTE CARLOS MANUEL DE CÉSPEDES.......5 1.2.1 Antecedentes Históricos. ........................................................................................5 1.2.2 Tecnologías de Fabricación Instaladas. ...............................................................6 1.2.3 Características de las Unidades. ..........................................................................6 1.2.4 Significación Social: .............................................................................................7 1.2.5 Estructura de la Central Termoeléctrica. .............................................................7 1.2.6 Principales Producciones. ....................................................................................8 1.3 PROGRAMADOR PARA EL SISTEMA AUTOMÁTICO DE QUEMADORES. ...........................8 1.3.1 Descripción del sistema automático de quemadores (ABS). ................................8 1.3.2 Fundamentación del programador. ......................................................................9 1.3.3 Objetivo general del programador. ....................................................................12 1.4 APORTES DEL PROGRAMADOR PARA LA CENTRAL TERMOELÉCTRICA. ......................13 CAPITULO 2: DISEÑO DEL PROGRAMADOR DE MEMORIAS EPROM. ..........14 2.1. INTRODUCCIÓN. ...........................................................................................................14 2.2 GENERALIDADES DE LAS MEMORIAS EPROM. .............................................................14 2.2.1 Memorias EPROM................................................................................................14 2.2.2 Funcionamiento de una EPROM. .........................................................................15 2.3 EPROM 1702A............................................................................................................16 2.3.1 Descripción General .............................................................................................16 2.3.2 Programación de la 1702A. ..................................................................................18 2.4 DISEÑO DEL PROGRAMADOR DE MEMORIAS EPROM. ..................................................19 2.4.1 Fundamentación....................................................................................................19 2.4.2 Circuito de control. ...............................................................................................21 2.4.2.1 Diseño del circuito de control. ........................................................................21 2.4.3 Bloque de comunicación. ......................................................................................23 2.4.3.1 La comunicación RS232. ................................................................................23 2.4.3.2 Conectores ......................................................................................................24 2.4.4 La fuente de alimentación. ....................................................................................26 2.4.5 Bloque de Lectura. ................................................................................................27 Oscar Riego Morales Trabajo de Diploma. Tabla de contenido ______________________________________________________________________ 2.4.6 Bloque de programación.......................................................................................28 CAPITULO 3: DISEÑO DE SOFTWARE ......................................................................31 3.1 INTRODUCCIÓN. ............................................................................................................31 3.2 DISEÑO DEL SOFTWARE DE APLICACIÓN DEL MODULO DE CONTROL. .............................31 3.2.1 Configuraciones del UART en el 80C51BH.........................................................32 3.2.2 Velocidad de comunicación. .................................................................................33 3.2.3 Comentarios sobre software utilizado en el programador. ..................................37 3.3 DISEÑO DE SOFTWARE DE CONTROL PARA PC................................................................38 3.3.1 Aspectos fundamentales del LabView. ..................................................................39 3.3.2 Aspectos básicos del lenguaje (G). .......................................................................39 3.3.3 Diseño de software en LabView...........................................................................40 3.4 FUNCIONAMIENTO GENERAL.........................................................................................41 3.5 ANÁLISIS DE COSTO. .....................................................................................................46 CONCLUSIONES ..............................................................................................................48 RECOMENDACIONES ....................................................................................................49 BIBLIOGRAFIAS. .............................................................................................................50 REFERENCIAS BIBLIOGRAFICAS..............................................................................51 GLOSARIO.........................................................................................................................52 ANEXOS..............................................................................................................................55 Oscar Riego Morales Trabajo de Diploma. Introducción ______________________________________________________________________ 1 Oscar Riego Morales. Trabajo de Diploma INTRODUCCION Una Central Termoeléctrica es una instalación en donde la energía mecánica que se necesita para mover el rotor de un generador eléctrico, se obtiene a partir del vapor formado en una caldera. Una vez en la caldera, los quemadores provocan la combustión del carbón, fuel-oil o gas, generando energía calorífica. Esta convierte a su vez, en vapor a alta temperatura el agua que circula por una extensa red formada por miles de tubos que tapizan las paredes de la caldera. En la central termoeléctrica Carlos Manuel de Céspedes de la provincia de Cienfuegos las calderas cuentan con un sistema de ABS (Automatic Burner System), o sistema automático de quemadores. La unidad central de cada quemador esta compuesta por un microprocesador y un banco de memorias EPROM (Erasable Programmable Read-Only Memory). Estos últimos debido a los años de explotación están perdiendo sus datos debido al deterioro de las mismas. Esto trae como consecuencia que en ocasiones tenga que salir del sistema algún quemador y por tanto se pierde eficiencia en la planta. Para poder realizar la lectura y escritura de las memorias EPROM se requiere de un aparato capaz de proporcionar ciertos valores especiales de voltaje en determinada sincronización de tiempo, pues no son los mismos para la operación de lectura que para la de escritura. Surgen entonces los programadores sencillos, construidos y operados manualmente; pero presentan el inconveniente de que para las altas capacidades de almacenamiento, la programación manual se convierte en proceso muy largo y tendiente a cometer errores. La opción para estos casos es recurrir a los programadores electrónicos, los mismos en un corto espacio de tiempo logran programar altos volúmenes de información pero tienen el inconveniente de altos costos y que se diseñan para un grupo restringido de memorias.. Cuba como todo país en desarrollo necesita aprovechar al máximo sus recursos y estos solo se logra mediante la aplicación de los avances tecnológicos. De ahí los esfuerzos de disímiles organizaciones se hallan volcado sobre la tarea de investigar y generalizar nuevas Introducción ______________________________________________________________________ 2 Oscar Riego Morales. Trabajo de Diploma tecnologías y sobre todo aquellas que permiten el ahorro de portadores energéticos dando un servicio de mayor calidad. A la vanguardia de estas luchas se encuentran las universidades que con su alto nivel científico permiten generar tecnología en unos casos y asimilar la ya diseñada en otros. Con sus profesores y estudiantes se crean nuevos equipos o sé construyen variantes nacionales de productos ya en el mercado, promoviendo en ambos casos la disminución de las erogaciones en divisas por concepto de importaciones. Es por ello que teniendo en cuenta todo lo antes planteado, en este trabajo se desarrolla el diseño de un programador de memorias de EPROM 1702A, con el propósito de su uso en la central termoeléctrica Carlos Manuel de Céspedes. Este equipo presenta un bloque de control totalmente digital a base de un microcontrolador. Esta técnica a tenido un avance increíble en los últimos años gracias al desarrollo de la electrónica y el aumento de la densidad de integración de componentes en un circuito integrado; en el año 1976 salió a la luz el primer ordenador en un chip, es decir que se integraron junto con el microprocesador los subsistemas que anteriormente formaban unidades especializadas independientes, pero unidas por el circuito impreso al microprocesador surgiendo así un nuevo sistema el microcomputador. El sistema al emplearse en aplicaciones industriales y en ambientes eléctricos adversos evolucionaría en los actuales microcontroladores. Estos dispositivos invaden poco a poco el mercado gracias a su versatilidad para adaptarse a aplicaciones específicas. La industria electrónica los ha integrado a todos los dispositivos donde se desea ganar en confort, desde los teclados de computadora y las lavadoras hasta los autos y equipos de audio. Por lo tanto es muy lógico tenerlos como candidatos para aplicaciones como la tratada. La tesis está estructurada de la siguiente forma: introducción, tres capítulos, conclusiones, referencias bibliográficas, recomendaciones y anexos. En el capítulo 1 se desarrolla una caracterización de la central termoeléctrica Carlos Manuel de céspedes así como a la Introducción ______________________________________________________________________ 3 Oscar Riego Morales. Trabajo de Diploma necesidad e importancia del programador de memorias EPROM para la misma. En el capítulo 2 se hace un análisis detallado del diseño y funcionamiento de cada uno del os bloques que componen el programador. Ya en capitulo 3 y último se explica el diseño de los softwares utilizados en la programación, además de un manual de usuario para el uso del mismo. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 4 Oscar Riego Morales. Trabajo de Diploma CAPITULO 1: CARACTERIZACION DEL PROGRAMADOR PARA LA CENTRAL TERMOELÉCTRICA CARLOS MANUEL DE CESPEDES. 1.1 Introducción. El presente capítulo está dedicado a la fundamentación y análisis de la necesidad e importancia del programador para la central termoeléctrica (CTE) Carlos Manuel de Céspedes. Dicho análisis incorpora los antecedentes históricos, una caracterización de la termoeléctrica; así como una breve descripción del sistema automático de quemadores. El capítulo está estructurado en tres apartados: El apartado 1.2 se dedica a reflexionar sobre las consideraciones generales de la CTE desarrollándose sub-apartados como son: Antecedentes históricos, Tecnologías de Fabricación Instaladas, Características de las Unidades, Significación Social y un esquema en bloque de su estructura. En el apartado 1.3 se realiza un análisis del programador para la CTE, el cual incluye un resumen del funcionamiento del sistema automático (ABS) de quemadores, una fundamentación de la necesidad, así como el objetivo general del programador de memorias EPROM. En el apartado 1.4 es donde describimos los aportes o beneficios que brindamos con el programador de memorias diseñado en este trabajo para la central termoeléctrica Carlos Manuel de Céspedes. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 5 Oscar Riego Morales. Trabajo de Diploma 1.2 Consideraciones generales sobre la CTE Carlos Manuel de Céspedes. 1.2.1 Antecedentes Históricos. La Central Termoeléctrica se localiza al Oeste de la ciudad de Cienfuegos, en la bahía de la Ensenada del Inglés. Cuyos inicios se remontan al 6 de agosto de 1949 cuando el Trust Ebasco propietario de la mal llamada compañía cubana de electricidad decide la construcción de la primera CTE conformada por dos unidades de cinco megawatt cada una. Todo esto pertenecía a la jurisdicción de Caonao (Según Acta Consistorial 143). Era subsidiaria de la planta que radicaba en Prado y Dorticós. Ambas plantas eran las bases energéticas del conjunto central. El 6 de Julio de 1960 nuestro Comandante en Jefe dio a conocer en la OCLAE la nacionalización de la Empresa Eléctrica y el 5 de Septiembre de 1961 se le da a la antigua planta de vapor el nombre de Dionisio San Román. La misma, está compuesta por dos bloques de generación de fabricación norteamericana. Entre sus características se encuentran: 2 Calderas de Combustión de 75000 lb/in 2, 750 oF. 2 Turbinas GE ( General Electric¨) de 400 lb/in2, 750 o F, 2,5 in/Hg. 2 Generadores GE (¨General Electric¨) de 5000 kW, 4160 Volts, 3600 RPM. Potencia total 10 MW. Después del triunfo de la Revolución comienza la ampliación del Sistema Energético Nacional. y por iniciativa del Comandante Ernesto Che Guevara, Ministro de la Industria en aquella época, se inician los trabajos de proyecto para el montaje de plantas termoeléctricas, basado en el necesario incremento de la industria energética, como base para el desarrollo industrial, es así como en el año 1968 se instalan dos unidades generadoras de origen checoslovaco con una capacidad de 30 megawatt cada una. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 6 Oscar Riego Morales. Trabajo de Diploma Al ponerse en funcionamiento la primera de estas unidades, se decidió unificar bajo una dirección administrativa y política las dos centrales, tomando el nombre de Carlos Manuel de Céspedes. Por último se realizó una fuerte inversión y fueron montadas dos unidades de origen japonés con capacidad de 158 megawatt cada una, lo que permitió aumentar de forma considerable la producción de energía eléctrica. 1.2.2 Tecnologías de Fabricación Instaladas. La Empresa actualmente consta de dos tecnologías de Fabricación Instaladas, estas son: Dos Bloques de Fabricación Checa, montadas en 1967 y 1968, con una potencia de 30 megawatt cada uno, las calderas fueron fabricadas en la empresa BRNO, la primera fábrica de construcción de calderas de Checoslovaquia. Las turbinas y generadores eléctricos son de la firma SKODA. Dos unidades de Fabricación Japonesa montadas en los años 1978 y 1979 con una potencia 158 mw cada uno. Las calderas de diseño Norteamericano (Babcock) fueron montadas por la Empresa Japonesa Hitachi.Ltd. La turbina, generador y una gran parte de los equipos auxiliares del ciclo son de fabricación Hitachi.Ltd al igual que la Automática del bloque. 1.2.3 Características de las Unidades. Unidades 1 y 2: 2 Calderas Témase de 135 t/h. 540 oC, 95 kg/cm2. Turbinas Brno de 90 kg/cm2,, 535 o C. 2 Generadores ¨Skoda¨ de 33000 kW, 13800 Volts, 3600 rpm. Unidades 3 y 4: 2 Calderas ¨Babcock Hitachi¨ con recalentamiento de 535 t/h, 540oC/540OC Y 130/30 kg/cm2. 2 Turbinas ¨Hitachi¨ de 127/29 kg/cm2, 538oC/538OC, 50 mmHg. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 7 Oscar Riego Morales. Trabajo de Diploma 2 Generadores ¨Hitachi¨ de 158000 kW, 17500 Volts, 3600 rpm. La potencia total de la CTE Carlos Manuel de Céspedes es de 382 MW. 1.2.4 Significación Social: • Una de las significaciones históricas más relevantes del centro es que la planta produce más energía que la que se producía en el país antes del triunfo Revolucionario. • Le da a la localidad en cierta forma un poderío industrial. • Es una gran fuente de empleo. • Contribuye a la reparación y fabricación de equipos y agregados • El centro contribuye a la superación profesional / académica de todo aquel que solicite tal servicio por ejemplo: Cursos de Operadores. 1.2.5 Estructura de la Central Termoeléctrica. Figura 1.1 Esquema de la central. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 8 Oscar Riego Morales. Trabajo de Diploma 1.2.6 Principales Producciones. La única producción de la CTE Cienfuegos, es la entrega de Energía Eléctrica a la Red Nacional (SEN). Esta Energía producida se obtiene a un costo bajo y con altos índices de eficiencia que colocan a la Empresa entre las mejores Centrales del País. La producción continua y los indicadores de bajo consumo que presenta la entidad garantizan, que el consumo específico de la Unión Eléctrica de Cuba mantenga índices de consumo de g/kW aceptables. Además la CTE Cienfuegos regula la frecuencia del sistema Electro Energético Nacional. La importancia social de la Empresa es grande ya que aparte de garantizar la Energía Eléctrica a la población y la Industria es por demás un centro de formación de nuevos técnicos y profesionales, actúa como laboratorio de la Universidad de Cienfuegos para las prácticas de varias materias y especialidades, ayudando con ello a elevar el desarrollo práctico de futuros Ingenieros, el centro es también promotor de muchos trabajos de diploma, maestrías e incluso doctorado. 1.3 Programador para el sistema automático de quemadores. 1.3.1 Descripción del sistema automático de quemadores (ABS). El sistema de quemadores instalado en las calderas HITACHI de las unidades 3 y 4 de la Termoeléctrica de Cienfuegos posee un total de nueve quemadores cada unidad para producir con su combustión el vapor necesario para generar 158 MW en el turbo generador. Cada quemador es gobernado por una unidad central de procesamiento (CPU), la cual está compuesta por un microprocesador Motorola 6800 que es el encargado de controlar y ejecutar todas las funciones disponibles, además un bloque de memorias EPROM 1702 donde se almacena el programa de trabajo y cuya capacidad total es de 2 Kbytes, dos tarjetas de entradas digitales donde van conectados los dispositivos que indican la posición de válvulas entre otros elementos, una tarjeta de alarma que sirve de enlace entre el Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 9 Oscar Riego Morales. Trabajo de Diploma microprocesador y los indicadores visuales y sonoros exteriores, una fuente de alimentación la cual se encarga de suministrar todos los voltajes necesarios para el funcionamiento del sistema completo, por último posee dos tarjetas de salida a través de las cuales se mueven las válvulas y pistones para realizar el encendido, apagado y purgado de los quemadores; y se controla el sistema de indicadores visuales y sonoros, las alarmas del proceso (encendido y apagado insatisfactorio, apagado anormal de encendedor y quemador) y los fallos del propio sistema digital. 1.3.2 Fundamentación del programador. En la central termoeléctrica, uno de los elementos más importantes para la eficiencia son las calderas en las cuales como se menciona anteriormente se produce la combustión del fuel. Los encargados de esta combustión dentro de las calderas son los quemadores y en dependencia de que tan bien realicen una combustión completa el sistema será más económico reduciendo el costo de combustible por kW generado. El sistema de quemadores como se menciona anteriormente pertenece a la firma Hitachi y es el original que se instaló con la termoeléctrica en 1978 por lo que consta con 26 años de explotación; el diseñador proveía con su sistema de control un Kit de programación por soporte magnético (cinta) o manual. Esta precaución se debía básicamente a la necesidad de reprogramar las memorias EPROM (1702) en caso de deterioro de las mismas o necesidad de modificar el programa de control, esta necesidad a lo largo de los años provoco la destrucción de las cintas originales así como el mecanismo de reproducción de las mismas al no disponer de reemplazo para estos elementos se tuvo que comenzar a emplear el programador manual. Este dispositivo consta de 24 interruptores ON/OFF agrupados en dos grupos de 8 y 16 elementos respectivamente los mismos están asociados a direcciones y datos en las placas de memoria, dependiendo de su posición fijaran un uno o un cero, además de un botón de voltaje de programación (Vp). El grabado de una memoria por esta técnica se convierte en Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 10 Oscar Riego Morales. Trabajo de Diploma un proceso lento e inseguro ya que depende totalmente de la concentración del operador y su habilidad. Tomemos un ejemplo para ilustrarles el proceso. Ejemplo: Se desea colocar la instrucción N A0F en la dirección de memoria 0DH. Primeramente tiene que convertir la instrucción a código maquina y después llevarla a binario junto a la dirección para luego trabajar con el dispositivo. Dato 16 bits: N A0F; el código binario es 1111 1010 0000 1111. Dirección 8 bits: 0DH; ; el código binario es 00001101. El técnico tiene que colocar los 24 interruptores en sus correspondientes posiciones y presionar el botón Vp (Voltaje de programación) para fijar la instrucción en las memorias, en este caso las memorias son seleccionadas por pares puesto que en las tarjetas el pin CS (Chip Select) se encuentra como pin común entre dos memorias como se muestra en la figura 1.2. Figura. 1.2 Chip select común Podemos ver como ambas memorias tienen un bus de direcciones común mientras que el bus de datos es separado en parte baja y alta. Al poner un dato en el bus de salida (recordemos que el dato es de 16 bits) los primeros 8 bits se gravan en una memoria mientras que los otros se gravan en la misma dirección pero del otro chip. Este Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 11 Oscar Riego Morales. Trabajo de Diploma procedimiento tiene que realizarlo 256 veces para cada par de EPROMs. Cada banco de memorias EPROM tiene un total de 18 memorias de las cuales se utilizan 16 para almacenar datos y las restantes para almacenar el bit de paridad. Esto conlleva a repetir el proceso 2048 veces. Esta calculado que un técnico para programar un banco de memorias completo tiene que trabajar aproximadamente 72 Horas en jornadas de 8 Horas, estamos hablando de 9 días trabajando a tiempo completo. Como podemos ver es un proceso lento pero además es tedioso, rutinario y esto trae consigo equivocaciones. Al final nos damos cuenta que por errores humanos la programación quedo defectuosa, esto solo se puede comprobar después que el banco es conectado al sistema, y debido a que el fabricante no brindo forma de detectar la memoria con error es necesario proceder a borrar la totalidad y comenzar el proceso nuevamente. Para dar solución a este problema los ingenieros de la central pensaron en algunas variantes, primero comprar un programador comercial variante que no resultó puesto que estas memorias se dejaron de fabricar hace muchos años debido a que las mismas tienen características poco comunes y por lo tanto los programadores de las mismas también dejaron de fabricarse. La 1702 fué una de las primeras memorias que diseño INTEL en esta línea y las características de las cuales hacíamos referencia son: Datos en escritura • Pulso de Programación (Vp) –48 Voltios. • Pulso de Vgg (Power Supply) –35 Voltios. • Direcciones 0 a –48 Voltios. • Datos 0 a –48 Voltios. • Voltaje de Alimentación (Vcc) Tierra (GND) Datos en lectura Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 12 Oscar Riego Morales. Trabajo de Diploma • Vp 5 Voltios. • Vgg -9 Voltios. • Vcc 5 Voltios Como se puede apreciar la variedad de voltajes empleados es numerosa y poco convencional. Como segunda opción sé penso en poner un autómata a controlar los nueve quemadores una idea prometedora pero la misma conlleva a tener que parar la planta cada vez que se fuera a realizar alguna prueba y para realizarlas tendrían que desmontar todo el sistema automático existente y montar el nuevo diseño, en caso de no resultar volver todo atrás y arrancar nuevamente la planta. Además la CTE está en espera de una modernización que tendrá lugar en el 2006. Por tales motivos esta idea tampoco resultó. La tercera y última es la que nos disponemos a realizar y se trata de hacer un dispositivo que sea capaz de programar automáticamente dichas memorias. 1.3.3 Objetivo general del programador. El objetivo que persigue el programador que se presenta en este diseño es el de leer, escribir, y verificar los datos almacenados en memorias EPROM 1702 A utilizadas en el sistema de ABS de la CTE. Carlos Manuel de Céspedes, a través de un proceso electrónico-digital que sea accesible a técnicos del departamento de Automática de dicho centro sin tener que recibir un curso de manejo previo del mismo, en este caso el programador utiliza una PC como interface de mando y mediante comunicación serie le envía órdenes a una unidad central de proceso, cuyo cerebro es un microcontrolador comercial Intel 80C51, se tendrá acceso a todas las funciones propias del programador, las mismas son similares a las que desarrollan los programadores comerciales. Capitulo 1: Caracterización del programador para la central termoeléctrica Carlos Manuel de Céspedes. 13 Oscar Riego Morales. Trabajo de Diploma 1.4 Aportes del programador para la central termoeléctrica. Con la realización de este programador pretendemos dar varios aportes en beneficio de la central termoeléctrica Carlos Manuel de Céspedes y para el país de los cuales hacemos mención a continuación: 1. El programador por si solo hace la conversión de las entradas de datos y direcciones al código máquina, números binarios. Este trabajo lo debía realizar el técnico antes de empezar a programar las memorias EPROM. 2. El programador leerá las memorias EPROM y guardará su información en un fichero texto elegido por el usuario, consiguiendo así verificar el contenido de la misma, esto trae consigo la ventaja de poder identificar el problema en una memoria determinada y no tener que recurrir al borrado de todas las EPROM del banco de memorias. 3. Todo el trabajo realizado a través del dispositivo (ROM WRITER) completamente manual, el cual traía consigo el riesgo de cometer equivocaciones y un gran empleo de tiempo dedicado a la programación. El programador realizará este trabajo garantizando seguridad y menor uso de tiempo a la hora de programar, por tanto un funcionamiento mejor y seguro de los quemadores. 4. Por último trae consigo ahorro de divisas para el país, ya que no tiene que pasar al renovamiento inmediato de la tecnología empleada y se puede esperar al proceso inversionista del 2006. De este modo resumimos algunos de los aportes que brinda nuestro trabajo. Capítulo 2: Diseño del programador de memorias EPROM. 14 Oscar Riego Morales. Trabajo de Diploma. CAPITULO 2: DISEÑO DEL PROGRAMADOR DE MEMORIAS EPROM. 2.1. Introducción. .En este capítulo tratamos el diseño y funcionamiento del programador de memorias EPROM, además describimos cada uno de los bloques que lo conforman. El capítulo está estructurado por tres apartados: El apartado 2.2 esta dedicado a las generalidades de las memorias EPROM sus características y funcionamiento. En el apartado 2.3 hacemos énfasis en las EPROM 1702A incluyendo una descripción general y su programación ya que son las memorias con las que vamos a trabajar. El apartado 2.4 consta con una mayor cantidad de sub-apartados puesto que en él tratamos el diseño del programador y su funcionamiento con sus respectivos bloques como son: circuito de control, bloque de lectura, bloque de comunicación, fuente de alimentación, bloque de lectura escritura etc. 2.2 Generalidades de las memorias EPROM. 2.2.1 Memorias EPROM. Las memorias EPROM son memorias, generalmente leídas y eventualmente borradas y reescritas. Una EPROM tiene un transistor MOS (Metal Oxide Semiconductor) de compuerta flotante en cada posición de bit. Cada transistor tiene dos compuertas. La compuerta flotante no está conectada y está rodeada por un material aislante de alta impedancia. La manera como está organizada la memoria EPROM es mediante un arreglo matricial, el cual es direccionado por un decodificador de línea y columna, que apunta al transistor o grupo de transistores que actuarán en ese momento. Capítulo 2: Diseño del programador de memorias EPROM. 15 Oscar Riego Morales. Trabajo de Diploma. 2.2.2 Funcionamiento de una EPROM. Una vez grabada una EPROM con la información pertinente, por medio de un dispositivo especial que se explicará luego, la misma es instalada en el sistema correspondiente donde efectivamente será utilizada como dispositivo de lectura solamente. Eventualmente, ante la necesidad de realizar alguna modificación en la información contenida o bien para ser utilizada en otra aplicación, la EPROM es retirada del sistema, borrada mediante la exposición a luz ultravioleta con una longitud de onda de 2537 Angstroms (unidad de longitud por la cual 1 A = 10-10 m), programada con los nuevos datos, y vuelta a instalar para volver a comportarse como una memoria de lectura solamente. Por esa exposición para su borrado es que es encapsulada con una ventana transparente de cuarzo sobre la pastilla o "die" de la EPROM. Es oportuno aclarar que una EPROM no puede ser borrada parcial o selectivamente; de ahí que por más pequeña que fuese la eventual modificación a realizar en su contenido, inevitablemente se deberá borrar y reprogramar en su totalidad. Las EPROM almacenan bits de datos en celdas formadas a partir de transistores FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) de cargas almacenadas. Estos transistores son similares a los transistores de efecto de campo FET (Field Effect Transistor) canal-P, pero tienen dos compuertas. La compuerta interior o flotante está completamente rodeada por una capa aislante de dióxido de silicio; la compuerta superior o compuerta de control es la efectivamente conectada a la circuitería externa. La cantidad de carga eléctrica almacenada sobre la compuerta flotante determina que el bit de la celda contenga un 1 o un 0; las celdas cargadas son leídas como un 0, mientras que las que no lo están son leídas como un 1. Tal como las EPROM salen de la fábrica, todas las celdas se encuentran descargadas, por lo cual el bit asociado es un 1; de ahí que una EPROM virgen presente el valor hexadecimal FF en todas sus direcciones. Capítulo 2: Diseño del programador de memorias EPROM. 16 Oscar Riego Morales. Trabajo de Diploma. Cuando un dado bit de una celda debe ser cambiado o programado de un 1 a un 0, se hace pasar una corriente a través del canal de transistor desde la fuente hacia la compuerta (obviamente, los electrones siguen el camino inverso). Al mismo tiempo se aplica una tensión relativamente alta sobre la compuerta superior o de control del transistor, creándose de esta manera un campo eléctrico fuerte dentro de las capas del material semiconductor. Ante la presencia de este campo eléctrico fuerte, algunos de los electrones que pasan el canal fuente-compuerta ganan suficiente energía como para formar un túnel y atravesar la capa aislante que normalmente aísla la compuerta flotante. En la medida que estos electrones se acumulan en la compuerta flotante, dicha compuerta toma carga negativa, lo que finalmente produce que la celda tenga un 0. Tal como mencionamos anteriormente, el proceso de borrado de los datos contenidos en una EPROM es llevado a cabo exponiendo la misma a luz ultravioleta. El punto consiste en que la misma contiene fotones (Cuantos de energía electromagnética) de energía relativamente alta. Los fotones incidentes excitan los electrones (partícula elemental, electrónicamente negativa, de los átomos) almacenados en la compuerta flotante hacia un estado de energía lo suficientemente alta como para que los mismos puedan formar un túnel a través de la capa aislante y "escapar" de la compuerta flotante, lo que descarga la misma y retorna la celda al estado 1 (Oliveras, 2003). 2.3 EPROM 1702A 2.3.1 Descripción General El dispositivo EPROM 1702A contiene celdas de almacenamiento de bits configuradas como bytes direccionables individualmente, es una memoria de 256 posiciones por 8 bit, eléctricamente programable. La misma posee 24 pines en dos líneas de 12 (encapsulado Capítulo 2: Diseño del programador de memorias EPROM. 17 Oscar Riego Morales. Trabajo de Diploma. dip) y una ventana transparente a través de la cual es expuesta a luz ultravioleta para borrar su contenido. El circuito de la 1702A es enteramente estático no requiere circuito de reloj. En la figura 2.1 mostramos su diagrama de bloques. Figura 2.1. Diagrama de bloques. Las conexiones externas de la memoria varían en dependencia de la función que esté realizando el dispositivo o sea si el mismo esta siendo programado o usado en operación de lectura. En la tabla 2.1 mostramos la disposición de los pines para los diferentes modos de trabajo. Tabla 2.1 Disposición de pines Modo/Pin Vcc Program CS VBB VGG Vcc Vcc Lectura Vcc Vcc GND Vcc VGG Vcc Vcc Escritura GND Pulso de Programación GND VBB Pulso VGG GND GND Como podemos ver en la tabla 2.1, la operación de lectura de la 1702 no tiene complicación alguna solo con poner los diferentes pines a los niveles de voltaje correspondientes podemos leer su contenido, por tal motivo dedicamos el siguiente apartado a explicar la operación de escritura. Este apartado fue tomado del datasheet de la memoria 1702 A ver (Anexo 1). Capítulo 2: Diseño del programador de memorias EPROM. 18 Oscar Riego Morales. Trabajo de Diploma. 2.3.2 Programación de la 1702A. La selección de la palabra de dirección es hecha con la misma lógica usada en la operación de lectura. Los ocho bits de dirección deben estar en su complemento binario cuando VGG y VDD son pulsados y llevados a niveles negativos. Las direcciones estarán colocadas por un mínimo de 25 uS después que VGG y VDD son llevados a niveles negativos, esta transición debe ser realizada 10 uS antes que el pulso de programación sea pulsado para lograr máxima estabilidad en el dato. Las direcciones pueden ser programadas en la secuencia de 0-255 en un tiempo mínimo de 32 segundos. Los ocho terminales de salida serán usados como entrada de datos, un nivel bajo (-48 Volts) programara un “uno” mientras que un nivel alto (tierra) programara un “cero”. Los ocho bits de una palabra son programados simultaneamente. En la figura 2.2 se muestra la información gráfica de la programación. Además debemos conocer que el chip select (CS ) debe estar puesto a tierra y VBB a 12 V. Figura 2.2. Gráfica de programación. Capítulo 2: Diseño del programador de memorias EPROM. 19 Oscar Riego Morales. Trabajo de Diploma. Todos los tiempos a los que se hace referencia en la figura 2.2, se muestran en la tabla 2.2. Para mas información consultar (anexo 1). Tabla 2.2 Tiempos de programación Parámetro Condición Mín Máx Unidad TØpw Program Pulse Width VGG= -35V, VDD=VP= -48V. 3 mS TDW Data Set-Up Time 25 uS TDH Data Hold Time 10 uS TVW VGG, VDD Set-Up 100 uS TVD VGG, VDD Hold 10 100 uS TACW Address Complement Set-Up 25 uS TACH Address Complement Hold 25 uS TATW Address True Set-Up 10 uS TATH Address True Hold 10 uS 2.4 Diseño del programador de memorias EPROM. 2.4.1 Fundamentación. El programador es operado en su totalidad desde una PC, desde el cual se tiene acceso a todas las direcciones de la memoria y a las funciones de control, las cuales brevemente se describen a continuación: a. Para llevar a cabo la escritura de datos, antes de la escritura final en los dispositivos EPROM, se cuenta con un buffer de memoria RAM, en el cual los datos son almacenados. Luego se pasan a la memoria EPROM. Una vez pasados, se pueden comparar con los almacenados en el buffer, para poder llevar a cabo una verificación de datos y así asegurar la igualdad de la información Capítulo 2: Diseño del programador de memorias EPROM. 20 Oscar Riego Morales. Trabajo de Diploma. b. Se pueden comparar los datos almacenados en dos memorias entre sí, ya sea totalmente o en forma de bloques. c. Exploración visual directa de la memoria o el buffer RAM. Todas las funciones arriba descritas pueden ser realizadas a partir de la dirección cero para la RAM o 8000 para el caso de las EPROM. Todas las órdenes, direcciones y datos son introducidos desde la PC a través del puerto serie (RS232) de la misma hasta el controlador, el cual lee y codifica la palabra que programa al bus. En la figura 2.3 que aparece a continuación podemos ver un esquema en bloques del programador, el diseño de cada uno de los bloques que conforman el mismo debido a su complejidad serán explicados en los apartados que podrán ver a lo largo del capítulo 2. Figura 2.3 Esquema en bloques del programador Capítulo 2: Diseño del programador de memorias EPROM. 21 Oscar Riego Morales. Trabajo de Diploma. 2.4.2 Circuito de control. Este circuito es el encargado de recibir, almacenar y enviar el programa que le será enviado desde la PC (personal computer), además de procesar la señal de mando para cumplir cabalmente con la tarea encomendada. Este circuito se encuentra compuesto por los diferentes bloques que aparecen en la figura 2.3. Su representación circuital aparece en la figura 1 del anexo 2. Figura 2.4. Esquema en bloque del circuito control. 2.4.2.1 Diseño del circuito de control. Este circuito tiene por base un microcontrolador 80C51BH de 8 bit de firma INTEL, seleccionado por cumplir con todos los requerimientos de hardware necesario para la aplicación, los cuales son: 1. Ciclo de máquina inferior a 1 uS. 2. Mas de una entrada de interrupción externa. 3. Circuitos temporizadores internos. 4. Puertos bidireccionales. 5. Comunicación serie incluida. Capítulo 2: Diseño del programador de memorias EPROM. 22 Oscar Riego Morales. Trabajo de Diploma. 6. Amplio repertorio de instrucciones 7. Circuito de reloj incluido. 8. Bajo consumo eléctrico. 9. Alta inmunidad al ruido eléctrico. 10. Posibilidad de multiplexar por un mismo puerto datos y direcciones. 11. Posibilidad de emplear el grupo periférico diseñado por INTEL para sus procesadores 8086 y 8088. A todas estas características ya expuestas se le puede adicionar una fácil programación, un encapsulado de fácil montaje en el circuito impreso (dip 40) y él hecho de que lo produzcan más de 12 firmas internacionales. El 80C51BH dispone de cuatro puertos bidireccionales de 8 bit (uno de ellos es el puerto de control), dos contadores/ temporizadores internos, procesador booleano (operación sobre bits), comunicación asíncrona full-duplex, cinco entradas de interrupción (de las cuales dos son externas), reloj hasta 16 MHz, y consumo inferior a los 30 mA. Como aparece en (González,1984). El 80C51BH se conecta a las memorias externas mediante un bus de direcciones de 16 bits que le permite un direccionamiento máximo de 64 Kbytes de memoria de programa (ROM) y 64 Kbytes de memoria de datos (RAM); este bus de direcciones sale por lo puertos cero y dos del microcontrolador estando el byte bajo en el puerto cero y alto en el dos, por el puerto cero también multiplexa el bus de datos por lo que es necesario demultiplexarlo mediante un latch tipo D 74LS373 que mantenga las direcciones a las memorias y demás dispositivo en lo que estos extraen o almacenan datos. La señal para multiplexación es ALE (Address Latch Enable) emitida por el microcontrolador cada medio ciclo maquina. Las memorias ocupan los siguientes espacio de direcciones: ROM de 0000H a 3FFFH (16 Kbytes) y RAM de 0000H a 7FFFH (32 Kbytes) el microcontrolador conoce de su presencia mediante él pin EA (activo en bajo) Capítulo 2: Diseño del programador de memorias EPROM. 23 Oscar Riego Morales. Trabajo de Diploma. que le advierte que debe mover su bus de dirección al exterior obviando la memoria ROM interna, aunque parezca que se solapan las direcciones de ambas memorias no es así, ya que el microcontrolador en dependencia de la instrucción que este manejando sacara al bus de control las señales adecuadas (lo que llamamos memoria segregada). Por el puerto tres del microcontrolador salen las señales de control para la lectura y escritura (RD y RW respectivamente) tanto en la RAM como en el resto bloque. Por puerto tres también están las entradas de interrupción externas así como las entradas de captura de los contadores y las dos líneas de la comunicación serie. 2.4.3 Bloque de comunicación. El bloque de comunicación parte de la conexión de las dos líneas de comunicación serie (RXD y TXD) del puerto tres del microcontrolador con los circuitos integrados 75188 y 75189 interfaces estándar de comunicación serie para RS232 y por ser ambos chip cuádruples sé selecciona por jumpers el elemento dentro de ellos que se activa. Este puerto serie trabaja en el modo full dúplex, lo que significa que puede transmitir y recibir simultaneamente. Como receptor tiene un buffer que le permite recibir un segundo byte, antes de que el byte previamente recibido haya sido leido por el registro receptor. Si la lectura del primer byte no se realiza en lo que arriba el segundo, uno de los dos se pierde. A los "registros" receptor y transmisor de los puertos series se accede por un único registro denominado SBUF. Escribiendo en el SBUF se carga el byte a transmitir y leyendo del SBUF se accede al byte recibido (Martínez, 2001). 2.4.3.1 La comunicación RS232. Los puertos serie utilizados en los ordenadores PC/AT se ajustan al estándar EIA RS232-C y también al estándar del V.24 del CCITT (son normas casi idénticas). Capítulo 2: Diseño del programador de memorias EPROM. 24 Oscar Riego Morales. Trabajo de Diploma. El RS232-C responde al nombre formal de "Interfaz entre un equipo terminal de datos y un equipo de comunicación de datos empleando intercambio de datos binarios en serie". El equipo terminal de datos (DTE) es el término genérico utilizado para referenciar al ordenador y el equipo de comunicación de datos (DCE) referencia al modem (Modulador- Demodulador). La norma RS232-C define tres campos necesarios para la comunicación DTE/DCE: descripción mecánica de los circuitos de interfaz, descripción funcional de los circuitos de intercambio y características de las señales eléctricas. Las direcciones de puerto utilizadas son las siguientes: 2E8-2EF (COM4); 2F8-2FF (COM2); 3E8-3EF (COM3); 3F8-3FF (COM1). Los adaptadores generalmente utilizan las interrupciones IRQ3 (COM2, COM4) y IRQ4 (COM1, COM3). El estándar RS232 define dos niveles lógicos aplicables tanto a la entrada como la salida, los cuales son: “1” señal de -3 a -15 Volt , “0” señal de +3 a +15 Volt quedando un área de incertidumbre entre los -3 a los +3 Volt. El UART del 80C51 no brinda estos niveles de tensión ya que su salida es TTL es decir un “1” es 5 Volt y un “0” es 0 Volt por lo que se hace necesario el empleo de trasladores de nivel para situarlos en la norma RS232 y estos viene a ser los circuitos antes mencionados SN75188 y SN75189 que son la misma solución empleada por las primeras PC comerciales. 2.4.3.2 Conectores El estándar RS232 define un conector DB de 25 pines del que solo se utilizan 22 y específicamente para la aplicación 3; las señales están pensadas para la comunicación remota de teleimpresores, y actualmente no son realmente necesarias para comunicar ordenadores, por lo que se han estandarizado el uso de ocho que pueden ser utilizadas en un conector de 25 pines o de nueve. Capítulo 2: Diseño del programador de memorias EPROM. 25 Oscar Riego Morales. Trabajo de Diploma. En la tabla 2.3 se muestran los nombres de las señales y la asignación de pines utilizada en el estándar para un DTE. Básicamente el DTE transmite por el pin 2 y recibe por la 3. Tabla 2.3 Asignación de pines DB25 Pin Nombre RS232 Descripción 1 GND n/a Shield Ground (tierra de protección) 2 TXD BA Transmit Data 3 RXD BB Receive Data 4 RTS CA Request to Send 5 CTS CB Clear to Send 6 DSR CC Data Set Ready 7 GND AB System Ground (nivel de referencia) 8 CD CF Carrier Detect 9 - RESERVADO 10 - RESERVADO 11 STF Select Transmit Channel 12 S.CD SCF Secondary Carrier Detect 13 S.CTS SCB Secondary Clear to Send< TCK DB 16 S.RXD SBB Secondary Receive Data 17 RCK DD Receiver Signal Element Timing 18 LL LL Local Loop Control 19 S.RTS SCA Secondary Request to Send 20 DTR CD Data Terminal Ready 21 RL RL Remote Loop Control 22 RI CE Ring Indicator 23 DSR CH Data Signal Rate Selector 24 XCK DA Transmit Signal Element Timing 25 TI TM Test Indicator Las conexiones externas de los puertos serie del PC se han estandarizado en 2 tipos de conectores de 9 y 25 pines (DB9 y DB25), con el macho del lado del ordenador. En la tabla 2.4 se muestra la asignación de pines para ambos conectores. Los nombres de las señales se refieren a los utilizados en la tabla 2.3. En la nomenclatura utilizada se definen: N.A. = No aplicable. N.C. = No conectado. Capítulo 2: Diseño del programador de memorias EPROM. 26 Oscar Riego Morales. Trabajo de Diploma. Tabla 2.4 DB25 - DB9 Pin DB9 DB25 1 CD GND 2 RXD TXD 3 TXD RXD 4 DTR RTS 5 GND CTS 6 DSR DSR 7 RTS GND 8 CTS CD 9 RI N.C. 10 N.A. N.C. 11 N.A. N.C. 12 N.A. N.C. 13 N.A. N.C. 14 N.A. N.C. 15 N.A. N.C. 16 N.A. N.C. 17 N.A. N.C. 18 N.A. N.C. 19 N.A. N.C. 20 N.A. DTR 21 N.A. N.C. 22 N.A. RI 23 N.A. N.C. 24 N.A. N.C. 25 N.A. N.C. Debido a su menor tamaño y mayor generalización en las PC actuales fue escogido para nuestro equipo el conector DB9. 2.4.4 La fuente de alimentación. La función de la fuente es la de garantizar la alimentación de los diferentes bloques del programador. El esquema circuital de dicha fuente es el mostrado en figura 2 anexo 2 y esta compuesto por un transformador de entrada 110 V que a su salida proporciona un voltaje de 45 V con center tap (toma central) de lo que se deriva que entre los extremos del mismo Capítulo 2: Diseño del programador de memorias EPROM. 27 Oscar Riego Morales. Trabajo de Diploma. tenga 90 V. Para una información mas detallada del transformador diseñado diríjase al anexo 3 Esta compuesto además de un rectificador integrado de onda completa, los capacitores C1 y C2 que se emplean como filtros capacitivos, aparte de los capacitores C3, C4, C5, C6 y C7 que se utilizan para mejorar la estabilidad de la fuente y eliminar los transientes, 4 transistores bipolares Q1, Q2, Q3 y Q4 acompañados de diodos zener que se encargan de lograr los voltajes de programación y alimentación de los diferentes circuitos integrados, estos voltajes son –48, -35, -12, -9 y 12. A la salida del regulador de 12 V se conecta un regulador monolítico integrado de 5 Volt (7805) que es capaz de entregar a su salida una corriente de 1 A y se encarga de la alimentación de los circuitos lógicos. 2.4.5 Bloque de Lectura. Este bloque es una variante rápida de lectura esta compuesto por un zócalo de 24 pines en el cual se coloca la memoria para ser leída, además de una lógica de selección, el esquema circuital del bloque de lectura se muestra en la figura 3 anexo 2. La selección de esta memoria se logra mediante un circuito integrado 7400 el cual se compone por cuatro compuertas nand de las cuales solo se utilizan dos, una de ellas como inversor, a las mismas se le pasan como entradas las líneas de direcciones 14 y 15 y su salida se conecta al CS de la memoria 1702. En la figura 2.5 se muestra el mapa de memoria utilizado en el bloque de lectura en el que se pueden ver claramente los intervalos de memoria utilizado por cada EPROM, la 27128 utilizada en el bloque de control se encuentra de 0000H a la 3FFFH como bien se menciona en la explicación del bloque de control y la 1702 se encuentra de la 8000H a la 80FFH. Este bloque de lectura se conecta al programador mediante un slot de 30 pines ubicado en el exterior del dispositivo facilitando así el montaje de la memoria en el zócalo. Además se deja la posibilidad de montar en el mismo slot el bloque que les describiremos en el apartado siguiente. Capítulo 2: Diseño del programador de memorias EPROM. 28 Oscar Riego Morales. Trabajo de Diploma. A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | . . . . . . . . . . . . . . . . 27128 . . . . . . . . . . . . . . . . | 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000H 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | . . . . . . . . . . . . . . . . 1702 . . . . . . . . . . . . . . . . | 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 80FFH Figura 2.5 Mapa de memorias del bloque de lectura. 2.4.6 Bloque de Programación. El bloque de programación cuya representación circuital se muestra en la figura 4 anexo 2 utiliza también para su lógica de selección un 7400 que se encarga de decidir a partir de que dirección se encuentra un 8255 que se inserta en el mismo, con el objetivo de aumentar el número de puertos del 80C51. El 8255 mencionado anteriormente estará disponible en memoria a partir de la dirección C000H y será seleccionado a partir de una lógica de selección que utiliza los pines 14 y 15 del bus de direcciones como se muestra en la figura 2.5. A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000H 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | . . . . . . . . . . . . . . . . 27128 . . . . . . . . . . . . . . . . | 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3FFFH 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C000H 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | . . . . . . . . . . . . . . . . 8255 . . . . . . . . . . . . . . . . | 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 C0FFH Figura 2.5 Mapa de memorias del bloque Programación. Capítulo 2: Diseño del programador de memorias EPROM. 29 Oscar Riego Morales. Trabajo de Diploma. El CS de la memoria será forzado por software cada ves que se programe un dato. Este circuito también esta provisto de un zócalo de 24 pines en el cual se inserta la memoria a programar, a diferencia del bloque de lectura en este el dato y la dirección se colocan mediante niveles de voltaje de 5 a –48 volt con sus respectivos tiempos de programación (ver figura 2.2). Para lograr estos tiempos se decidió utilizar un bus de datos y un bus de direcciones aparte por lo que se escogieron los puertos A y B del 8255 para realizar este trabajo, los niveles de voltaje se lograron mediante el diseño de un trasladador de nivel (TN) que será capaz de trasladar un nivel de cero a cinco volt en uno de 5 a –48 como se muestra en la figura 2.6 que aparece a continuación. Es importante señalar que para cada bit de dato y cada bit de dirección es necesario utilizar un TN. Además de usar uno para el pulso de programación y otro para el pulso VGG. Figura 2.6 Niveles de voltajes Capítulo 2: Diseño del programador de memorias EPROM. 30 Oscar Riego Morales. Trabajo de Diploma. En la figura 2.6 se pueden observar dos ondas cuadradas, las cuales indican las señales de entradas y salida del trasladador de nivel diseñado, el mismo esta compuesto por dos transistores bipolares, un NPN y un PNP y cuatro resistencias como aparece en la figura 5 del anexo 2. . . Capítulo. 3: Diseño de Software ______________________________________________________________________ 31 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma CAPITULO 3: DISEÑO DE SOFTWARE 3.1 Introducción. En este tercer y último capítulo haremos énfasis en los paquetes de programación utilizados. El capítulo esta estructurado en cuatro apartados: El apartado 3.2 detalla el software de control para el microcontrolador, teniendo en cuenta aspectos tales como: Diseño de mismo, comunicación de puerto serie en el microcontrolador, velocidad de comunicación y por ultimo un comentario sobre el software utilizado en el programador. En el apartado 3.3 es donde describimos el software de control para la PC, el cual se realizó en LabView teniendo en cuenta los aspectos fundamentales del lenguaje. Además del diseño del instrumento virtual. En el apartado 3.4 realizamos una especie de ayuda para trabajar con el equipo a través de su software de control para la PC, que le servirá de guía al técnico encargado de trabajar con el mismo. Ya en el apartado 3.5 y ultimo del capitulo nos dedicamos a realizar un análisis de costo del programador. 3.2 Diseño del software de aplicación del modulo de control. Ya que el modulo de control tiene por centro uno de los miembros de la familia MCS51 de la firma INTEL, para ser mas exacto el 80C51BH se hace necesario el empleo de un software de desarrollo y simulación, escogiéndose para esta tarea el Raisonance Kid, dicho software es el empleado en la asignatura Microprocesadores II desde hace dos años con excelentes resultados y a demostrado que sus prestaciones son las adecuadas para este tipo de tareas. Capítulo. 3: Diseño de Software ______________________________________________________________________ 32 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma El software desarrollado se encuentra en el anexo 4 y a continuación pasamos a hacer un análisis de sus distintos bloques que como verán se centran en la atención a la comunicación serie y un grupo de funciones de temporización relacionadas con la programación de las EPROM 1702A. 3.2.1 Configuraciones del UART en el 80C51BH. Como decíamos en él capitulo 2 el 80C51BH dispone de un UART con capacidad de trabajo en modo full duplex, lo que significa que puede trasmitir y recibir simultaneamente. El mismo posee un registro denominado SBUF que es la base de la comunicación serie en el 80C51BH escribiendo en el se carga el byte a trasmitir y leyendo de el se accede al byte recibido. Cada vez que se accede al registro SBUF se genera una interrupción de puerto serie. El UART puede operar en cuatro modos, de los cuales daremos una breve descripción a continuación: • Modo 0: Los datos en serie entran y salen a través de la línea RXD, TXD presenta los impulsos de desplazamiento de reloj. La palabra de información a trasmitir o recibir es de ocho bits, siendo el primero en salir o en llegar el menos significativo. La velocidad de comunicación expresada en baudios esta dada por la relación 1/12 de la frecuencia del reloj del microcontrolador. • Modo 1: Es una comunicación más acorde con los estándares habituales de 10 bits que son trasmitidos por a través de TXD o recibidos a través de RXD. Los bits utilizados tienen la siguiente función: 1 bit de inicio. 8 bits de datos 1 bit de parada Capítulo. 3: Diseño de Software ______________________________________________________________________ 33 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma La velocidad de transmisión puede ser ajustada por el usuario dentro de un amplio rango. • Modo 2: Trasmite a través de TXD y recibe por RXD como en el caso anterior, utiliza 11 bits distribuidos de la siguiente forma: 1. 1 bit de inicio (0). 2. 8 bits de datos. 3. 1 bit de dato (9no bit) (programable) 4. 1 bit de parada El noveno bit, en la transmisión puede ser “cero” o “uno” así el bit de paridad puede ser cargado y asignado a este 9no bit en la transmisión. La velocidad es programable bien a 1/32 o 1/64 de la frecuencia del oscilador. • Modo 3: Como en el caso anterior 11 bits son trasmitidos a través de TXD o recibidos por RXD de la siguiente forma: 1. 1 bit de inicio (0). 2. 8 bits de datos. 3. 1 bit de dato (9no bit) (programable). 4. 1 bit de parada Como se puede observar, el modo 3 es igual al modo 2 excepto en la velocidad de transmisión. En modo 3 la velocidad se puede ajustar dentro de un amplio rango. De estos cuatro modos de comunicación escogimos el modo 3 por el hecho de que en este podemos ajustar la velocidad de comunicación a nuestro gusto y además podemos configurar el bit de paridad con el fin de dejar disponible la posibilidad de crear una simple forma de control de errores. 3.2.2 Velocidad de comunicación. En el modo 3 la velocidad de comunicación es determinada por la relación de sobrepasamiento del timer 1 (registro de 16 bit configurable como dos de 8) este puede ser Capítulo. 3: Diseño de Software ______________________________________________________________________ 34 configurado bien como temporizador o como contador. Se aconseja, configurarlo como temporizador en modo autorrecarga para evitar un tedioso proceso de recarga manual y la necesidad de una señal de reloj auxiliar. En este caso los baudios vienen dados por la formula: ))1(256(1232 2 TH OsciladorFrecuenciaBAUDIOS SMOD −× ×= K (3.1) donde: Baudios: Velocidad deseada de comunicación, en BAUDIOS. SMOD: Se refieren a el bit 7 del registro PCON, SMOD puede tomar el valor cero o uno en dependencia de las necesidades del usuario. Frecuencia...Oscilador: Se refieren a la frecuencia del cristal utilizado en el dispositivo en nuestro caso 14.31818 MHz. TH1: Valor con el cual va a ser cargada la parte alta del timer 1 Es importante señalar que la configuración de la velocidad tiene que ser lo más exacta posible puesto que solo se admite un error máximo del dos por ciento, errores superiores provocan errores de sincronismo fatales a la comunicación. Debido a esta dificultad nuestro programador se comunica con la PC a una velocidad de 2400 baudios, la velocidad no pudo ser mayor debido a esta limitación pues el cristal que le fue colocado al equipo no permite otra configuración, haremos la demostración de lo antes dicho mediante dos ejemplos, el primero para lograr una velocidad de 9600 y el segundo para una velocidad de 2400. Ejemplo 1: Se quiere lograr una velocidad de 9600 baudios con un cristal de 14.31818 MHz. ))1(256(1232 2 TH OsciladorFrecuenciaBAUDIOS SMOD −× ×= K despejando TH1 )1(12307232 2 TH OsciladorFrecuenciaBAUDIOS SMOD ×− ×= K ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 35 )1(38498304 ...*2 TH OsciladorFrecuenciaBAUDIOS SMOD − = OsciladorFrecuenciaBAUDIOSTHBAUDIOS SMOD ...*2)1(384*98304 =− BAUDIOSOsciladorFrecuenciaBAUDIOSTH SMOD *98304...*2)1(384 −=− BAUDIOS BAUDIOSOsciladorFrecuenciaTH SMOD *384 *98304...*2)1( − =− (3.2) Sustituyendo y fijando SMOD a uno por conveniencia. 9600*384 9600*983041031818.14*2)1( 61 −× =− TH Realizando las operaciones correspondientes obtenemos 23.2481=TH Redondeando queda que TH1 = 248, para comprobar que el error es menor que el dos por ciento, sustituimos TH1 en la formula (3.1). ))248(256(12 10*31818.14 32 2 61 −× ×=BAUDIOS 73.9321=BAUDIOS Baudios Entonces 9600 100 % 9600 100*73.9321 =x x = 97.1% 9321.73 x % por lo tanto error = 2.9 % > 2.0 % ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 36 Como podemos ver no nos podemos comunicar a una velocidad de 9600 Baudios con un cristal de 14.31818 MHz. Pruebas como estas fueron realizadas hasta lograr una velocidad adecuada de comunicación que fue la que les será ilustrada en ejemplo 2 que aparece a continuación. Ejemplo 2 Se quiere lograr una velocidad de 2400 baudios con un cristal de 14.31818 MHz. Sustituyendo directamente en la ecuación 3.2 del ejemplo anterior tenemos que 2400*384 2400*983041031818.14*2)1( 61 −× =− TH 92.224=BAUDIOS Baudios Redondeando queda que TH1 = 225, para comprobar que el error es menor que el dos por ciento sustituimos TH1 en la formula (3.1). ))225(256(12 10*31818.14 32 2 61 −× ×=BAUDIOS 6.2405=BAUDIOS Baudios Entonces 2400 100 % 2400 100*6.2405 =x x = 100.2% 2405.6 x % por lo tanto Error = 0.2 % < 2.0 % ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 37 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Como podemos ver el error es de un 0.2 % lo que quiere decir que cargando la parte alta de del timer 1 con 225 que en hexadecimal es el valor E1 resolvemos el problema. Se podría preguntar si no seria más fácil reemplazar simplemente el cristal del sistema, pero el mismo análisis matemático demostró que los cristales más cercanos al empleado dígase 12 MHz y 16 MHz solo conseguían alejar la solución. A continuación podrán ver un fragmento del programa donde se realizan las inicializaciones del mismo y se carga la parte alta del timer 1 con el valor E1. mov TMOD, #20H ; timer 1 en modo autorecarga mov TH1, #0E1H; Velocidad 2405 baudios mov TL1, #0E1H; Se utiliza para recargar TH1 mov PCON, #80H ; pone a uno el bit 7 del PCON mov TCON, #40H ; Habilita el timer 1 mov IE, #90H ; Habilita las interrupciones del puerto serie mov SCON, #0D0H; Configuración del registro SCON, MODO 3 3.2.3 Comentarios sobre software utilizado en el programador. Este programa tiene como rutina principal un ciclo de demora el cual comienza a ejecutarse después de la inicialización de todos los registros, el mismo solo sale de esta demora cuando se hace una petición de interrupción de puerto serie o sea cuando recibe un dato, la interrupción es atendida modificando el registro R7 y guardando el dato que nos fue enviado en el registro R5. Inmediatamente después que se recibe la interrupción se comienza a encuestar R7, al conocer el estado de este podemos concluir si nos fue enviado un dato. En el caso de que halla sido enviado un dato el mismo se encontrara almacenado en R5, por lo que se desencadenara un proceso de comparar este valor con las posibles entradas validas y cuando se encuentre una coincidencia se procederá a ejecutar la subrutina correspondiente, que quedara entre las siguientes funciones: • Encender led. Capítulo. 3: Diseño de Software ______________________________________________________________________ 38 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma • Apagar led. • Limpiar la memoria RAM. • Copiar un fichero en la memoria RAM del sistema a través del puerto serie. • Leer contenido de la memoria RAM del sistema a través del puerto serie. • Comprobar que la EPROM se encuentra vacía y todas sus posiciones son validas. • Copiar en la EPROM contenido de RAM. • Leer EPROM. • Comparar bit a bit ambas memorias (RAM Y EPROM). En este apartado explicaremos una de ellas pues todas estas rutinas son semejantes además en los siguientes apartados se retoma el tema explicando la función que realizan cada uno de ellos. Para la explicación se escoge la subrutina que copiar el contenido de la RAM en la EPROM pues este es el objetivo principal de nuestro trabajo además se considera la mas complicada debido a los tiempos de programación del chip. Este trabajo se basa principalmente en el movimiento de tablas de una a otra posición de memoria en este caso la tabla que se encuentra almacenada de la dirección 0000H a la 00FFH (de la RAM) se mueve hacia la C000H donde se encuentra ubicado el 8255 que a su ves pone el dato y la dirección en la (EPROM 1702A), el hecho de que estas tablas sean de tamaño fijo (256 Bytes) simplifica el problema. Este movimiento se realiza a través del puntero de datos DPTR, cada vez que el puntero de datos es incrementado o sea cada vez que se mueve un dato se hacen llamadas (Call) a diferentes subrutinas, en lo fundamental bases de tiempo para cumplimentar lo explicado en el epígrafe 2.3.2. ( 30 uS y 2 mS). Estos tiempos se utilizan para activar los pulsos de control necesarios para la programación de la memoria (Vp, Vgg, , estos pulsos son activados por el puerto 3 del microcontrolador para una mejor comprensión véase el código fuente del programa en el (Anexo 4). 3.3 Diseño de software de control para PC. El LabView fue el software seleccionado para desarrollar la interface de usuario con el programador. El LabView es un programa para el desarrollo de aplicaciones al igual que Capítulo. 3: Diseño de Software ______________________________________________________________________ 39 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma otros como el C, y el BASIC, pero se diferencia de estos en un importante aspecto. Mientras que otros sistemas de programación usan un lenguaje de programación basado en texto para crear líneas de código, este usa un lenguaje de programación visual conocido como lenguaje (G) para crear programas en forma de diagramas en bloques, lo que facilita su empleo. 3.3.1 Aspectos fundamentales del LabView. LabView al igual que C o BASIC es un sistema de programación de propósito general con un sistema de librerías de funciones y subrutinas para cualquier tarea de programación, también contiene librerías para aplicaciones especificas para la adquisición de datos y una serie de instrumentos de control, análisis, presentación y almacenamiento de datos. Incluye también un desarrollo convencional de herramientas de programas que permite ver como se pasan los datos a través de un programa de una forma animada. 3.3.2 Aspectos básicos del lenguaje (G). G es un programa que usa un lenguaje basado en un flujo de datos gráficos. Simplifica la ciencia de la computación, el proceso de monitoreo y control y aplicaciones de prueba y mediciones y una variedad de aplicaciones más. G es el lenguaje de programación que constituye el núcleo del LabView. Es un sistema de programación de propósito general, pero también incluye librerías de funciones y desarrolla herramientas diseñadas específicamente para la adquisición de datos e instrumentos de control. Los programas en G son llamados instrumentos virtuales (VIs) debido a que su operación y apariencia puede imitar un instrumento real. Sin embargo los (VIs) son similares a las funciones de un lenguaje de programación convencional. Un VI constituye una interfaz de usuario iterativa, un diagrama de flujo de datos que sirve como una fuente de códigos y una conexión de iconos que establecen el VI. De manera mas específicamente los VIs están estructurados como siguen. Capítulo. 3: Diseño de Software ______________________________________________________________________ 40 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma La interfaz interactiva del usuario se llama panel frontal y simula el panel de un instrumento físico. El panel frontal puede contener botones, pulsadores, gráficos y otros controles e indicadores. Los datos son introducidos usando el mouse y el teclado y el resultado se ve en la pantalla de computadora. El VI recibe instrucciones desde el diagrama en bloque, los cuales se construyen en G. El diagrama en bloque es una solución pictórica del problema de programación. El diagrama en bloque es también una fuente de códigos para el VI. Los VIs son jerárquicos y modulares, se pueden usar como programas principales o como sub-programas dentro de otro programa, cuando un VI se utilice dentro de otro VI se le llama subVI. 3.3.3 Diseño de software en LabView. Debido a que la principal tarea de la interfaz de usuario es facilitar una vía de comunicación entre el operador y el programador, la pantalla de control ha sido simplificada al mínimo para evitar confusión en el usuario, quedando reducida a dos controles y un visualizador, que permiten mediante sencillas funciones testear el programador y realizar los proceso de comprobación y programación de la EPROM. Por detrás de esta pantalla de control tenemos un sistema sencillo basado en los bloques prefabricados de LabView para la atención a puerto serie, consistentes en: • Bloque de inicialización de puerto serie. • Bloque de transmisión por puerto serie. • Bloque de recepción por puerto serie. A los que les pasamos los datos introducidos por el usuario para la operación deseada, esto bloques cuentan con chequeo de error y conteo de bytes trasmitidos o recibidos, además de la posibilidad de tomar o almacenar la información empleada en un fichero. Se le incluyo como factor de operación un error por time out, para salvar errores de conexión o de parametrización. Capítulo. 3: Diseño de Software ______________________________________________________________________ 41 3.4 Funcionamiento general Este epígrafe describe el funcionamiento general del equipo gracias a su software de control. Para la utilización del mismo el programador viene acompañado de un CD-R (Recordable Compact Disc) el cual contiene una instalación de un motor de tiempo de corrida (Run-Time Engine) de LabView, este debe ser ejecutado e instalado para lograr un adecuado uso de la aplicación también contenida. Además brindamos un manual de uso (en formato PDF) para el trabajo con el Programador. ¿Cómo trabajamos con el mismo? Para dar respuesta a esta pregunta mostramos (figura 3.1) una primera imagen del pantalla inicial mediante el cual el usuario dará las ordenes pertinentes al programador de EPROM hemos tratado de hacer esta pantalla lo más sencilla posible para facilitar su uso a los técnicos de la Central Termoeléctrica. Figura 3.1 Pantalla inicial. ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 42 Una vez abierta la aplicación el técnico debe seleccionar el puerto a través del cual va a enviar y recibir datos, esto se logra a través de un control que se encuentra ubicado en la parte superior derecha de la figura 3.1, representado por la etiqueta COM. Seguidamente debe seleccionar la acción que desee realizar haciendo click sobre el menú desplegable de las opciones que aparecen en la parte superior izquierda de la pantalla. Las cuales describiremos a continuación: Encender LED (Light Emitting Diode), Apagar LED. Esta opción esta incluida como una forma extremadamente sencilla de que el operador compruebe que ha conectado y parametrizado correctamente el programador y este funciona adecuadamente. Limpiar RAM. Como su nombre lo indica esta opción limpia la memoria RAM utilizada en el programador de memorias EPROM, o sea, coloca un uno en todas sus posiciones de memorias. Copiar fichero a la RAM. Una vez limpia esta memoria nos disponemos a introducir el programa en la misma, para llevar a cabo este proceso debemos asegurarnos que el programador se encuentra energizado y cerciorarnos que mismo se encuentre debidamente conectado a la PC. Para una mejor explicación manejo de software desarrollaremos un ejemplo. Ejemplo 1: Copiar fichero “Prueba.hex” a la RAM Para realizar la copia de este fichero hacemos click sobre la opción en la pantalla del software, luego con el puntero del Mouse hacemos click sobre el botón Run , nos saldrá en pantalla una ventana como la ilustrada en la figura 3.2 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma 43 Figura 3.2 Copiar fichero a la RAM Después que nos encontramos en esta ventana buscamos el camino, seleccionamos el fichero a copiar, oprimimos abrir y en unos instantes el programa se encontrara en la RAM del programador. Leer RAM. Esta opción nos permite tener la certeza de que el programa que fue enviado a la RAM se encuentra almacenado en sus correspondientes direcciones. Aunque esto es un proceso digital que además tiene un alto por ciento de fiabilidad no esta de mas tener un indicador visual. Tomemos un ejemplo: Ejemplo 2: Leer fichero Prueba.hex de la memoria RAM. Capítulo. 3: Diseño de Software ______________________________________________________________________ 44 Se desea leer el fichero que le fue enviado a la RAM del programador en el ejemplo anterior para esto solo necesitamos dar click sobre la opción Leer RAM y presionar el botón Run luego de una corta espera aparecerá en pantalla la figura 3.3 que les será mostrada a continuación. Figura 3.3 Guardar fichero En esta ventana se tienen dos opciones la primera se quiere guardar el fichero leído para luego hacer uso de el en otras aplicaciones, solo debemos dar el camino ponerle nombre a nuestro fichero y presionar el botón guardar. La segunda solo se quiere ver el contenido de la RAM como información, para esto se oprime el botón cancelar y la información ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 45 aparecerá en un cuadro de dialogo que tiene como etiqueta “CONTENIDO DE MEMORIAS” como se muestra a continuación. Figura 3.4 Contenido de memorias. Una ves que la información se encuentre visualizada podemos hacer las comprobaciones pertinentes. Copiar a la EPROM contenido de la RAM. Copia a la EPROM lo que se encuentra almacenado en la memoria RAM esta es la funcion principal para la que fue diseñado el programador. ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Capítulo. 3: Diseño de Software ______________________________________________________________________ 46 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Leer EPROM. Esta opción es muy parecida a Leer RAM utilizando la misma técnica obtenemos información visual del contenido de la EPROM. Comprobar contenido de la EPROM. Compara el contenido almacenado en el buffer de memoria RAM con el que contenido de la EPROM. Comprobar que la EPROM esta vacía. Como la etiqueta lo indica comprueba que todas las posiciones de la memoria se encuentran a cero. 3.5 Análisis de costo. El análisis que se muestra a continuación es un desglose del costo de los componentes mano de obra y gastos de electricidad requeridos para la confección del prototipo. Tabla 3.1 Listado de precios (USD) de los componentes del prototipo Descripción Cantidad Precio Total Transformador 1ф 110/45 V, 100 VA 1 8.87 8.87 Resistor 10 kΩ 1/8 W 5% 1 0.04 0.04 Resistor 8.2 kΩ 1/8 W 5% 1 0.04 0.04 Resistor 5.8 kΩ 1/8 W 5% 1 0.04 0.04 Resistor 2.2 kΩ 1/8 W 5% 20 0.04 0.8 Resistor 1 kΩ 1/8 W 5% 57 0.04 2.28 Resistor 90 Ω 1/8 W 5% 1 0.04 0.04 Resistor 240 Ω 2 W 5% 1 0.26 0.26 Potenciometro multivueltas 47 kΩ 2 1.96 3.92 Capacitor electrolítico 1000 µF/25 V 4 0.10 0.40 Capacitor no polarizado 0.47 µF 1 0.10 0.10 Capacitor electrolítico 470µF/16 V 3 0.05 0.15 Transistor BD 135 1 0.20 0.20 Transistor BC 548 19 0.12 2.28 Transistor BC 547 19 0.12 2.28 Transistor A 490 3 0.25 0.75 Transistor E1 3005 2 0.25 0.50 Capítulo. 3: Diseño de Software ______________________________________________________________________ 47 ____________________________________________________________________________________ Oscar Riego Morales Trabajo de Diploma Regulador monolitico 7805 1 1.40 1.40 CI 75188 1 0.80 0.80 CI 75189 1 0.80 0.80 CI 74LS00 2 0.70 1.40 Microcontrolador 80C51 1 21.84 21.84 CI 82C55 1 11.62 11.62 CI 74LS373 1 1.95 1.95 Memoria ROM 27128 1 6.47 6.47 Memoria RAM MCM6206 1 7.80 7.80 Push boton 1 4.01 4.01 Placa impreso - - 17.81 Rackner para el montaje 1 20.00 20.00 Costo de componentes (USD) 118.85 Otros Gastos: Mano de Obra _________ 60 USD Electricidad _________ 5.40 USD Total _________ 65.40 USD Costo Total = Costo de componentes + Otros gastos = 118.85 + 65.40 Costo Total = 184.25 USD Conclusiones 48 CONCLUSIONES Con el desarrollo de este trabajo hemos podido llevar a la práctica los conocimientos adquiridos en la asignatura de microprocesadores, electrónica digital, electrónica analógica y en general de los conocimientos adquiridos a lo largo de la carrera. Además hemos estudiado de manera autodidacta los temas que se nos han presentados en el transcurso del trabajo, cumpliendo así uno de los requisitos de todo estudiante universitario Consideramos que se han cumplido los objetivos propuestos para la realización del trabajo de modo que podemos arribar a las siguientes conclusiones: • El capítulo 2 constituye una valiosa información pues en el se realiza un análisis profundo del funcionamiento de cada uno de los circuitos diseñados, plasmándose en cada caso la metodología de calculo empleada. Por lo tanto, él capítulo en si constituye una documentación técnica, del programador construido, de gran utilidad para el personal técnico encargado de acometer reparaciones y/o montaje y puesta a punto de técnicas similares. • Se realizó el montaje, puesta a punto y ensamble de todos los módulos que conforman el programador llegándose a confeccionar un prototipo, que fue sometido a pruebas de las cuales se obtuvieron excelentes resultados. • Para el trabajo con el software se confeccionó un manual de uso que servirá de guía a los técnicos encargados de operar con dicho dispositivo. . Oscar Riego Morales Trabajo de Diploma Recomendaciones 49 RECOMENDACIONES Nuestro trabajo ha sido terminado satisfactoriamente, y el objetivo fundamental es que ya esté en un nivel tal que su uso satisfaga las necesidades de dicha empresa. Pero además deseamos brindar las siguientes recomendaciones: 1. Utilizar otro 8255 para conectar teclado y display con el objetivo de convertir el dispositivo en un programador autónomo. Y de esta forma no tener la necesidad de utilizar una PC. 2. Ampliar las posibilidades del equipo para que el mismo tenga la opción de programar un banco de memorias completo. . Oscar Riego Morales Trabajo de Diploma Bibliografías ______________________________________________________________________ 50 BIBLIOGRAFIAS. Angulo Usategui, J.M.. Microprocesadores y Microcontroladores 8085, MS51 y ST6, Editorial: Paraninfo, 1993 González Vázquez, José A. Introducción a los Microcontroladores, Editorial: McGraw-Hill Intel ®. Manual de Microcontroladores Millman – Halkias. Integrated Electronics, Internacional Student Edition Millman, Jacob. Electronic Devices and circuits, Edicion Revolucionaria Isntirtuto cubano del libro Odant, Bernard. Microcontroladores 8051 y 8052, Editorial: Parninfo Torres Portero, Manuel. Microprocesadores y Microcontroladoresaplicados a la Industria, Editorial: Paraninfo Vega, Alejandro. Manual de Microcontroladores 8051, 1999 Wakerly, John F. Diseño digital principios y practicas, Editorial: Prentice Hall Zerquera Izquierdo, M. Diseño de transformadores, Universidad central (folleto) Data sheets consultados: SN 75188 Texas Instruments application note septiembre 1983. SN 75189 Texas Instruments application note septiembre 1983. SN 74LS373 Texas Instruments application note october 2002. Oscar Riego Morales Trabajo de Diploma. Referencias Bibliográficas ______________________________________________________________________ 51 REFERENCIAS BIBLIOGRAFICAS González Vázquez, José A. Velocidad de comunicación: Comunicaciones. En: Introducción a los Microcontroladores, Editorial: McGraw-Hill Martínez Laguardia, Alain (2001). Arrancador digital de Motores de Inducción asincronos, Tesis, Universidad Central de las Villas, Cuba Oliveras Rivas, Liliana (2003). http://www.monografias.com/EPROMs-Monografias-com.htm. 5 de mayo del 2004 Oscar Riego Morales Trabajo de Diploma. Glosario _____________________________________________________________________ 52 GLOSARIO A ABS Automatic Burner System, Sistema Automático de Quemadores. ALE Address Latch Enable, Habilitar Pestaña de Dirección. C CCITT International Consultative Committee for Telegraphy and Telephony, Comité Consultivo Internacional Telegráfico y Telefónico. CD-R Recordable Compact Disc, Disco Compacto Regrabable. CPU Central Processing Unit, Unidad Central de Procesamiento. CTE Central TErmoeléctrica. D DB Data Bus, Bus de Datos. DCE Data Communications Equipment, Equipo de Comunicación de Datos. DIP Dual In line Package, Paquete dual en-línea. DTE Data Terminal Equipment, Equipo Terminal de Datos. E EIA Electronics Industry Association, Asociación de Industrias Electrónicas. EPROM Erasable Programmable Read-Only Memory, ROM de Programación Borrable. F FAMOS Floating Gate Avalanche-Injection Metal-Oxide Semiconductor. FET Field Effect Transistor, Transistor de Efecto Campo. G GE General Electric Oscar Riego Morales. Trabajo de Diploma Glosario _____________________________________________________________________ 53 I IE Interrupt enable. L LED Light Emitting Diode M MOS Metal-Oxide Semiconductor. P PC Personal Computer, Ordenador Personal. R RAM Random Access Memory, Memoria de Acceso Aleatorio. ROM Read Only Memory, Memoria de Sólo Lectura. RS232 Recommended Standard, Estándar Recomendado. RXD Receive Data, Recibir Dato. S SEN Sistema Electroenergético Nacional. SCON Serial Port Control Register, Registro de control y estado de puerto serie T TH1 Timer 1 parte Alta. TL1 Timer 1 parte baja. TMOD Timer Counter Mode Control Register. TTL Transistor-Transistor Logic. TXD Transmit Data, Transmitir Dato. TCON Timer Counter Control Register, Registro direccionable bit a bit. Oscar Riego Morales. Trabajo de Diploma Glosario _____________________________________________________________________ 54 U UART Universal Asynchronous Receiver Transmitter, Receptor Transmisor Universal Asíncrono. V VI Virtual Instrument, Instrumento Virtual. Oscar Riego Morales. Trabajo de Diploma ANEXOS 2 Figura 1: Circuito del Bloque de control. ANEXO 2 Figura 2: Circuito de la Fuente. ANEXO 2 Figura 3 Bloque de Lectura. ANEXO 2 Figura 4 Bloque de Programación. ANEXO 3 Figura 5 Trasladador de Nivel (TN). ANEXOS 3 El núcleo utilizado para el transformador que alimenta la fuente, aparece en la figura 2.4 y sus dimensiones se dan a continuación. l = 2.2 cm = 0.866 in a = 2.2 cm = 0.866 in dw = 1.1 cm = 0.433 in hw = 3.3 cm = 1.299 in Figura 2.5. Núcleo del transformador. Para el cálculo del transformado