A 2, UNIVERSIDAD NACIONAL AUTONOMA DE ; MEXICO FACULTAD DE INGENIERIA DISEÑO DI UN CONTROLADOR DE PROCESOS INDUSTRIALES UTILIZANDO EL MICROCONTROLADOR 8031 T E S l S QUE PARA OBTENER EL TITULO DE: INGENIERO MECANICO ELECTRICISTA PR ES E N TO OA:'N ALEJANDRO E CASTAREDA MONTES DAVID GALVAN MARTINEZ JORGE RAPHAEL KOBY Director de Tesis: img. Ernesto Suárez Sport MEXICO, D. F, FALLA DE ORIGEN 1991 J.-7- ~ ~ I RSI AD I NAL A E i EXKO LTAD E I NIERIA I O lm N 'l'IWLADOB E H CESOS J 8'l'HI J ... E8 'l'I l DO L ~llCROCON'l'HOLXDOH Hrnll s s E A TENER O E: I O ECÁNICO CTRICISTA R SENTAN J RO . flEDA ONTES VID LVAN ARTINEZ GE PHAEL BY irector e esis: ln . rnesto árez port Ex1co. . . ( r~ K 02a"' l 1 UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis está protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. DEDICATORIAS A MIS PADRES: Por todo el cariño y comprensión que me han brindado a lo largo de mi vida y sin los cuales no podría ser lo que ahora soy. A MIS HERMANOS: Por saberme entender y darme el ejemplo a seguir. AELOISA: Por todo el cariño, apoyo y motivación que me ha brindado. A FAMILIARES V AMIGOS: Por que han sido una parte fundamental a lo largo de toda mi vida, tanto como persona y como estudiante, y sobre todo por la gran amistad e interés mostrado.s durante todo este tiempo ALEJANDRO A MIS PADRES; Manuel y Josefina, por compartir conmigo su experiencia; enseñándome que con los errores se aprende más que con los aciertos, así como por toda la confianza que depositaron en mí. A MIS HERMANOS; Guadalupe, Alejandra, Eduardo, Victor y Carlos; por su incondicional apoyo en los momentos dificiles. Con gran admiración y respeto a la Memoria de mis Abuelos; y en especial a la de mi Tío "Rafa". A MIS FAMILIARES Y AMIGOS: Por la ayuda desinteresada que siempre me han dado. A LOS "IMPONDERABLES": Por que con ellos he retomado el verdadero valor de la amistad. DAVID Con especial cariño y admiración a mis Padres, Germán y Geraldine, por su gran apoyo, cariño y comprensión. Y principalmente porque gracias a ellos he llegado a ser quien soy. A mi hermano Germán, por ser como es. To my Grandpa, for being such a great pal, anda great human being. A todas aquellas grandes personas que me han motivado a lo largo de mi vida. JORGE AGRADECIMIENTOS Queremos hacer patente nuestro muy especial agradecimiento al lng. Ernesto Suárez Sport, por su incondicional apoyo, dedicación y tiempo otorgados para la concepción, desarrollo y culminación del presente trabajo. Pero sobre todo por su amistad. A la lng. Lourdes Peña Lartigue, por sus valiosos conocimientos. tiempo y apoyo concedidos al desarrollo de la presente tesis. INDICE 1 N DICE INTRODUCCION ....................... . 1.DESCRIPCION GENERAL DE UN PROCESO INDUSTRIAL INTRODUCCION • • . . . . . . . . . . . . . . . . . . . DESCRIPCION DE LOS ELEMENTOS DE UN PROCESO INDUSTRIAL ................•...•.. ELEMENTOS QUE INTEGRAN UN PROCESO INDUSTRIAL Almacenamiento de Materia Prima. Procesamiento Inicial. . . Procesamiento Intermedio. Procesamiento Final. Almacenamiento del Producto. CLASIFICACION DE INDUSTRIAS Por su Tamaño. Por su Producto. EL CONTROL EN LA INDUSTRIA IDENTIFICACION DE PARAMETROS A CONTROLAR Identificación de Variables en las Etapas Comunes a todo Proceso Industrial. . . . . . . • . . . . . . . Area de almacenamiento de materia prima. Areas de procesamiento. . . • . • . . . . • Area de almacenamiento de producto final. • . 1 .3 . 3 . .• 4 .5 .5 .6 . 6 . 7 .8 .9 . 9 12 13 14 15 15 16 16 Transportación entre etapas del proceso. 16 TIPOS DE CONTROL DE VARIABLES 17 Control Manual. 17 Control Automático. 17 Control Semiautomático. 17 2.ELEMENTOS DE CONTROL 19 ESQUEMAS DE CONTROL . 20 Sistemas de Control de Lazo Cerrado. 20 Sistemas de Control de Lazo Abierto. 21 Sistemas de Control Adaptivos. 22 Esquema Real de Control. . 22 TIPOS DE CONTROLADORES 22 Controladores de Funcionamiento Autónomo. 23 Controladores Electrónicos. 23 ACCIONES DE CONTROL . . 23 Controles de Dos Posiciones. 23 Controles Proporcionales. 24 Controles Integrales. . . . 24 Controles Proporcionales e Integrales. 25 Controles Proporcionales y Derivativos (PD). 25 Controladores Proporcionales Derivativos e Integrales (PID). 26 SISTEMAS DE TIEMPO REAL . . . . . . . . . . . . 27 TIPOS DE SISTEMAS DE CONTROL ELECTRONICO 29 CLASIFICACION Y CARACTERISTICAS DE SISTEMAS DIGITALES ...........................•.• 30 Sistemas de Control Regulador. . ..•.•....•...•..• 31 Sistemas de Control Supervisor. . .......•..•••..•. 31 CONTROLADORES PROGRAMABLES ..........•..•.. 31 3.DESCRIPCION GENERAL DEL SISTEMA .............. 35 CARACTERISTICAS DE UN ESQUEMA DE CONTROL AUTOMATICO ...•.......•..••....•...•... 35 DESCRIPCION GENERAL DEL SISTEMA DE CONTROL ...•.•. 37 PLANTEAMIENTO DE LAS RESTRICCIONES DEL SISTEMA ... 41 4.DESCRIPCION DE LA UNIDAD DE PROCESO LOCAL (UPL) ... 43 INTRODUCCION . . . . . . . . . . . . . . . • . . . . . . . . . . • 43 LA UNIDAD DE PROCESO LOCAL (UPL) ........••.... 44 DESCRIPCION DEL HARDWARE DEL PROTOTIPO . . • • • . • . . 45 CONSIDERACIONES DEL SOFTWARE PARA LA UPL .•..•... 48 Conceptos importantes que debe considerar el programador de la UPL. ..........................•.• 49 Consideraciones del software al nivel ensamblador. . .....•. 51 5.UNIDAD DE COMUNICACION CENTRAL (UCC) .......... 54 INTRODUCCION . . . . . . . . . . . . . • . . . . . . • . . . . . . 54 DESCRIPCION DE LA FORMA EN QUE SE LLEVA A CABO LA COMUNICACION ENTRE LA UCC Y LAS DIFERENTES UPLs ...• 54 OPERACION DEL CONTROL DE ENLACE DE DATOS (DLC) .••. 56 Tipos de Protocolos de Comunicación. . . . . . . . . • • . . . • 57 Protocolo controlado por byte (BCP). • . . . . . • . . . . • . . 57 Protocolos orientados por bit (BOP). 59 Comparación entre los Protocolos. 63 DESCRIPCION DEL DISPOSITIVO DE INTERCONEXION ENTRE LA UCC Y LAS DIFERENTES UPLs . . . . . . . 64 Descripción de la Arquitectura del MPSC-8274. . . . . . 68 Descripción General de la Programación del MPSC-8274. 73 Transmisión en el modo de interrupción. 73 Recepción en el modo de interrupción. . 74 6.LA UNIDAD DE PROCESAMIENTO CENTRAL 80 ARQUITECTURA DE LA COMPUTADORA PERSONAL IBM XT 80 Microprocesador 8088. 80 Circuttos de Reloj. 80 Bus del Sistema. . 81 Memoria ROM (Read Only Memory). . . . 82 Memoria RAM (Random Access Memory). 82 Contador de Tiempo. 83 DMA (Dlrect Memory Access). 83 Interrupciones. . . . . . 83 Operaciones del Bus. 83 Ciclo de lectura a un puerto de entrada/salida. 84 Ciclo de escrttura a un puerto de entrada/salida. 85 Comunicación síncrona y asíncrona. . . 85 TARJETA DE ADQUISICION DE DATOS . . . 86 SOFTWARE PARA EL CONTROL DE SISTEMAS EN LINEA . 89 Técnicas Básicas. . 90 Sistemas en línea. 90 Definición de software en tiempo real. 90 Sistema de adquisición de datos. 91 Multiprogramación. . . . . . . . 92 Programas residentes en memoria. 92 SOFTWARE EN LINEA PARA COMPUTADORAS PERSONALES 93 Sistema Operativo DOS (Disk Operating System). 93 Desarrollo del Software de la UPC. 94 Adquisición de datos. . . . . . 95 Procesamiento de información. 96 Manejo y control de video. 96 Manejo y control de impresión. 96 7.PROCESAMIENTO ANALOGICO/DIGITAL CON MICROCONTROLADORES DE LA FAMILIA MCS·51 DE INTEL 97 INTRODUCCION . . . . . . . . . . . . . . . . . . . . 97 TECNICA DE CONVERSION POR APROXIMACIONES SUCESIVAS . . . . . . . . . . . . . . . . . . . . . . . . 97 CONVERTIDOR INTEGRADOR DE PENOIENTE DOBLE .104 USANDO EL 0031 CON TRANSDUCTORES RESONANTES . 109 Introducción. . . . . . . . . . . . . . . . . . 109 Conectando el Transductor Digital al 8031. .110 Estructura Temporizador/Contador en el 8031. . 11 o Criterio para Medir la Frecuencia o el Período. . . . 111 Mediciones de la Frecuencia del Transductor. . .. 112 Mediciones del Período del Transductor. . .. 114 Mediciones para el Ancho del Pulso. • ... 117 Exact~ud y Resolución. .118 &.DISEÑO DE SISTEMAS CON MICROCONTROLADORES PARA AMBIENTES ELECTRICAMENTE RUIDOSOS . 119 SINTOMAS DE LOS PROBLEMAS DE RUIDO .•......•... 119 TIPOS Y FUENTES DE RUIDO ELECTRICO • . . . .120 Transitorios en la Unea de Suministro. • . . . . . • 120 Pulsos Electrómagneticos (PEM) e lnterterencia por Radio· Frecuencia (IRF). . • . • . • . . • • . . •• 120 Descarga Electrostática (DES). • .121 Corriente de narra. Ruido 'Radiado' y Ruido •conducido'. SIMULANDO EL AMBIENTE . • • . • . TIPOS DE FALLAS Y MECANISMOS DE FALLA • METODOS PREVENTIVOS . . Lazos de Corriente. Blindaje. . .....• Blindaje contra acoplamiento capacitivo. Blindaje contra acoplamiento Inductivo. . • . Blindaje contra IRF. narras ..•••.... • .121 .121 .121 . .122 .. 123 . .. 123 . .. 123 • •• 124 : .. 124 • ••••• 128 • .•••. 131 narra de seguridad. • • . • . . • . • • . • • • . • • • • • • • • 131 Tierra de señal. . Aterrizaje práctico. Cable trenzado. . .131 .132 . .134 Distribución y Desacople de la Fuente de Poder. . . • . . .134 Como seleccionar el valor del capacitor de desacople. . .135 El caso para regulación de voltaje en la misma tarjeta. . .136 Recuperándose Adecuadamente de una Falla del Software. . .136 CONCLUSIONES BIBLIOGRAFIA APENDICEA LA FAMILIA DE MICROCONTROLADORES MCS-51 DE INTEL APENDICE B CARACTERISTICAS GENERALES DEL MPSC-8274 APENDICEC DISPOSITIVOS EMPLEADOS APENDICE D RUTINAS DE INTERRUPCION: ROM BIOS Y DOS APENDICEE SISTEMAS DE RESPALDO CON BATERIA PARA EL BOC31BH APENDICEF EJEMPLO DE UN TRANSDUCTOR RESONANTE INTROOUCCION INTRODUCCION Al momento de hablar acerca de la interacción de una computadora con un ambiente productivo, inmediatamente surge la idea de automatizar dicho ambiente; es decir, emplear diversos elementos de cómputo, así como su hardware asociado, a fin de ejecutar ciertas acciones precisas en momentos críticos de un proceso. Al efectuar esto, se pretende simplificar, al máximo posible, la toma de decisiones por parte del usuario. Considerando lo anterior, nos conduce a pensar que en un futuro cercano, competir industrialmente requerirá de una nueva concepción empresarial, misma que contemple la adopción de tecnologías vanguardistas tales como la automatización y sistematización de la producción. En lo referente a los procesos productivos desarrollados en serie, es una realidad patente que la automatización es una fuerte tendencia que gana cada vez más terreno en todos los sectores industriales. A este respecto, la electrónica ha permitido reducir la Intervención del ser humano en ciertas labores, primordialmente del tipo mecánico, en base a la utilización de sofisticados equipos, que si bien internamente son más complejos, ofrecen una mayor versatilidad para el usuario. De esta forma en las instalaciones industriales recientes. se combinan la automatización y la mano de obra sin alta especialización, a fin de reducir los costos de producción. Como se desprende de lo anterior, el tratar de implantar un esquema productivo a nivel industrial que cuente con las características ya mencionadas, requiere de una inversión muy elevada. De tal forma, que en el presente trabajo se propondrá un Sistema de automatización que permita tener el control de ciertas etapas que conforman un proceso industrial, con una cierta reducción en cuanto al hardware asociado al mismo y en consecuencia lograr una reducción en cuanto a los costos del Sistema. Es importante hacer notar. nuestro trabajo estará enfocado al estudio relacionado con la interacción que surge entre el usuario del Sistema y las diferentes etapas, susceptibles de controlar. que componen un proceso industial determinado, es decir, que para el desarrollo del Sistema se considera que las señales provenientes del sensado y control de las mismas, son señales limpias (ideales) de tal manera que se tienen señales que están completamente disponibles para ser procesadas directamente por el Sistema. De igual forma, se pretende que el Sistema pueda ser adaptado de acuerdo a las características y requerimientos de la lndustría bajo estudio, esto es, que con la misma estructura de hardware propuesta se pueda adaptar sin ningún problema a las características de la industria de tal forma que la única variante entre la adaptación entre cada industria en partícular sea el desarrollo de un software especializado para cada una de las mismas. Estudios posteriores permitirán hacer un análisis más profundo de las INTAODUCCION señales en forma real, en los cuales si se tienen que tomar en cuenta conceptos como el de tipo de señal, acoplamiento de la señal, etc, de tal manera que puedan ser elegidos los dispositivos de adquisición de datos (transductores, amplificadores de acoplamiento, etc) en forma rápida y de acuerdo a las características de cada una de las industrías bajo estudio. En resúmen se puede decir, que una de las limitantes del Sistema es la etapa de acondicionamiento de señales, ya que se espera que en el uso real, la industria contemple la definición de los tansductores y actuadores, de acuerdo a sus propias necesidades, y apegándose a las características del Sistema de adquisición de datos diseñada. Por lo que respecta al tratamiento temático desarrollado en esta memoria, el primer Capítulo estará destinado a establecer un marco teórico en el que se desenvuelven los procesos industriales en general; en el Capítulo segundo se hace una descripción de algunos conceptos relacionados con la teoría de control; el tercer Capítulo esta orientado a dar una descripción muy general del Sistema propuesto (Controlador de Procesos Industriales basado en el Microcontrolador 8031 de lntel); los Capítulos cuatro, cinco y seis están destinados al estudio y descripción en forma más detallada de los diferentes módulos o elementos que integran el Sistema; el Capítulo siete reseñan las estrategias a seguir para el diseño de Sistemas que operan en ambientes industriales, esto es, en ambientes muy ruidosos; finalmente, el Capítulo ocho está destinado a mencionar dispositivos (para la adquisición de datos provenientes de las variables o parámetros a controlar) que son utilizados actualmente en la Industria y que pueden ser fácilmente adaptados a nuestro Sistema, tales como los Transductores así como ciertos convert- idores analógico-digital (AID). CAPITULO 1 DESCRIPCION GENERAL DE UN PROCESO INDUSTRIAL 1. DESCRIPCION GENERAL DE UN PROCESO INDUSTRIAL 1.1. INTRODUCCION En el agitado mundo en que vivimos, es común encontrar que gran parte de nuestros problemas son resueltos mediante computadoras; sin embargo, en contadas ocasiones nos detenemos a reflexionar que esa clase de equipos están diseñados para ejecutar funciones específicas, mismas que satisfacen ciertas necesidades muy particulares del ser humano. No debemos olvidar que una computadora es un sistema completo de procesamiento que opera por la eficiente interrelación de sus elementos constitutivos, los cuales están centrados en un microprocesador. La historia nos muestra que el mundo industrial ha pasado por diversos períodos tecnológicamente revolucionarios, durante los cuales se ha dado lugar a una fuerte convulsión tanto económica como social. Considerando lo anterior, hoy por hoy las ciencias de la Computación y de la Electrónica, nos sitúan ante una nueva revolución tecnológica, de ritmo pujante y con una civilización dinámica, propia de las sociedades altamente desarrolladas, (la sociedad postindustrial). Lo anteriormente expuesto nos lleva a pensar que para competir industrial· mente, es necesario adoptar técnicas de automatización. Para poder implantar un esquema productivo a nivel industrial, conviene desarrollar ciertas pruebas que tengan por objetivo facilitar el diseño de los equipos destinados a la automatización de un cierto proceso industrial real. Es interesante observar que dentro de las pruebas se destaca la realización de prototipos y la simulación de un proceso determinado. Cabe comentar que esa simulación involucra el análisis de los principales elementos que intervienen en las diferentes etapas en las que se desempeña el proceso en estudio. Si se considera que la simulación es una parte trascendente del desarrollo tecnológico e industrial moderno, es pertinente aprovechar los recursos humanos y materiales. disponibles prácticamente en cualquier centro de trabajo convencional. Por tal motivo, un proyecto de gran interés para los ingenieros. tanto del área de electrónica como de sistemas, consiste en desarrollar un equipo tal. que se pueda convertir en una poderosa herramienta útil en el medio productivo automatizado. Con base en lo anterior, y explotando la revolución provocada por el surgimiento de las computadoras personales, el proyecto que aquí se desarrolla pretende generar un sistema que sea capaz de monitorear y controlar una serie de variables analógicas que estén involucradas directa o indirectamente en la secuencia de un proceso industrial dado. El sistema que aquí se plantea podemos conceptualizarlo de la siguiente forma. DESCRIPCION GENERAL DE UH PROCESO INDUSTRIAi. Una unidad encargada de obtener y procesar en primera instancia la señal analógica generada en la parte correspondiente del proceso industrial en cuestión. Esta unidad se encarga de hacer la conversión ND necesaria para llevar a cabo el análisis de la información del proceso y en base a ella determinar la acción a seguir, tomando como base un software de uso particular a cada parte del proceso industrial en general. Así mismo, se cuenta con una unidad encargada de coordinar todo el flujo de información generado en cada una de las unidades locales a cada subproceso. Esta unidad pasará la información de cada unidad a una computadora personal a través de un cierto protocolo de comunicación. Finalmente, una computadora personal del tipo PC, quien en coordinación con un software específico permitirá al usuario conocer a detalle la forma en que se ha ido generando el proceso en cuestión; todo ello por medio de análisis gráficos o estadísticos del proceso en general o de cada una de sus partes. Desde este equipo, el encargado de supervisar el sistema podrá modificar los parámetros principales sobre los cuales trabajará el sistema. 1.2. DESCRIPCION DE LOS ELEMENTOS DE UN PROCESO INDUSTRIAL Acorde con la historia mundial, las industrias hacen su aparición en los siglos XVIII y XIX con la Revolución Industrial producida por la extensión del comercio y de la mecanización de la industria. La aparición de la máquina de vapor en 1705, perfeccionada por Walt en 1763; de la lanzadera mecánica de Kay en 1773; y de la hiladora de algodón en 1741; entre otros inventos, motivaron el aumento de producción. la disminución de mano de obra y una profunda transformación en los sistemas de producción y de trabajo. Con estos acontecimientos las industrias comenzaron a adquirir gran fuerza al realizar una producción en serie con el empleo de máquinas, dejando atrás la producción artesanal. Este cambio se dió no solo en Europa, sino que se hizo extensivo a todo el mundo. Al dar inicio este nuevo modo de producción, se dio lugar a una serie de transformaciones en la maquinaria y en los métodos de producción que se han vuetto un constante reto para et hombre. Desde ta antigüedad hasta nuestros días el hombre ha neces~ado de medios más electivos para la elaboración de bienes de consumo, con lo que la tecnología a niveles industriales ha tenido a bien actualizarse en todo momento hasta llegar a los métodos más sofisticados para el control de ta industria, involucrando no solo máquinas de vapor, mecánicas, neumáticas e hidráulicas, sino computadoras que realizan rutinas de control preestablecidas por los ingenieros de control de la planta en cuestión. OESCRlpCION GENERAL DE UN PROCESO INDUSTRIAL El empleo de computadoras involucra el uso de dispositivos, generalmente electrónicos. para lograr el control automático que se ha convertido en parte importante e integral de los procesos de manufactura e industriales modernos. En el presente capftulo se desarrollarán diversos conceptos básicos de los procesos industriales, así como una clasificación de los mismos. 1.3. ELEMENTOS QUE INTEGRAN UN PROCESO INDUSTRIAL La figura 1.1 muestra de manera general los elementos que integran a cualquier proceso industrial; en tanto que los diagramas posteriores desglozan cada uno de sus componentes. Como en todo proceso, se necesita de Ja materia prima para comenzar. Dicha materia prima puede ser un producto obtenido del sector primario (esto es, sin ninguna elaboración) o bien un producto elaborado, como por ejemplo papel para bolsas, empaques, etc. La figura 1.1 presenta en conjunto, diferentes bloques que inician con el al- macenamiento de la materia prima, el procesamiento inicial, el procesamiento final y por último el procesamiento del producto terminado. Es importante mencionar que entre cada bloque de procesamiento se tiene la transportación de las diferentes etapas del producto, desde que es materia prima hasta que termina su transformación. Corno se mencionó al inicio del tema, se procederá a explicar los elementos que forman a cada bloque que integra el proceso general. 1.3.1. Almacenamiento de Materia Prima. Una vez que la materia prima ha llegado a Ja industria, se requiere almacenarla, para ello debe someterse a ciertas etapas de control como son: el control de calidad, de inventario, y de pesos y medidas (figura 1.2). Para que la materia prima pueda utilizarse debe pasar por un estricto control de calidad, ya que de no cubrir con las especificaciones necesarias, el producto no tendrá las características deseadas. Es por esto. que si la materia prima no satisface las normas de calidad, deberá ser rechazada. Sin embargo, cuando la materia prima pasa el control de calidad, se somete a otra etapa que es el control de inventario, puesto que se requiere saber continuamente la cantidad de materia prima disponible para Ja elaboración de los DESCRIPCION GENERAL DE UN PROCESO INDUSTRIAL diferentes tipos de producto, y en caso de no ser suficiente, solicitar la compra de más materia prima. En cualquier tipo de proceso, la materia prima se somete a estas etapas, y en la mayoría de los casos, es aquí, donde se controlan los pesos y medidas de la misma para posteriormente comenzar con sus preparación inicial, que forma parte del siguiente bloque como puede verse en la figura 1.1. Es importante hacer notar que las materias primas deben contar con ciertas condiciones ambientales en el lugar donde se almacenan. Estas condiciones son: temperatura, humedad. iluminación, grado de esterilización, entre otras. 1.3.2. Proceaamlento Inicial. En general, un producto requiere de más de una materia prima para su elaboración, por lo cual cada una de las materias primas que se requieran deben someterse a un cierto acondicionamiento individual, para cumplir con los requerimientos de elaboración. Por ejemplo, hablando de una industria alimenticia, en particular la panadera, se requiere que las materias primas para la elaboración del pan, reúnan ciertas condiciones, en las que se encuentren listas para efectuar el proceso de elaboración; como es: el huevo pas- teurizado, la harina cernida y pesada para hacer la mezcla, la levadura tratada a la temperatura óptima, etc. Cada una de estas materias primas ha sufrido una transformación individual, después de la cual serán sometidas a un nuevo control de calidad también individual. (Figura 1.3). Una vez cubierto el control de calidad, se procede a integrar las materias primas adecuadamente para dar lugar a la siguiente etapa de su transformación, que de acuerdo con la figura 1.1 corresponde al procesamiento intermedio. Con respecto a la integración de las materias primas debe quedar claro que ésta puede ser específica para cada producto, y para ello no habrá ningún esquema o formato general a seguir. 1.3.3. Proc:eHmltnto Intermedio. Hasta el momento, no se puede hablar de producto, pero tampoco se puede continuar con el nombre de materia prima, puesto que ya ha sufrido una transformación. Para efectos de un manejo más adecuado del término, se llamará materia prima secun- daria a la materia prima que ha sido transformada en su primera etapa. Una vez realizada la primera transformación, se llevarán a cabo una serie de pasos que involucran el procedimiento específico que conformará el producto terminal. Al cumplirse cada uno de estos pasos se contará con un control de calidad, que permitirá DESCAll'CION OEllllW. DI UN PllOCESO INDUSTRIAi. revisar continuamente, se tengan las condiciones necesarias para que el proceso sea óptimo. Nuevamente debe aclararse que el número de pasos, la tecnología, tiempo y secuencia de los mismos. serán dtterentes y específicos para cada producto, como puede verse en la figura 1.4. Retomando el ejemplo de la industria panadera, existen diversos productos que se elaboran en la misma planta y aunque en esencia las materias primas son comunes a los diferentes productos, éstos tienen una secuencia y procedimiento distintos entre sí. Se puede intuir que para producir pan blanco, se procede de manera dtterente que para hacer bollos. Así como este ejemplo, existen muchos más dependiendo del tipo de industria de que se trate. 1.3.4. Proceaamlento Final. Al terminar el procesamiento intermedio ya se puede hacer mención de un producto terminal, puesto que ha sido sometido a su última transformación de materia secundaria MATERIA PRIMA E3 o T OISTRISUCION Fig. 1.1 Elementos de un proceso industrial DESCRJPCtoN GENERAL DE UN PROCESO INDUSTRLl.L a producto final, y con ésto solo resta envolverlo y/o envasarlo para poder almacenarlo y posteriormente distribuirlo para su venta. Siguiendo estrictamente el diagrama de la figura 1.5, se puede ver que el producto terminado debe acondicionarse, esto es, darle la presentación adecuada para su venta al público. Esta presentación se refiere a su envoltura, envasado, etc. Ya que el producto fue acondicionado, pasa por el control de calidad que permite revisar si realmente es el producto que se esperaba obtener, bajo las condiciones impuestas al principio del proceso. Si el producto fue el deseado, se manejará adecuadamente para su almacenamiento y posterior distribución. 1.3.5. Almacenamiento del Producto. Así como la materia prima necesita almacenarse bajo ciertas condiciones ambien- tales y de control de inventario, el producto final también lo requiere. Cuando el producto llega al almacén, significa que pasará por un control de inventario, en donde debe tenerse en cuenta la lecha de entrada del producto al almacén, ALMACENAMIENTO MATERIA PRIMA E3-E3 +-• -' l 8 DESECHOS ' E3 OESCRlpCIOH GENERAL DE UN PAOCfSO INDUSmlAL puesto que hay productos que tienen fecha de caducidad, o bien la empresa sigue ciertas políticas de conservación de sus productos durante un tiempo determinado, y en el caso que este plazo se venza, el producto no sale a la venta. Ahora bien, las condiciones ambientales del almacén también son muy rigurosas, puesto que los productos necesitan estar en un medio óptimo para no perder sus cualidades. Para esto se mantiene un control de humedad, temperatura, luminosidad, grado de esterilización o pureza del aire, etc.; hasta que el producto se distribuya a los lugares destinados para su venta. En la figura 1.6 pueden verse los elementos que integran el almacenamiento del producto terminado. 1.4. ClASIFICACION DE INDUSTRIAS Debido a que las industrias poseen muchas características que las hacen dHerentes unas de otras, su clasificación es realmente un serio problema, sin embargo, de manera general se puede enunciar la clasificación de industrias básicas, atendiendo a su tamaño y tipo de producto. 1.4.1. Por 1u Tamallo. a) 1ndu11r111 de Producción M111v1. Se dice que se cae en la producción masiva, si se manufactura continuamente un elevado volumen de partes, durante un período de tiempo considerable; algunas autoridades hablan del orden de 100,000 piezas por año, aunque tal cifra puede resultar demasiado restrictiva. En este tipo de industria, el volumen de ventas está bien prestablecido, de tal suerte que la cadencia de producción no depende de pedidos eventuales o particulares. La maquinaria que genera estas partes se selecciona para conformar las piezas mediante varias operaciones. de tal forma que dttícilmente estas máquinas pueden utilizarse para propósitos generales. Dentro de estas piezas que fácilmente pueden reconocerse como partes producidas en forma masiva, están: envases, lápices, automóviles, tuercas, tornillos, guantes, etc. b) lndu1trl11 con Producción Moderada. En la producción moderada, las piezas se hacen en cantidades relativamente grandes y tal vez en forma continua, pero el producto de la fabricación en cuanto a su DESCRIPCIOH OEHfllAL DE UN PROCESO JNOUSmlAL t O PROCESAMIENTO INICIAL .;/>·~,1A E]-8" ( L M A e E N A M, E N T· ·' 9'.; _. _. 8-8- 88·/ .. ~ ~ .. ·. •' .. :i .. ,,M,. Flg, 1.3 Procesamiento Inicial 8 11• . cantidad, puede ser más variable y con frecuencia depende más de los pedidos even· tuales, Aquí la cantidad de piezas que se fabrican puede variar de 25,000 a 100,000 por año dependiendo de su complejidad, Algunos ejemplos de industrias con volúmenes de producción moderada son: edttoriales, equipos de dibujo, partes para aeronaves, y equipos transmisores de radio entre otros, c) lnduatrlH con Producción Umtt.d1, DESCRIPCIOH GENERAL DE UH PROCESO INDUSTRLAL 11 Las industrias con volúmenes de producción limitada, son más flexibles y su volumen de producción consiste en lotes limitados, dependientes de los pedidos y ventas previstas. El equipo que se utiliza es mucho más versátil, aunque requiere de operadores más competentes para llegar a conformar distintas tareas, dependiendo de la pieza o conjunto. El número de piezas por lote varía entre 10 y 100. Estas empresas generalmente trabajan tres o mas productos, fabricándolos en cualquier orden y cantidad dependiendo de la demanda. PROCESAMIENTO INTERMEDIO ~ ~ l t PAOOUCTO TERMINADO ilE2J·····.··.·.·-é·· m 8. 1 , . '.' ~, .PASO .• f . PASO 2 • • . • PASO N l . 1 ' " . . . . .. . ' . 1 • •• . • ,, 1 1 L¡¡,7M~11J 1 Fig. 1.4 Procesamiento Intermedio Algunos ejemplos típicos de industrias con volúmenes de producción !imitada son: la construcción de aeroplanos, autopartes para unidades antiguas, válvulas, manos artificiales para unidades automatizadas, entre otras. DUCRll'CION OENEIW. DE UN l'llOCUO INOUSTlllAL 11 1.4.2. Por 1u Producto. ,. Atendiendo al tipo de producto que se fabrica, las industrias pueden clasificarse como sigue: • Alimentos y procesados de alimentos • Manufacturas eléctricas y electrónicas • Automotriz y transporte PROCESAMIENTO FINAL r¡ .. :~¡11 ~ Lm~.. ~ L¡s.~·r3IJ Fig. 1.5 Producto Final • Accesorios metálicos, plomería, acondicionamiento y refrigeración • Construcción • Mobiliario y trabajo de Ja madera • Productos de piedra, cristal y arcilla • Industria extractiva, etc. DESCRIPCION GENERAL DE UN PROCESO INDUSTRIAL 13 1.5. EL CONTROL EN LA INDUSTRIA En términos generales, casi cualquier máquina o cualquier proceso puede ser automático, pero el uso de los medios de fabricación con tales características depende de los resultados que arroje un previo análisis económico. Entre todos los avances registrados en los últimos 25 años, el más sobresaliente ha sido el uso de máquinas herramienta controladas numéricamente. El control por cinta ALMACENAMIENTO r.::::========+, 1 ... ~~~I_. U...-------' 1 OISTRIBlJ. 11~~,-li-' CONTflOl. DE INVENTAll!O 1 ' J Fig.1.6 Almacenamiento del Producto per1orada, puede aplicarse desde pequeños tornos hasta máquinas fresadoras gigantes. Este avance representa el paso más significativo en el progreso de las máquinas herramienta. avance que durará algunos años; más aún con su perspectiva hacia la concepción y construcción de líneas de producción y máquinas controladas desde un escritorio. Una empresa grande con un personal de ingeniería competente. mediante un juicio apropiado y con una ingeniería de proyecto creativa, puede comprar máquinas herrmienta básicas. cabezales, mandos y otros accesorios para armar máquinas altamente eficientes. El control numérico significó un símbolo de modernización, pero hoy día es una necesidad en la mayoría de los procesos industriales. El control industrial involucra el término automatización que nació de la industria automotriz, al descubrir los métodos usados para controlar automáticamente diversas máquinas enlazadas entre sí, con los sistemas de transferencia de piezas. El control puede aplicarse a una máquina o a una serie de ellas, sea cual sea la complejidad de la secuencia de operaciones necesarias para fabricar un producto. Esta secuencia de operaciones puede incluir la alimentación de la carga a las máquinas. la transferencia del producto de CION DESCRIPCION GENERAL DE UN PROCESO INOUSTRlAL 11 una máquina a otra, las operaciones de inspección y la expulsión final del producto terminado. La automatización normalmente infiere un proceso restrictivo, que solo es aplicable a la pieza o a un producto dado, pero los controles y las máquinas disponen de cierta flexibilidad, para poder trabajar piezas que difieren ligeramente de aquellas para las cuales las máquinas o el proceso hablan sido proyectadas. La coordinación no es necesaria- mente automatización. La automatización implica autocorrección, tal como sucede en los dispositivos para controlar la velocidad de una máquina o en el termostato para controlar la temperatura de una casa. En otras palabras, la automatización proporciona a la máquina cierta capacidad o habilidad, para seleccionar condiciones de operación aceptables y corregirse a sí misma, cuando ciertos límites preescr~os se encuentran excedidas. Una derivación de la mecanización consiste en el control numérico completo del proceso. Por otra parte, se designa como control numérico, el proceso en el cual las máquinas herramienta, se controlan por medio de instrucciones numéricas, que han sido al- macenadas en una cinta perforada o en tarjetas. La automatización es relativamente inflexible, parque se proyecta para un proceso o un producto Individual. En cambio el control numérico es flexible, dado que tanto las máquinas herramienta básicas como las altamente especializadas, se controlan mediante información almacenada y disponible en cualquier momento, y que además, ello no implica la imposibilidad de operar estas máquinas con el elemento humano calificado. En México, contamos con máquinas herramienta controladas numéricamente y también con procesos controlados por computadora; sin embargo, este tipo de tecnología no es de fabricación nacional y por ende su costo es elevado, de tal manera que para muchas industrias es inalcanzable su adquisición. En base a visitas realizadas a diferentes tipos de industrias en México, se ha podido constatar que la mayoría de éstas no están controladas, ni automatizadas en la totalidad del proceso que efectúan. En contraposición a esto, existen industrias transnacionales establecidas en México, que sr cuentan con el respaldo económico para adquirir la tecnología moderna, que las hace contar con ciertas etapas automatizadas y en algunos casos excepcionales. 1.6. IDENTIFICACION DE PARAMETROS A CONTROLAR Así corno es posible identificar ciertas etapas comunes a distintos procesos in- dustriales, también es factible determinar el tipa de variables que se pueden encontrar en cada una de estas etapas. En la mayoría de las procesos industriales, independientemente OESCRIPCfON GENERAL DE UN PROCESO INDUSTRIAL lS de su tipo, se tienen que controlar parámetros tales como temperatura, presión, humedad, posición y nivel, entre otros. La diferencia en el mane¡o que se tenga de estos parámetros, en los diversos procesos, depende del rango en que se deban mantener las variables. En los siguientes párrafos se identificarán estos parámetros en las etapas que resultan ser comunes para todo proceso industrial, así como los distintos tipos de control utilizados. 1.6.1. Identificación de Variables en las Etapas Comunes a todo Proceso Industrial. En el desarrollo del presente capítulo ha sido posible identificar áreas generales que son aplicables a todo proceso industrial, (figura 1.1 ). La investigación permitió detectar los parámetros que más comunmente se presentan en cada una de las áreas generales, así como los métodos utilizados para controlarlos; por lo que en adelante nos avocaremos a describir las variables encontradas en cada etapa. 1.6.1.1. Area de almacenamiento de materia prima. Generalmente, las materias primas utilizadas en la elaboración de ciertos productos, especialmente en la industria alimenticia y farmacéutica, requieren de un gran cuidado de las condiciones ambientales, para asegurar una calidad óptima en el momento de su utilización. Dentro de este rubro, se pueden encontrar las siguientes variables: i) Temperatura. li) Humedad. iii) Presión. iv) Intensidad luminosa. En esta área, es donde se da inicio al proceso de control de calidad dentro de la industria. Toda materia prima es sometida a un reconocimiento de calidad, tanto al entrar el almacén, como al momento de pasar a la etapa de procesamiento inicial. Dependiendo del tipo de materia prima, y del producto a elaborar, las variables involucradas en este punto pueden ser: • Calidad físico-química • Concentración de acidez (PH) • Nivel de fluidos • Peso • Volumen OESCRIPCION GENERAL DE UN PROCESO INOUSTRlAl t 1 1.6.1.2. Areas de procesamiento. De acuerdo a la industria de que se trate, y del producto que se vaya a elaborar, se tendrá la delimitación de las áreas de procesamiento inicial, intermedio y final. Es en esta etapa en donde se puede encontrar la mayor variedad de parámetros a controlar, dependiendo del proceso, como son: i) Velocidad ii) Posición iii) Temperatura iv) Presión v) Fuerza vi) Viscosidad vii) Humedad viii) Nivel de fluidos 1.6.1.3. Area de almacenamiento de producto final. Al igual que ocurre con la materia prima, muchos productos finales requieren de condiciones controladas en el ambiente existente en el área de almacenamiento, para evitar su descomposición o alteración. Por lo que es recomendable verificar las con- diciones de las siguientes variables: i) Temperatura. ii) Presión. iii) Humedad. iv) Intensidad luminosa. 1.6.1.4. Tran1portacl6n entre etapas del proceso. En toda industria, se tiene una infraestructura, (en algunos casos simple y en otros más compleja), para transportar el producto generado en cada área, hasta hacerlo llegar a la etapa siguiente. Dependiendo de la industria, puede ser que esta transportación sea realizada por una persona, o bien a través de sofisticados mecanismos de bandas transportadoras, donde inclusive se puede encontrar la intervención de brazos DE5CRlpCION GENERAL DE UN PROCESO INDUSTRIAL 17 mecánicos. Cualquiera que sea el método utilizado, las variables involucradas en este caso son: i) Posición. ii) Velocidad. 1.7. TIPOS DE CONTROL DE VARIABLES Ya se ha tratado el punto de los distintos tipos de variables físicas, y su posible existencia en todo proceso industrial. Toca ahora abordar la forma en que estos parámetros pueden ser controlados. Existen básicamente tres formas de control: manual, semiautomático y automático; cuya elección dependerá de los recursos de cada empresa y, en muchos casos, de sus políticas. 1.1.1. Control Manual. En la actualidad en muchas de las industrias, gran parte de las variables físicas mencionadas, si no es que todas, son controladas por operadores o supervisores. Este personal se encuentra encargado de revisar continuamente que los parámetros, tanto ambientales como de funcionamiento de los equipos, se encuentren dentro de los rangos de operación y en caso de no ser así, tomar una acción para regularlos. El recurso humano, sin embargo, no siempre reacciona, ante un estado de alarma, con la rapidez necesaria para controlar el proceso, o en su caso detenerlo, sin una considerable pérdida de materia prima. 1.7.2. Control Autom6Uco. Así como existen industrias que controlan manualmente los parámetros que inter- vienen en sus procesos, también las hay en las que la mayoría de sus procesos son controlados automáticamente. Los medios de control automático pueden variar, depen- diendo de la variable a controlar y de los recursos para hacerlo. Los dispositivos más utilizados en el control industrial son los Controladores Programables, así como algunas versiones especiales de computadoras personales. 1.7.3. Control Semiautomático. Un tercer tipo de control es aquél que se encuentra en un punto intermedio entre los dos anteriores, donde se cuenta con dispositivos de detección o sensado, que accionan algún tipo de alarma. Esta clase de sistemas son sólo de detección, ya que no son capaces de tomar ninguna acción correctiva, misma que debe ser tomada por un operador. CAPITUL02 ELEMENTOS DE CONTROL " 2. ELEMENTOS DE CONTROL Como analizamos en el Capítulo 1, en el área de procesos industriales resulta esencial llevar a cabo operaciones de control de ciertas variables (presión, temperatura, humedad, etc.), cuya magnttud debe mantenerse cercana a un valor fijado previamente, llamado punto de calibración. El objetivo primordial de un sistema de control es mantener controlada una o más variables, comparando la señal medida con el valor deseado, y si existe alguna diferencia entre éstos, se debe actuar sobre el proceso hasta lograr minimizar dicha diferencia. La función de control descrita anteriormente, puede realizarse de varias formas, tales como acciones mecánicas, neumáticas, hidráulicas, eléctricas y electromecánicas, ya sean analógicas o digitales. En relación a esto, el control automático de un proceso disminuye en gran medida los errores que pueden ser cometidos por un humano al tomar decisiones inmediatas, y provee la continua respuesta estable en determinado proceso susceptible de pequeños cambios; por lo que el control automático puede definirse como un estado de balance de las condiciones propias del proceso que tienden a sufrir cambios, dependiendo del estado en que éste se encuentre. La figura 2.1 ilustra un diagrama de bloques en el que se muestran los componentes básicos de un sistema de control. VARJASlES DE ENTRADA DE PEFERENCIA 1 ~~~r~-0-NT-R~O-L~~~~ 1 VAAIABLES DE CONTROL PERTURBACIONES l ·" " l LANTA Fig. 2. 1 Diagrama de Bloques de un Sistema de Control 1 1 ! VARW!LES CE SAUDA l ' 1 1 i ' ! : i 1 ELEMENTOS DE CONTROL .. Dichos componentes se clasifican en dispositivos de medición y dispositivos de control; ambos intervienen en el control del sistema, ya que interactúan con las variables y los mecanismos del proceso. El control automático está acompañado por un ciclo de eventos que comienzan con un cambio en la variable controlada y termina con regresar la variable a su nivel de estabilidad. El cambio de estado en la variable, es inevitable porque en esto se basa la acción de control y es la forma en la cual el controlador responde a los cambios de la variable, quedando la selección del modo de control supeditada a una extensa variedad de condiciones, así como la calidad de control deseada. Los conceptos anteriores, servirán de base para que en el presente capítulo se analicen los esquemas básicos de control, algunas clasificaciones de los sistemas de control y por último las ventajas que ofrecen las computadoras personales y los con- troladores programables para el control de procesos industriales. 2.1. ESQUEMAS DE CONTROL Debido a que existen numerosos y muy variados esquemas de control, en esta sección se definirán los de mayor interés para el desarrollo de este trabajo, como son: • Sistemas de Control de Lazo Cerrado • Sistemas de Control de Lazo Abierto • Sistemas de Control Adaptivo • Esquema Real de Control 2.1.1. Sl1tem11 de Control de wo Cerr1do. Un sistema de control de lazo cerr1do o malla cerrada, es aquel en el que la señal de salida tiene efecto directo sobre la acción de control; esto es, los sistemas de control de lazo cerrado son sistemas de control realimentado. La señal de error actuante, que es la diferencia entre la señal de entrada y la de realimentación (que puede ser la señal de salida o una función de ésta), entra al detector o control a manera de reducir el error y llevar la salida del sistema la valor deseado. En otras palabras, el término lazo cerrado implica el uso de acción de realimentación para reducir el error del sistema. La figura 2.2 ilustra un diagrama de bloques de un sistema tipico de control de lazo cerrado. ELEMENTOS DE CONTROL ENTRADA ~ _ ..... c::Jj-.... ~ t ELEMENTO DE MEDICION PLANTA O PROCESO Flg. 2.2 Sistema de Control de Lazo Cerrado 2.1.2. Sistemas de Control de Lazo Abierto. 21 SALIDA .. Los sistemas de control de lazo abierto también llamados de malla abierta, son sistemas de control en los que la salida no tiene efecto sobre la acción de control. Es decir, en un sistema de control de lazo abierto la salida ni se mide ni se realimenta para ser comparada con la entrada. La figura 2.3 muestra la relación entrada-salida de tal sistema. Es conveniente tomar en cuenta que en presencia de perturbaciones, en un sistema de control de lazo abierto no se satisfacen las condiciones de la función que asigna una entrada con una salida en forma determinística. En la práctica, sólo se puede usar el control de lazo abierto, si la relación entre la entrada y la salida es conocida y si no hay perturbaciones internas o externas. ENTRADA I~ PLANTAO ~-O-NTR_:~ _ ..... ~- _-_:-:-~OC-~E~s-o ___ -_-='_ SALIDA .. Flg. 2.3 Sistema de Control de Lazo Abierto ELUlENTOS DE CONTROL 22 2.1.3. Sistemas de Control Adaptlvos. Las características dinámicas de la mayoría de los sistemas de control no son constantes por diversas razones, como el deterioro de los componentes al transcurrir el tiempo o las modificaciones en parámetros o en el medio ambiente. En un sistema de control realimentado se atenúan los efectos de pequeños cambios en las características dinámicas, pero si las modificaciones en los parámetros del sistema y el medio son significativas, el sistema para ser satisfactorio ha de tener la capacidad de adaptación. La adaptación Implica la capacidad de autoajustarse o automodificarse de acuerdo con modificaciones imprevisibles del medio o de la estructura en que trabaja; por lo que a los sistemas que poseen algún nivel de adaptación se les denomina sistemas de control adaptados o adaptlvos. 2.1.4. Esquema Rul dt Control. En todo proceso exísten condiciones o variables fundamentales (temperaturas, presiones, flujos, etc.) que rigen y determinan en gran medida la operación global del proceso y del sistema de producción. Los sistemas de control se Implementan con el fin de manejar dichas variables para mantenerlas el mayor tiempo y tan cerca como sea posible de sus valores especificados. logrando así los objetivos antes mencionados. En un esquema general de control se observa que el lazo de control comienza sensando continuamente la variable clave, mediante el elemento primario de medición (transductor), éste detecta la variable y a partir de ella induce un efecto de tipo mecánico o eléctrico principalmente, que es tomado por el transmisor/indicador para producir la indicación y la se~al transmisible, correspondiente a la magnitud de la variable medida. En el controlador, esta variable se compara con el valor especificado o de referencia, y ante una diferencia, el controlador reconoce la magnitud y signo de la desviación, con tal de definir las acciones destinadas a corregir el valor de la variable de proceso para ajustarlo al valor de referencia. El actuador y el elemento final de control se encargan de efectuar las acciones dictadas por el controlador; el actuador activa el elemento final de control para que maneje adecuadamente aquella energía o material de proceso, que, Interactuando con el medio, modifica y/o mantiene la magnttud de la variable fundamental. U. TIPOS DE CONTROLADORES Los sistemas de control que en la actualidad presentan grandes perspectivas de desarrollo son los Sistemas de Control Eléctricos y Electrónicos, ya que presentan características más deseables para el control de procesos, algunas de las cuales son su alta velocidad de respuesta, gran precisión y sensibilidad, y la disponibilidad de la fuente de suministro de energía necesaria. Los controladores eléctricos y electrónicos son muy versátiles, y en la actualidad muy económicos, debido al desarrollo que han alcanzado ELEMENTOS DE CONTROL 23 en los últimos años, por lo cual su aplicación se ha extendido. Los controladores de esta clase manejan señales de entrada eléctricas, las que provienen de elementos sensores, de donde se acondicionan para que estén de acuerdo a las características del controlador. Las salidas del controlador también son eléctricas, las cuales excitarán actuadores eléctricos, electroneumáticos o electrohidráulicos. Los controladores eléctricos y electrónicos se pueden clasificar en base a dos aspectos: por el tipo de controlador y por el modo de control. Atendiendo a la clasificación anterior, los controladores eléctricos y electrónicos pueden ser de dos tipos: controladores de funcionamiento autónomo y controladores electrónicos. 2.2.1. Controladore1 de Funcionamiento Autónomo. Esta clase de dispositivos obtienen la energía que necesitan para la operación del elemento final de control, así como la de su detector de error, del mismo proceso que están regulando. Lo anterior se logra mediante el uso de un elemento sensor como un diafragma, fuelle, flotador, etc. Típicamente, estos controles son aparatos muy simples y muy empleados en industrias químicas para el control de temperatura, presión, nivel, etc. 2.2.2. Controlldore1 Electrónlco1. El gran desarrollo que han tenido los sistemas electrónicos digitales en las últimas décadas, los ha llevado a ser los sistemas de mayor uso en la actualidad. Con los sistemas digitales se pueden implementar algoritmos de control muy sofisticados, además de los utilizados por los clásicos controles analógicos y por los sistemas neumáticos e hidráulicos. 2.3. ACCIONES DE CONTROL A continuación se explicarán con mayor detalle las acciones de control analógicas más comunes. 2.3.1. controles de 001 Posiciones. En un sistema de control de dos posiciones, también llamado ON/OFF, el elemento accionador tiene solamente dos posiciones fijas, que en muchos casos son simplemente conectado y desconectado. El control de dos posiciones es relativamente simple y económico y, por esta razón, ampliamente utilizado en sistemas de control tanto in- dustriales como domésticos. Sea la señal de salida de control m(t) y la señal de error actuante e(t), en un control de dos posiciones, la señal m(t) permanece en un valor máximo o mínimo, según saa la señal de error actuante, positiva o negativa, de modo que: m(t) = M1 para e(t) > O m(t) = M2 para e(t) < o donde M1 y M2 son constantes. Generalmente el valor mínimo M2 es o bien cero, o -M1. Los controles de dos posiciones son generalmente dispositivos eléctricos, donde habitualmente hay una válvula accionada por un solenoide eléctrico. 2.3.2. Controles Proporclon1l11. Para un control de acción proporcional, la relación entre la salida del controlador m(t) y la señal de error actuante e(t) es: m(t) = Kpe(t) y su función de transferencia es: M(s) ---=Kp E(s) donde Kp se denomina aenalbllldad proporclonal o ganancl1. Cualquiera que sea el mecanismo en sí, y sea cual fuere la potencia que lo alimente, el control proporcinal es esencialmente un amplificador de ganancia ajustable. 2.3.3. Controi. lntegralea. En un control con acc16n Integral, el valor de la salida del controlador m(t) varia proporcionalmente a la señal de error actuante e(t). Es decir: o bien dm(t) --= Kie(t) d(t) ELEMENTOS DE CONTROL 25 m(t) = K;e(t)dt donde K1 es una constante regulable. La función de transferencia del control integral es: M(s) K1 E(s) s SI se duplica el valor de e(t), el valor de m(t) varía dos veces más rápido. Para un error actuante igual a cero, el valor de m(t) se mantiene estacionario. La acción de control integral recibe también el nombre control de reposición. 2.3.4. ControlM Proporcionales e Integrales. La acción de control proporcional e integral queda definida con la siguiente ecuación: m(t) = Kpe(t) + - e(t)dt T¡ o la función de transferencia de control es: M(s) -=Kp(1 +-) E(s) T;s donde Kp representa la sensibilidad proporcional o ganancia, y T1 el tiempo integral. Tanto Kp como T¡ son regulables. El tiempo integral regula la acción de control integral, mientras una modificación en Kp afecta tanto a la parte integral como a la proporcional de la acción de control. Al nverso del tiempo integral se le denomina frecuencia de repo1lcl6n; dicha frecuencia está definida como el número de veces por minuto que se duplica la parte proporcional de la acción de co.1trol. Esta frecuencia se mide en términos de repeticiones por minuto. 2.3.5. Controles Proporclonalea y Derlvat1vo1 (PD). La acción de control proporcional y derivativa queda definida por la siguiente ecuación: !1.ElllNTOS DE CONTllOL de(t) m(t) = Kpe(t) + KpTd-- dt y la función de transferencia es: M(s) -- = Kp(1 + TdS) E(s) donde Kp es la sensibilidad proporcional, y Td el tiempo derivativo. Tanto Kp como T d son regulables. La acción de control derivativa, ocasionalmente denominada control de veloclded, está dada cuando el valor de salida del control es proporcional a la velocidad de variación de la señal de error actuante. El tiempo derivativo T d es el Intervalo de tiempo en el que la acción de velocidad se adelanta al efecto de acción proporcional. Mientras que la acción de control derivativo posee la ventaja de ser anticipadora, también tiene las desventajas de que amplifica las señales de ruido y puede producir efecto de saturación en el actuador. Hay que hacer notar que nunca se puede tener una acción de control derivativo sola, porque este control es efectivo únicamente durante periodos transitorios. 2.3.11. Control1dorea Proporclon1le1 Derlv1Uvo1 e lntegrelea (PID). La combinación de los efectos de acción proporcional, acción de control derivativa y acción de control integral, se llama 1cc16n de control proporclonel dertvauva e Integral. Esta acción combinada tiene las ventajas de cada una de las tres acciones de control individuales. La ecuación de un control con esta acción combinada está dada por: de(t) Kp m(t) = Kpe(t) + KpTd--+ --e(t)dt d(t) T1 o la función de transferencia es: M(s) -- = Kp(1 + TdS +--) E(s) Tis WUEHTOS DE CONTROL 27 donde Kp representa la sensibilidad proporcional, T d el tiempo derivativo y T1 el tiempo integral. La mayor parte de los controles automáticos industriales usan como fuente de potencia la electricidad o un fluido a presión, que puede ser aceite o aire. En base a esto, también pueden clasificarse en controles neumáticos, hidráulicos o electrónicos. El tipo de control a usar, depende de la naturaleza de la planta, y sus condiciones de funcionamiento, incluso condiciones de seguridad, costo, disponibilidad, confiabilidad, precisión, peso y tamaño. 2.4. SISTEMAS DE TIEMPO REAL Los sistemas de tiempo real han adquirido una gran importancia en los últimos años. El dramático descenso en los costos de los circuitos integrados los han hecho accesibles para aplicaciones industriales, comerciales, educativas, domésticas e incluso para diversión. Como ejemplos se pueden mencionar: el sistema de control computarizado de una fábrica de pan, el sistema de control de un motor de pasos, sistemas de seguridad por medio de microcomputadoras, el sistema de ignición de un coche, etc. Cada uno de los sistemas mencionados requieren de un respaldo de programas de acuerdo al tipo de aplicación, de tal manera que es necesario utilizar técnicas de diseño de software que sean útiles en un amplio rango de aplicaciones. Además, también se hace necesario tener conocimientos sobre circuitos integrados. ciertas interfaces de comunicación, etc. Una definición sencilla de un sistema en tiempo real sería la de aquel sistema que responde a la necesidad de actuar en un período de tiempo proporcional a la urgencia de la necesidad. Específicamente el sistema se basa en proporcionar la información necesaria para actuar sobre el mundo real. El tiempo real describe el procesamiento de información de una manera suficiente- mente 'rápida', en la que el resultado del procesamiento está Inmediatamente disponible para controlar el proceso que se está monitoreando. Básicamente cualquier computadora puede configurarse para ejecutar algunas operaciones de tiempo real, el criterio primordial es que la computadora sea capaz de ejecutar una acción específica en un período de tiempo particular. Algunas de las propiedades con las que deben contar los sistemas en tiempo real son: a) Tiempo de Respuesta Adecuado. ELEMENTOS DE CONTROL 28 Un sistema que no reaccione IÓ suficientemente 'rápido' en el medio en el que actúa, no puede considerarse un sistema de tiempo real. Sin embargo se debe considerar que 'rápido' depende del sistema que se trate. Por ejemplo, para controlar el curso de un proyectil el sistema de tiempo real debe reaccionar en unos cuantos milisegundos; una respuesta de dos segundos después, sería crítica. Sin embargo, en un sistema bancario en línea, la respuesta de saldo de cuenta puede tardarse unos cuántos segundos y seguiría siendo 'rápido'. b) El Sistema debe ser lo más Completo y Preciso Poslble. En el sistema se deben de preveer todas las situaciones normales y anormales que pudiesen suceder en cierta parte de un proceso, de tal forma que se les pueda dar la solución más adecuada, aunque en ocasiones se hace muy difícil especificar los re- querimientos de un sistema diseñado para controlar una cierta porción del mundo real, debido al amplio rango de situaciones y condiciones que ocurren en él. Sin embargo, todas aquellas situaciones que se tengan contempladas en el proceso deben de ser tratadas en forma adecuada y precisa, pero además aquellas situaciones que no se tengan contempladas deben ser tratadas rápidamente de tal forma que se les pueda dar la solución más adecuada. e) Conflabllld1d. Se debe pretender que el sistema sea lo más confiable posible, es decir, que en el caso de que se presente una falla en éste, él mismo tenga la capacidad de solucionar de inmediato la falla y que no se presente ninguna alteración en el proceso en curso. Generalmente, este tipo de situaciones se solucionan con el diseño de un sistema redundante, en el cual, se pretende que funcionen en forma paralela ciertos elementos o disposttivos iguales a los que se presenten en el diseño original, esto es, que en el momento que se presente una falla en alguno de los dispositivos que integran el sistema, el dispositivo que se encuentra funcionando en forma paralela entra automáticamente a formar parte del proceso original y es entonces cuando se elimina la posibilidad de paro del proceso y en consecuencia se elimina la posibilidad de alteración del mismo. d) Economl1. En este punto se debe de hacer una evaluación del costo-beneficio del sistema a diseñar. Para poder competir con el diseño de sistemas de control ya hechos, es necesario tomar muy en cuenta este punto, ya que lo que se pretende es hacer alguna acción del proceso con la menor cantidad de dispositivos o elementos, sin dejar a un lado la confiabilidad del sistema, en otras palabras. que sea lo más eficiente posible con la menor cantidad de elementos a interactuar. e) Dlsponlbllldad de los Elementos del Sistema. ELEMENTOS DE CONTROL 2t En el diseño se debe contemplar la disponibilidad de los elementos en el mercado, en específico, en el mercado de México, para que de esta forma se pueda dar soporte o mantenimiento, lo mas rápidamente posible a los componentes que integran el sistema. 2.5. TIPOS DE SISTEMAS DE CONTROL ELECTRONICO En época reciente los sistemas electrónicos de control han tenido un gran auge, ya que sobre otros tipos de sistemas, presentan ventajas tales como: mayor disponibilidad, servicio de mantenimiento fácil, menor tamaño físico, costos de instalación menores, etc. Otra ventaja que presentan los sistemas electrónicos en especial sobre los sistemas neumáticos, es el reemplazo de duetos de transmisión por cables eléctricos, lo cual reduce substancialmente, o bien elimina por completo las pérdidas neumáticas que degradan el rendimiento de las mallas de control. Por otra parte los controles electrónicos pueden ser sintonizados con mayor precisión que otros sistemas. En general, los sistemas de control electrónicos pueden agruparse en dos categorías: controles continuos y controles discretos. Fundamentalmente los controles continuos se han desarrollado para cubrir las necesidades de la Industria de proceso y transformación, y el control discreto en las industrias de manufactura. Los sistemas de control continuo o analógico pueden realizar funciones tales como: control de flujo, temperatura, nivel, presión, etc. Este tipo de controles manipula las variables del proceso para mantenerlas dentro de un rango predeterminado. Por otra parte, los controles discretos o digitales se emplean ampliamente en el control de procesos industriales. Una de las primeras funciones que realizaron este tipo de dispositivos fue la adquisición de datos. En esta clase de aplicaciones se capturan los datos directamente del proceso para ser analizados posteriormente y tabulados. Más tarde los sistemas de control digital tuvieron una aplicación más sofisticada consistente en una acción previsora, en la cual los datos del proceso son empleados para realizar y optimizar los cálculos de las expresiones del algoritmo de control. Estos cálculos proveen los puntos de calibración adecuados para los controladores analógicos que son los que realizan la primera intervención de control dentro del proceso. Por último, el uso más poderoso que representan este tipo de sistemas es el control digital directo (DOC). En este caso, el sistema digital de control captura los datos directamente del proceso, empleando dicha información para resolver ecuaciones que son equivalentes a las funciones analógicas de control; una vez hecho esto, el sistema ajusta los actuadores para efectuar un control regulatorio apropiado. Los puntos de calibración de este tipo de mallas pueden, además, ser suministrados ya sea por el ELEMENTOS DE CONTROL operario o bien por el mismo sistema al realizar una acción supervisora. Las ventajas que presentan los sistemas DDC sobre los controles analógicos reside en la flexibilidad que existe para implementar algoritmos de control más sofisticados que el Proporcional Integral Derivativo. Una desventaja Importante en los sistemas DDC es que cuando se presenta una falla, se afectan todas las mallas de control del proceso. Por esta razón, los sistemas de control digital generalmente cuentan con un resplado analógico para los puntos más críticos del proceso bajo control. 2.6. CLASIFfCACION Y CARACTERISTICAS DE SISTEMAS DIGITALES Los sistemas digitales pueden realizar dtterentes acciones de control dependiendo de su complejidad, sin embargo, si tomamos en cuenta el tipo de funciones que ejecutan, podemos clasificarlos en dos categorías: sistemas de control regulador y sistemas de control supervisor. La figura 2.4 muestra un diagrama de bloques que incluye a estos dos sistemas de control involucrados en un proceso. CONTROL •. SUPERVISOR CONTROL REGULADOR ' '-1-·-T~-N-so_u_c_'°] 1 r ACiuAD0• 11 L_¡¡.~¡1_1 ELEMENTOS DE CONTROL 31 2.6.1. Sistemas de Control Regulador. Este tipo de sistemas, conocidos también como controladores reguladores, aceptan una o varias señales provenientes de uno o varios sensores, con el fin de determinar los ajustes a realizar, si es que hay que efectuar alguno, para mantener los valores críticos del proceso en un entorno cercano a los puntos de calibración, previamente deter- minados. Esencialmente el propósito de este tipo de controladores, es mantener el proceso dentro de los límites especificados de operación. Las características que se encuentran en estos sistemas, son: requerir de un gran número de entradas, muestreo rápido de dichas entradas, computación relativamente veloz, gran número de salidas, equipo de respaldo para fallas, etc. Dentro de esta categoría se incluyen los controladores DOC. 2.6.2. Sistemas de Control supervisor. El propósito fundamental de los sistemas de control supervisor, es determinar las condiciones óptimas de operación del proceso en un Instante dado. Por otra parte, podemos considerar que estos sistemas generalmente son los responsables del procesamiento numérico de la información de acuerdo al algoritmo de control que se esté aplicando, con el fin de obtener el mejor proceso posible. Entre las características que presentan este tipo de sistemas se encuentran: requerir de un menor número de entradas respecto a los controladores reguladores, menor equipo de respaldo, computación y muestreo relativamente lento. Al analizar las características, es fácil suponer que estos controladores permiten la existencia de jerarquías dentro de los sistemas de control, ya que se puede considerar que un sistema regulador puede ser esclavo de un sistema supervisor, siendo éste a su vez esclavo de otro sistema supervisor y así sucesivamente. 2.7. CONTROLADORES PROGRAMABLES Podemos definir un controlador programable como "un aparato electrónico que opera digitalmente, el cual usa una memoria programable para almacenamiento interno de instrucciones que representan funciones lógicas, secuenciales, temporizadas, y de conteo a través de módulos analógicos o digitales de E/S, para varios tipos de máquinas o procesos. Los controladores programables comprenden básicamente los siguientes com- ponentes: interfaces de E/S, procesador, memoria, dispositivos de programación, fuentes de poder, etc. ELEMENTOS DE CONTROL 32 Las interfaces de E/S conectan al controlador con el equipo industrial que será controlado. La interface de entrada recibe el proceso y las señales de la máquina, las convierte a la forma adecuada en que el controlador puede aceptarlas. El procesador tiene tres funciones principales. Ejecuta varias rutinas lógicas, realiza operaciones en las señales de entrada y determina las salidas apropiadas; los programas usados por el procesador para realizar estas funciones son almacenados en la memoria del controlador. Algunos dispositivos de programación son usados para cargar el programa en memoria. Hay dos tipos de éstos que son muy comunes: una terminal CRT o un teclado lógico. El uso de una terminal CRT permite la aplicación de lenguajes de programación para introducir datos a través de un teclado lógico con botones que tienen asignada una función especial. Existen tres tipos básicos de lenguajes de programación usados en controladores programables: diagramas de relevadores de escalera, lenguajes basados en funciones booleanas y lenguajes mnemónicos que son similares a los lenguajes ensambladores. Los diagramas de relevadores de escalera consisten en símbolos que representan contactos abiertos, o cerrados y otros componentes de control de equipo eléctrico. Los lenguajes basados en funciones booleanas, establecen relaciones entre las entradas y salidas del controlador. Estas relaciones incluyen funciones AND, OR e IGUAL. Los lenguajes mnemónicos Incluyen funciones como LOAD, AND, OR y STORE. Estos lenguajes pueden ser usados para programar una variedad de funciones en el controlador incluyendo: 1) Funclonn de control en relevadorea. Estas involucran la generación de una señal de salida, a partir de una o más entradas de acuerdo a una lógica particular, contenida en el contador de programa de la memoria. b) Funciones de tiempo. Usadas para generar por ejemplo, una señal de salida con un retraso específico, después de haber sido recibida una señal de entrada. c) Funciones de conteo. Las cuales son similares a las funciones de tiempo, en las que el contador suma el número de entradas en contacto, y genera una cierta salida programada cuando la suma ha alcanzado una cuenta definida. d) Funciones aritméticas. Como adición, sustracción, multiplicación y división. e) Funciones de control analógico. Con las cuales se habilita el controlador programable directamente de dispositivos analógicos, particularmente de funciones de control proporcional, integral y derivativo. ELEMENTOS DE CONTROL 33 Los controladores programables pueden clasificarse de diversas maneras, una de ellas es en cuanto a su capacidad de entradas y/o salidas: pequeños, medianos y grandes. Aún cuando los controladores programables han avanzado mucho en cuanto a su capacidad, otras áreas comienzan a abrirse paso en este campo de control: las com- putadoras personales de tipo industrial y los dispositivos inteligentes de entrada/salida. En los últimos cinco años, las computadoras personales han proliferado enorme- mente por la diversidad de usos, y han tenido un electo significativo en las oficinas, las escuelas y el hogar. Estas han sido utilizadas en aplicaciones de laboratorio, pero sólo recientemente han sido consideradas para aplicaciones industriales. Esto ha sido posible después de éxitos significativos con las computadoras personales. Ahora bien, es sabido que las computadoras industriales están cambiando, y adquiriendo tales características que permiten prescindir de los controladores programables dedicados a controlar los parámetros indispensables en cualquier tipo de industria. Cuando se tiene la necesidad de efectuar algún tipo de control, se deben considerar dos requerimientos indispensables: la seguridad y la respuesta del sistema, por lo cual es importante distinguir entre computadoras y controladores programables. Generalmente, una computadora está diseñada para procesar grandes volúmenes de datos rápidamente, mientras que un controlador programable está diseñado para controlar una planta con un sistema de respuesta rápida. En un controlador programable podemos distinguir dos elementos: el controlador y las interfaces de entrada/salida. La parte central del sistema es el controlador, el cual es programado para examinar el estado de la planta, decide qué cambios se necesitan hacer y da las órdenes para que la planta cambie su estado. Aunado a esto, los controladores programables modernos pueden almacenar información, y además comunicarla a otros controladores, computadoras o impresoras. Las interfaces de entrada/salida permiten al controlador programable comunicarse con la planta, convertir las señales recibidas en información que el controlador pueda entender y traducir instrucciones de éste a señales de control actuantes. Hasta el momento el controlador es programado en base a diagramas lógicos de relevadores eléctricos. En la actualidad los controladores programables avanzados cuentan con capacidad matemática, permitiéndoles ser usados para procesamiento de señales numéricas. Estos propósitos de diseño indican que un controlador programable es un dispositivo capaz de controlar maquinaria con mínimo esfuerzo y utilizando los componen- tes necesarios para el usuario. La velocidad de procesamiento es razonablemente rápida, pero no tanto como una computadora, porque realiza continuamente una verificación de error para lograr óptima seguridad. ELEMENTOS DE CONTllOI. Una computadora está diseñada para operar en un ambiente limpio y tiene mayor capacidad matemática que un controlador programable sin necesidad de verificar errores, por lo tanto su velocidad de procesamiento es mayor. ta computadora es utilizada para control de maquinaria de tal forma que sirve de guía a los sistemas, donde los controladores programables no tienen suficiente velocidad. SI la computadora es requerida para algoritmos complejos, entonces las entradas a la planta, pasan los datos a la computadora para procesarlos. Para que una computadora pueda usarse en una planta, el usuario requiere de elementos de hardware, además de protegerla ampliamente del ambiente de la industria, a diferencia de un controlador programable, que es un dispositivo más robusto. Muchas fábricas se avocan al uso de las computadoras personales, como dis- positivos de programación, pero en el área de control está restringido su uso a laboratorios, adquisición de datos, etc., manteniéndose en un ambiente limpio y con tiempos de respuesta que no son criticas. · En este momento, la tendencia es incrementar la inclusión de los controladores programables en sistemas de control de procesos y control industrial. Esto involucra la comunicación no solo entre PC y dispositivos directamente involucrados en el control, sino también entre controladores programables de manera individual y con computadoras y equipo periférico tal como Impresoras. CAPITULO 3 DESCRIPCION GENERAL DEL SISTEMA 35 3. DESCRIPCION GENERAL DEL SISTEMA 3.1. CARACTERISTICAS DE UN ESQUEMA DE CONTROL AUTOMATICO Dadas las condiciones de ciertas industrías especializadas en el área de control, ubicadas en nuestro país, se detectaron tres formas básicas de control: • Manuales • Semiautomáticas • Automáticas De acuerdo a lo expuesto en los Capítulos 1 y 2, en donde se hacía referencia a la identificación de parámetros susceptibles de controlar en un proceso industrial, así como de los esquemas típicos de control utilizado en las diferentes industrias, se puede inferir que la industria en México cuenta con sistemas de control manuales con tendencia a ser semiautómaticos; sin embargo, los equipos que se utilizan en muchos casos son antiguos y, en ocasiones, obsoletos. Lo anterior hace surgir la necesidad de automatizar. al máximo posible, la mayoría de los esquemas de control a utilizar en una planta industrial. En referencia a este particular, surgió la idea de estudiar a fondo ese problema que se vive en la industria mexicana, ya que en la actualidad el país podría contar con los elementos necesarios para llevar a cabo esta tarea, es decir. que se puedan implementar sistemas de control industrial altamente automatizados. Todo sistema de control automático puede concebirse básicamente como se muestra en la figura 3.1 . Resulta claro que para controlar cualquier variable en tal esquema de realimentación, es necesario medirla primero. Por tanto, todos los sistemas de control deben contener al menos un instrumento de medición. A su vez, el bloque correspondiente al instrumento de medición se encuentra formado por dos elementos fundamentales, un sensor para la adquisición de la variable sujeta a control y, un transductor para convertir la variable sensada en una señal eléctrica, a fin de facilitar su manejo. El controlador interpreta el cambio en la variable controlada, suministrada por el dispositivo de medición, y realiza la acción controladora necesaria para mantener el balance deseado dentro del proceso. DESCRlpCJON GENERAL DEL SISTEMA M Entrada . l Variable Controlada 1 PROCESO 1 1 t ELEMENTO ANAi INSTRUMENTO DI DE CONTROL Perturbaciones MEDICJON· V•iable di Control dt1Hdo Fig. 3.1 Sistema de Control Automatico En muchas aplicaciones, es un microprocesador el que controla variables mécanlcas tales como la posición o la orientación de un objeto. Para esto se requiere de un dispositivo de salida, generalmente llamado actuador, capaz de traducir señales de control en movimientos mécanicos. El elemento final de control, es el mecanismo que varía las condiciones de la variable a controlar en respuesta a una señal del controlador. Este elemento puede ser una válvula, un apagador, una bomba o un motor. El elemento final de control cierra la malla, proporcionando al proceso la variable ya regulada para ser sensada nuevamente, comenzando un nuevo ciclo. Las variables o par6metro1 físicas que pueden encontrarse en los diversos procesos Industriales suelen ser incompatibles entre sí, con respecto al medio de control o debido a su naturaleza, estas variables pueden ser hidráulicas, mecánicas, neumáticas o eléctricas. La forma más sencilla de interpretar y manejar una variable física, consiste en representarla como una señal eléctrica. Así, una variación en una variable física (cambio de posición, de presión, de temperatura, flujo etc.) puede traducirse en un cambio de voltaje. El dispositivo encargado de realizar este cambio de señales es conocido como transductor eléctrico, precisamente por convertir una señal de naturaleza diversa, en una señal eléctrica. En general. un transductor se define como un dispositivo alimentado por la energía y que dona energía, usualmente en otra forma, a un segundo sistema. Dentro de los transductores se pueden considerar dos tipos de dispositivos: Sensores y Actuadores. DEICRIPCK>N GENPW. DEL SISTE.llA 37 Los sensores, como se explicó anteriormente, se encargan de realizar funciones de monltoreo, es decir, que se encargan de adquirir información sobre las condiciones ~m las que se encuentra la variable bajo control, expresándola generalmente a través de algun cambio en su composición física. Cabe hacer notar que, estos instrumentos simplemente indican la condición del ambiente y sus lecturas no ofrecen ningúna función de control. Por otra parte, el actuador es el elemento del esquema de control (figura 3.1) que recibe la señal del controlador para regular la potencia suministrada al elemento final de control. Es decir, es el elemento (o elementos) del esquema de control que se encarga de ejecutar las acciones mandadas por el controlador. Es necesario aclarar que debido a que las señales que provienen del controlador son de baja potencia, no pueden activar a los elementos finales de control, es por esto que el actuador interviene como interface entre estos y el controlador. 3.2. DESCRIPCION GENERAL DEL SISTEMA DE CONTROL La concepción inicial del Sistema surgió de la necesidad de lograr la automatización de dtterentes esquemas que permitan tener el control sobre ciertas variables que confor- man un proceso industrial determinado. Para lograr este propósito hemos concebido el desarrollo de un sistema conformado por una Unidad de Procesamiento Central (UPC) que a través de una Unidad de Comunicación Central (UCC) podrá comunicarse con diversos módulos de control de variables independientes entre sí, llamados Unidades de Procesamiento Local (UPL). Por lo que se refiere a la definición de la topología del sistema a usar, se planteó en un principio la posibilidad de emplear una topología de red, tipo punto a punto, sin embargo por la necesidad de abatir costos en el cableado y el hardware asociado, así como otros factores como el ruido, se optó por la topología tipo multipunto. La primer opción, como se muestra en la figura 3.2, presenta la desventaja de poseer un protocolo de comunicación muy sencillo, así como mayor rapidez entre otros. En cambio, la desventaja que presenta es de tener mayor susceptibilidad al ruido, mayor costo en el cableado y mayor hardware de interconexión. La segunda opción presenta la ventaja de tener un menor costo en el cableado, menor susceptibilidad al ruido, entre otras. La desventaja que se tiene es el de emplear un protocolo de comunicación mas sofisticado. (Ver figura 3.3.) DESCRIPCION GENERAL DEL SISTEllA y i ·I "ºº 1 - t cF;J cH 1 PROCESO 1 1 PROCESO 1 Fig. 3.2 Configuracion Punto a Punto 1 T Cada una de las Unidades de Procesamiento Local (UPL), se encargarán del monitoreo y control de los diferentes parámetros o variables que intervienen intrínsecamente en un proceso industrial determinado. Estas Unidades semejan el esquema de control automático descrito en los párrafos anteriores (figura 3.1), de tal forma que en estas unidades, por medio de la acción de ciertos transductores (instrumentos de medición) se obtiene la información de las con- diciones que guarda la variable en un momento determinado, con el fin de determinar el tipo de acción que debe llevarse a cabo. A su vez, por medio de un dispositivo controlador (generalmente se utiliza un microprocesador), se interpretan los cambios sucedidos en las condiciones del estado de la variable o parámetro bajo estudio, de tal modo que este pueda tomar las decisiones sobre los ajustes necesarios que deben llevarse a cabo para que el valor del parámetro se mantenga en un entorno cercano a los puntos de calibración previamente establecidos y, de esta manera sostener el balance dentro del proceso industrial. El controlador mediante un dispositivo de salida conocido como actuador, realiza las acciones de control en el proceso. Este dispositivo es capaz de traducir señales de control en movimientos mécanicos. ucc UPL: UPL2 UPLN | PROCESO PROCESO PROCESO Fig. 3.3 Configuracion Multipunto Esencialmente, lo que se pretende con las Unidades de Procesamiento Local es de mantener las variables o parámetros que intervienen en un proceso industrial deter- minado, dentro del rango de operación especificado por la industría misma, Es evidente que la selección de cada uno de los transductores y actuadores empleados en las Unidades de Procesamiento Local están en función directa del tipo de variables o parámetros que se requieran controlar, Las variables que generalmente intervienen en el esquema de un proceso industrial, como se mencionó en el Capítulo 1, son: presión, temperatura, flujo, niveles, velocidad de fluídos y movimientos de almacén, aunque pueden intervenir otro tipo de variables de acuerdo al tipo de industría o proceso que se esté manejando. Nuestro sistema se pretende que pueda manejar cualquier tipo de variable, esto es, que con la misma estructura de hardware (con el transductor y actuador adecuado para cada variable) en cada una de las Unidades de Procesamiento Local se pueda controlar o monitorear cualquier tipo de parámetro o variable, Esto se puede lograr teniendo el respaldo de programas de software de acuerdo al tipo de aplicación o variable que se este manejando en ese momento, es decir, utilizar un software especializado para cada una de las UPLs, DESCRIPCION GENERAL DEL SISTEMA 39 ~ 1 T x ~ l R x T x R x T x R x ·~· L2 1 U P L N 1 t 1 PROCESO 1 l_~ CESO ' i . . onfi uraci n ulti nto sencial ente, e t e n ni des r samiento cal s antener ri l s r etros e n e e n n so ustrial ter- i ado, ntro el o eración ecífi o r l in stría i a. s i nte e l ci n a o ra ctores t ores pleados l ni des r samiento cal t n ci n i t el i ri l s r etros e i r n ntrolar. s ri l s e eral ente n e e n l a so ustrial, o encionó l apítulo , n: r si n, peratura, j . i l s, l i d lu s ovi ientos l acén, que den nir tr ri l s erdo l ustria so e t anejando. uestro e a t e e da anejar alquier ri ble, sto s, e n i a t ct ra r are n l ra uctor t dor cuado ra a ri ble) a a ni des r samiento cal da nvolar onitorear al uier r etro ri ble. sto de rar i o l al o as f are erdo l li i n ri ble e t anejando e omento, s ecir, ti r f are eciali o ra a a Ls. DESCRJPCION GENERAL DEL SISTEMA 40 La Unidad de Procesamiento Central (UPC) estará constituida en general por una computadora personal (PC) compatible con IBM, por medio de la cual se permite tener un contacto directo entre el sistema de control y el usuario del mismo, de tal manera que este último pueda observar el comportamiento del proceso y sus diferentes etapas en un instante o período de tiempo determinados. Por medio de la Unidad de Procesamiento Central (UPC) se podrán realizar o manejar reportes, ya sean gráficos o en forma numerica (análisis estadístico), a cerca de las condiciones que guardan en un periodo de tiempo determinado, los parámetros o variables que se encuentran bajo el control de las daerentes Unidades de Procesamiento Locales, de tal forma que permitirán ana lizar en detalle cada una de las etapas que constituyen el proceso industrial. A través de la computadora personal el usuario del sistema, podrá determinar y fijar el período de adquisición de datos, de tal forma que se puedan obtener las condiciones (análisis estadístico, gráficas o reportes) que guarda el sistema en un cierto período de tiempo previamente establecido por el usuario. Cabe hacer mención de que como en la misma UPC, por medio de la computadora personal, se dará el almacenamiento masivo de la información proveniente de las daerentes Unidades de Procesamiento Local, se podrá obtener la información a cerca de las condiciones en las que se encontraba el sistema en un período de tiempo anterior al que se está trabajando actualmente. Así mismo, por medio de esta misma unidad se podrán manipular y modificar en forma arbitraria los niveles máximos y mínimos de los diversos parámetros que intervienen en el proceso de control. Para llevar a cabo la elaboración de los reportes numericos o gráficos para cada una de las UPLs en un periodo de tiempo determinado, es necesario establecer un esquema de comunicación, en el cual se de la transferencia de información entre la UPC y las diferentes UPLs a través de una Unidad de Comunicación Central, para lo cual se necesita un esquema en el que se pueda dar la comunicación o transferencia de información de dispositivo a dispositivo; además, que se puedan manejar aplicaciones en tiempo real, tales como aquellas que suceden en plantas industriales entre robots en varias estaciones de trabajo. Cabe hacer notar que para llevar a cabo la sincronización entre todos los dispositivos que integran el sistema, es necesario que por medio de la Unidad de Procesamiento Local a través de la computadora personal (PC) se de un reseteo maestro •master reset", de tal manera que en el momento que se encienda el sistema, la primer acción del mismo sea dar este reseteo y de esta forma inicializar las funciones de cada uno de los dispositivos y en consecuencia del sistema en general. Es claro que, el usuario del sistema tiene el control de esta función, es decir, que en el momento que se quiera o necesite se pueda dar inicio a las funciones del sistema. La forma en la que operará la Unidad de Comunicación Central (UCC), como se observa en la figura 3.3, puede definirse bajo dos formas distintas: La primera de ellas se DESCAIPCION GENERAL DEL SISTEMA '1 refiere a la forma de interconexión y función con la Unidad de Procesamiento Central (UPC). En este caso, corno se definió en la topología, la Unidad de Comunicación Central se encontrará a muy poca distancia de la Unidad de Procesamiento Central, de tal manera que Ja forma de comunicación entre estas unidades será a corta distancia, de lo cual se deduce que el modo de comunicación a emplear entre ellas será en paralelo. En este modo de comunicación se presenta la ventaja de poder manejar datos en forma rápida y precisa, esto es , que en este tipo de comunicación se presenta menor inmunidad al ruido lo que permite reducir los posibles errores que surgieran durante Ja transmisión. La segunda forma de operación de la UCC está determinada por su interconexión con las d~erentes Unidades de Procesamiento Local (UPL). Para determinar la forma en Ja que se lleva el intercambio de información entre estas unidades, es necesario definir de acuerdo a la topología adoptada la forma de interconexión. Debido a las características del sistema, la UCC se encontrará a una distancia considerable de las distintas Unidades de Procesamiento Local, por lo cual, para su interconexión se requiere de un cableado extenso y en consecuencia muy costoso. Por lo cual, se decidió emplear una comunicación del tipo aerlal en conflguracl6n muhlpunto (observar la figura 3.3), lo cual nos permite simplificar el cableado del sistema y en consecuencia nos permite tener una reducción muy significativa en cuanto al costo del mismo. Sin embargo, al adoptar esta forma de comunicación nos lleva a la elaboración de un software muy sofisticado. En resúmen se puede decir que el reto que representa nuestro diseño es el de lograr establecer un sistema de comunicación serial que potencialmente pueda enlazar información ya sea que provenga desde cualquiera de las dtterentes Unidades Locales así corno desde la misma Unidad de Procesamiento Central, es decir, lograr establecer un sistema de comunicación en el que se de la transferencia de información se realice en ambos sentidos pero además en forma simultánea. Por otro lado, se debe considerar que este sistema debe ser capaz de trabajar dentro de los ambientes de una oficina, industria y/o laboratorio, lo que significa que se está potencialmente expuesto al ruido. 3.3. PLANTEAMIENTO DE LAS RESTRICCIONES DEL SISTEMA Las restricciones que fueron impuestas al sistema son las siguientes: a) Debido a que la distancia entre la UCC y cada una de las UPLs será de alguna manera considerable (en cada industria depende de las dimensiones de su planta), se debe considerar un estandar o interface de comunicación adecuado para que no se presenten errores en la transmisión ya sea por ruido o por algún otro factor externo. DESCRIPCION GENERAL DEL SISTEMA '2 b) Debido a que el sistema operará en un ambiente industrial estará sometido a una gran cantidad de ruido electromagnético, por lo que el canal de comunicación será conformado por cable coaxial. c) El número de UPLs estará limitado por el protocolo o sistema de enlace de comunicación a emplear, es decir, que depende de la cantidad de unidades que pueda soportar o manejar el esquema de co1nunicación serial. De la misma manera, el número de Unidades de Procesamiento Local a usar depende de las necesidades y características específicas de cada industria, esto es , que este número de unidades es determinado por el tipo y la cantidad de variables o parámetros físicos a controlar en un proceso industrial determinado. d) Se considera que la velocidad de transmisión de información no debe ser muy alta, debido a que la relación entre el porcentaje de error y la velocidad es directamente proporcional. e) La etapa de acondicionamiento de señales no es contemplada en el diseño del Sis- tema, es decir, que se consideran las señales de entrada a los transductores y las señales de salida de los actuadores como limpias (ideales) y en consecuencia directa- mente disponibles para ser procesadas. CAPITULO 4 DESCRIPCIOH DE U. UNIDAD DE PAOCUO LOCAL (UPLj '3 4. DESCRIPCION DE LA UNIDAD DE PROCESO LOCAL (UPL) 4.1. INTRODUCCION Existen algunas necesidades comunes en los sistemas computarizados orientados al control: • Llevar la cuenta del tiempo real elapsado • Mantener una cuenta de las transiciones en las señales • Medir el ancho preciso de los pulsos de entrada • Comunicarse con otros sistemas o gente • Monltoreo cercano de eventos externos asíncronos Hasta ahora, los sistemas basados en microprocesador necesitaban dispositivos periféricos como temporizador/contadores, USARTs o controladores de interrupción para dar cabida a estas necesidades. Gracias a los microcontroladores, es decir a las mtcrocomputadoras de una sola pastilla destinadas a sistemas de control industrial, las necesidades de dispositivos periféricos externos pueden ser encontradas en un sólo dispositivo Los microcontroladores se están convirtiendo rápidamente en la columna vertebral de los sistemas de cómputo en base al silicio. Desde un punto de vista técnico, el atributo más significativo que diferencía un microcontrolador de un microprocesador, además de incluir RAM y ROM, es el manejo de entradas y salidas (E/S). En general el manejo de E/S es una parte íntima de la arquitectura de los microcontroladores. El set de instrucciones y la arquitectura de un microcontrolador permite que el CPU controle directamente las facultades de E/S en el dispositivo. Esto contrasta directamente con el microprocesador donde las E/S son en esencia un 'mar' de direcciones y depende del diseñador del hardware incluir algún tipo tipo de hardware de E/S en este "mar' de E/S. Debe ser obvio que simplemente agregando ROM y RAM a un microprocesador no creará un microcontrolador. Este íntimo contacto con las E/S le dan al microcontrolador una notable ventaja sobre el microprocesador, en aplicaciones donde son intensivas las E/S. Los microcontroladores pueden probar, fijar, complementar o borrar terminales de E/S con mayor rapidez que un microprocesador, y también pueden realizar decisiones basándose en el estado de otras facultades del hardware, tales como temporizador/contadores, con DESCRIPCION Df U. UNIDAD DE PROCESO LOCAL {UPU .. velocidad similar. Esta integración de EJS, en tanto el hardware como el software, hace del microcontrolador un dispositivo 'ideal' para muchos tipos de instrumentación in- teligente. Acerca de la problemática a la que se enfrenta el control digital en tiempo real y en función del sistema, se puede mencionar lo siguiente: a) La eleccl6n de loa aenaorH. Se debe considerar el tipo de variable a medir, la precisión y linealidad del sensor. b) La eleccl6n de loa convertidores. se deben tornar en cuenta factores corno velocidad de conversión, precisión o número de dígitos y la linealidad. e) La eleccl6n de la computadora. Ya que de ésta dependen factores tan importantes como la velocidad de procesamiento del algoritmo de control. Aunado e esto están la capacidad de memoria para almacenar por un lado el programa en sí y les subrutinas de servicio; y por otro, las variables involucradas en el algoritmo y su evolución, si es necesario. d) La eleccl6n d91 periodo de muHtreo. El cual depende de la planta y de los objetivos del control; y afecta en el cálculo de la señal de control. 4.2. LA UNIDAD DE PROCESO LOCAL (UPL) La UPL se diseño alrededor del 8031. Microcomputadora de una sola pastilla, de la familia de microcontroladores MCS-51 de lntel (ver apéndice A). Este dispositivo no sólo cumple con las necesidades comunes de los sistemas computarizados orientados al control, sino que además cuenta con un procesador booleano. Este procesador booleano es el aspecto más importante de la arquitectura de la familia MCS-51, ya que provee un soporte de hardware completo para el manejo de un bit individual. Hay que recordar que los controladores por lo general tienen que ver sobre el estado de un bit y no un byte: en el mundo práctico, los contactos de un interruptor sólo se pueden abrir o cerrar, los indicadores sólo se encienden o se apagan, los motores se encienden o se apagan, etc. lOué se logra con un procesador booleano?. Cualitativamente nada. Las mismas facultades se pueden (y por lo general se han implementado) implementar en otras DESCRIPCION DE LA UNIDAD DE PROCESO LOCAL (UPL) •• máquinas usando complicadas secuencias de otras operaciones básicas. Cualquier CPU puede resolver cualquier problema, dándole el tiempo suficiente. Cuantitativamente las diferencias entre una solución dada con el 8031 y aquellas requeridas por las arquitecturas anteriores, son numerosas. Lo que se logra con el 8031 son soluciones más rápidas, limpias y más económicas a aplicaciones en base a un microcontrolador. El combinar Instrucciones para el procesamiento de bytes y de bits individuales, produce gran poderío. Una aplicación basada en MCS-51 será: • más sencilla de escribir, ya que la arquitectura se correlaciona más íntimamente con el problema a resolver • más fácil de corregir ya que más instrucciones individuales no tienen efectos secundarios no deseados o Inesperados • más eficiencia en el manejo de bytes, debido al direccionamiento directo de bits y un ruteo relativo al contador del programa • una corrida más rápida ya que se tienen que buscar menos bytes por instrucción y se procesan menos saltos condicionados • menor costo por el atto nivel de integración de un sólo componente 4.3. DESCRIPCION DEL HARDWARE DEL PROTOTIPO Es necesario aclarar que, siendo el objetivo del presente trabajo mostrar un sistema de control general, únicamente presentamos la parte de computadora de un sistema de control, por lo que al referirnos a la UPL nos referimos a dicha parte y su interface para el manejo del protocolo HOLC/SOLC. El hardware de la UPL prototipo presenta sencillez, versatilidad, flexibilidad y gran poderío. Debido a la característica general de la UPL se probaron 4 diferentes prototipos de una configuración computadora/controlador basada en el 8031 (ver la figura 4.1). Es necesario recordar que el hardware Interno de un microcontrolador de una sola pastilla, remplaza toda la lógica externa que se emplea para control, temporización, interrupciones, etc. En estas cuatro configuraciones sólo es necesario agregar teclado, display, relevadores, interruptores y las E/S definidas por el usuario (como convertidores O/A y NO) para obtener el producto final. a 1 2 3 “ s + ? ”2.0 L z 3 " H N .. + 3 NM * sa N E HIMIMO SISTEMA COM NOJI SICA W031 COM CXPAMEION DE L/S Ya Pr] DECODIFICACION OC DIME CCIOALS Doe E F P T E E SI 3I EN =8 SR ÁL ON =8 0% SR RI aS ZE y ] FUERTO A uz 33 A 3 PUERTO A tz q n 3 E N S Q U 1 euUIRATO € U-E 9 COMTMOL a r a s PUERTO A. E-S PUTO a LL PLATO e” € 0 ComTioL A Fig.4.1 Ahemativas por el Hardware de la UPL r i !!. 1 i li i e: ~ s~ i~ 1 .. .... .... .... .... .... .. - .... .... ... - ... ~ .. .... .... .... .... .... .... .... .... .... .... .... .... .... .. . 1 ·~ ! ~ '¡ i .. _!~ ! i ; 1 ~ ~" 1" 11' ¡ 1 1 d. 1 i r. ! i 1: 1 ~ ! ···· ···· ··- ..i DESCRIPCION DE U. UNIDAD DE PROCESO LOCAL (UPL) '7 La figura4.1a muestra el sistema básico con 8031: un 8031, una EPROM 2764 para guardar 8K bytes de programa y un latch 74LS373 para demultiplexar el bus de direc- ciones/datos. El sistema cuenta con 128 bytes de RAM, un puerto paralelo de E/S bidireccional, un puerto serial bidireccional, dos temporizador/contador y dos entradas para interrupciones externas. Con un oscilador de 12 MHz, llega a ejecutar la mayoría de las instrucciones en 11,s (o bien 1 millón de instrucciones por segundo). Un sólo puerto de E/S puede examinar un teclado matricial de 16 teclas. Con un bit de salida adicional, puede manejar un display de LCD inteligente de 2 renglones y 20 columnas. Los bits de E/S restantes pueden manejar triacs o FETs de potencia para control de C.D. o C.A. Con un programa en la EPROM se tiene un poderoso controlador de tiempo real. Conectando el puerto serial a un convertidor de nivel RS-232C, se puede tener un puerto serial para control remoto o monitoreo en la computadora principal. Si no se utilizarán el puerto serial, los temporizador/contador y las interrupciones externas, el 8031 puede emplear esos bits especiales como un segundo puerto paralelo de E/S (Puerto 3), por lo que el sistema básico del 8031 puede tener hasta 16 bits de E/S. Cada bit se puede probar, fijar y borrar individualmente bajo el control del software. Si para la aplicación los dos puertos paralelos no son suficientes, la figura 4.1 b muestra lo que se puede hacer para obtener tres más. Agregar un sólo PPI 8255. El puerto C del 8255 puede ser dispuesto para manejo de protocolo, con lo que se tiene la base para un convertidor de formato serial a paralelo o bien 24 bits de E/S adicionales para un controlador más grande. Notase que no se necesitan dispositivos Intermedios entre el 8031 y el 8255. Como el 8255 necesita de las líneas RO' y WR', el puerto 3 del 8031 no está del todo libre. Los 6 bits restantes pueden aún manejar E/S general o sus funciones específicas. Si la aplicación requiere de más de 128 bytes de RAM, la figura 4.1c muestra como obtener 8K bytes de RAM, al agregar una SRAM 6264. Con ella se puede tener un convertidor de formato con "buffer" o un poderoso controlador serial-programable. Una RAM 62256 puede dar hasta 32K bytes Sifl problema alguno y aún sin dispositivos intermedios. Finalmente si se necesita de RAM y E/S adicionales, la figura 4.1d muestra como conectar múltiples integrados de E/S. El decodificador 74LS138 genera las señales de "chip select" para los dispositivos contemplados en el mapa de memoria del 8031, con cada "select" cubriendo el rango de los 8K bytes. El sistema mostrado tiene 16K bytes de RAM y siete puertos bidireccionales de E/S . . El objetivo de presentar estas alternativas radica en que la parte de "computadora" del sistema de control no requiere de un hardware más elaborado. Para una unidad de un tamaño razonable, se invertirá más el tiempo de diseño del hardware en los dispositivos de E/S (v.gr.: convertidores A/D y D/A) que en los circuitos del 8031. Que es exáctamente lo que se busca. OESCRIPCION DE lA UNIDAD DE PROCESO LOCAL (UPL) 41 El mayor beneficio al diseñar con microcontroladores es la facilidad de agregar nuevas características al sistema, sólo con cambiar el programa, no cambiando las conexiones del circuito. Una nueva EPROM le puede dar una nueva personalidad al circuito. La parte restante para implementar el sistema de control completo, necesita de la elección de los dispositivos adicionales que ayuden en esta tarea, y la elección de estos depende de las señales que se van a manipular; en general serán necesarios los sensores, los convertidores y los actuadores que ejecuten las órdenes del controlador para modificar alguna variable de la etapa del proceso al cual está destinada la UPL y conseguir así, los objetivos del control. Se debe señalar que algunos dispositivos requieren de otros para que funcionen como sea necesario; así un convertidor ND necesitará de un dispositivo de S/H ("sample and hold') que le ayude a efectuar la conversión, y un sensor requerirá de otros dispositivos para que traten (acondicionen) la señal entregada por él si así se requiere. El modelo de la etapa del proceso de la planta y las señales de E/S, son la Información básica y necesaria para el diseño de un esquema de control digital en una UPL. Cada etapa del proceso impone el esquema de control de la UPL, y éste los dispositivos que lo constituyen. No puede hablarse de un esquema ideal a una etapa cualquiera, sin haber estudiado suficientemente dicha etapa y sus señales. Para diseñar las UPLs se deben estudiar profundamente, aparte de la etapa y sus señales, su ubicación (medio ambiente) para saber si existen señales que interfieran y destruyan las órdenes de control (ver el capítulo 8, que trata el tema de ruido). 4.4. CONSIDERACIONES DEL SOFTWARE PARA LA UPL La computadora del sistema de control, contiene parte del esquema de control. Y es un programa almacenado en memoria, que es quien va a dirigir las acciones de control. Dicho programa consta de las etapas necesarias para cumplir con los objetivos de control; y de una manera sencilla, este procedimiento o algoritmo de control contempla los siguientes pasos: a) Inicializar todas las variables necesarias del algoritmo. b) Leer la señal de referencia, ya sea de memoria o de algún puerto de entrada. c) Medir la señal de salida de algún puerto de entrada. Lo cual implica considerar el tiempo de sensado y conversión, y acondicionamiento si se requiere. d) Calcular la señal de error con algún criterio adecuado. e) Calcular la señal de control mediante el algoritmo del controlador. DESCRIPCION DE LA UNIDAD DE PROCESO LOCAL IUPL) •t f) Convertir a analógica la señal de control. g) Esperar una señal (período de muestreo) para tomar otra muestra de las señales de referencia y la salida de algún puerto de entrada, para procesarlas nuevamente. h) Volver a b). La manera en que se lleve a cabo la secuencia anterior dependerá de la etapa del proceso, de sus señales, de los objetivos del control y de los dispositivos que componen el esquema, así como del media ambiente. 4.4.1. Concepto• Importantes que debe considerar el programador de la UPL. Para aplicaciones de tareas en tiempo real, el programador debe considerar tomar control de dispositivos de E/S, memoria física, prioridades de tareas, procesamiento de excepciones e integridad de datos. a) Control 1obr• dl1po1ltlvo1 de E/S. El programador debe controlar los dispositivas de E/S para monitorear y controlar los periféricos de la UPL. Para ello se debe de contemplar el manejo de interrupciones. b) Control 1obre memoria tísica. El control sobre la memoria física es necesaria para evitar "swapping" (intercambios automáticos de información entre la memoria y dispositivas de almacenamiento masivos) y controlar el flujo de datos. El programador debe inhibir el swapping e identificar y controlar las áreas de memoria física que sirven para almacenar datos (buffer) de los dispositivos de E/S. El uso de memoria compartida y operaciones asíncronas son necesarias para un trabajo eficiente. c) Control 1obre prioridades. Por otro lado, el programador debe tener control de las prioridades de las tareas, para asegurar que las tareas de tiempo real no serán detenidas por causa de otras tareas de menor importancia. Los mecanismos de control de prioridades permiten al programador decidir y controlar cuál tarea "tomará' el procesador. En un sistema de tiempo real, a cada tarea se le garantiza que en el peor de los retardos. tendrá tiempo suficiente para completar su trabajo. d) Programación de excepclonee. Debido a que la naturaleza de los sistemas en tiempo real no están a salvo de condiciones de error, es necesaria cantar can un nivel adicional de control asíncrona par el programador (esta se conoce cama procesamiento de excepciones). DUCAIPCION DE LA UNIDAD DE PROCESO LOCAL (UPL) 50 En tareas de control interdependientes, la pérdida de control puede resultar fatal y además que la aplicación no concluya con éxito. Esto significa que el programador debe verificar todas las posibles condiciones de error relacionadas con la operación del programa, tales como errores de EJS y errores de 'overflow/underflow' aritméticos. Además, es necesario 'atrapar· otro tipo de errores no concernientes a las operaciones del programa, como son errores en I~ línea de comunicaciones, errores en la memoria y fallas de energía. e) Integridad de datos. La integridad de datos es otro factor sobre el cual el programador debe mantener un riguroso control. Una falla de energía es el único ejemplo de un evento externo que provoca un impacto en la integridad de datos. Por lo tanto, para procesos en tiempo real, es necesario un mecanismo para determinar que datos han sido perdidos y cuales permanecen aún válidos. f) Despachador y colas. Dos aspectos críticos en un medio de tiempo real son, la naturaleza aleatoria de los eventos físicos y la ocurrencia simultánea de procesos físicos. Debido a esto el manejo de interrupciones y propiedades de multitareas son los principales atributos del software para sistemas de tiempo real. Es decir, el corazón del software debe ser el manejo de multitareas: el despachador. El resto del software, se establece alrededor de este núcleo y sirve a las demandas específicas del medio de aplicación. En particular, las listas o colas y sus manejadores que están alrededor del despachador, son construidos para comunicarse con los diferentes recursos físicos soportados por el software del sistema. Es decir, una cola puede contener aquellas tareas que están listas para ser ejecutadas en el procesador (v.gr.: procesos o programas). otra cola puede tener tareas que esperan accesos al hardware de EJS. y otra cola puede contener tareas que esperen por algún evento específico a ocurrir. En cualquier software de un sistema multitareas, el despachador usa las colas como entrada. Su salida, por otro lado, es una simple tarea que ha sido activada y permitida para ejecutarse en la UPL. El algoritmo de despachador define en gran parte al software del sistema. En un sistema, el despachador simplemente selecciona la primera tarea a ser ejecutada, permitiéndole que corra hasta que termine o hasta que consuma un periodo específico de tiempo. En un sistema más sofisticado, el despachador puede seleccionar tareas en el esquema Round·Robin (ver figura 4.2), y permite a cada una un tiempo específico de OHClllPCION DE LA UH!OAD DI PllOCEIO LOCAi. (UPLj 11 proceso. Una vez que la tarea excede el tiempo permitido, es colocada al final de Ja cola y forzada a esperar la ejecución de todas las tareas que vayan adelante de ella. El esquema Round-Robln con periodos de ejecución iguales, es adecuado si cada tarea no es más importante que cualquiera de las otras. Sin embargo, si se requiere que alguna tarea tenga mayor prioridad, es necesario un algoritmo de despachador más sofisticado, es decir, un algoritmo que reconozca que unas tareas son más importantes pero, que tampoco excluya de ta UPL las tareas de baja prioridad. Una solución es el uso de varias colas, donde el lapso de tiempo de ejecución este relacionado a la prioridad de los elementos de la cola. En este caso, el despachador deberá permitir a todas las tareas de cada cola de prioridad dtterente, el acceso a ejecución, siempre que a las de menor prioridad les asigne un tiempo de ejecución menor. Un refinamiento adicional permitirá que las tareas de mayor prioridad suspendan a la tarea de ejecución. Esta técnica conocida como pre-vaciado, es una Importante característica para sistemas de tiempo real (ver figura 4.3). 1 [] Fig. 4.2 Esquema Round-Robin 4.4.2. consideraciones del software al nivel ensamblador. El mayor problema en el diseño del software para la UPL, es armonizar una gran variedad de dispositivos de E/S asíncronos. DESCRIPCION DE LA UNIDAD DE PROCESO LOCAL CUPL) 52 El primer análisis importante por hacer, es determinar cuales tareas deben com- pletarse a tiempo, cuanto llevarán (en hardware y/o software), y las prioridades relativas de cada una. Es decir, no hay que perder de vista que en diseños en máquinas que no cuentan con multitareas, cada tarea se irá ejecutando secuencialmente y es responsabilidad del software desarrollado (o del programador), asignarle a cada una un tiempo específico de procesador, el cual garantice el éxito de cada tarea. Para esto es importante determinar por un lado, Ja frecuencia con que se debe activar Fig. 4.3 Técnica de Pre-Vaciado cada rutina de servicio y por otro, el tiempo que debe tomar cada rutina en ejecutarse. Una proposición útil, considera el uso de un programa "supervisor"; el cual tiene Ja responsabllldad de decidir cual función se debe activar. Aquí, cada función es Implemen- tada como una o más subrutinas; el supervisor procesa una tabla que especifica cual subrutina debe activar, sin embargo, es importante notar que cada subrutina no debe tardar un tiempo mayor que el período más corto en el sistema. También existen otros problemas, por ejemplo, todas las subrutinas son inde- pendientes, aún en sus interfases de E/S, es por esto que deben ser capaces de comunicarse entre ellas, es decir, cada subrutina puede ser productor de datos de un tipo y un consumidor de datos de otro tipo. Entre el productor y el consumidor debe existir un acuerdo necesario del formato de datos, valores disponibles y localidades. Todas estas convenciones de liga deben ser definidas para cada subrutina de tal manera que cada una de ellas pueda ser escrita para conformar los acuerdos comunes. DESCAIPCION DE lA UNIDAD DE PROCESO LOCAL (UPLI 53 Otro análisis importante radica en el empleo de interrupciones o poleos, para permitir la E/S de eventos múltiples asíncronos, los cuales ocurren con aparente simultaneidad. Al emplear poleos cada tarea se diseña para ejecutarse en un período de tiempo máximo, el cual es menor que el tiempo requerido por la frecuencia más alta de una subrutina de E/S. Al final de cada ejecución de subrutina, el control es regresado al supervisor, en este punto el supervisor decide en que momento activar una de fas subrutinas dependientes del tiempo o permite que se active otra de las subrutinas Independientes. En aplicaciones simples en fas que fa UPL no está saturada de trabajo. este esquema trabaja muy bien. Sin embargo, en caso contrario, fas únicas alternativas posibles son tas interrupciones. Cuando tas interrupciones son usadas para transferir datos ya sea de entrada o de salida, deben manejarse fas siguientes tareas por el programa de interrupción: • Salvar el contenido de todos los registros que se usarán durante la interrupción. • SI existe más de una interrupción, identificar cuál necesita el servicio e invocar el software apropiado. • Reconocer la interrupción de tal manera que el dispositivo de interrupción libere fa terminal de interrupción. • Efectuar fas transferencias de datos. • Verificar si ésta es la última serie de interrupciones. Si este es el caso, informar al programa principal, por ejemplo, que todo el registro ha sido leído. • Restaurar los registros y fas banderas a su estado original (antes de la Interrupción). • Habilitar interrupciones. Rehabilltar las interrupciones que fueron detectadas y detenidas para prevenir interferencias y luego regresar al programa interrumpido. ) CAPITULOS UNIDAD DE CDllUNICACION CENTRAL 5. UNIDAD DE COMUNICACION CENTRAL (UCC) 5.1. INTRODUCCION Como se mencionó anteriormente, para poder llevar a cabo la tranferencia o enlace de información entre la Unidad de Procesamiento Central (UPC) y las diferentes Unidades Locales (UPL), es necesario definir una Unidad adicional, esta unidad es llamada Unidad de Comunicación Central (UCC). la Unidad de Comunicación Central (UCC), funciona como una interface entra la UPC y las d~erentes UPLs, es decir, que se encarga de controlar el intercambio de información entre cada una de las Unidades, como se puede observar en la figura 3.3 del cap~ulo 3 , de tal manera que la forma en que opera la UCC puede ser divida en dos partes: La primera de ellas está destinada a describir el esquema de comunicación para poder llevar a cabo el Intercambio de Información entre la UPC y UCC, para lo cual se destinará el siguiente Cap~ulo. La segunda parte está destinada a definir el esquema de comunicación a emplear para llevar a cabo el intercambio de Información entre la UCC con las diferentes UPLs, para lo cual se destinará el presente Capítulo. 5.2. DESCRIPCION DE LA FORMA EN QUE SE LLEVA A CABO LA COM- UNICACION ENTRE LA UCC Y LAS DIFERENTES UPl.a Para poder describir la forma en la cual se realiza la comunicación o el enlace de información entre la UCC y las distintas UPLs, es necesario tratar de definir las características y requerimientos de nuestro sistema. Como se mencionó anteriormente, el tipo de comunicación a emplear en el sistema es la serial, debido a que nos trae consigo una reducción en cuanto al hardware del sistema, sin embargo nos lleva a la elaboración de un software muy sofisticado, por lo cual, es necesario definir el tipo de norma o protocolo de comunicación a utilizar para llevar a cabo la transferencia de información hacia o desde las diferentes unidades locales. Los protocolos diseñados para los microprocesadores de B bits funcionan correc- tamente con la CPU de 16 bits, pero los requisitos del sistema pueden exigir elementos UNIDAD DE COMUNICACION CENTRAL 55 con un mayor rendimiento. En ningún campo de las interfaces se hace esto tan evidente como en las comunicaciones serie. Cuando se desarrolló el microprocesador de B bits, las comunicaciones eran relativamente sencillas, la CPU daba soporte sólo a un número reducido de terminales, con señales asíncronas serie con un éstandar RS-232C. Este tipo de comunicaciones tan sencillas adolece de una serie de inconvenientes: a) El porcentaje de bits de control del formato es alto (un bit de arranque y uno, o un bit y medio de parada para cada 5, 6, 7 u 8 bits de datos). b) No existe control de enlace de datos (DLC), de forma que se puede crear, por ejemplo, un sistema de bus serie con una jerarquía sencilla (es más fácil construir un sistema jerárquico que uno no jerárquico 'tipo red'). c) La detección de errores es mínima (restringida a un unico bit de paridad opcional por palabra de datos) y la corrección no eMiste. d) Las velocidades éstandar son bajas (normalmente, hasta 9 600 baudios). Aunque se contaban con las comunicaciones síncronas, que permiten obtener mayores velocidades y menos porcentajes de bits de control en el formato, este tipo de comunicaciones, soponadas por interfaces serie ofrecidos por la mayoría de los fabrican- tes (8251A, 6851 ACIA, o Z-80 SIO), sólo soportaban protocolos muy simples. La situación de los grandes ordenadores centrales era de alguna forma similar a los dispositivos descritos con anterioridad, hasta la aparición de los grandes sistemas de IBM, lo cual trae consigo, el desarrollo de las normas de control de enlace de datos (DLC). A su vez, el desarrollo de estas normas dieron como resultado unos protocolos fijos para un sistema jerárquico de comunicaciones serie. Este tipo de interfaces DLC permiten configurar una red simple de microordenadores, con un único ordenador amo, y una serie de estaciones esclavas, comunicandose a través de un bus serie. Generalmente, una estación maestra o de procesamiento central sitúa los controles de transmisión v de recepción de las estaciones remotas o esclavas a través de la adición de caracteres no Imprimibles a los datos para ser transmitidos. Un control de enlace de datos (DLC), algunas veces llamado protocolos de segundo nivel, es un conjunto de reglas que son seguidas por computadoras o terminales interfaceadas para ordenar la transferencia de información. Las funcionas básicas de un DLCson: a) Establecer y terminar una conexión entre dos estaciones. b) Asegurar la integridad del mensaje a través de la detección de los errores, re- querimiento para retransmisión, y reconocimiento positivo o negativo. e) Para identificar al transmisor y al receptor a través de poleo o de selección. UNIDAD DE COMUNICACION CENTRAL 51 d) Sostener funciones especiales de control corno el requerimiento de estado, reseteo de estación, reconocimiento de reseteo, comienzo, conocimiento de comienzo, y desconexión. Una de las funciones clave de cualquier procedimiento de control de enlace de datos es la de proveer la transparencia de datos, lo cual trae consigo el poder distinguir bits de datos de los bits de control o el de poder decir cuando un bloque partícular de datos empieza y cuando termina sin restricción del contenido del bloque de datos. Dos métodos generales para llevar a cabo la transparencia de datos son ampliamente usados. El primero, conocido corno inserción de byte, y es usado en las comunicaciones síncronas binarias. El segundo es conocido corno inserción de bit y es usado en el control de enlace de datos síncrono. En el caso de inserción de byte estos son un par de carácteres; en el caso de inserción de bit son una serie de B bits. Para asegurar la transparencia de datos el receptor elimina estos bytes o bits especiales, conservando el patrón de datos original. 5.3. OPERACION DEL CONTROL DE ENLACE DE DATOS (DLC) En la mayoría de los sistemas de comunicación de datos, así corno en nuestro sistema, un cierto número de terminales interactúan con uno o mas CPUs. Para que esto suceda, los dispositivos de transmisión y de recepción deben ser capaces de decir cada uno cosas corno : • Esta es la estación A transmitiendo • Tengo un mensaje para la estación B • ¿ Estas listo para recibir ? • He recibido tu último mensaje • He finalizado, ahora es tu turno para transmitir • ¿Tienes algo que mandarme ? En la figura 5.1 se muestra un ejemplo típico en el cual se requiere de un protocolo de comunicación de tal manera que una computadora central pueda seleccionar una terminal remota, así que esta computadora central podría mandar o recibir datos de la terminal remota. La estación de control de comunicación entonces recibe toda la información digital desde su rnodern, la decodifica, y la manda esta a su terminal propia. En este sentido, la estación de control puede recibir información en grandes cantidades desde un diverso número de terminales a la vez. UNIDAD DE COllUHICACION CENTRAL 57 Fig. 5.1 Interacción en un Sistema de Cómputo 5.3.1. Tipos de Protocolos de Comunicación. Se tienen muchos caminos para poder configurar un sistema de comunicación de datos y cercanamente a esto se tienen muchos tipos de protocolos. Básicamente, sin embargo, debido a los requerimientos y características de nuestro Sistema nos interesan ciertos tipos de protocolos o normas que pueden ser divididos en dos grupos: a) Protocolos controlados por byte (BCP). b) Protocolos orientados por bit {BOP). Algunos ejemplos de Protocolos orientados por bit {BOP) son el Protocolo de enlace de datos síncrono {SDLC) desarrollado por IBM; el procedimiento de control de comunicación de datos avanzado {ADCCP) desarrollado por ANSI; el control de enlace de datos de alto nivel (HDLC) de ISO; y el control de enlace de datos de Burroughs {BDLC). Por otro lado, algunos ejemplos de protocolos controlados por byte, incluyen el protocolo de mensajes digitales de comunicación de datos (DDCMP) y el protocolo de comunicaciones síncronas binarias {BISYNC) desarrollado por IBM. 5.3.1.1. Protocolo controlado por byte (BCP). Los mensajes con el protocolo controlado por byte son tansmitidos en unidades llamadas bloques. La muestra de protocolo que puede ser usado para mostrar como se lleva a cabo el enlace de datos es el desarrollado por la IBM y es llamado protocolo de comunicaciones síncronas binarias {BSC O BISYNC.) UNIDAD DE COMUNICACION CENTRAL 58 En BCP, los caracteres especiales o secuencia de caracteres que controlan la operación de enlace consisten de tres diferentes tipos: caracteres de comunicación, carácteres de control de periféricos y carácteres gráficos. Los caracteres de comunicación proveen la sincronización para determinar el comienzo de un campo particular en un bloque. Estos carácteres incluyen : SOH Comienzo del guíador 'Header'. STX Comienzo de texto. ETX Fin de texto. EOT Fin de transmisión. ACK Conocimiento de mensaje. NAK Desconocimiento de mensaje. EOH Fin de guiador. ITB Bloque de transmisión intermedio. ETB Fin de bloque de transmisión. OLE Salida del enlace de datos. Los caracteres de control de perttéricos se encargan de controlar la operación de dispositivos perttéricos, mientras que los carácteres gráficos son generalmente caracteres de información que pueden ser vistos en una pantalla de tubo de rayos catódicos. El formato de bloque para el protocolo de comunicaciones síncronas binarias se muestra en la figura 5.2 . El protocolo BISYNC puede requerir la inserción de caracteres SYN a distintos intervalos de tiempo. Dos caracteres SYN son insertados para asegurar la sincronización propia para el comienzo del formato. Cada caracter SYN consiste de B bits. SOH es un caracter de control de comunicación que consiste de B bits, usado al comienzo de la secuencia de caracteres que constituyen información de rutina. El guiador (header) es el control de información prefijado en el texto del mensaje, por ejemplo, código de fuente o destino (dirección), prioridad o tipo de mensaje, conocimiento. El Texto es el mensaje para ser transmitido; este es de longitud variable y podrían tener transparencia de datos. La porción del texto en un bloque de mensaje es identificado después de la identificación del carácter STX, ETX indica el final del mensaje. UNIDAD DE COMUNICACION CENTRAL 11 1 1 _ .. ..... .... _.. _ .. ·-- LL·-·-... ~~--~~~~~~~~-~~~~~~~~~ Fig. 5.2 Formato BYSINC Por último, el campo de chequeo de error se encarga de desarrollar la verificación del bloque de transmisión y es normalmente colocado al final del bloque. La longitud de los mensajes son divididos en una serie de bloques para transmisión. Cada bloque de texto, excepto el último, es seguido por el carácter ETB (fin de bloque de transmisión) o un carácter ITB (fin de bloque de transmisión Intermedio). Si un error es detectado en cualquier bloque intermedio, ninguna acción puede ser tomada hasta que el carácter ETB es recibido; entonces todos los bloques intermedios deben ser retransmitidos. 5.3.1.2. Protocolos orientados por bit (BOP). En general, los protocolos orientados por bit son menos dependientes de los carácteres de control y en lugar de esto se flan de la posición de los bits sin campos específicos o bloques de bits. Hay un formato de campo éstandar de fijación de la longitud de los bits. Quizá el más ampliamente conocido de los protocolos orientados por bit es el desarrollado por IBM y es el llamado Protocolo de enlace de datos síncrono (SDLC). Las normas de control de enlace de datos síncrono definen, con algun grado de flexibilidad, diferentes niveles de comunicación en un sistema que posea una CPU amo o estación primaria y una serie de dispositivos esclavos o estaciones secundarias, comunlcandose a través de un bus, punto a punto, o en una configuración multipunto. El modo de transmisión puede ser semidúplex (transferencia de información se realiza en ambos sentidos, pero primero una estación transmite y después la otra estación responde) o dúplex integral (la transferencia de Información se realiza en ambos sentidos y en forma simultánea) como se muestra en la figura 5.3 . El protocolo SDLC esta orientado al bit.lo que significa que no se impone al usuario ningúna restricción sobre el formato de transmisión de los datos (por ejemplo en carácteres de B bits). La información transmitida utilizando SDLC puede usar cualquier código o formato, y se trata simplemente como un conjunto de bits. UNIDAD DE COllUNICACION CENTRAL 00 O-----+----:------¡ 1 'D Fig. 5.3 Configuración Multipunto an Full-Duplex En SDLC la información es mandada por tramas o "trames'. Cada una de estas tramas contiene una serie de campos los cuales tienen funciones muy específicas. En la figura 5.4 se muestra el formato que deben tener las tramas SDLC. BANDERA DE CAMPO CAMPO CAMPO VERIFlCACION DE INICIO DIRECCION CONTROL INFORMACION MARCO 01111110 BITS BITS LONGITUD BITS 8 8 VARIABLE 16 Fig. 5.4 Tramas de SDLC BANDERA DE TERMlNACION 01111110 Los campos de Indicadores de principio y final de la trama sirven para delimitar a la misma, y obviamente, deben ser únicos, de forma que no haya posibilidad de que una secuencia aleatoria de datos coincida casualmente con una secuencia de bits de los indicadores, causando entonces una indicación de 'final de trama' fantasma. Hay dos formas de asegurar la unicidad de los indicadores, o pueden restringuirse los datos para que las unlcas secuencias de bits de datos no puedan imitar la secuencia de los indicadores; o bien debe modificarse el flujo de datos por parte de la circu~ería de UNIDAD DE COllUNICACION CENTRAL 11 transmisión, reestableciendose su aspecto original por los circuitos de recepción, para asegurar la unicidad del indicador. Esta última técnica hará posible que el sistema transporte datos en cualquier formato, sin restricción, es decir, que sea transparente. La ventaja de la transparencia de código es que puede utilizarse el mismo SOLC orientado al bit para transmitir datos en carécteres ASCII, programas en código de máquina binario, o en cualquier otro formato. La forma en que funciona la circuitería de transmisión para preservar la unicidad del indicador es la siguiente : El indicador de SDLC es la secuencia de bits 01111110, es decir, seis unos consecutivos delimitados por dos ceros. Siempre que la circuitería de transmisión en- cuentra cinco unos consecutivos en una secuencia de bits de datos, direcciones o control, automáticamente inserta un cero después del quinto uno de la secuencia. Este cero adicional asegura que la información de datos, control o dirección no puede tener nunca los seis unos consecutivos del indicador. Dado que siempre se Inserta un cero tras cinco unos, sin tener en cuenta el nivel lógico del sexto bit, el receptor reconocerá los seis primeros bits de un indicador 011111 y después examinará el siguiente bit : si el siguiente bit es un '1' la secuencia de bits será un indicador, siguiendo los campos de dirección y control al último cero. SI el siguiente bit es un cero, es que se ha Insertado en la secuencia de datos, direcciones o control por el transmisor, y debe quitarse antes de pasar los datos. La acción del transmisor se llama inserción de bit (bit stuffing) y la del receptor se llama eliminación de bit (bit strlpplng). Entre tramas, una estación SDLC transmitirá Indicadores o carácteres de reposo (todos unos). El campo de direcciones define al transmisor y al receptor. Además, los campos de dirección se definen para adaptarse a la necesidad de los protocolos SOLC amo-esclavo y se transmiten con el bit menos significativo en primer lugar. Así, una trama enviada por la CPU maestra o estación primaria a una estación esclava o estación secundaria tendrá la dirección de destino (la de la estación secundaria) en su campo de dirección, y un código de orden en su campo de control mientras que una mandada por una esclava contendrá la dirección de origen ~a de la estación secundaria). Además de posibilitar el acceso a estaciones secundarias independientes, el campo de dirección debe contener una dirección de 'difusión', que permite a la estación primaria mandar datos a todas las secundarias da forma simultánea. Por último, corno se muestra en la figura 5.4, este campo está compuesto de B bits por lo que se deduce que se pueden tener 256 combinaciones dttarentes de direcciones, de lo cual se infiere, que una misma estación primaria puede estar manejando o monitoreando 256 estaciones secundarias diferentes, sin embargo, por medio de varias herramientas de software se pueden llegar a direccionar un mayor número de estaciones que las establecidas por el campo propio de direcciones. El campo de control consiste de B bits y determina la naturaleza del mensaje. El campo de control es usado por la estación primaria (la cual mantiene el control del enlace UNIDAD DE COMUNICACION CENTRAL 62 de datos en todo momento) para decir a la estación direccionada que es to que esta haciendo, como pelear dispositivos, transferencia de datos, retransmisión de datos, entre otras cosas. La estación direccionada puede usar et campo de control para responder a ta estación primaria, para decir que tramas ha recibido o cuales ha mandado. El campo de control es también usado tanto por la estación primaria como por la secundaria para la llevar la cuenta del número de tramas transmitidas o recibidas en cualquier momento. El campo de Información puede ser de cualquier longitud y puede estar compuesto por cualquier estructura de código (EBCDIC o ASCII por ejemplo) y lleva el texto del mensaje. Puede llevar mensajes de supervisión (requerimiento para retrasmisión, etc.) y compulación de chequeo de trama. La secuencia de comprobación de trama (FCS), definida como tos últimos dieciséis bits de la trama que preceden inmediatamente a la secuencia del indicador de terminación, es una secuencia de comprobación de bloque éstandar que abarca todos los bits de la trama entre los indicadores. El FCS es similar a una palabra de comprobación redundante cíclica (CRC). El sistema de chequeo de redundancia c!clica (CRC), es el sistema de detección de errores más electivo en los sistemas de comunicación con una mínima cantidad de hardware. El cálculo de este CRC, se llevan a cabo por medio de secciones múltiples de registros de corrimiento tos cuales alimentan a unas compuertas OR - exclusivas como se muestra en la figura 5.5 . En cuanto a la lógica de las compuertas OR - exclusivas se tiene un cero a la salida, si y sólo si, ambas entradas son cero o ambas uno. Si las entradas son daerentes, la salida de esta compuerta es un uno. Por otra parte, de acuerdo a la colocación y cantidad de las compuertas OR - exclusivas varía por CRC-12, CRC-16, CRC-CCITT tos cuales son los CRC más conocidos. ·--1 Fig. 5.5 Registro de Corrimiento del CRC UNIDAD DE COllUNICAClON CENTRAL 63 De acuerdo al protocolo que se pretende utilizar (SDLC), el CRC que se utiliza en este protocolo es el CRC·CCITI (X16 + X12 + X5 + 1), el cual se muestra en la figura 5.5. Como se puede observar, los términos de MSB y LSB usados en la figura se refieren a los bits más significativos y menos significativos del registro, el bit menos significativo (LSB) al final del registro es mandado primero, pero corresponde al término X16 del CRC. Cuando se empieza a transmitir la información , el circuito de transmisión de CRC es inicializado a unos. Cuando cada uno de los bits de información es transmitido, estos mismos bits son aplicados al punto marcado 'A' en la figura 5.5, es decir, que cada uno de los bits de información son colocados en el registro de corrimiento del CRC y se propagan a lo largo de las diferentes secciones de los registros de corrimiento de tal forma que al final de la transmisión de la información se genera un bloque de chequeo de carácteres (BCC). Este mismo procedimiento se implanta en el receptor, de tal manera que a medida que se capta la información se va generando un CRC de recepción, por lo que al final de la recepción de la información se tiene que checar el BCC generado en la recepción y el BCC generado en la transmisión de tal manera que se pueda llegar a localizar un error en la información misma. Como se mencionó anteriormente, el CRC utilizado en el protocolo SDLC es el CClTI. Este tipo de CRC cuando esta operando con carácteres de 8 bits, la acumulación de BCC es de 16 bits, por lo que la longitud de campo destinado para el chequeo de secuencia de trama es precisamente 16 bits. Además, este CRC provee una detección de error del 99% en el caso de manejo de más de 12 bits. 5.3.2. Comparación entre los Protocolos. Generalmente, el BCP se caracteriza por operar en comunicación semidúplex. Después que un formato BCP es mandado, este debe ser reconocido por el receptor. Esto reduce la velocidad de la comunicación. Por otra parte, en el protocolo controlado por byte (BCP-BISYNC) hay muchos caracteres de control para la configuración de la línea, control de equipo periférico, y otros gráficos. Además, la transparencia de datos se lleva a cabo sólo a través del uso de mecanismos de escape. En el protocolo orientado por bit (BOP·SDLC) hay dos o tres carácteres de control; por ejemplo, el control de equipo periféricos esta funcionando entre la computadora maestra y las terminales remotas, por lo que esto no es parte de la función del protocolo. Por otra parte, existe un formato éstandar para la información, supervisión y tipos de tramas no secuenciales. . . La. ~ansparencia de datos es provista ~ través de la inserción de un cero y su elim1nac1on. Además, en BOP, el receptor no tiene que tener conocimiento de recepción de cada trama. UNIDAD DE COllUNICACION CENTRAL M Otra de las caracteristicas importantes del protocolo orientado al bit (BOP·SDLC) es que no hay restricciones en cuánto al código de datos, es decir, se puede transmitir información en cualquier tipo de formato o código. También el chequeo y la corrección de error, es disponible en una trama completa en el BOP. 5.4. DESCRIPCION DEL DISPOSITIVO DE INTERCONEXION ENTRE LA UCC Y LAS DIFERENTES UPl.a Una vez analizadas las características de los protocolos de comunicación, así como los requerimientos de nuestro Sistema, se llegó a la conclusión de que para llevar cabo el enlace o transferencia de información entre la Unidad de Comunicación Central (UCC) y las Unidades Locales {UPL), el Protocolo orientado por bit {BOP-SDLC) es el que más se ajusta a las necesidades del Sistema, debido a que este maneja la comunicación serial, que como ya se mencionó, este tipo de comunicación nos permite tener una cierta reducción en cuanto al cableado de interconexión entre las unidades y en consecuencia a esto una reducción en lo que se refiere al costo del Sistema. Además, útiliza la comunicación dúplex integral (transmisión en ambos sentidos en forma simultánea) lo cual trae consigo un aumento en cuanto a la velocidad de transmisión. Finalmente, no existen restricciones en cuanto al código o formato de los datos a transmitir (código ASCII o EBCDIC). ni en cuanto a la cantidad de información a transmitir. En resúmen se puede concluir que el protocolo orientado por bit SDLC (control de enlace de datos síncrono) ha sido diseñado para poder manejar y controlar el flujo de información en un enlace de comunicación de datos. Cabe hacer mencionar que el hardware de la UCC está determinada en forma semejante al hardware de las distintas UPLs, el cual fué propuesto y descrito en el Capítulo anterior. y el cual se observa en la figura 5.6. La única adición que se presenta es que debe ser definido el dispositivo de interconexión con las diferentes UPLs de tal manera que permita ser programado para soportar el protocolo de comunicación SOLC, como se puede observar en la figura 5.7 . Hay dos restantes consideraciones en cuanto al hardware del sistema: La velocidad de transmisión de los datos y el nivel de las señales de transmisión. La velocidad de transmisión de Jos datos puede ser expresada como bits por segundo y se refiere a la velocidad de transmisión a lo largo de la línea del enlace de datos. F"ig. 5.6 Estructura de Hardware da la UPL I I A 0 0 0 0 0 0 0 H P A O 2e 21 23 2z E T R E A P A O P d 1 PA P A O ña E RIO DIRECCIONES DATOS Y CONTROL RE-3320/423A DISPOSITIVO DE IMTERCONEXI ON €om LA LOS an 1c7b 745394 Fig. 5.7 Estructura de Hardware de la USC g!~li'ioc• COM111:0L CIUl"OSI1tVO Ot hlltJICOIClllOM C.Olll u ucc i . . str ctura a ar ware e l CC UNIDAD DE COMUNICACION CENll\l.L 17 Por lo que se refiere a este punto, se utiliza un dispositivo especial de generador de velocidad de transferencia de datos (Motorola 14411), el cual cuenta con una gran variedad de frecuencias de trabajo por lo que de acuerdo a las necesidades y requerimien- tos del sistema se escogió el trabajar cuando menos con 9600 bits por segundo. 0/er figura 5.6). Por otro lado, se deben tomar en cuenta los niveles de las señales de transmisión, que como se debe recordar, aunque los niveles TTL podrían ser usados para la transmisión no son apropiados para transportar señales a más de 3 a 6 metros (en nuesto esquema como se recordará, la UCC se encontrará a una distancia considerable de las diferentes UPLs). El problema se origina por el hecho de que solamente 2V separa un nivel lógico "O' o "1'. Con solo 2V de inmunidad para los ruidos, la comunicación podría ser susceptible a interferencias, por ejemplo, de motores o de interruptores. Un comité industrial acordó una inteface normalizada para resolver este problema, asi como para sugerir normas para la industria, esta norma es llamada EIA RS-232C. Los niveles de señal del RS-232C son bipolares y utilizan una tensión negativa entre -3 y -15V para representar un nivel lógico '1' y una tensión positiva de 3 a 15V para representar un nivel lógico "O". La región entre -3 y 3V ayuda a la inmunidad contra los ruidos y es una región 'muerta'. Generalmente este tipo de norma se aplica a sistemas en los cuales se requiere interconectar dos dispositivos que se encuentrán a una distancia máxima aproximada de 15 metros de longitud entre ellos. Es claro, que existen sistemas en los cuales los dispositivos a interconectar se encuentran a distancia mayor de la descrita anteriormente, por lo que existen otras normas que pueden ser aplicadas para este propósito, por ejemplo, la norma EIA RS-423A la cual maneja distancias de hasta 600 metros de longitud, o como la EIA RS-422A que maneja distancias de hasta 1200 metros de longitud El canal de comunicación empleado es un cable coaxial de 2 hilos ya que el modo de operación es el de dúplex integral "ful! duplex", en el que la transmisión o enlace de información se realiza en ambcs sentidos y en forma simultánea. Para poder implantar físicamente este tipo de norma o protocolo de comunicación en nuestro Sistema se hizo necesario utilizar un dispositivo conocido como Controlador Serial de Multiprotocolo (MPSC- 8274), el cual fué desarrollado por INTEL, fabricado con tecnología HMOS, además de ser un dispositivo de 40 terminales. 0Jer Apéndice B). El dispositivo esta diseñado para poder lnterfacear lineas de comunicación de gran velocidad, usando protocolos como los asíncronos, el IBM BISYNC y el SDLC, a sistemas de microcomputadoras de la familia de INTEL como MCS-48, -85, -51, y con el controlador de DMA8237. , UNIDAD DE COMUNICACION CENTRAL U 5.4.1. Deacrlpclón de la Arquitectura del MPSC-8274. Este controlador tiene una arquitectura muy simple, que permite una fácil implementación de tres diferentes tipos de protocolos (asíncrono, IBM BYSINC, SDLC) con poco software y hardware. Además, cuenta con dos canales independientes de transmisión / recepción. El MPSC puede manejar varias opciones de interface con un microprocesador : Poleo, Transferencia de Bloques, e Interrupciones. Dentro de las características del MPSC se puede mencionar que para poder llegar a tener transparencia en los datos, que como se mencionó en párrafos anteriores, se debe llegar a tener inserción y eliminación de un bit cero. En el 8274 la inserción y eliminación de bit se realiza en forma automática. Otra de las características de este dispositivo es que por lo que se refiere al campo de control, este puede ser manejado por el dispositivo intermamente de tal forma que para saber el estado que guarda en ese momento la información es necesario que el usuario pida dicha información al dispositivo . Por último, cabe hacer mencionar que la velocidad de transmisión y recepción de datos es Independiente de la velocidad a la que trabaja normalmente el dispositivo. Como se puede observar en el Apéndice B. existe una terminal de reloj del dispositivo para el manejo de la velocidad de procesamiento de información interna del mismo y otra terminal que se encarga del manejo de la velocidad de transmisión y recepción de la información, es decir, que se maneja un reloj interno del dispositivo independiente de la velocidad de transmisión de datos a manejar. En el caso del MPSC se tendrá una velocidad de procesamiento de información máxima de 4 MHz, por lo que se deduce que todo Jos dispositivos (el microcontrolador 8031 puede manejar velocidades de procesamiento, comó se mencionó en el capítulo anterior, de hasta 12 MHz) estará trabajando a esta velocidad. En el MPSC los comandos, parámetros y estado de la información son guardados en 21 registros, de los cuales, 8 registros son de escritura para cada canal, se tienen 2 registros de lectura para el canal A y 3 registros de lectura para el canal B. Los registros para ambos canales estan diseñados de la siguiente forma: WRO • WR7 Registros de escritura RRO • RR2 Registros de lectura UNIDAD DE COllUNICACION CENTRAL lt El agrupamiento funcional de cada uno de los registros, así como la asignación de bits en los mismos, están configurados de tal manera que permiten simplificar y organizar el proceso de programación del dispositivo. A continuación se listan las funciones generales asignadas a cada uno de los registros . En el Apéndice B se muestran de manera más detallada las características y funciones asignadas a cada uno de los registros. ARO Estado del 'buffer' de Transmisión / Recepción, estado de las interrupciones. RA1 Estado de las condiciones especiales en la recepción. RA2 Vector de Interrupción modificado. WRO Registro apuntador, inicialización de CRC, comandos. WR1 Interrupciones en la Transmisión/ Recepción y definición del modo de transferencia de datos. WR2 Vector de interrupción. WR3 Control y parámetros de recepción. WR4 Modos y parámetros de Transmisión / Recepción. WR5 Control y parámetros de transmisión. WR6 Campo de dirección del SOLC. WR7 Bandera de Inicio/ Terminación SOLC. En el Apéndice B se muestran las características generales del MPSC-827 4. Como se puede observar, para poder interfacear el MPSC con una CPU es necesario utilizar las terminales de entradaAO, A1, CS', RO' y WR' del MPSC, lo cual permite lograr una comunicación con los registros internos del MPSC. La figura 5.8, muestra como pueden ser direccionados estos registros Internos del MPSC. Por lo que respecta al lado serial, existen dos canales completamente inde- pendientes: Canal A y el Canal B. Cada canal consiste de un bloque transmisor, un bloque receptor y la puesta de los registros de escritura / lectura los cuales son utilizados para inicializar el dispositivo. En adición, un bloque de control lógico provee terminales de interface con un modem. La interface serial lógica del Canal Bes un espejo de la interface UNIDAD DE COMUNICACION CENTRAL 70 lógica del Canal A, excepto que en el canal B las terminales RTS y SYNDET estan unidas en una misma terminal. 1 1 es· 1 A1 AO OPERACION LECTURA OPERACION ESCRITURA 1 ----- 1 o Ch. A Data Read Ch.A Data Write 1 o o o o o Ch. A Status Read Ch.A Command 1 o o o Ch. B Data Read Ch.B Data Write 1 1 o o o Ch. B Status Read Ch.B Command 1 Fig. 5.8 Direccionamiento de Registros Internos En la figura 5.9 se muestra el diagrama de bloques de la estructura del MPSC para la transmisión y recepción de datos. Como se puede observar. los datos transmitidos por la CPU son transferidos a un registro de cambio serial de 20 bits (esto es porque 20 bits son los necesarios para guardar 2 bytes que corresponden a los dos bytes de los carácteres de sincronización usados en el modo bisync). Los datos a transmitir en el registro de transmisión son transladados hacia la línea de TXD (transmisión de datos) con dos bits de retraso. Estos bits de retraso son usados para sincronizar el reloj interno con el reloj interno de transmisión. Además. el dato que se encuentra en el registro de cambio son presentados para la lógica de inserción del bit cero, la cual inserta un cero después de que se presentan cinco unos en forma consecutiva. En paralelo a está actividad, el generador de CRC esta computando el CRC de transmisión para ser transmitido al final de la transmisión. Por lo que se refiere a la estructura de la recepción de los datos, como se puede observar, estos datos son pasados con un bit de retraso, antes de que estos sean presentados para la comparación de bandera. En el modo SDLC, la llegada de los datos siempre pasa a través del registro de sync donde el patrón de datos es continuamente monitoreado para la detección de unos consecutivos, para en su defecto, realizar la eliminación del bit cero. El dato entra al 'buffer' de tres bit y al registro de cambio de recepción (8 bits), entonces el dato es transferido a la parte baja del registro de recepción UNIDAD DE COMUNICACION CENTRAL 71 de datos en forma de FIFO (primero en entrar es el primero en salir) que está compuesto de 3 bytes. El dato es transferido a la parte de arriba del registro FIFO a razón del reloj del sistema (no de acuerdo al reloj de recepción). Fig. 5.9 Rutas en la Transmisión y Recepción Se toma alrededor de tres ciclos de reloj para transferir el dato desde el registro serial de cambio hasta la parte de arriba del FIFO. Por otra parte el registro de recepción de error FIFO que esta compuesto de 3 bits, como se puede observar, transfiere cualquier condición de error que hubiese ocurrido durante la recepción de la trama. Mientras todo esto esta sucediendo, el checador de CRC esta checando el CRC correspondiente a los datos que están llegando. El CRC computado en el receptor es checado con los bytes de CRC relacionados con los datos de llegada y puede generarse un error debido a la condición de no-checa el CRC. En la figura 5.10 se muestra la estructura de hardware completa de la Unidad de Comunicación Central (UCC) de tal forma que pueda ser conectado directamente (comunicación serial) a las diferentes Unidades de Procesamiento Local (UPLs) para llevar a cabo la transferencia o enlace de información proveniente de la Unidad de Procesamien- to Central (UPC). Flg.5.10 Estructura de Hardware Completo de le UCC UNIDAD DI! CDMUNICACION CENTRAL 73 5.4.2. Descripción General de la Programación del MPSC·8274. Por medio de los registros de escritura (WRO-WR7), como se mencionó anterior- mente {Apéndice B), se debe inicializar el modo de operación del MPSC de tal manera que pueda ser programado para operar en el modo SOLC. Generalmente, debe ser Inicializado con los siguientes parámetros: Modo SOLC (WR4; 05,04), Longitud del carácter de transmisión (WR5; 05,06), Polinomio SDLC (WRS; 02), Modos de Interrupción (WR1,WR2), Habilitación del transmisor (WR5; 03), Habilitación del receptor (WR3; DO). Los parámetros del WR4 deben ser escritos antes de ser escitos los parámetros de los registros WR1, WR3, WR5, WR6 y WR7. El MPSC provee dos canales de comunicación totalmente independientes que pueden ser configurados en varios modos de operación. Como se mencionó anterior- mente, el MPSC puede operar en diferentes modos : Por poleo, Interrupciones (vectoreal o no vectoreal), Transferencia de Bloques bajo el control de un DMA. Además, cada uno de los canales pueden ser configurados dentro del modo dúplex integral 'iull duplex" y pueden operar en un modo o protocolo diferente en cada uno de los canales. En nuestro Sistema debido a las necesidades y características del mismo, se optó por el uso de las Interrupciones no vectoreales. En este modo de operación, todas las operaciones de transmisión y de recepción son reportadas al procesador a través de las interrupciones, lo cual, nos permite tener un manejo de información en forma mas precisa y rápida. Todas las interrupciones son generadas por el MPSC cada vez que este requiere servicio. En el Apéndice B se muestra el esquema de Interrupciones del MPSC-8274. A continuación se da una breve explicación de la forma en que se da la transmisión y la recepción de carácteres en el modo de operación por interrupciones. 5.4.2.1. Tranamlalón en el modo de Interrupción, Por lo que se refiere a la transmisión en el modo SDLC, como se mencionó anteriormente, nuestro sistema va a operar por medio de interrupciones . El MPSC debe ser configurado dentro de este modo de operación, es decir, que los canales son programados para manejar fas interrupciones (inicialización del dispositivo a través de registros de lectura WRO-WR7). Después de un •reset' de canal, el MPSC empieza mandando banderas SOLC (01111110). Para iniciar la transmisión de una trama, el primer carácter de datos debe ser cargado al MPSC desde la CPU. Debe hacerse notar que en el modo SDLC, este primer carácter de datos debe ser la dirección de la estación esclava direccionada por el MPSC. UNIDAD DE CO ... UHICACJOH CENTRAL 74 El "buffer" de transmisión esta constituido por un "buffer" de transmisión y un registro serial de cambio, como se muestra en la figura 5.8 . Cuando el carácter a transmitir es transferido del "buffer" de transmisión hacia el registro serial, una interrupción se genéra debido a que el "buffer" de transmisión esta vacío. La CPU tiene un byte de tiempo para dar servicio a esta interrupción y cargar otro carácter dentro del "buffer" de transmisión, en caso contrario el MPSC generaría otra interrupción debida a la condición de "Transmit Underrun". Este proceso continúa hasta que no haya más carácteres que mandar. En este punto, la CPU no responde a la interrupción con un carácter sino que simplemente usa el comando de Reseteo de Interrupción en la Transmisión "Reset Tx INT/DMA pending" (WRO: D5 D4 D3 = 101 ). El MPSC entraría en el estado de "underrun", lo cual simplemente significa que tanto el "buffer" de transmisión así como el registro serial estan vacios. En este punto, el carácter de bandera (7EH) o el byte de CRC astan cargados en el registro de transmisión de cambio 'transmit shilt register". El bit de "transmit underrun" es puesto (ARO: D6 = 1) y se genéra una interrupción . Por otra parte, como se mencionó anteriormente, el campo de FCS (CRC) consiste de 2 bytes. El MPSC genéra el CRC en todos los datos que son cargados por la CPU. Durante la inicialización se debe escoger el CCITT-CRC (WRS: D2) para el modo de operación SDLC. Este CRC es mandado al final del campo de información. Durante la transmisión el comando "Reset Tx Underrun / EOM" (WRO: D7 D6 = 11) asegura que al final del mensaje el CRC va a ser mandado automáticamente al final del mensaje. Si este comando no es usado durante la transmisión de carácteres de datos, el CRC no va a ser insertado y en lugar de esto se mandarían las banderas de SOLC (7EH). Asumiendo que la transmisión de carácteres fué satisfactoria, después de que los bytes de CRC han sido transmitidos, la bandera de terminación (7EH) es cargada dentro del "buffer" de transmisión y es transferida al registro serial, una interrupción de "buffer" de tansmlsión vacio se genéra. Si ningúna otra trama va a ser transmitida el comando de "Reset Transmit INT/OMA pending" resetea esta interrupción. Por el contrario, cuando es detectado un error en ta transmisión se debe usar el comando de Aborto (WRO: 05 04 D3 = 001) y tendrá que ser retransmitida la información. 5.4.2.2. Recepción en el modo de interrupción. Al igual que en la transmisión, el receptor debe ser inicializado apropiadamente para operar por interrupciones. El receptor debe ser programado dentro del modo "Hunt" (WR3: 04) antes de que sea habilitado (WR3: 00). Et MPSC entra en un estado de caza de fase "Hunt Phase" y queda en este estado hasta que ta primera bandera SDLC es recibida. El MPSC nunca más vuelve a entrar en este estado a menos que por medio del microprocesador se vuelva a escibir et comando o parámetro de caza de fase. El MPSC podría detectar banderas por un simple cero. Por ejemplo, el patrón de bits 011111101111110 puede ser detectado como dos banderas. UNIDAD DE COMUNICACION CENTRAL 75 El MPSC puede ser programado para recibir todas las tramas o bien puede ser pogramado el modo de busqueda de dirección 'Address Search Moda". En este último modo, sólo las tramas con la dirección semejante al valor cargado en el registro WR6 son recibidas por el MPSC. Por otra parte, al recibir los carácteres provenientes del transmisor, en la recepción se dan ciertas condiciones que a su vez generar diferentes tipos de Interrupción. Por ejemplo, cuando el receptor es programado en el modo de interrupción en el primer carácter de datos (WR1: 04 03 = 01), en el momento que el primer carácter es recibido (dirección de la estación) se genéra una interrupción la cual es dashabilltada por el comando de deshabilitación de la interrupción en la recepción (WR1: 04 03 = 00). Otra de las fuentes de interrupción se genéra cuando se dan las condiciones especiales en la recepción como: Error en la trama, Final de la trama, Recepción sobrecorrida "Receive Overrun".(Ver Apéndice B). Por último, se muestra a continuación el algorltmo para llevar a cabo la transmisión y recepción de carácteres en el modo SOLC utilizando el MPSC-8274. RESETEO DE CANAL !tUILllHtliS IK!WllPCIOlllS M-1 l 5WCCIG911J EL *>to H OPDICIOM me ¡ HIUIU fA ltfltl· • H INICIOJ1U· •U•tlOft O[ ULC (Hit> usnu1 u CIC PIM LA flPSllSlOM 5DJCCSOMl lL CIC-CClll PIM U- SIL( . HllLUHl.tS INTP•JICIOCS Dt Lt rM•lllSIOR 1 lll l.< llCIJ'CI"' $WtC:lOllHLMto ... .,un Sbkl Mtr PIM fGID UUCCI ~ ... UM lSUtlOll U· ai•Hll . lillll.tfll t1. ,..,. • MISH, 11. HCUTOa r U.CllCPtllttM"5 • •lll• ! 1 1 1 ! 1 1 1 1 1 1 • OUUUI ti! t.oN(ilfllt DCL QMCTD A tMNS JUfl 1 llllll PORrtlllt.1- LID D. 111 M ID. llGIS- tlO 111 n• Sllll SI tlU· IO - DI La 1- 11- Clllll o DI a. cae -llllllSllllLIL 1-ISOI O PltCIOll Pll•lll ra• PDll 11· TIMSllSIOM 1I IDSIU RECEPCIOH EH EL MODO SDLC INICIO IHICIA- LIZACJOH DEL 8274 _fll .. Cl- -·r•c•I- -1111 11 IA Dlt· c100111m:i-1 ...-11111M HID- llCIO • urn:•rc1• - ... ·~­ Mii lllJD .-rt " CI .. n1m C<C • IDrmmcCDl!lll. man 111111to • .. DllCllM ID:991111 11t•a.-·mn , ........... 1.11C1• -H-IAl-- Mllllll llL tlt Cl•I ClltC'lllll H 111•--IDllD tL-t-- 111 11- H Dlllt 1111 IOllllllA-1 - tlOIH"l-1 -· CllCH a. llt 16 HL llGISTIO DO PlM UUI SI oalDIO UM IMHlllPCIOll UAMI lllUM DI SO- VltlO H lll!DlllCIOI GllUlll .... , __ Mii-" ISH IL COIM..O "llSn tMMS"lt 111!-PDt- llMO" FIN 11 3. TRAHSM18IOH EH EL MODO BDLC A) ''TRAHSMIT BUFFEA EHPTY'' C> RECEPCJOH PRIHER CARACTER INICIO INICIO llda.-•- llllLl-llLI· 1n1111a•n,... llCI• 11 llllmr- rm111r,..m1- tl-lllLI-- tlll LA Uft'lmKIOll CIOll lm: Mii -a.- 1111a.- DI CllR 11111- DI CllR 11111- 1m1t1.., 1m1t1•1 altTUaH a1tTUaH 8) ''TRAHBMlT UHDEARUH" O> FINAL DE LA TRAHA INICIO INICIO 1111 a. cml90 ... .... a._ m m•1111111• ._ .. D" ... 11•mn•1L1111- •-llLllU t•PCI• L11111m1t1• •11•a.- lllllL- IOI Cfl• H 111- IOI Cfll • 1• 1•1t>•> 1m1t1mo llETUllN a1tTUaH 4. llUTIHAB DE IHTERRUPCIOH ESTA TESIS IJO DEBE SAUR Di LA BiBLJOtECA CAPITULO 6 UN1DAD DE PROCESAMIENTO CENTRAL 80 6. LA UNIDAD DE PROCESAMIENTO CENTRAL Este capítulo está dedicado al análisis de la Unidad de Procesamiento Central (UPC). Dentro del mismo plantearemos la estructura general de dicha unidad y el principio de operación, tanto de hardware corno de software. Recordemos que esta unidad está formada por una computadora personal (PC) compatible con IBM del tipo XT; una tarjeta de adquisición de datos, la cual permitirá establecer la comunicación entre la PC y la Unidad Central de Comunicación (UCC). Así mismo, un software de comunicación entre ambas unidades y un software que permitirá al usuario generar reportes estadísticos y gráficos de cada uno de los subprocesos que se Involucren en el proceso industrial de que se trate. 6.1. ARQUITECTURA DE LA COMPUTADORA PERSONAL IBM XT Corno la parte esencial de esta unidad es una computadora personal, considerarnos pertinente realizar un breve análisis de la arquitectura de dicha computadora, para así poder comprender en forma más clara la interface con el resto del sistema. La tarjeta del 1l1tema 'MotherBoard" es el corazón de una PC, y es indispensable conocer su funcionamiento para poder realizar cualquier interface con ella. La figura 6.1 muestra un diagrama de bloques de la tarjeta, cuyas funciones principales se describen a continuación. 6.1.1. Mlcroprocendor 8088. El 8088 es un microprocesador de 16 bits, con un bus de datos a memoria de 8 bits. Las instrucciones propias del microprocesador pueden manejar datos de 16 bits, sin embargo, los datos y las instrucciones se escriben a memoria en conjuntos de 8 bits cada vez. Con el microprocesador 8088 es posible direccionar hasta un rnegabyte de memoria, ya sea para datos o programas. 6.1.2. Circuito• de Reloj. La computadora personal con microprocesador 8088, cuenta con un reloj de 4. 77 MHz, lo que da por resultado un sistema con un reloj de 210 nanosegundos. La mayoría de los ciclos de bus constan de 4 ciclos de reloj, por lo que un ciclo típico de memoria, requiere de 840 nanosegundos. Las señales de tiempo utilizadas por el microprocesador, así corno por las diversas funciones de la tarjeta del sistema, son derivadas de un cristal UNIDAD DE PROCESAMIEHTO CENTRAL 11 de cuarzo que oscila a una frecuencia de 14.31818 MHz. Esta señal es dividida entre 3 por el circuito 8284A, para obtener la señal de 4. 77 MHz. Una señal de 1.19 MHz, resulta de dividir la señal original entre 4, y es utilizada para manejar las entradas al reloj para los contadores de tiempo del sistema. AO\I lt\\l Fig.6.1 Componentes de la Tarjeta del Sistema 6.1.3. Bue del Slatema. La mayoría de los componentes funcionales de la tarjeta del sistema, estén conec- tados al microprocesador 8088 a través del bus del sistema. Este bus está formado por líneas de distintos tipos de señales: datos, direcciones, control, tiempo, requerimiento de interrupciones y control del DMA (Acceso Directo a Memoria). A este bus se encuentran conectados: UNIDAD DE PAOCHAllllNTO CEHTllAL • Un conector auxiliar para el coprocesador numérico 8087 • Un control de interrupciones de 8 niveles (8259A) • El controlador de bus 8288 • Circuitos demultiplexores y de recarga de bus La señal del controlador del bus y de los circuitos demultiplexores del bus local, forman las señales básicas que representan el bus del sistema. 6.1.4. Memoria ROM (Read Only Memory). Conectada al bus, se encuentra una ROM (Memoria de Solo Lectura) de 40 KBytes. La ROM está decodificada de tal manera, que reside en la parte superior del área de memoria de 1 MByte direccionado por el microprocesador. Las !Unciones soportadas por la ROM son: a) Inicialización del sistema. b) Diagnóstico de encendido y revisión del sistema. c) Determinación de la configuración del sistema. d) Manejo de dispositivos de E/S, comunmeñte llamado BIOS (Sistema Básico de E/S). e) Cargado del sistema operativo. f) Patrones de bits para los primeros 128 caracteres ASCII de un grupo de 256. 6.1.5. Memoria RAM (Random Acceaa Memory). La tarjeta principal del sistema, está diseñada de tal forma que se pueden instalar bancos de memoria con incrementos desde 64 hasta 256 KBytes. La memoria RAM reside en el espacio que el microprocesador 8088 direcciona a partir de la dirección 00000 y se extiende hasta la dirección OFFFF; asumiendo que se encuentran instalados 64 KB de memoria. Si la memoria instalada, fuera menor de 64 KB no se podría instalar memoria adicional a través de tarjetas de expansión de memoria, ya que el bus del sistema hacia las ranuras de expansión 'slots" no está habilitado para manejar direcciones menores de 64 KBytes. En caso de pretender instalar tarjetas de expansión de memoria, sin antes haber instalado los 64 KB de memoria básicos, la memoria instalada no sería continua. La tarjeta principal del sistema usa circuitos integrados de memoria dinámica de 64 o 256 Kb X 1, con un tiempo de acceso de 100 a 150 nanosegundos. Estos componentes requieren de tres niveles de alimentación: + 5, -5, + 12 volts. UNIDAD DE PROCESAMIENTO CENTRAL 13 6.1.6. Contador de Tiempo. Para realizar las funciones de cronometría y conteo, existe un circuito integrado 8253-5, conectado al bus. Las entradas a este reloj son manejadas por la señal de un oscilador a 1.19 MHz. La salida del temporizador en su canal O está asociada a la interrupción del sistema a nivel O y se encuentra programada para generar una interrupción cada 54.925 milisegundos (aproximadamente 18.2 veces por segundo). Este temporizador es usado por las rutinas de E/S del sistema y por el reloj del mismo, que mantiene la fecha y la hora del día. La salida del canal 1 es usada para generar un requerimiento al DMA en el canal O del mismo. Este requerimiento se realiza para refrescar la memoria dinámica del sistema, al crear un ciclo inútil de lectura a memoria por cada 72 señales de reloj del procesador o cada 15.12 s. La salida del canal 2 es usada para manejar el audio del sistema. 6.1.7. DMA (Dlrect Memory Access). Los dispositivos externos como la unidad de discos, transmiten datos en forma más rápida de lo que el procesador puede manejar, por lo que la tarjeta del sistema cuenta con una facilidad para permitir la transmisión directa de datos entre un dispositivo y la memoria, sin involucrar al microprocesador. Esta función se realiza a través del circuito 8237-5. controlador de DMA. Este dispositivo soporta transmisión de datos entre la memoria y cuatro adaptadores. Cuando un adaptador o dispositivo desea transmitir información, solicita al 8237-5 la realización de esta función. El controlador de DMA pide al 8088 dejar libre el bus del sistema, para tornar control sobre él y transmitir los datos. El canal O, de los cuatro con que cuenta el DMA, es usado para realizar el refresco de memoria. Los otros tres canales están disponibles en el bus del sistema a través de las 5 ranuras de expansión localizadas en la tarjeta principal del sistema. 6.1.8. Interrupciones. El microprocesador 8088 cuenta con dos fuentes de interrupciones: mascarables y no maae11rablea. Para manejar más niveles de interrupciones, se cuenta con el circuito 8259A, que es un controlador de interrupciones. Este componente expande las interrup- ciones rnascarables a 8 niveles. El circuito integrado no se encuentra conectado al bus del sistema, sino al bus local. De los ocho niveles de interrupción, dos son usados por la tarjeta del sistema y los seis restantes se encuentran disponibles en el bus del sistema, pudiéndose manejar a través de las ranuras de expansión. 6.1.9. Operaciones del Bus. La mayoría de las aplicaciones que requieren de interface utilizan una de las ocho ranuras de la tarjeta principal del sistema (ver figura 6.2), para conectarse a la PC. Los datos son transmitidos en un ciclo que se ha denominado ciclo de bus. Existen dos clasificaciones de los ciclos de bus: los manejados por el procesador 8088 y los manejados por el DMA. Cuando el microprocesador genera un ciclo de bus, maneja el ··--... .... ,:: •••OI ~"' """ _,,., ···~~~ ... ~·­ ...... -... 9!::! -· ·-· -o~•• MU •1101 --.. _ ..... """ 11 -- -.. ..... ]~" ... ... ... •X •UOoo•r .... .... . ..• '"'" ·•1• .... .. u uu 'ª" '"" ... , .• ... ... ... ... ... ... ... ... ... Flg.6.2 Señales para las Ranuras de Expansión UNIDAD DE PROCESAMIENTO CENTRAL .. bus del sistema con la dirección de una localidad de memoria o un puerto de E/S; controla la dirección del flujo de datos y es, ya sea la fuente o el destino de los datos. Cuando el 8088 maneja el bus, se generan cinco tipos de ciclos del bus. El primer tipo es un ciclo de lectura a memoria. El segundo es un ciclo de escritura a memoria. El tercer tipo es un ciclo de lectura de un puerto de E/S. El cuarto es un ciclo de escritura a un puerto de E/S, en tanto que en el quinto tipo es un ciclo de reconocimiento de interrupción. La segunda clasificación general de los ciclos de bus abarca aquellos manejados por el controlador DMA. Durante las operaciones de acceso a memoria (DMA), se retira el microprocesador 8088 del bus del sistema, dejando el control de los ciclos del bus trans- feridos directamente entre el adaptador de la interface y la memoria. 6.1.9.1. Ciclo de lectura a un puerto de entrada/sallda. El ciclo de lectura de un puerto de E/S se inicia cada vez que se ejecuta una instrucción de entrada del microprocesador 8088. Este ciclo es similar al ciclo de lectura a memoria. En el diseño de una PC, este ciclo consta de un mínimo de cinco ciclos de reloj, lo que equivale a 1.05 microsegundos. Durante un ciclo de E/S al puerto, el microprocesador 8088 coloca una dirección de 16 bits correspondiente a un puerto, en el bus de direcciones. Durante este ciclo, los 4 bits más significativos del bus de direcciones, nunca son activados. Durante el ciclo T 1, la señal ALE es activada, indicando que los bits 0-15 del bus de direcciones contienen una dirección de E/S válida. En el tiempo T2, la señal de control IOR, es activada, indicando que el ciclo corresponde a un ciclo de lectura de un puerto y que el puerto asociado a la dirección debe responder manejando el bus de datos con su contenido. Al inicio del ciclo de reloj T 4, el procesador toma los datos presentes en el bus de datos y la señal IOR es desactivada. El ciclo de lectura termina al finalizar el ciclo T 4, Se puede notar que un ciclo de lectura se compone de cuatro ciclos de reloj, sin embargo, en la arquitectura de una PC se agrega un ciclo de reloj extra, llamado TW (tiempo de espera), por cada ciclo. UNIDAD DE PROCESAMIENTO CENTRAL 15 6.1.9.2. Ciclo de escritura a un puerto de entrada/salida. Un ciclo de escritura a un puerto de E/S se inicia cada vez que se realiza una instrucción de salida del microprocesador BDBB. Este ciclo escribe datos del microprocesador a la dirección específica de un puerto de E/S. Normalmente, este ciclo comprende cuatro ciclos de reloj. Pero en la arquitectura de la PC se inserta un ciclo extra TW. Sólo los bits 0-15 del bus de direcciones son usados para direccionar a los puertos de E/S. La señal ALE es activada durante el ciclo de reloj T 1, en seguida la señal de control IOW es activada en el tiempo T 2. indicando que el ciclo es de escritura a un puerto de E/S y que el puerto seleccionado debe tomar datos del bus de datos. Al iniciar el ciclo T 4 la señal IOW es desactivada. 6.1.9.3. Comunicación síncrona y asíncrona. El único acceso al medio exterior de una PC, oficialmente reconocido por IBM hasta antes de la liberación de la familia PS/2, fue el puerto de comunicación asíncrona, conocido también como puerto serial, que trabaja bajo el estándar AS232C. Todos los puertos seriales de IBM tienen la misma función, toman B bits al mismo tiempo y los convierten en un tren de pulsos seriales. La característica que distingue a una comunicación serial es que todos los datos e información de control son transmitidos en una sola línea, un bit a la vez. En la comunicación asíncrona, la información es transmitida utilizando un bit de inicio y un bit de paro, de tal manera que tanto el emisor como el receptor puedan sincronizar la transmisión. En contraste, la comunicación síncrona generalmente se caracteriza por transmitir la información de acuerdo a intervalos de tiempo fijos. Un bit de datos es transmitido al poner la línea a un estado lógico . La duración de cada bit determina la velocidad de transmisión, medida en bits por segundo. Tanto el emisor como el receptor deben tener la misma velocidad. Cuando no está ocurriendo ninguna transmisión la línea se deja en un estado de •marcado", con un nivel de 1 lógico. Para empezar la transmisión, se transmite un bit de inicio, cuyo estado lógico es opuesto al del estado marcado. Después de que se transmite el bit de inicio, se transmiten los bits de datos. La configuración de bits de datos soportada por el puerto de IBM es de 5,6,7 y B. el bit de menor orden es el primero en ser transmitido. Después de transmitir los bits de datos se puede mandar un bit de paridad que es opcional. Los bits de paridad son usados para ayudar a detectar errores de transmisión. Finalmente, después del paquete de datos, se transmiten uno o dos bits de paro. El uso de bits de inicio y de fin permiten que tanto el emisor como el receptor puedan transmitir información a cualquier tiempo, es decir, asíncronamente. UNIDAD DE PROCESAMIENTO CENTRAL M Todas las computadoras personales de IBM y la familia PS/2 cuentan con un circuito integrado dedicado, llamado UART (Universal Asynchronous Receiver Transmitter). El circuito específico es el INS8250 (INS6450 para AT e INS16550 para PS/2). El INS8250 es un microprocesador programable que permite que los datos sean transmitidos y recibidos serialmente. Soporta las velocidade s más comunes, tipos de paridad, número de bits de datos y bits de inicio y paro. El UART usa cuatro registros internos para la transmisión de datos: el registro receptor de datos, el registro receptor de corrimiento, el registro transmisor de retención y el registro transmisor de corrimiento. Cuando una entrada de datos llega a una línea de datos, es colocada en el registro receptor de corrimiento. Después de que se han recibido todos los bits necesarios (inicio, datos, paridad y paro); los bits de datos son transferidos al registro receptor de datos. Cuando los datos están listos, el UART prende una bandera; entonces los datos pueden ser transferidos del registro receptor de datos del UART, al CPU ejecutando una instrucción IN. Después de que los datos son leídos, se limpia la bandera de "datos listos', hasta que se recibe otro caracter. La transmi.sión de datos es similar a la recepción. Un caracter es colocado en el registro transmisor de retención, usando una Instrucción OUT. El UART lo copia al registro transmisor de corrimiento, después de colocarle los bits necesarios (inicio, paridad y paro). 6.2. TARJETA DE ADQUISICION DE DATOS Una vez revisada en forma bastante general la arquitectura de una PC, expondremos el principio de funcionamiento de la tarjeta de adquisición de datos (ver figura 6.3) que diseñamos para realizar la interface de comunicación entre la UPC y la UCC; dicha comunicación es de tipo paralelo. El circuito 1 es el 74LS245, éste permite que los datos fluyan desde el "slot" de la computadora hacia la circuitería de la tarjeta, o que los datos vayan desde la tarjeta hacia el 'slot'. La dirección del flujo de datos está determinada por el "pin" DIR en el chip. El flujo es controlado por la línea "Output Enable". Si la línea no está habilitada, el dispositivo cambia a su 'tercer' estado. En ese tiempo, se considera que no existen cargas en el bus; esto permite que cualquier dispositivo comparta el mismo bus sin tener problemas. El 74LS245 manejará un bus de 64 pines durante lecturas de puertos de E/Sen el rango de 300-31 F hexadecimal, o 768-799 decimal. e oi 0 d Mos i c o e b e s t r o . . E R R E COMIROLADO DL PROCESS TASUITAIALES INFURFOCE URL UC UNIDAD DE PROCESAMIENTO CENTRAL U Los circuitos 2 y 3, 74LS244, son manejadores de líneas por byte que habilitan las terminales que están conectadas a tierra. Dado que la señal de habilitación está en un nivel activo bajo, este chip siempre pasa las señales del bus directamente a un "buffer". El circuito 6 es alimentado por señales de dos fuentes lógicas. La función del 74LS85 es comparar los niveles que llegan desde esas dos fuentes y entrega una señal de nivel alto en el pin 6 cuando son iguales. El bit de dirección A9 es usado corno una compuerta para habilitar el 74LS85 y debe ser de nivel alto para permitir la función del dispositivo. Las líneas de dirección AB-A5 son comparadas con las entradas que vienen del banco de resistencias y del switch. Para tener una mayor flexibilidad en el direccionamien- to, se tiene el switch. El circutto 5, un 74LS138, decodifica las direcciones desde A4 hasta A2. Cada salida seleccionada del 74LS138 habilitará cualro direcciones consecutivas. Por ejemplo, el pin 14 será activo (bajo) para direcciones de 304-307 hexadecimal. Estos bloques de cuatro direcciones son muy convenientes cuando se utilizan dispositivos tales corno 8253, 8255, 8259 y 8250. Los circuitos 4 y 7 proporcionan el resto de la lógica requerida para usar la tarjeta en un amplio rango de control de E/S. La habilitación de direcciones, AEN (Address Enable), es usada durante un acceso directo a memoria, DMA (Direct Mernory Access) y no debe ser verdadera durante las operaciones de E/S. Para activar completamente esta tarjeta, las siguientes condiciones deben presen- tarse. a) Lectura o escritura de E/S. b) Ninguna dirección habilitada de DMA. c) La salida del comparador es verdadera. La tarjeta que plantearnos es de propósito general, ya que si se tiene cuidado al decodificar el rango adecuado de direcciones, se pueden tener controladores de juegos, puertos paralelos, un puerto de comunicaciones asíncronas, un reloj calendario, etc. Para establecer la comunicación entre las dos unidades se ha empleado el circuito 8255, que es un dispositivo de E/S programable de propósito general (Ver Apéndice C). UNIDAD DE PROCESAMIENTO CENTRAL H 6.3. SOFTWARE PARA EL CONTROL DE SISTEMAS EN LINEA Dentro de la industria, se requiere de sistemas que respondan en el momento en que son alterados los distintos parámetros manejados en los procesos. La mayoría de éstos, son controlados manualmente y no siempre responden a tiempo. Los avances en microcomputadoras y la tecnología de comunicaciones han producido un incremento en la funcionalidad y distribución física de una planta de control industrial, así como en los sistemas de información. Una de las primeras etapas de esta evolución fue la interconexión entre elementos de control, terminales y recursos de cómputo. Esa combinación de tecnología de la computadora y los sistemas dinámicos da como resultado gran eficiencia y alta productividad en los procesos. Lo anterior es consecuencia de que en nuestros días el uso de microcomputadoras personales se ha incrementado explosivamente. Una razón por la cual ha ocurrido ésto, es por que conforme aumenta el número de computadoras personales en el mercado, el precio de las mismas baja. Por otro lado, se cuenta con el software desarrollado que ofrece las facilidades para tener varios programas actuando al mismo tiempo. El contar con programas que operen concurrentemente, responde a la necesidad que se tiene en el control de procesos Industriales, de supervisar diversas variables físicas y ejercer acciones de control cuando sean requeridas. Una computadora puede realizar las siguientes funciones: capturar información, procesarla y emitir acciones a ejecutar. Con esta herramienta se va más allá de mallas cerradas de control de parámetros, pasando a estrategias más sofisticadas de control interactivo. Las formas en que la computadora es usada en aplicaciones de control son básicamente dos: a) Control Digital Directo. Reemplaza a los controladores analógicos y la acción de control se ejecuta por medio de un programa de la computadora digital, de esta manera varios controladores analógicos pueden ser substituidos por un programa de computadora apropiado. b) Control Supervisor o Puntos de Control. Consiste de un programa maestro que constantemente calcula y actualiza los puntos de control de los controladores analógicos en base a una estrategia de operación predeterminada. La parte física del controlador ajusta los puntos de control de los controladores analógicos para mantener la operación de una planta en el nivel más adecuado. UNIDAD DE PROCESAMIENTO CENTRAL IO Los programas desarrollados para computadoras personales son por lo general muy sencillos de aprender y usar, además de que ofrecen características que se encuentran en minicomputadoras multiusuarios. En Jos párrafos posteriores se expondrán las técnicas básicas para desarrollar sistemas de control en línea. 6.3.1. Técnicas Básicas. Existen dos técnicas comerciales de procesamiento de datos: los procesamientos en cola y los procesamientos en línea. Los primeros no requieren de una respuesta inmediata, las peticiones son atendidas una por una y en base a prioridades, a diferencia del procesamiento en línea. Algunas de las ventajas que ofrecen los procesamientos en línea son: i) Las actualizaciones son ejecutadas en el momento mismo en que se realizan las operaciones, con lo que se dispone de datos reales al accesar el sistema. ii) El control de este tipo de procesos es real, con lo que no se debe someter a procesamientos posteriores. 6.3.1.1. Sistemas en Unea. Las etapas principales de Jos sistemas en línea son: i) El sensado o captura de datos, esto se realiza por medio de terminales a través del teclado o una tarjeta de adquisición de datos. Las terminales son diseñadas de acuerdo a necesidades específicas dependiendo de la aplicación. ii) La validación de las entradas consiste de un programa que se encarga de Identificar Jos datos capturados, con la finalidad de decidir el procesamiento de los mismos. iii) El procesamiento de la información, esto es, la computadora se programa para tornar decisiones sobre las entradas. El procesamiento se efectúa rapidamente, verifican- do todas aquellas condiciones excepcionales que hayan sido programadas. iv) El resultado del procesamiento es una acción a ejecutar, ésta se envía a través de los actuadores del sistema. 6.3.1.2. Definición de software en tiempo real. Como se mencionó en capítulos anteriores, hay aplicaciones donde la velocidad de respuesta ante una exigencia externa es decisiva. El número y frecuencia de estas exigencias determinarán la forma en que sean manejadas. El empleo de dispositivos de UNIDAD Of PROCESAMIENTO CENTRAL 91 E/S es la solución de hardware más económica, pero es lenta en comparación al uso de interrupciones. Se denomina software en tiempo real, al conjunto de programas capaces de obtener resultados a entradas de datos en forma rápida, los cuales pueden influir en el proceso a ser controlado. La gran ventaja de permitir el manefo de unidades usadas en procesos industriales, muestra que tan variable puede resultar el cuantificar procesos en tiempo real. Los elementos de software en tiempo real son: un conjunto de datos que se colectan y que informan sobre un ambiente exterior; un análisis que transforma la información que se requiere de la aplicación; un controlador de salida que responde al ambiente externo, y un monitoreo que coordina a todos aquellos componentes que responden en tiempo real al ser controlados (típicamente ocurren en un rango de un milisegundo e un minuto). Hay que notar que el término de tiempo real difiere del término interactivo, debido a que un sistema en tiempo real debe responder estrictamente en el tiempo que se requiere; en cambio, la respuesta en tiempo de un sistema interactivo puede normalmente ser excedido sin resultados desastrosos. Para llevar a cabo lo anterior se usa una herramienta del sistema de control de la computadora, o mejor llamada sistema operativo, el cual puede ejecutar varios programas al mismo tiempo, y tener residente en memoria un programa al cual se pueda hacer referencia en el tiempo en que se requiera. 6.3.1.3. Sistema de adquisición de datos. Un sistema de adquisición de datos puede localizarse fuera o dentro de la planta, de tal forma que las terminales puedan estar esparcidas a través de toda la organización. La instalación de un capturador y un sistema de colección de datos tiene corno efecto directo un mejor aprovechamiento en la precisión con lo que los registros son capturados, así como la forma en que son reconocidos. La colección de datos es sólo el primer paso para usar la computadora como herramíenta de control de procesos de la organización. Este es un paso esencial y con frecuencia difícil, puesto que hay que seleccionar debidamente los datos son indispen· sables para un sistema dado. El segundo paso consiste en formular tas reglas de decisión necesarias para implementar las diferentes situaciones a las que se enfrentará durante los procesos a controlar. y el tercer paso será cerrar el ciclo con la toma de alguna decisión. Varias de las acciones controladas se manejan con base en decisiones. y éstas se pueden realizar a través de la computadora. La computadora viene siendo un sistema controlador de información y tiene dos tipos de comunicación con el usuario. i) A través del monitor y el teclado. Este es un modo de operar a la computadora muy sencillo, puesto que ofrece un ambiente amigable. Por este medio se pueden realizar UNIDAD DE PROCESAMIENTO CENTRAL 92 encuestas; inspeccionar información en archivos y realizar modificaciones sobre procesos; entre otras cosas. ii) El segundo tipo de comunicación se realiza por medio de reportes impresos, medio por el cual se pueden obtener informes en papel de los sucesos de cualquier proceso. 6.3.1.4. Multfprogramaclón. La multiprogramación consiste básicamente en ejecutar de una forma virtual varios programas al mismo tiempo, contando únicamente con un microprocesador. La importancia de la multiprogramación radica en que hay ocasiones en las que mientras la máquina está leyendo de un archivo y procesando la información, se desea imprimir los resultados del mismo, con lo que se requiere hacer uso de diversos dispositivos. La computadora no puede llevar a cabo todas las operaciones simultáneamente, con lo que tiene que simularlo, y a esta forma de trabajar del procesador se le conoce como multiprogramación. El tiempo compartido es un buen ejemplo de multiprogramación, ya que lo que en realidad se hace es dar pequeñas porciones de tiempo para atender a cada proceso, con lo que pareciera que se realizan éstos simultáneamente. El encargado de realizar lo anterior es el sistema operativo del equipo de cómputo que se utilice. 6.3.1.5. Programas residentes en memoria. Un programa residente en memoria es aquél que se encuentra en cualquier instante de tiempo dentro de la memoria RAM, y con solo ser invocado se tiene acceso a él. Para realizar lo anterior es necesario tener memoria RAM disponible y que el sistema operativo lo permita. Esta técnica ha sido muy popular en muchos programas comerciales, a nivel de computadoras personales. Exis!en herramientas que permiten crear programas residentes en memoria para computadoras que tienen un solo procesador, como lo son las microcomputadoras personales. Los programas residentes en memoria (TSR) se basan en llamar a una interrupción, cuya rutina de atención pone al programa en una porción de memoria que jamás se borra. Anteriormente era muy útil realizar este tipo de programas en lenguaje ensamblador y a niveles de interrupción muy bajos, actualmente se puede escribir este tipo de programas en lenguajes de alto nivel como son Pascal y C. Una vez que un programa se encuentra residente en memoria, el sistema operativo toma el mando de la máquina y realiza otras tareas. Los programas residentes en memoria tienen una rutina de servicio de interrupción (ISR), que se encuentra ligada a las interrupciones del teclado. Las llamadas a un programa residente pueden realizarse de dos maneras: mediante el ISR, que detecta el momento en el cual el usuario oprime una tecla específica, o con una simple invocación al programa. UNIDAD DE PROCESAMIENTO CENTRAL 13 Esto lleva a definir otro término, la "reentrada". Esta consiste en que un programa pueda ser usado más de una vez al mismo tiempo por varias rutinas, por lo que los programas residentes en memoria pueden ser reentrantes, trayendo consigo múltiples ventajas en lo referente al tamaño del código de programas. 6.4. SOFTWARE EN LINEA PARA COMPUTADORAS PERSONALES Como ya vimos, hoy en día se cuenta con los recursos tanto de software como de hardware, para que una computadora personal compatible con IBM pueda ejercer control de sistemas en Hnea. Por parte de software existen sistemas operativos que ofrecen ventajas para desar- rollar estos sistemas, así como lenguajes de programación de alto nivel que sirven como herramienta para resolver satisfactoriamente problemas de control en línea. Los sistemas operativos más conocidos para este tipo de computadora son DOS y UNIX. Sin embargo, el que ha alcanzado mayor difusión es el primero de ellos. En cuestión de hardware existen gran cantidad de periféricos y tarjetas de propósito específico, dependiendo de las aplicaciones que se deseen desarrollar. 6.4.1. Sistema Operativo DOS {Disk Operatlng System). El sistema operativo de una computadora es la parte más importante de su software, esencialmente en la industria y en aplicaciones de control de procesos. Esto se debe a que el sistema operativo determina que tan rápido puede responder una computadora a ocurrencias de eventos en tiempo. Aunque el DOS es el sistema operativo dominante, tiene muchas limltantes en el uso industrial, ya que su arquitectura no fue diseñada para atender este tipo de aplicaciones. Por ejemplo, las microcomputadores personales solo cuentan con un microprocesador y este tipo de máquinas se utilizarían para gran variedad de aplicaciones pero con un solo usuario a la vez. Estos equipos podrían ser manejados en forma natural por varios usuarios, si y solo si el sistema operativo cuenta con técnicas de multiprogramación. pero DOS no tiene dichas características. Estas limitaciones son de gran importancia en los programas de aplicación que ejecutan un trabajo de monitoreo en línea, puesto que no deben quedarse en instrucciones cíclicas por ninguna razón. Por ejemplo, si se desea estar monitoreando cuatro entradas UNIDAD DE PROCESAMIENTO CEHTllAL 14 de temperatura, el programador debe permitir que el programa capture estas lecturas durante una operación repetitiva cuando estén cambiando dichas señales. La tercera limitante consiste en que DOS no puede manejar más de 640 KBytes de RAM en forma natural. Ante esta limltante, actualmente se cuenta con memoria extendida, con la cual una computadora personal tipo AT puede aumentar su memoria de acceso aleatorio, con drivers especiales. Sin embargo, también se tienen ventajas con este sistema operativo. El costo es un factor muy importante, ya que DOS es un sistema operativo accesible y con el que la mayoría de los proveedores de computadoras personales compatibles con IBM entregan sus equipos. El número de lenguajes de programación y compiladores para los mismos es muy variado, además de que cuenta con herramientas para el desarrollo de sistemas en línea. Las computadoras personales son sistemas abiertos a los cuales se les puede añadir hardware comprado o diseñado por uno mismo, DOS permite tener contacto con este tipo de hardware también. Existe una gran variedad de paquetes en diversas áreas de negocios, por ejemplo, la administración, dibujo, diseño gráfico entre otros, y dichos paquetes están desarrol- lados para correr bajo el sistema operativo DOS. 6.4.2. Desarrollo del Software de la UPC. El software empleado en la UPC podemos pensar que es de dos tipos: un software de comunicación entre la computadora y la UCC; gracias al cual es posible obtener la información presente en la tarjeta de adquisición de datos; así como el software que hace que dicha comunicación sea más amigable para el usuario, ya que a través del programa, se podrán variar los parámetros más significativos de cada uno de los subprocesos, (valor máximo, mínimo, tiempo de adquisición de datos, etc.), obtener valores de cada uno de los subprocesos o variables que se estén manejando. Con esa información se realiza una serie de procesos y ajustes para que se realice, ya sea en forma tabular o por medio de gráficas un análisis estadístico, y opcionalmente la impresión de reportes. El software involucrado en la UPC puede ser desarrollado en lenguaje Pascal o C. Para poder cumplir con los requerimientos m!nimos de este tipo de software es necesario recurrir al empleo de interrupciones ya sea al BIOS o al DOS. En el Apéndice D se muestran en detalle las características principales de dichas interrupciones, así como sus parámeteros asociados. Toda la Información que se genera en cada uno de los subprocesos puede ser analizada por métodos gráficos o estadísticos, ya que el programa debe proporcionar al usuario la opción de ver la información en forma tabular o gráfica. En ambos casos, se UNIDAD DE PROCESAMIENTO CENTRAL H presentarán los valores obtenidos antes de efectuar la acción de control y los que se obtuvieron posteriormente. El programa deberá tener una forma de operación bastante simple, ya que se basa en una serie de opciones que el usuario selecciona de un menú principal. Al realizar la selección del menú, el programa habrá de desplegar ya sea un nuevo menú o la información correspondiente al parámetro seleccionado. En todo momento el usuario tendrá a su disposición una ventana de ayuda en la que se le indique cual es la acción más apropiada a seguir en caso de que se presente alguna dificultad. El programa tiene que ser capaz de detectar el hardware instalado para el control del video, (tarjeta de gráficas, tipo de monitor, etc.), y si éste no es capaz de realizar gráficas de mediana o alta resolución el programa no trabajará en dicho equipo. Así mismo, si al momento de mandar a impresión un reporte o gráfica, el programa verificará en primera instancia el estado del impresor; si éste no está conectado o presenta algún error en su funcionamiento, dicho estado se Indica al usuario por medio de algún mensaje de error del impresor; de esta manera se podrán tomar las acciones correspon- dientes de suspender la Impresión o corregir el error. Uno de los aspectos más sobresalientes del programa es que presente una opción de 'Autoverificaclón', en la que el sistema mande a la UCC una serie de parámetros conocidos y espera en respuesta una serie equivalente de valores plenamente iden- tificados, de esta manera puede establecerse si la comunicación entre ambas unidades es correcta. Así mismo, contar con una opción de 'Reinicialización', la cual pondrá en condiciones iniciales a todos los subprocesos involucrados. Esta opción tendrá una clave de acceso, (la cual idealmente solo debe conocer el responsable de la planta), debido a la importancia y repercusiones que conlleva una acción de esta magnitud. En los párrafos posteriores se hará una breve descripción de los aspectos técnicos que Involucran el desarrollo del programa. 8.4.2.1. Adqul1lcl6n de d1to1. Para poder obtener la información presente en la tarjeta de adquisición de datos, es necesario conocer la dirección asociada al puerto de entrada de la tarjeta. Conociendo esta dirección se desarrolla un procedimiento que puede leer la información contenida en dicha dirección. Para poder realizar un mejor control de este proceso se establece que la PC realice la adquisición de información de cada una de sus unidades en un período dado, contado a partir del momento en que el sistema es inicializado. El almacenamiento de la Información dentro de la PC se realiza en forma temporal en memoria RAM, empleando una serie de vectores. Posteriormente, se almacena la información en disco, ya sea duro o flexible. UNIDAD DE PROCESAMIENTO CENTRAL 6.4.2.2. Procesamiento de Información. Una vez que la información ha sido almacenada en la memoria de la PC, se puede realizar el tratamiento correspondiente. La información es almacenada originalmente en una serie de vectores; con estos valores se pueden realizar gráficas o tablas. 6.4.2.3. Manejo y control de video. Para realizar el control de las diferentes opciones del video, se utilizan algunas de las funciones que para tal efecto trae implementadas el compilador Turbo Pascal, en otros casos es necesario el desarrollo e implantación de diferentes rutinas de manejo de video. Para la realización de dichas rutinas, se utiliza la interrupción 10 hexadecimal del BIOS, que es la encargada de todas las funciones del video 0Jer Apéndice O). 6.4.2.4. Manejo y control de Impresión. Para la obtención de reportes impresos es necesario emplear la interrupción 17 hexadecimal del BIOS, que es la encargada de atender a la impresora (ver Apéndice O). Es a través de esta interrupción como puede saberse el estado del impresor antes de mandar a imprimir cualquier tipo de información. La impresión de gráficas se lleva cabo por medio de la interrupción 5 hexadecimal que es la encargada de imprimir la pantalla (ver Apéndice D). Para poder realizar la impresión de gráficas es necesario que la impresora a emplear sea capaz de Imprimir gráficas y que este modo de operación sea inicializado en la impresora. Dicha inicialización puede realizarse de dos formas: empleando el comando GRAPHICS de sistema operativo DOS, el cual inicializa la Impresora en modo gráfico; y la otra es generar el "driver• correspondiente de gráficas para la impresora desde el programa. CAPITULO 7 PROCESAMIENTO AJO CON EL 8031 97 7. PROCESAMIENTO ANALOGICO/DIGITAL CON MICROCONTROLADORES DE LA FAMILIA MCS-51 DE INTEL_ 7.1. INTRODUCCION Existen por lo menos tres arquitecturas populares para convertir un voltaje analógico a un valor digital: "Flash", integración y aproximaciones sucesivas. Los ND "Flash' son los más rápidos, y los más caros para una exactitud dada. Los convertidores "Flash" tienen velocidades de conversión medidas en las décimas de nanosegundo. Los convertidores integradores son los más lentos, pero los más exactos. La conversión por integración es generalmente insensible al ruido en la entrada, pero los tiempos de conversión se miden en milisegundos. Los convertidores por aproximaciones sucesivas proveen un balance entre velocidad y exactitud. Los tiempos en la conversión por aproximaciones sucesivas se mide en las décimas de microsegundo, y la implementación para una cierta exactitud es bastante económica. La serie MCS-51 de microcontroladores de lntel contienen muchas facultades que pueden ser integradas directamente a muchos tipos de instrumentación. Para ilustrar el poderío del 8031 a continuación se elaborará sobre dos técnicas para realizar la conversión analógica a digital (ND). En ambos ejemplos se asume que algún hardware adicional se conecta en las terminales de E/S del 6031. 7.2. TECNICA DE CONVERSION POR APROXIMACIONES SUCESIVAS La conversión A/D por aproximaciones sucesivas involucra una "búsqueda binaria" de un voltaje desconocido relativo a una referencia "fija" conocida. La referencia se divide selectivamente por múltiplos de 2 hasta que se alcanza la exactitud deseada.La figura 7.1 es un diagrama de flujo de un convertidor por aproximaciones sucesivas. por lo general esta técnica requiere que un convertidor DIA divida la referencia de voltaje y que un comparador de voltaje compare el voltaje desconocido con la referencia "dividida". Los convertidores D/A y los comparadores de voltaje son fáciles de conseguir y relativamente PROCESAMIENTO A/O CON EL &031 91 NO (INICIO) DECLARA BIT=l'ISB+J. DECLARA BIT:BIT-J. PO HER BIT BORRAR BIT SI TERl'llHA FIG. 7.J. ALGORITMO DE COHUERSIOl'I POR APROXll'IACIOHES SUCESIUAS. PllOCESAlllENTO A/O CON EL 8031 " económicos. Un diagrama de bloques de un convertidor AJO basado en 8031 se muestra en la figura 7.2. 11ul-----t1"1 '" 1------tl"I PU 111.Jl-----llM "•1-----tl"I "' ,,_. 8Qlj l ptyl-----llM 67')1 BOJ 1 ,.,1------to.; 111.tl------..M •111-----llM 111.1 ... PU Flg. 7.2 Diagrama de Bloques de un AOC por Aproximaciones Sucesivas MuChos convertidores AJO industriales requieren de una exactitud de 12 bits. Un convertidor de 12 bits provee un buen •rango dinámico" y es capaz de contar con una resolución de 1/4096. Si el voltaje de entrada aplicado está entre O y 10 V, un convertidor de 12 bits tendría una resolución de 2.4 milivolts, dentro de dicho rango. La exactitud teórica de un convertidor de 12 bits es de 0.024 % .±. 1/2 LSB. El poderío de un 8031 en este tipo de aplicaciones se revela más fácil examinando el software requerido para implementar el algoritmo de aproximaciones sucesivas. La rutina para el 8031 se muestra en la Tabla 7.1. PROCESAMIENTO AJO CON EL 1031 100 Tabla 7.1. Rutina de aproximaciones sucesivas para el 8031 INSTRUCCION BYTES ;BORRA TERMINALES DE LOS PUERTOS MOV P1,#0 ANL P2,#0FOH ;COMIENZA LA CONVERSION SETB P2,3 JNB P2.4,L1 CLR P2.3 L1: SETS P2.2 JNB P2.4,L2 CLR P2.2 L2: SETS P2.1 JNB P2.4,L3 CLR P2.1 L3: SETB P2.0 JNB P2.4,L4 CLR P2.0 L4: SETB P1.7 3 3 2 3 2 2 3 2 2 3 2 2 3 2 2 TIEMPO 2 2 2 2 2 2 PROCESAMIENTO AJO CON EL I03t tOt JNB P2.4,l.5 3 2 CLR P1.7 2 L5: SETB P1.6 2 JNB P2.4,L6 3 2 CLR P1.6 2 L6: SETBP1.5 2 JNB P2.4,L7 3 2 CLR P1.5 2 L7: SETBP1.4 2 JNB P2.4,l8 3 2 CLR P1.4 2 LS: SETBP1.3 2 JNB P2.4,L9 3 2 CLR P1.3 2 1.9: SETBP1.2 2 JNB P2.4,L10 3 2 CLR P1.2 2 L10: SETB P1.1 2 JNB P2.4,L11 3 2 CLR P1.1 2 L11: SETBP1.0 2 JNB P2.4,L12 3 2 CLR P1.0 2 PROCESAMIENTO AJO CON EL S031 102 L 12:CONVERSION TERMINADA TOTAL 90 46¡1S Nota: los tiempos típicos son Peor caso = 52 11 s Mejor caso = 40 1.s Los tiempos de ejecución dados asumen un reloj oscilador a 12 MHz. Comparando estos con la siguiente rutina de un Z-80 a 4 MHz, que ejecuta el mismo algoritmo con el hardware de conversión D/A conectado a un puerto de E/S, se muestra en la Tabla 7.2 (asuma que todos los bits en el PUERT03 están aterrizados, exceptuando la entrada del comparador). Tabla 7 .2. Rutina de aproximaciones sucesivas para el Z-80. INSTAUCCION BYTES BORRA TERMINALES DE LOS PUERTOS LD A,O OUT (PUERT01),A OUT (PUERT02),A COMIENZA LA CONVERSION LD A,OSH 2 2 2 2 TIEMPO 1.75 2.75 2.75 1.75 PROCEIAlllENTO A/D CON EL I031 103 OUT (PUERT02),A 2 2.75 IN A,(PUERT03) 2 2.75 OR A 1.00 IN A.(PUERT02) 2 2.75 JP Z,L1 3 2.50 ANO OF7H 2 1.75 L1: OR 04H 2 1.75 OUT (PUERT02),A 2 2.75 IN A, (PUERT03) 2 2.75 OR A 1.00 IN A,(PUERT02) 2 2.75 JP Z,L2 3 2.50 ANO OFBH 2 1.75 L2: OR 02H 2 1.7 Repitase 10 veces más entre L 1 y L2, e inicialice los bits de EJS apropiados TOTAL 179 180µS Nota: los tiempos típicos son Peor caso = 190.25 µS Mejor caso = 169.251•S Se puede argumentar que "mapeando en memoria' los puertos de E/S del Z-80 se pueden mejorar los tiempos de ejecución, ya que el usuario puede hacer uso de las instrucciones SET y RESET para el manejo de bits en memoria. En realidad sólo se llegan a ahorrar unos cuantos bytes de la memoria, pero muy poco tiempo. Esto es porque las instrucciones del Z-80 orientadas al manejo de bits en la memoria son muy lentas, requeriendo entre 3 y 5 µs con un reloj de 4 MHz. PROCESAlllENTO All> CON ELI031 ID< Esto no significa que el Z-80 no sea un buen procesador de 8 bits. La limitante es que las decisiones (v.gr. saltos) no se pueden llevar a cabo directamente con el estado de una terminal de E/S. En la mayoría de los procesadores, las instrucciones de salto se realizan según el estado de banderas, después de algún tipo de operación lógica o arttmética. Esto significa que la información se debe mover a un registro interno del CPU antes de que se pueda realizar una decisión. Este "movimiento" de información entre registros internos y E/S hace bastante ineficiente al microprocesador, comparado con el microcontrolador, al involucrarse el manejo de E/S. Notese que el algoritmo del 8031 nunca "mueve" datos de una localidad a otra, directamente fija, prueba y borra los bits. Esta característica le dá al 8031 su notable ventaja de ejecución. Otra ventaja del 8031, para este tipo de aplicaciones, tiene que ver con el hecho de que las terminales de E/S de los puertos se pueden fijar, borrar, complementar y probar con la misma velocidad que un microprocesador manipula sus registros internos. Notese que el 8031 requiere de 1 µs para hacer la búsqueda de una instrucción y fijar o borrar una terminal de un puerto. Un microprocesador debe primero buscar y decodificar el código de operando, después fijar la dirección de memoria o E/S en el bus, y después realizar la operación necesaria. Toda esta "comunicación" en el bus del microprocesador retarda significativamente al microprocesador. 7.3. CONVERTIDOR INTEGRADOR DE PENDIENTE DOBLE Convertidores A/O integradores operan mediante un método indirecto que convierte un voltaje en un período de tiempo, para después medir el período de tiempo con un contador. Las técnicas de integración son algo lentas, en comparación con aproximaciones sucesivas, pero son capaces de entregar mediciones muy exactas (5 o más dígitos decimales), si las adecuadas técnicas analógicas son empleadas. También tienen la ventaja de permitir un período de integración múltiplo de 60 Hz (16.67 ms), con lo que se puede eliminar las inexactitudes causadas por la siempre presente "línea de alimentación•. Casi la totalidad de los vóltmetros digitales emplean algún tipo de técnica de integración. La figura 7.3 es un diagrama de bloques de un convertidor A/O típico. Las figuras 7.4a, 7.4b y 7.4c muestran las tres fases involucradas en la técnica de pendiente doble. La figura 7.4a ilustra la fase de autoa]uste a cero. En esta fase el lazo Integrador se cierra y el offset del integrador analógico se acumula en el capacitar de auto cero. En la figura 7.4b, el interruptor de entrada se cierra y el integrador integra el voltaje de entrada para un período de tiempo fijo T1. En la figura 7.4c, el interruptor de referencia se cierra y el integrador integra el voltaje de referencia hasta que el comparador sansa una condición de cruce por cero. El tiempo que toma para que esta fase ocurra es directamente proporcional a la amplitud del voltaje de entrada. Se pueden agregar circuitos adicionales para determinar la polaridad del voltaje de entrada, y posteriormente conmutar a una referencia de polaridad contraria, pero la técnica básica permanece igual. PROCESAMIENTO AJO CON EL 8031 105 El 8031 es un controlador ideal para un sistema ND integrador inteligente. Los temporizador/contadores de 16 bits pueden proveer más que 4.5 dígitos decimales de exactitud, el puerto serial se puede emplear para enviar la lectura analógica a una Impresora u otro procesador, el CPU puede ser interrumpido por la línea de 60 Hz para •. Vf•'- ... ,,,.,,., ;--~ r-·-Jf- . ; ! : ~ ' i ;e'"""''" + - ~ -" ~;:::: ....... ¡ ~ -v~· ... ' ' ,----- .Le '--~~~~~~.l_:_ .. _ ... _ .. ·~~~~-j Fig. 7.3 ADC Integrador que las conversiones comiencen en intervalos precisos, y se puede emplear software para calcular y guardar promedios, máximos o lecturas RMS. Otra ventaja de este tipo de convertidor es que no se necesitan muchas terminales de E/S para controlar el hardware del convertidor ND, con lo que opto-acopladores pueden ser empleados para aislar por completo al sistema digital del hardware analógico. Los opto-acopladores proveen una ventaja adicional ya que pueden proveer un corrimien· to del nivel lógico si lo requiere la circuitería analógica. La figura 7.5 muestra como un 8031 puede ser conectado al sub-sistema analógico. En la práctica, los interruptores analógicos pueden ser cualquier cosa dentro del rango de los CMOS hasta los VFETs. El código necesario para generar la función básica de conversión ND se muestra en la Tabla 7.3. Las interrupciones de los temporizadores pueden ser empleadas para que el CPU pueda realizar otras cosas mientras que la conversión esté en proceso. Notese que se requiere de muy poco tiempo para realizar la eventual conversión ND. dm r igun tor inteprador . Comparador “ —- > > pues . uta por cats Vial - c T hute cora e. puso ín auto ecró dmortigun der integrador Eds TUEA Por dera ba Pus» de totegración de le actad Amertguador mepracor mm Nm - ven por nero Vrat le T dto arto ' e fego 05 Int yraaión do le rurormair Fig.7.4 Fases del ADC Integrador Tabla 7.3. Software para el convertidor A/D integrador ¡Comienza el programa PAOCESAllllNTO A/D CON EL I0>1 10I VI-'"'~"""''"'"""'"' !i:::.H'"' Ytel · ' ¡lll\1ctn . ~m .... .,.. e .¡•~lt•et• "' ................ .... L. . ,_. ... , ~E'> • 1= ... oHO VI ' • • • ~~W .....¡ .... v,,,J -'~ .l.c r ... , ..... i , , ses el OC or bla , , oft are ra l nverti or / I r or ; ienza l o ram PROC.ESAlllENTO A/D CON EL WI 107 í----------- 1 1 ...... ~ -11 , ....... .. 1 ~- - I' e !:__ ___ ,¡ -r- .. ,.... 1 J_ j _[~ ... . U ........... 1 1 ... 8051 L ______ _ Fig. 7.5 'T1pico Subsistema Analógico, Controlado por 8051 CLR TAO MOV THO,#ALTO TAC MOV TLO,#BAJO TAC ANL P1,#0FOH ;apaga temporizador ;carga auto cero ;tiempo ;desactiva el A/D PROCESAMIENTO AJO CON EL I031 108 SETS P1 .2 ;fase de auto cero SETB TAO ;enciende el temporizador JNB TFO,$ ;espera un overflow CLR TAO ;apaga temporizador CLR TFO ;Inicializa bandera TOV MOV THO,#ALTA INIT ;carga Integración MOV TLO,#BAJA INIT ;tiempo CLR P1.2 ;termina auto cero SETB P1.1 ;comienza Integración SETB TAO ;comienza temporizador JNB TFO,$ ;espera un overflow CLR P 1. 1 ;termina la Integración ;Ahora integra la referencia SETB P1.0 ; En este punto el temporizador o tiene un valor de 2 ;el temporizador es Igual a cero cuando sucede un PROCEllAlllENTO A/D CON EL 0031 10I ;overflow y se ha incrementado dos veces durante las ;últimas dos instrucciones ;Ahora espera un cruce por cero JNB P1.3,$ ;.Apaga el temporizador CLR TAO ;Ahora el temporizador O !. Vin + 3 cuentas 7.4. USANDO EL 8031 CON TRANSDUCTORES RESONANTES 7.4.1. lntroduccl6n. La mayoría de los transductores sensantes no son directamente compatibles con los controladores digitales, ya que generan señales analógicas. Algunas compañías de transductores están desarrollando familias comunes de sensores que generan señales directamente compatibles con los sistemas digitales. Estos no son sensores con conversión AJO interconstruída, sino más bien osciladores cuya frecuencia depende de alguna manera de la propiedad física que se esta midiendo (ver apéndice F para un caso comercial). Estos dispositivos mandan un tren de pulsos rectangulares cuya razón de repetición codifica el valor de la cantidad que se mide. Estos pulsos, en la mayoría de los casos, se pueden alimentar directamente al 8031, el cual mide ya sea la frecuencia o el período de la señal entrante, basando la medición, en la exactitud de su propio reloj oscilador. PROCESAMIENTO A/D CON EL 0031 11 O Cuando se ha terminado con la medición de frecuencia o período, el 8031 realiza, en pequeños intervalos de tiempo, una verificación de seguridad en la medición y la convierte en software dentro de cualquier escala establecida para la cantidad de la medición. La conversión a software puede incluir correcciones para las no-linealidades en la función de transferencia del transductor. La resolución también se controla por software, y puede variarse dinámicamente para dar cabida a cambios en alguna etapa crítica. Por ejemplo, en un controlador de procesos se puede incrementar la resolución (hacer un ajuste "fino' en el control) al estarse aproximando el proceso a su objetivo. La tecnología se aplica a cualquier tipo de parámetro medible: presión, densidad de gas, posición, temperatura, fuerza, etc. El transductor opera en un rango del voltaje de 3V a 20V, por lo que el sensor y el microcontrolador pueden operar de la misma fuente de suministro de voltaje. En 5V, el transductor consume menos de 5 mA, por lo que el sensor, en la mayoría de los casos, se puede conectar directamente a una terminal de los puertos del microcontrolador (ver figura 7 .6). La frecuencia nominal de referencia de la señal de salida de estos dispositivos está en el rango de 20 Hz a 500 kHz, dependiendo del diseño. Un cambio en la medición fuera de estas condiciones de referencia ocasiona un corrimiento en la frecuencia por una cantidad relacionada con el cambio del valor de medición. El microcontrolador detecta el cambio en la frecuencia o periodo y lo convierte en software según el valor medido. 7 .4.2. Conectando el Transductor Dlgttal al 8031. Normalmente la salida del transductor se puede conectar directamente a alguna terminal del 8031. Una excepción ocurrirá cuando la señal del transductor no se restringe a un rango de voltaje de -0.5 a + 5.5 V. El 8031 no es sensible a los tiempos de subida y bajada de sus señales de entrada. Detecta las transiciones muestreando sus terminales de puertos en intervalos fijos (una vez cada ciclo de máquina), y responde a un cambio según la secuencia de las muestras. Si la razón de 'slew' de la señal del transductor es muy baja, el ruido superpuesto en la señal puede causar una secuencia de señales que muestre transiciones falsas. Por ello en ocasiones la señal del transductor se debe pasar por un 'Schmitt trigger' para cuadrarla. 7.4.3. Estructura Temporizador/Contador en el 8031. El 8031 tienen dos temporizador/contador de 16 bits: temporizador O (timar O) y temporizador 1 (timar 1 ). Ambos se pueden configurar por software para operar como temporizadores o como contadores de eventos. PllOCHAlllENTO A/11 CON EL I031 111 Flg.7.6 COnexl6n de un Transductor Resonante En la función de 'temporizador', el registro se incrementa automáticamente cada ciclo de máquina. Ya que el ciclo de máquina en el 8031 consiste de 12 períodos de reloj, el temporizador se Incrementa a una razón constante de 1/12 la frecuencia del reloj. En la función •contador", el registro se Incrementa como respuesta a una transición de 1 a o en su correspondiente terminal de entrada externa (TO o T1J. Esta función trabaja al muestrear la terminal externa cada ciclo de máquina, y cuando las muestras son un 1 en un ciclo y un O en el siguiente, la cuenta se incrementa Notase que se necesita de dos ciclos de máquina (24 períodos de reloj) para reconocer una transición 1 a O, la razón máxima de conteo es de 1 /24 la frecuencia del reloj. 51 la frecuencia de reloj es de 12 MHz, la razón máxima de conteo seré de 500 kHz. No existen restricciones en el ciclo de trabajo de la señal a contar. 7.4.4. Criterio p1r1Medir11 Frecuencl1 o el Periodo. El medir frecuencia requiere de contar pulsos del transductor para un tiempo de muestreo fijo. El medir el período requiere el medir un intervalo de tiempo para un número fijo de pulsos del transductor. Para un nivel de exactitud dado, en la determinación del valor medido, usualmente es más rápido medir el período que la frecuencia, aún cuando la medición sea proporcional a la frecuencia y no al periodo. Ambos temporizador/contador se pueden emplear, uno para marcar el tiempo y el otro para contar los pulsos del transductor. Si la frecuencia contada no se excede de los 50 kHz, se puede conectar la señal del transductor a una terminal de interrupción y contar los pulsos del transductor con software. Esto libera un temporizador, con bajo costo en el tiempo del CPU. PROCESAMIENTO AJO CON EL 8031 112 7.4.5. Mediciones de la Frecuencia del Transductor. El medir frecuencia significa medir pulsos de transductor para un tiempo de muestreo deseado. La cuenta que se obtiene directamente es TxF, donde T es el tiempo de muestreo y Fes la frecuencia. El rango para la escala completa es Tx(Fmax-Fmin). Para una resolución de n bits Tx(Fmax-Fmin) 1 LSB Por ello el tiempo de muestreo requerido para una resolución de n bits es 2" T-------- Tx(Fmax-Fmin) Por ejemplo, una resolución de 8 bits en la medición de una frecuencia que varia entre 7 kHz y 9 kHz requerirá, según la fórmula, un tiempo de muestreo de 128 ms. La cuenta de frecuencia máxima aceptable será 128 ms x 9 kHz = 1152 conteos. El mínimo será 896 conteos. Restando 896 de cada cuenta de frecuencia permitirá que se reporte la frecuencia en una escala de O a FF en dígitos hexadecimales. Para implementar la medición; un temporizador se emplea para establecer el tiempo de muestreo. En esta función se eutoincrementa cada ciclo de máquina. El temporizador se inicializa a un valor que lo reinicializa al final del tiempo de muestreo. Entonces genera una interrupción, y la interrupción lee e inicializa el contador de pulsos de transductor, y vuelve a cargar el temporizador con el valor de inicialización adecuado. El valor inicial es el complemento a 2 negativo del tiempo de muestreo en ciclos de máquina. El tiempo de muestreo se puede convertir a ciclos de máquina multiplicándolo por (Fxtal)/12, donde Fxtal es la frecuencia del 8031. Por ejemplo, si la frecuencia del reloj es de 12 MHz, entonces el tiempo de muestreo es de 128 ms (128 ms) x (12000 kHz)/12 = 128000 ciclos de máquina Entonces el valor Inicial requerido para provocar la interrupción en los 128 ms es : -128000 = FEOCOO, en dígitos hexadecimales Notase que el valor inicial tiene un ancho de 3 bytes mientras que el ancho del temporizador es de 2 bytes. Esto significa que el temporizador se debe aumentar a tres PROCESAMIENTO A/O CON EL 8031 113 bytes con software en la rutina de Interrupción del temporizador. El 8031 tiene una instrucción DJNZ (decrementa y salta si no es cero) la cual facilita codificar el tercer byte para que cuente hacia abajo en vez de hacia arriba. Si el tercer byte del temporizador cuenta hacia abajo, su valor inicial es el complemento a 2 de lo que sería para un contador hacia arriba. Por ejemplo, si el complemento a 2 del tiempo de muestreo es FEOCOO, entonces el valor Inicial para el tercer byte del temporizador será 02, en vez de FE. La rutina de lnterrupci6n del temporizador podría ser: RUTINA_INTERRUPCION_ TIMER: DJNZ TERCER_BYTE,SALE MOV TL0,#0 MOV THO,#OCH MOV TERCER_BYTE,#2 MOV FRECUENClA,CONTADOR_LO ;Inicializar CONTADOR a -896: MOV CONTADOR_LO,#BOH MOV CONTADOR_Hl,#OFCH SALE: RETI En este punto el valor de la frecuencia de la señal del transductor, medido en una resolución de 8 bits, está contenido en la variable 'frecuencia'. Notese que el temporizador se puede inicializar sobre la marcha. Notase también que para una resolución de 8 bits sólo es necesario leer el byte inferior del contador de frecuencia, ya que el byte superior necesariamente es O. Sin embargo, uno puede verificar que el byte superior sea cero, para mayor seguridad en los datos. El problema con medir la frecuencia no sólo radica en su lentitud, sino que es un desperdicio del poderío de los temporizadores del 8031. Un temporizador con una resolución de microsegundos se emplea para marcar períodos de tiempo de 100 ms. De cualquier modo la técnica no sólo es útil si el temporizador atiende otros propósitos, con lo que el tiempo de muestro sale gratis. Pero en la mayoría de los casos es más rápido e Igualmente exacto medir la frecuencia derivándola de una medición del período. PROC!SAMIENTO AJO CON eL I031 H• 7.4.6. Medlclone1 del Periodo del Transductor. Medir el período de una señal del transductor significa medir el tiempo total elapsado sobre un número, N, de pulsos del transductor. La cantidad que se mide directamente es NT, donde T es el período de la señal del transductor en ciclos de máquina. La relación entre T en ciclos de máquina y la frecuencia del transductor F en unidades arbitrarias de frecuencia es Fxtal T=--X(1/12) F donde Fxtal es la frecuencia del reloj del 8031, en las mismas unidades que F. El rango para la escala completa es entonces N x (Tmax-Tmin). Para una resolución de n bits N x (Tmax-Tmin) 1LSB Por ello el número de períodos sobre los cuales el tiempo elapsado debe ser medido es N=----- Tmax-Tmln Sin embargo, N también tiene que ser un entero. La fórmula anterior sa puede evaluar lógicamente (sin olvidar que Tmax y Tmin están en ciclos de máquina) y seleccionar N pare el siguiente entero superior. Esta selección dá una medición de período que tiene algo más que una resolución de n bits, pero en caso necesario se puede regresar a la resolución de n bits mediante NT-NTmln valor reportado = ------ NTmax-NTmln l'llOCHAlllEHTO A/D COll 1L IOJI 111 donde NT es el tiempo elapsado sobre N períodos. El cálculo se puede realizar matemáticamente si se cuenta con una adecuada rutina de división. Para una resolución de 8 bits es razonable buscar el valor reportado en una tabla. Por ejemplo, supongase que se desea una resolución de 8 bits en la medición del período de una señal cuya frecuencia varía entre 7 .1 kHz y 9 kHz. SI la frecuencia del reloj es de 12 MHz, entonceslaTmaxes (12000kHl/7.1 kHz) x (1/12) = 141 ciclos de máquina. Tmin es 111 ciclos de máquina. El valor requerido para N es, según la fórmula, 256/(141· 111) = 8.53 períodos. Usando N = 9 períodos dará un máximo valor de NT de 141x9 = 1269 ciclos de máquina. El mínimo valor de NT será 111 x 9 = 999 ciclos de máquina. Una tabla se puede utilizar para ubicar estos valores en una escala de O a 255, dando con precisión la resolución deseada de 8 bits. Para implementar la medición, se emplea un temporizador para medir el tiempo elapsado, NT. El transductor se conecta a una de las terminales de interrupción externa (INm o INT1 ), y esta Interrupción se configura para el modo de transición de nivel. En este modo cada transición de 1 a o en la salida del transductor generará una Interrupción. La rutina de Interrupción cuenta pulsos de transductor, y cuando llega a la N predeter· minada, lee y borra el temporizador. Para el ejemplo anterior, la rutina de Interrupción podría ser: RESPUESTA_INTERRUPCION: DJNZ N,FUERA MOV N,#9 CLR EA CLR TR1 MOV NT_LO,TL1 MOV NT_Hl,TH1 MOV TL1,#9 MOV TH1,#0 SETB TR1 PROCESAMIENTO A/O CON EL 8031 11& SETB EA CALL TABLA FUERA: AETI En esta rutina un contador de pulsos N se decrementa de su valor Inicial, 9, a cero. Cuando el contador llega a cero se recarga con 9. Entonces todas las interrupciones se bloquean por un instante mientras el temporizador es leído y borrado. El temporizador se detiene durante las operaciones de lectura y borrado, para que el "borrado" signifique inicializándolo a 9, para compensar los 9 ciclos de máquina que se pierden al estar detenido el temporizador. Si se habilitan otras interrupciones, la que se conecta con el transductor se debe establecer con prioridad 1 (más alta), y las demás con prioridad O (más baja). Esto es para controlar el tiempo de atención a la interrupción. El tiempo de atención a la interrupción no afectará la medición si es el mismo para cada medición. El tiempo de atención se limita al rango de 3 a 8 ciclos de máquina. La subrutina TABLA se usa para regresar la medición a la resolución de 8 bits. También puede incluir una corrección de errores interna, para errores en las no- linealidades de la función de transferencia del transductor. Las subrutinas para búsqueda en tablas se facilitan en el 8031 empleando las instrucciones MOVC A,@A + PC y MOVC A, @A + OPTA para accesar la tabla. OPTA es un registro del 8031 que sirve como apuntador de datos de 16 bits. Sus dos bytes se pueden direccionar independientemente como DPL (byte bajo) y como OPH (byte alto). En el ejemplo la tabla está formada por NTmax - NTmin = 270 valores. Comenzando en la dirección de 16 bits referida por INICIO. La subrutina debe encontrar la dirección de la tabla que corresponda al valor medido de NT. Esta dirección es OPTA = INICIO + NT • NTMIN, donde NTMIN = 999, para este ejemplo. TABLA: PUSH ACC PUSH PSW MOV A,#LOW(INICIO-NTMIN) AOD A,NT_LO PROCHAlllENTO AID CON EL I031 117 MOV DPL,A MOV A.#HIGH(INICIO-NTMIN) ADDC A,NT_HI MOV DPH,A CLR A MOVC A,@A+DPTR MOV PERIODO.A POP PSW POP ACC RET En este punto el valor del período de la señal del transductor, medido con una resolución de e bits, está contenido en la variable 'periodo". Es razonable pensar que una tabla con más de 270 valores resulte algo grande. Sin olvidar sus ventajas de velocidad y corrección de errores. Pero en dicho caso un buen algoritmo de división puede ser escrito, haciendo uso a priori del conocimiento sobre el tamaño de los números involucrados en el cálculo. 7.4.7. Medlclonu para el Ancho del Pulso. Los temporizadores del 8031 tienen un modo de operación particularmente apto para este tipo de mediciones y puede ser útil en estas aplicaciones si la señal del transductor tiene un ciclo de trabajo fijo. En este modo el temporizador se enciende por circuitería propia del integrado en respuesta a un nivel alto en la terminal de interrupción externa, y se apaga con un nivel bajo. La interrupción externa en sí se habilita, para que la misma transición de 1 a O del transductor que apaga al temporizador genere una Interrupción. Entonces la rutina de interrupción leeré e inicializaré el temporizador. La ventaja de este método es que la señal del transductor tiene acceso directo a la compuerta del temporizador, con el resultado de que variaciones en el tiempo de atención a la Interrupción dejan de tener efecto alguno sobre la medición. El temporizador puede ser leído y borrado en cualquier momento antes del siguiente nivel alto en la salida del transductor. PROCESAMIENTO AJD CON EL I031 111 7.4.8. Exactitud y Resolucl6n. La exactitud con la que el 8031 medirá la frecuencia o el período de la señal del transductor depende de dos cosas: de la exactitud del reloj oscilador y de las variaciones en el tiempo de atención a las interrupciones. Corno normalmente la señal de reloj se genera por un oscilador de cristal, la exactitud del oscilador normalmente excede el error de cuantización inherente en la resolución finita den bits. Corno se mencionó previamente, el tiempo de atención a la Interrupción no introduce un error, por sí mismo, en la medición, pero si pueden las variaciones en el tiempo de atención a la interrupción. El tiempo de atención a la interrupción en el 8031 puede variar de 3 a 8 ciclos de máquina, dependiendo de que instrucción se esté ejecutando en el momento de suceder la interrupción. Esto representaría un error de .±. 5 cuentas en el valor de NT medido en una medición de período. Un error de .±. 5 cuentas de NT no necesariamente se traduce en .±. 5 LSBs en el resultado final, pero aún así representa un error que excede a la resolución. En una medición directa de frecuencia las variaciones en el tiempo de atención a la interrupción representarán un error de .±. 5 ¡•S en el tiempo de muestreo. · SI este tipo de errores son inaceptables existen formas de manejarlos. Para mediciones del período, cuando el ciclo de trabajo del transductor es constante, puede ser empleada la técnica de medición del ancho de pulso, anteriormente descrita. Su ventaja es la de apagar el temporizador al generarse la Interrupción, en vez de cuando se da atención a la interrupción. En otros casos uno puede simplemente incrementar el tiempo de muestreo arriba del mínimo requerido para obtener la resolución deseada. Por ejemplo, si la medición requiere de una resolución de 8 bits, uno puede diseñar el software para una resolución de 11 bits y truncar el resultado a 8 bits. CAPITULO 8 DISENO DE SISTEMAS DIGrTALES PARA AMBIENTES RUIDOSOS 119 e. DISENO DE SISTEMAS CON MICROCONTROLADORES PARA AMBIENTES ELECTRICAMENTE RUIDOSOS Por lo general se piensa que los circuitos digitales son inmunes a los problemas de ruido, pero en realidad no lo son. Los ruidos en los sistemas digitales producen fallas en el software: saltos del programa a localidades aparentemente aleatorias en la memoria. El ruido inducido en las líneas de las señales pueden provocar dichas fallas, aunque el voltaje de suministro es más sensible a dicho ruido que las líneas de señalización. Condiciones severas de ruido, aquellas que involucran descargas electrostáticas o aquellas encontradas en ambientes automotrices, pueden provocar un daño permanente en el hardware. Las descargas electrostáticas (DES) pueden formar un cráter en la pastilla de silicio. En el ambiente automotriz, y bajo operación ordinaria, la línea de suministro de "12V' puede tener transitorios de.±. 400V. 8.1. SINTOMAS DE LOS PROBLEMAS DE RUIDO Los problemas de ruido por lo general no suceden en la etapa de desarrollo de un sistema con microcontroladores. Esto es porque un laboratorio común rara vez simula el ambiente destino. Los problemas de ruido tienden a surgir al instalar y operar el sistema en su ambiente destinado. Pueden tener una causa conocida, tal como una DES del dedo de un operador en algún teclado o la falla ocurre siempre que se enciende y se apaga una fotocopiadora. O una causa desconocida, y nada que el operador realice puede provocar nuevamente el problema. Pero unos minutos, horas o días más tarde, el problema vuelve a ocurrir. Un síntoma de los problemas por ruido eléctrico es el hecho de ser aleatorios, tanto en su ocurrencia como en lo que es lo que el sistema hace al ocurrir la falla. Todas las fallas operacionales que ocurren en intervalos aparentemente aleatorios. no necesaria- mente son causados por ruido en el sistema. Un voltaje de polarización marginal, un desacoplamiento inadecuado, condiciones de software raramente encontradas o coin- cidencias en la temporización pueden producir fallas que parecen ser aleatorias. Por otro lado, algunas fuentes de ruido pueden producir fallas periódicas. Sin embargo, entre más dificil resulte encontrar la relación causa-efecto de una falla, lo más seguro sea que se trate de una falla producida por ruido. DISEÑO DE SISTEMAS DIGITALES PARA AllBIENTES RUIDOSOl 120 8.2. TIPOS Y FUENTES DE RUIDO ELECTRICO El nombre que se le dá a los ruidos eléctricos diferentes a aquellos inherentes a los componentes del circuito (tales como el ruido térmico) es Interferencia electromagnética: IEM. Fuentes de IEM son motores, interruptores de potencia, luces fluorescentes, descargas electrostáticas, etc. Los tipos de IEM se describen a continuación. 8.2.1. Tran1Horlo1 en la Une1 de Suministro. Cualquier cosa que conmute altas cargas de corriente hacia o desde líneas de suministro de CA o CD, ocasiona grandes transitorios en estas líneas de potencia. Por ejemplo, encender una máquina eléctrica de escribir, puede Introducir un pico de 1000V en la línea de suministro de CA. El mecanismo básico detrás de los transitorios en la línea de suministro reside bajo la igualdad v = L(di/dt), donde Les la inductancia de la línea de suministro entre la fuente de poder y la carga. El paso de corriente a través del circuito genera un campo magnético en la inductancia, por lo que al disminuir la carga, el campo debido a dicha componente de línea se colapsa, generando transitorios de voltaje, los cuales tratan de mantener la corriente en su nivel original. Esto se conoce como •golpe Inductivo'. Y los transitorios se generan tanto al agregar carga como el disminuirla, pero los efectos son más severos el ocurrir lo último. Existen otros mecanismos para transitorios en le línea, aquellos que involucran ruido externo Inducido en las líneas. Los voltajes de ruido se sumen al del suministro afectando circuitos susceptibles. 8.2.2. Pulsos Electr6m1gnetlco1 (PEM) e Interferencia por Radio-Frecuencia (IRF). Cualquier cose que produzca un arco o una chispa radiará pulsos electromagnéticos (PEM) o Interferencia por radio-frecuencia (IRF). Las descargas por chispa probablemente han ocasionado más fallas de software en equipo digital que cualquier otra fuente de ruido. El mecanismo de falla es el PEM producido por le chispa. Et PEM Induce transitorios en el circuito, que son la causa fundamental de la falla. Los arcos y las chispas ocurren en sistemas de ignición automotriz, motores eléctricos, Interruptores, descargas estáticas, etc. Los motores eléctricos que cuentan con barras o delgas en el conmutador producen un arco al pasar el cepillo de una delga a otra. Los motores de CD y los 'universales' (CA/CD) que se emplean en herramientas de potencie manuales, son el tipo que cuenta con delgas. En tos Interruptores, el mismo golpe inductivo que pone transitorios en la línea formará una chispa al abrirlo o cerrarlo. DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 121 8.2.3. Descarga Electrostática (DES). La descarga electrostática (DES) es la chispa que ocurre cuando una persona acumula carga estática al caminar a través de una alfombra, y la descarga en un teclado o cualquier cosa que pueda tocar. Al caminar a través de una alfombra en un clima seco, una persona puede acumular un voltaje estático de 35kV. El pulso de corriente de una descarga electrostática tiene un tiempo de subida extremadamente rápido, típicamente 4Nns. Obviamente, la sensibilidad la DES se debe de considerar en el diseño de equipo que estará sujeto a el, tal como el equipo de oficina. 8.2.4. Corriente de Tierra. Corrientes en las líneas de tierra son otra fuente de ruido. Estas pueden ser corrientes de 60 Hz, IRF o mezcla de señales que comparten la misma línea de tierra. El problema reside en que los nodos que comparten un lazo de tierras no siempre se encuentran al mismo potencial. 8.2.5. Ruido "Radiado' y Ruido "Conducido". El ruido radiado es aquel que llega al circuito víctima en la forma de radiación electromagnética, tal como PEM e IRF. Ocasiona problemas al inducir voltajes extraños en el circuito. El ruido conducido es aquel que llega al circuito víctima como voltaje extraño, típicamente por vía de las líneas de suministro de CA o CD. Uno se puede defender en contra del ruido radiado con un buen diseño en la distribución de partes y utilizar técnicas de blindaje. Y contra el ruido conducido con filtros y supresores, pero también son importantes las técnicas de distribución y aterrizaje. 8.3. SIMULANDO EL AMBIENTE Una propuesta muy cara es corregir los problemas de ruido después de haber sido completado el diseño de un sistema. Pero también los daños generados por fallas son caros. Es más barato en el largo plazo invertir un poco de tiempo y dinero para aprender sobre el ruido y equipo de simulación de ruido, para que pruebas controladas se puedan realizar en el laboratorio el desarrollarse el diseño. Simular el ambiente destino con ruido requiere de dos etapas. La primera consiste en reconocer el ambiente ruidoso, esto es, es necesario conocer que tipos de ruido están presentes Y cuales van a ocasionar problemas. La segunda consiste en generar ruido eléctrico de una manera controlada. Esta segunda etapa es más dificil de lo que aparenta DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 122 ser; en principio uno imagina la simulación en términos de un generador de funciones y algunas partes extras, para luego notar que es necesario un amplificador de potencia de banda-ancha con un rango dinámico de 200V. 8.4. TIPOS DE FALLAS V MECANISMOS DE FALLA Un gran problema que puede causar la IEM en un sistema digital es una mala operación intermitente. Estas fallas en el software ocurren cuando el sistema está operando y una fuente de IEM se hace presente, y por lo general se caracterizan por pérdida de información o un salto en la ejecución del programa a alguna localidad de memoria desconocida. Por lo general no se daña el software, y se regresa a la operación normal al eliminar la IEM, con un 'reset" manual o automático, o reestableciendo la Información perdida. Un mecanismo de falla por DES tiene que ver con el voltaje de polarización en el substrato de la pastilla. Si la polarización en el substrato oscila por valores lejanos al nominal, suceden errores en la lectura del programa. Además de un daño permanente en el óxido por el incremento de la corriente de drenado, con la que se reduce el voltaje en el substrato a un valor marginal o innaceptable. Con lo que el sistema pierde confiabilidad u operabilidad hasta que se reponga el CPU. Si el CPU ha sufrido una descarga de este tipo, lo más seguro es que ocurrirá de nuevo. Algunas pastillas tienen un substrato aterrizado y pueden soportar algún daño en el óxido sin quedar inoperables. En este caso el daño está presente y existe una mayor corriente de drenado, sin embargo, como el substrato mantiene su voltaje nominal, el daño permanece oculto. Por ello se debe reconocer que el conectar las patas, sin proteger, de un puerto a un teclado o cualquier cosa que sea objeto de descargas electostáticas, forma una configuración muy peligrosa. Es importante notar que las pastillas MOS no son los únicos componentes suscep- tibles a daño permanente por una DES. Las pastillas bipolares y lineares también se pueden dañar de esta manera. Las junturas PN son candidatas a un mecanismo de falla conocido como ruptura térmica secundarla, en donde un pico de corriente hace que puntos microscópicos en la juntura alcancen temperaturas de fundición. Los TTL de baja potencia son susceptibles a esto, así como los amplificadores operacionales. Estos últimos, además, tienen capacitares MOS en la misma pastilla, conectados a través de una combinación de patas externas, y estos son susceptibles a ruptura del dieléctrico. Los transitorios por ruido pueden hacer que una pastilla falle por cualquier pata, inclusive una pata de salida, ya que cada pata se conecta al substrato por medio de una DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 123 juntura pn. Sin embargo, la pata más vulnerable es la de VCC, por tener acceso directo a todos los componenetes de la pastilla: cada registro, compuerta, flip-flop y buffer. Un menú de posibles mecanismos de falla es bastante largo. Un transitorio en el substrato en el momento inoportuno generalmente causa un error en la lectura del programa. Un nivel falso en una entrada de control puede ocasionar una búsqueda de instrucción erronea. Un disturbio en la línea de alimentación puede modificar un bit en el contador de programa o el registro de instrucciones. Una pequeña interrupción o inversión en la polaridad de la línea de alimentación, puede apagar el procesador, pero no lo suficiente como para que el capacitor de reset se descargue. Por lo que al terminar el transitorio, el circuito integrado (c.i.) comienza de nuevo sin un reset. Es necesario recalcar que los mecanismos de falla tienen que ver con la llegada de transitorios inducidos por ruido en las patas de los c.i., en vez de la generación de pulsos ruidosos dentro del c.i., esto es, no es el c.i. quien recoge el ruido, es el circuito. 8.5. METODOS PREVENTIVOS La prevención es por lo general una solución más económica que la supresión, por lo que primero se considerarán algunos métodos preventivos que ayudarán a la minimización de la generación de ruidos en el sistema. 8.5.1. Lazos de Corriente. La geometría física de cualquier lazo de corriente es la clave del porque genera IEM, porque es susceptible al IEM y como blindarlo. En específico. lo que importa es el área del lazo. Para reducir tanto la generación de IEM como susceptibilidad al IEM, la regla a seguir es la de minimizar el área del lazo. Esto es lo mismo que decir que la inductancia de un circuito debe ser minimizada. La inductancia es por definición la constante de propor- cionalidad entre la corriente y el campo magnético que produce: q, = LI. Manteniendo los cables de alimentación y de retorno lo más próximos, para promover la cancelación de campo magnético, corresponde a minimizar el área del lazo o minimizar la L Y, como la inductancia mutua de un lazo de corriente A a un lazo de corriente B es la misma que la inductacia mutua del lazo B al lazo A, Jos campos de ambos lazos tienden a cancelarce. Es Importante notar que un circuito que no radía interferencia tampoco la recibe. 8.5.2. BlindaJe. Existen tres tipos principales de blindaje: blindaje contra acoplamiento capacitivo, blindaje contra acoplamiento inductivo y blindaje por RF. DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 12• 8.5.2.1. Blindaje contra acoplamiento capacitivo. El acoplamiento capacitivo involucra el paso de señales de interferencia a través de capacitancias mutuas o "parásitas" que no se muestran en el diagrama del circuito, pero de que se sabe su existencia. Como ejemplo, este tipo de acoplamiento causa, en un sistema digital, interferencia por intermodulación en cables de varios conductores. Para bloquear el acoplamiento capacitivo es necesario cubrir el circuito o conductor a proteger con un blindaje metálico. Esto se conoce como blindaje electrostatico o de Faraday. Si la cobertura es del 100%, no se tiene que aterrizar el escudo, pero por lo general siempre se aterriza, para garantizar que las capacitancias entre el circuito y el escudo vayan a la tierra de referencia de señal, en vez de actuar como elementos de retroalimentación y de intermodulación. Para el caso de circuitos electrónicos dispuestos en tarjetas, se puede Insertar un plano aterrizado entre ellas para elimiar la mayor parte del acoplamiento capacitivo. 8.5.2.2. Blindaje contra acoplamiento Inductivo. Con un acoplamiento inductivo, el mecanismo físico Involucrado es la densidad de flujo magnético, B, de alguna fuente externa de interferencia, que se enlaza con un lazo de corriente en el circuito víctima, y genera un voltaje en el lazo de acuerdo con la ley de Lenz: v = -NA(dB/dt), donde en este caso N = 1 y A es el área del lazo de corriente en el circuito víctima. Existen dos maneras de defender un circuito contra el acoplamiento inductivo. Una es minimizar los campos ofensivos en sus orígenes. Esto se logra minimizando el área del lazo de corriente en la fuente, para así promover la cancelación de campos. La otra manera consiste en minimizar el lazo de corriente del circuito víctima, ya que mediante Lenz, el voltaje inducido es proporcional a dicha área. Como ejemplos de éste "blindaje' tenemos a: el cable coaxial, el par de hilos, el plano de tierras y la distribución de tierras en malla en una tarjeta de circuito impreso (TCI). a) Cable coaxial La figura 8.1 muestra un cable coaxial llevando una corriente 1 desde una fuente de señal hasta una carga receptora. El blindaje lleva la misma corriente que el conductor central. Afuera del blindaje, el campo magnético producido por + 1 que fluye en el conductor central, se cancela con el campo producido por -1 que fluye en el blindaje. El cable, por tanto, muestra una inductancia 1' = O. Esto sólo se cumple si el blindaje lleva la misma corriente que el conductor central. En aplicaciones reales, tanto la señal fuente como la carga receptora pueden tener una terminal conectada a una tierra común. Es necesario conectar ambos lados del cable a tierra. La figura 8.2a muestra el caso cuando el blindaje del cable sólo se aterriza de un lado. En dicho caso el área del lazo no esta bien definido. El lazo de corriente corre por DISEÑO DE SISTEMAS DIOITALfl PARA AMBIENTES RUIDOSOS 125 Fig. 8.1 Externo al Blindaje, .p = O a) Bllnd-J• ain efecto -----.-------------, Hl(.,..l•(OVl .. (f CloUl .. f,t.fH '· •• -·:...._ LOWl'll(QUl"'f CiJ"•t1n•11.n~ b) Oo1 Mal cM r•tomo Fig.8.2 Uso de un Cable Coaxial el conductor central y regresa por la conexión de tierra común. El blindaje no lleva corriente. No se efectúa ninguna cancelación de campo. El blindaje no tiene efectos en cuanto la generación de IEM o susceptibilidad a la IEM. La figura 8.2b muestra la situación cuando el cable se aterriza de ambos lados. Dependiendo del contenido en frecuencia de la señal, el blindaje llevará toda la corriente de retomo, o sólo una porción debido al efecto de desvío en la conexión de tierra común. En general, el lazo de corriente seguirá la ruta con menor impedancia. En bajas frecuen- cias, o Hz a unos cuantos kHz, donde la reactancia inductiva es insignificante, la corriente seguirá la ruta con menor resistencia. Arriba de unos cuantos kHz, donde predomina la reactancia Inductiva, la corriente seguirá la ruta de menor inductancia. La ruta de menor inductancia es la ruta del lazo con área mínima. Por ello, para frecuencias mayores el blindaje acarrea virtualmente la misma corriente que el conductor central, y es por tanto efectivo contra la generación y recepción de 1 EM. Aquí se ha introducido el problema del 'lazo de tierra', como se muestra en la figura 8.3a. En un ambiente ruidoso se puede romper el lazo de tierra y mantener aún la efectividad de blindaje del cable coaxial, al insertar un opto-acoplador, como se muestra en la figura 8.3b. Básicamente, lo que logra el opto-acoplador es redefinir la fuente de señal como no aterrizada. con lo que dicho lado del cable no se aterriza, y aún así permite que el blindaje lleve la misma corriente que el conductor central. l)BW:odllln'I b)"'"""""'°ll_dO_ Flg.8.3 Uso de un Oploacoplador b) Par de hllOI Una manera más económica de minimizar el érea de lazo consiste en disponer los cables de Ida y de retomo juntos. No es tan efectivo como el cable coaxial. Un cable coaxial ideal agrega un área cero al lazo, mientras que los cables juntos agregan un érea finita. Sin embargo, tiene dos ventajas este método que lo hace tan bueno como el cable coaxial. En primer lugar, el cable coaxial real no es Ideal. SI la corriente en el blindaje no se distribuye unnormemente alrededor del conductor central en cada tramo del cable, entonces la cancelación de campo es incompleta. SI dicha cancelación es Incompleta, entonces el área efectiva que se agrega al lazo no es cero. En segundo lugar, en el método más económico, los cables de Ida y retorno se entrelazan. Esto no solo mantiene su proximidad, sino que el ruido recogido en un lazo tiende a cancelar el ruido recogido en el siguiente lazo de la línea. Por lo que el par de hilos ofrece un blindaje contra acoplamiento inductivo como el cable coaxial. El par de hilos no ofrece un blindafe contra ruido electrostético (v.gr. blindaje contra acoplamiento capacitivo). El cable coaxial funciona mejor en frecuencias más altas. Esto por que el par de hilos agrega más carga capacitiva a la señal fuente que el cable coaxial. El par de hilos se considera funcionalmente apto hasta frecuencias de 1 MHz, mientras que el cable coaxial llega hasta el GHz. DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 127 e) El plano de tierras La mejor manera de minimizar el área de lazos al estar involucrados varios de ellos es utilizando un plano de tierras. Un plano de tierras es una superficie conductora que sirve como una ruta de retorno para todos los lazos de corriente en un circuito. Normalmente, es una o más capas de una TCI de varias capas. Todos los puntos de aterrizaje van no a un trazo aterrizado en la TCI, sino directamente a el plano de tierras. Esto le dá la libertad a cualquier lazo de tierra para completarse en cualquier configuración que otorgue el menor área posible (para frecuencias en donde la impedancia de la ruta de tierra es primordialmente inductiva). El objetivo es minimizar el almacenamiento de energía en el campo magnético producido por cada lazo de corriente. El mínimo flujo magnético significa área mínima efectiva de lazo y mínima susceptibilidad al acoplamiento inductivo. d) Olstrlbucl6n de tierras en malla en una TCI Lo más próximo a un plano de tierras es una malla de tierras, como se muestra en la figura 8.4. Disponiendo trazos horizontales en un lado de la tarjeta y trazos verticales del otro lado, permite el paso de trazos de señal y de alimentación. Donde se cruzan los trazos de tierra verticales y horizontales, se conectan a través de un puente. r·--- , _-:::::·¡- - .... Fig.8.4 TCI con Malla de Tierras Esta configuración opera casi tan bien como el plano de tierras para minimizar el área de lazo. DISEÑO DE SISTEMAS DIGITALES PARA AMBIENTES RUIDOSOS 121 8.5.2.3. Blindaje contra IRF. Un campo eléctrico variable en el tiempo genera un campo magnético variable en el tiempo, y viceversa. Lejos de la fuente de un campo electro·magnético (EM) variable, Ja razón de las amplitudes de los campos eléctrico y magnético siempre es de 377 o . Sin embargo, cerca de la fuente de los campos, esta razón es diferente y depende de la naturaleza de la fuente. Cuando la razón está cerca a los 377 o se le llama campo lejano, y donde Ja razón es significativamente diferente a 377 o se le conoce corno campo cercano. La razón en sí misma se denomina impedancia de onda, E/H. El campo cercano se distribuye hasta 1/6 de la longitud de onda desde la fuente. Para 1 MHz esto es como 46 rnts y para 10 MHz es como 5 mts. Esto significa que si Ja fuente de JEM se encuentra en el mismo cuarto con el circuito víctima, lo más seguro sea que se trate de un problema de campo cercano. Esto es importante ya que en el campo cercano. un problema de IRF es causado completamente por acoplamiento de campo eléctrico (campo-E) o acoplamiento de campo magnético (campo·H), y esto influye en Ja selección del tipo de blindaje contra IRF o bien si es que puede ayudar un blindaje de este tipo. En el campo cercano de una antena unipolar, la razón E/H es mayor a 377 o • lo cual significa que es principalmente un generador de campo·E. Una terminal de "wire- wrap" puede ser una antena de este tipo. La interferencia debida a una antena unipolar será por acoplamiento de campo eléctrico, el cual es básicamente acoplamiento capacitivo. Los métodos para proteger un circuito del acoplamiento capacitivo, tales corno el blindaje de Farad ay. son efectivos contra Ja IRF de una antena unipolar. Una distribución de tierras en malla no sería tan efectivo. En el campo cercano de una antena de lazo, la razón E/H es menor de 377 o • Jo cual significa que es principalmente un generador de carnpo-H. Cualquier lazo de corriente es una antena de lazo. La interferencia debida a una antena de lazo será por acoplamiento de campo magnético. que es básicamente acoplamiento inductivo. Los métodos para proteger un cireOfl[55/DlTA Flg.A.2 Diagrama de Bloques del 8051 ARQUITECTURA Y ORGANIZACION 1A FAlllLIA llCS-51 DE INUL La figura A.3 muestra el diagrama de bloques de la organización interna de la familia MCS-51. Cada microcomputadora combina un CPU, dos tipos de memoria (RAM para datos y ROM o EPROM para programa), puertos de E/S, registros de modo, estatus y datos, y lógica adicional empleada para una variedad de aplicaciones periféricas. Estos elementos se comunican a través de un bus de datos de bits que corre por todo el Integrado. Cuando se desea expansión de memoria o de E/S, este bus se comunica al e>cterior a través de un puerto de E/S . Unidad Central de Proceso. Sus elementos primarios los forman un ALU de 8 bits y diversos registros A, B, PSW y SP, y los dos registros de 16 bits PC y OPTR. Todos estos registros se mapean en la memoria interna del integrado y se les denomina registros de función especial (SFR). En la figura A.4 se muestra el mapa de los SFR. Las funciones de los SFR se enlistan a continuación. r-------- ~ ¡¡ 1 1 1 1 LA FAMILIA MC&-11 DE INTEL 11 -------------,. 1 :~~~===:::'.::¡:;:=====z:~ 1 1 1 1 1 1 1 1 1 1 ""' ..... 1 1 1 1 Flg.A.3 Arqu~ectura Interna de la Familia MCS-51 IA fAlllUA lllCWI DE INTa " ~,----¡ ! " " ===i " " ¡ ' ; " O:'l ACG ' !;;;' ,, ~ OF ,. ,.__;SH ' ,, ca ll2CC~O cAC)P.2LI 1 u.:iC.i.P2Hl 1TL21 ' 1Tl121 1 =! CF ,,, º' .. •P ------i SF .. ?3 ª' .. •E AF " .. A7 " SGCN S9•.-F _¡ " ., PI ., .. lCON T'.ICO !lO TLI '"" 6F .. PI) SP OPL OPH PCC!L " Fig.A.4 Mapa de Registros de Función Especial 1) Acumulador. ACC es el registro acumulador. Guarda el operando fUente y recibe el resultado de las instrucciones aritméticas. El acumulador puede ser la fuente o el destino de operaciones lógicas y para un número de Instrucciones especiales para al movimiento de datos, Incluyendo búsqueda en tablas y expansión externa de RAM. Muchas !unciones se aplican exclusivamente sobre el acumulador: rotaciones, cálculo de paridad, probar por cero, entre otras. b) Regl1tro B. El registro B se emplea en operaciones de multiplicación y división. Para otras Instrucciones se puede tratar como un registro de propósito general. e) Program Statu1 Word (PSW). Muchas instrucciones Implícita o explícitamente afectan varias banderas de estado, las cuales se agrupan entre sí para formar el PSW, como se muestra en la figura A.5. d) Apuntador dt Stack. El registro SP tiene una longitud de B bits. Se Incrementa antes de que se guarden datos con las instrucciones PUSH y CALL Mientras que el stack puede residir en cualquier lado de la RAM interna, el SP se inicializa con 07H después de un reset. Esto hace que el stack empiece en la localidad OBH. LA PAlllUA llCH1 DE INTEL lt.ASBI ilSlll fO 1 RSt RSO OV - \ ;p lrll'IMll ,, .... °' PSW> "" PSW6 PSW! ... PSW• ... PSWl -.... ~C-..fttg 1forDCOQP9'1tiont1 FllgO IA.•9'ablr9ION-..Wlor99"1'll -· ~-t>ar*.-el;Qr1Woibl111 o s..'tiewll(lt>Jtort.swlO ~~,.....bllllll--· lrml:d "'"" PSWJ PSWI PSWO Chlll1ll:IOI~ UMtdehllabltllla; P"ll'ffllíl S..'llt .. .,lldbJl\#¡Joo••Md'I lrllll\M;lOnsc Time: Rcfer !LI llard~arc lk· AAlTHMETIC O'EAATIONS 1e:rip11on Ch3plcr. AOO A,Rn Addr9gitt9'IO 12 ln1truct1on1 that A.Hect flag S1111ng1t11 '''""''"" ADO A,dHC1 Addd11.c:lby1a\o 12 ,..........., ... ln1ltucl1on ... Accumulator e º" AC e OV •e ADO A,IRI AddÍl'ldofKIRAM 12 AOO X X X Clf~C o lo A«umuLllOI' ADOC X X CPLC 'ºº A,fd.11.1 Adclimmedlflll 12 SUBB X ' ANLC.bot d1lli\O MUL o ANLC.lbit """""'''°' OIV o ORLC.bl ADOC A,Rn Add1991\9l'IO " OA X ORLC.bit - ... RRC MOVC,bol withClrry RLC CJNE AtJOC A.drKI AOddifec:ttr,11to " SETRr; Accvrnul1tot lllNotc thal oper1tion1 on SFR b)'lc 1ddrrs1 lOI or ""lhC..lf}' b11 addrrues 209·2U he., 1hc rsw or b111 1n 1hc ADOC A,IRI Addindi1ect 12 PSWJ will also affttl íla1 umn1' RAMIO Accumulator Notr on ln11runion ut and .ddrf'uln1 modrt: """""" •• - Rcai~ter R7-RO of 1hc cumntly se· AOOC A.•d111 Addimtnedilte 12 l«ltd Rcf:l\ltr 81.nk. dala\OAee d1rttt - 8·b11 1nlcrnal d:il3 locatinn'\ addtu1 wrthClny This could be an lnttma\ 0111 RAM SUBB ~·· Subtrac1Reigr11et " loca11on I0-12'1or1 SFR lic., 1/0 rromAec .. tn poM, control rell'ler, \t1tui rc1istcr1 -elc.Cl2A-H$¡J. suee A,Oirect &ibtr.Cldncl 12 ••• - 8·bit 1ntcrn1I d.ata RAM loution (0- bo(t•''°"'"" 255) .addrencd indirectly lhrou1h rc1· Wl\hborfO'lll i11cr RI or RO. SUBB A.•R1 Subtractinditect " •d.au - l·bil con":.nl indudcd in in,lruc1ion RAUlromACC lda11 16- 16-bit coniunt indudcd in iMlrucuon. wi\hbolTOW llddrl6 - 16-bil dat1n111on lddreu. Ur.ed by SUBB A.•dlta Sut>utct 12 LCALL & UMP. A br1nch can be irnn'llGl'9dlta 1nphcre -ithin lhe MK·b)'lr Pro- lromAce .. th 1ramMemol)·1ddreu1p.ice. ,.. .. 1ddr 11 - 1 l·bll dC'\Unltll'n addtC'\\. U~ b)' INC lnc:r..,..nt 12 ACALL & A.l\tP Thc br;mch w1ll be ............... w1th1n the umc :K.b)lc r11r o( pro- INC "" lncrll'Nfltr•W " 1ram mcmnl)· 1~ 1hc fü,t hytc o( thc INC - lnc:rtn'llntek'ltt " follo•·1np:m,1ruc1inn .... rol - Si1ncd fh~"·' cnmrlcmenl) 8·h11 olTict INC ORI lnerem«!lditect ,, byte liwd by SJMI' and 1\1 rondition· RAM 11 JUmf" Ran¡r " -12A to + 127 OEC • ""'-' " b)'ln rrb1ne 'º Ítn.t h)le nr lhc (o). - .. IO*lnl ÍMlruc1irin OEC "' -- ,, '"' - Oirec1 AddrC'\\cd h11 in lntcm1l 0111 .. ,.. RA\t or 5 111 funclion Re ·ster. OEC - --- " .,,. OEC ORI -- 12 _ ....... LA PAlllUA llCM1 111! INT!I. llntntOnk DncrtptJon Byte ~tor ARllltMETIC OPlRAnONI (Cotirinued) INC OPTA lnctMlerlt Dll.I 1 -/MUL AD ~A&B I OIV A8 DMOIAb)'B CA A Decim11 Adjutt -"" LOGICAL OPfRATM>NS jANL A,Rn ANO"-""*IO JANL A.dl'ect ~'°'byte .. - .. ANDll'dreet RAMIO ¡ ~'°' 1ANL A,ldatl ANDmmecla• 1 dita ta -"" ¡ANL dltll;t,A AHO~IOr 2 IOdreClbylt 1 1AHL dtllt't.ldltl ANOifmledlte datltadt8Ct~ OAL A.fin OA ,..._ IO -"" ORL A.Ortct OA dlf'9ct ~to ' _ .. I ORL A.•Ri 0Rlndrtc1FIAM .. -..- OAL A.•dlll 0Aliml'Mda'9 ...... _.,, OAL ddd.A OR AccL#IUla IOdWect~• OAL dwlet,fcs.tl OIOnmec .... dltltodActb>,19 XRL A.eRi ·~ _ .. _.,, E-..00 ...... .,,. .. _ . ...........,.. lndrtctAAMIO -·"' XRL.A.•áaa. ~ ~dltllO _.,, l lALdlrtct.A ~ .....,.,,. IAL dr«'t.•filMIE~ ........ l•dlll IOdrectbyce IClA ICPI. """ _.,, ~ Aoa11•il.111v .. .. 12 12 12 " 12 12 12 .12 12 " 12 12 12 12 12 12 Mnemonlc Dl'1ctlpllon LOQICAL OPERATIONS (Conllooed) AL A Rotal• Aec:umul•lorUfl RLC A Aotate Accumul.ltorl.tc lhroughthe<:.rry AR Aollll Accumui.tor Rogh1 RAC A Rol.lle Accumulllot Rignllhl'OUQl'I • UMtC&tty SWAI' A S.-.pl'llbtlle1 DATA TRAHSHR ~"'"""' AcC\llTIUilllOt MOV A,Rn MoYe ,..1.10 _,,, MOV A.dnd Mov• dir.ct .,. ... """"'"""" MOV A,eAI MoYelndrlCt RAMIO """"'"""" MOV A.•dlll Moit8 -·· .. .... ·-lar MOV An.A Mawe -""' 1014911• MOY Fln,dhl;t Mov• dnlC1 .,,. .. ·-· MOV Rn. fdlta tibe ....-.... '°'•* MOV •ect.A Mowe Ac:eutnuWltor 10011'.Ctbyt• ltilOV diteet.An Mow. ,.,..,., IOdlrlCI_.. U0V d1HC1,dnct Mortl dncl b,1eto0r11e1 MOV 1;1ir9((,tR1 fikw9 lnlltlCI RAMIO ......... UOV 0rac1. •dall Mcwe wnrntO&I• 0.1111 todlrtabytt Mo .. AccumulllOI' '° l'Mll'ectRAM 12 " " 12 12 " 12 " ,. 12 12 12 1A 'AMAJA llCa-91 Dl lllTll. 9rtt' Otctlafot .,,. -- ........... ·- ·- -DATA TRANlllA IContinu«fl ,. 900LIAN VARIAIL1 lllJHPULATlON " ""' eR1,0ir-='· Mov••11e1 CLA C OMft.1\' ' DJ'l•lo CLA bll 0.-~bll 1 " indltK'IRAM llT9 e --~ , .. ""' •Rl.•dlll M ... " SETll bll Seilcfnc1bil l. " ll'l'V"nlKlo1t1 CPl e ~ 1 " .... lo .,...., -.otRAM CPI. "' """- !' ""' OPTR.•detall load01tii " ......... Poinl••lh• ANL c ... AND*9Ctbit " 15-blc.onst.tnl to CARRY MOvC A.e ... + OPTA u...eo.. " ANL C,lblt ANO- ' " byttrNW.lo .. -... OPTAtoAec "'"""' MOVC A,U+PC -'- " OAL c ... °"'"""'"" .. ~-W.lo .. .,...., PC"All•kl - .... ...... 1: i1NotZtt0 J"""11rtNol A.dll'llCVel ~ .. ...... drect~to DJNZ An,rel º°''°''*'' .. .,,, .......... reg.11ern dNolfc,.olll Jun1>11Not A.•data.rtl """1*• ,. , ... - .. OJNZ OlfK1Jll Dliertmenl " .. .,,, .......... direct~ 11NolE11Ai .......... , NotZ.-o NOP Ho()per1tion 12 APENDICE B Al'ENDIC!I CARACTERISTICAS GENERALES DEL MPSC-8274 Fig. B.1 Esquema General de Interrupciones El MPSC ofrece una estructura de interrupción muy poderosa, lo cual ayuda a que una respuesta a la condición de interrupción sea muy rápida. Hay multlples fuentes de interrupción, las cuales pueden ser agrupadas dentro de tres categorlas distintas, como se muestra en la figura B.1: APENDIClB INTERRUPCIONES EN lA RECEPCION Por lo que se refiere al primer grupo, interrupciones en la recepción, estas pueden ser clasificadas a su vez en dos grupos: Interrupción en el carácter de recepción e Interrupciones debidas a condiciones especiales. Una interrupción en la recepción es generada cuando un carácter es recibido por el MPSC, es decir, que este tipo de interrupción es generada por el MPSC después de que el carácter recibido ha sido ensamblado por el mismo MPSC. Cuando se está trabajando con el modo SOLC, y además el comando de encuentro de la dirección ha sido programado, esta interrupción se generaría sólo después de que el encuentro de la dirección válida se realiza, es decir, que esta interrupción marca el comienzo de una trama válida. Así mismo, el final de la trama esta caracterizado por una interrupción (RR1; 07). Este bit es puesto y significa que una bandera de terminación válida ha ocurrido (0111111 o • 7E H ). Esta Interrupción es reseteada por medio del comando reseteo de error •error reset' (WRO; 050403 = 110) o hasta que se de la recepción del primer carácter de la siguiente trama. Por otro lado, cualquier condición de error durante la recepción de una trama podrla generar otro tipo de interrupción, conocida como interrupción debida a condiciones especiales. Este tlpo de interrupciones de deben principalmente a cuatro diferentes condlclones: a) Error de paridad: Este tipo de error no se considero en nuestro estudio debido a que es encontrado solamente en el caso de usar el protocolo asíncrono. b) Error en la recepción sobrecorrida •receive overrun•: Este tipo de interrupción se genéra cuando la CPU no alcanza a leer un carácter después de tres bytes de tiempo de que ocurrió la interrupción y por lo tanto se generaría la interrupción debido a con· dlciones especiales y sería puesto el bit 5 en el registro RR 1. e) Error en la trama: En el caso de los protocolos síncronos este error indica que el CRC calculado en la recepción no es Igual al CRC cak:ulado en la transmisión por lo que el bit 06 del registro RR1 es puesto en uno. d) Final de la trama: se genera una interrupción cuando et MPSC recibe la bandera de terminación y es entonces que se genera un uno en el bit 07 del registro RR1. APENOICE B INTERRUPCIONES EN LA TRANSMISION Cuando se tiene el "buffer" de transmisión vacío se genera este tipo de interrupción. Cabe hacer notar que este tipo de interrupción es generada si y sólo si el "buffer" de transmisión llega a estar vacío, asumiendo que ha sido cargado con anterioridad algún otro carácter. Esto es porque en el comienzo de la transmisión de una trama, el primer carácter es cargado por la CPU sin tener la interrupciün de 'buffer" vacío. Después de que este carácter es cargado en el registro serial de cambio, el "buffer" llega a estar vacío y entonces se genera este tipo de interrupción. INTERRUPCIONES EXTERNAS/ESTADO Cuando el 'buffer' de transmisión y el registro de cambio serial llegan a estar vacíos una interrupción por transmisión recorrida '1ransmit under-run" se generaría. Otra de las fuentes que causarían este tipo de interrupción sería cuando se presenta el comando de detección de aborto. APENDICEB 8274 MUL Tl·PROTOCOL SERIAL CONTROLLER (MPSC) • Asynchronous, Byte Synchronou1 and Sil Synchronous Operatlon • Two lndependent Full OuplH Transmltters and Recelvers • Fully Compalible wlth 1048, 8051, 8085, 8088, 8086, 80188 and 80186 CPU'1¡ 8257 and 8237 DMA Controllers: and 8089 1/0 Proc. • .t lndependent DMA Chann1l1 • B1ud R110: DC lo 8SOK Baud • A1ynchronou1: -5-8 Bll Character¡ Odd, Even, or No Parlty; 1, 1.5 or 2 Stop Bll• -Error Oelectlon: Framlng, Overrun, and Parlly • Byte Synchronous: - Character Synchronlullon, lnt. or E1L -One or Two Sync Chlracter1 - Automatlc CRC Generallon and Checklng (CRC·l6) -IBM Bl1ync Compatlblt • Bit Synchronous: -SDLC/HOLC Flag Generatlon 1nd Recognltlon -e Bll Addru1 Recognltlon -Automatlc Zero Bit ln11rtlon and Delttlon -Automallc CRC Generallon and Chtcklng (CCITT-16) - CCITT X.25 Compotlblt • Av1l11blt In EXPRESS •nd Mllllary Thu lntel 8274 Mutü-Prolocol Series Contro11et (MPSC) is designad 10 lt\lertaee H1gh Sp&ed Commurncations L•nos usng Asynehlonous, IBM 81sync. and SOLC/HOLC protoeol to lntel mu::roccmputer syslems. lt can be '' .ür1a.::. J w1th lntel's MCS • .f,8, ·SS, ·51; IAPX-66, ·88, ·166 and ·188 fam1hes, the 8237 DMA Conlrollet, Of lhl 80tl9 1/0 Processor in polled, mterrupl dnven, or DMA driv•n modos ot oporabon. lhe MPSC is a 40 pin dov1ce labocated usmg lntel's H1gh Performance HMOS Technology . Figure 1. llOClc Dlagram ... "· ''" "'· ..... .... "-'··"· ..•. .•. ... "'· ... ... ""· " ... . . .. . . .. . ...... . ..... . --· ... . -. ·-... " .. . ... . '• 11 1, 11011)2-2 flvur• a. Pin Conflgurtitlon APENDICE C 8255A/8255A·5 PROGRAMMABLE PERIPHERAL INTERFACE • llCWSTM Compatlble 1255A·5 • 24 Programmablo 1/0 Pino • COmpletely TTL CompeUble • Fully Compatible wlth lntal MlcroproceHor Famlll•• • lmproved Tlmlng Chlroct1rl11lce • Olrect Bit SeVRuet C1p1blllty E11lng Control Appllcotlon lntert1c1 • Reducoo Sy1tem Peclcage Count • lmprovad DC Drivlng Capoblllty • Avallable In EXPRESS - Standard T•mJ>llr•ture R1ng1 -Extended Tempar11Uf1 R11111e • 40 Pin OIP P1clcage or 44 Leed PLCC lS..lllAll~·OfCW~211Jilt} TM lntel 8255,t. is a gen84'1I purp<>M pogrammable 1/0 de-rice del!QOec:t IOf use wi1h lnlel microproce$SOl'I. lt t\&S 24 110 ptns wt»ch may be indr"Kiually Pf09"ammed in 2 groops ot 12 and uMd in 3 ma;or modas ol operal.IOn. In lhO hrst mode lMOOE O), oach group ot 12 110 p1ns may b9 prOQtammed in sets ol 4 to be input Of output. In MOOE 1, lhe sec:ond mode, each group may be programmed to have 8 tinas of tnput or OU!pul. 01 lha 11mo11ning 4 pns, 3 ara uMd IOf handahaklng and inlem.ipt conuol siign.l\s. Thli third modl ol operation lMOOE 2) 1s a btdwecbOnal bus moda wNch uses 8 bnes fOf a bdtactional bul, .nd 5 tines. botrowmg ooe lrom U'l8 otf\er group, tor hand!h&king. figure 1.12HA-~ _—— “4 Semiconductor 541.500/DM54LS00/DM74L.S00 Quad 2-Input NAND Gates General Description Fenturos gedcs conáalca tour independen! A ta Minary/Aeroepece dewce ($41.900) is sub Tñorra the logic NAND funcion. ! quien sacro able. Contact 8 Natal Semiconductor Sales OMoe/ Dietributor tor apacificaliona. Connection Diagram Duséir-Lina Pockago Y L) se ra u 4 ade do de de dd 1 1 t , 0 y a l l MN PL l y Tur Oráor Muinipar GAL DOCOMOB, $4 800FMOB, 541.800. MOB, DMSALIOOS, DISAL OO W, DM74LBOOM or Dil? 4L ECON Sos $3 Pecioga Number E20A, J14A, M14A, N14A 01 W148 Function Table vr- 0 inguta Output A . Y L L H L mM mM H L H H H L Me High Loge Lor L +» Low Lope Leve PANatlonal ~ leonductor LSOO/D OO/ M74L OO u•d ·1 put D atea a nera• escrlptl n 1ture1 TI'lll dlWICI' ~ '°"' lndlpenOtnl gatM ..ctl º' ..tlich ,.._ .. loglc NOf ctóon. • Alt9mll9 ilnary/AetolC*f ~ 114L.900) 11 ...... ... Coni..:t 1 Nluon.I ~ s.. OMcel -- ... ---. --.. " .. &I ,, ... nn,.. •. , 0... ................. ....._.....,Ml.IOOUIQl,DMIMLIO .l.DllWLSD W.Dll7CLI OllorOll7a.aootl ............ .._..IJOA,JtU.lltU.Ntt or 1• unctlon eble •· 11 - • H ". Mrl.OlfCL...- L • t..1..G9Cl...., °"""' • H i • Q'A Nattonal p Semiconductor 54LS04/DM54LS04/DM74LS04 Hex lnvertlng Gates General De1erlpllon nwdlW'iClc:ontalfw•~il'•eechot~h ,.....,. ... logle INVERT- conntctlon Dltgram " .. F11tura1 • An9ffll\e Mlrt&ty/ A•oapace d•'lic• l5'L~) ta •vlll· t*. Con\lei a N1tlontl Semiconclue1or StlM Of'l'tclt;/ °"-'°'-"""'· .. f.C••:WI•' Ordef ......... MLICMOlll09, MLI04'llOI. 5.tLI04L.M09, DMMLSOt.1, Dlll'LltMW, OM7•1.J04iM or Dll74LS04N ... NS Pacti ... .....,._, lao&.,jtt.\, Mt4A. Nt•A Of W141 Functlon Table fl ya uetiona 54L508/DM54LS08/DM74LS08 Quad 2-Input AND Gates General Description Features aso le a gevica COMBINA independent pech of which MAlemiie rd Heb duvioo ) Teorra te Mo AMO Func, em. able. Contact a Netonel Sericonductos Sales Office? Distributor tor speciócatone. Connection Diagram Dusi-in-Line Package Y M mM Ye $] aj y hh kh ff L 4 ' ? 2 e 4 b 1 de 1 a a u r tao Order Mumber EALDOSDAOS, SILDOOFIVOS, MALGOGLIMOS, DAISALSOS), DFALIOSW, DM7AL BOGA! or OA7ALDORN eo 95 Packoge Number EJOA, JILA, MISA, WIAA 01 W148 Function Table Y-Ab iputa Output A A Y L L L 1 H L H L L H H H M e ag Lane Loves L * Low Logs Livel fJ~ S / 54LS08/ 74LS08 uad ·1 put O atea 1n1r1I lacrlptl n "" __ ...., ___ .. """" ,..._flOlogicANO,_ c nectlon lll r .. .. nctl n able .. 11tur11 • Al&emlle ~/~ C11wi01 (MLSOI 111 ... ~ rM t • donll ~ s.r.: orr. .1 DlltrtbutorlOI~ 11 ., " .... - - 1 ' L i • National Semiconductor 541585/DM54LS85/DM74LS85 4-Bit Magnitude Comparators General Description These €-brl magmitude comparalors perform companson ol have a high-level voltage appied lo tha A = E input The 31a:9nt benary oe BCD codes Thres lulty-decoded decona — cascadng path tá implemented with onty a two-galo-evel Aboul two, 4:bi words (A, B) ara mada and are axternally delay lo reduce overall B,A < B,andA = Boutputsofa 1 Typical delay (d-brl words) 24 ns stage handing less-significant beds are connected to Ine cor. respording imputa of Ine nert stage handing more-sgnt- A e deca es 5) oe! cant beis. The stage handeng the less sigoricant bs must Ost tor abons. Connection Diagram DQusiin-Lina Package DATA AUTO 7 E 43 Ar la Ju fi fu Ju lo Lo je Order Number MALSISDIIOSO, HALIGSFMOS, FALSG0LIMOO, OMS4LIOSJ, DMIALSISW, OMTALSLSM or DMTILIOEN Ses NS EXA, IIA, MISA, NIBE or WILA r 1 3 4 > 4 ? » - A 2D 220 450 a4>Ú0 dsd dco qu» BUT cajcapes eruri ONTAJTS TIO”! Function Table Compering Ieguta Inputa Ouiputa 43,83 42,07 At, Bt Ad [| 4>8 AB 4B) Xx X x Xx Xx Xx H L L A) < 83 x x Xx Xx Xx x 1 H L A1=83 | A2>8B2 Xx Xx Xx X x H L L A» 83 A B1 x x x Xx H L L 19-83 | A2=82 | A1B0 x Xx Xx H 1 L AS = 83 a” 82 At = 81 AO < 80 x Xx Xx L H t 13-83 | A2=82 | A1=81 | A0=8B0 H L L H L L M3=8) | 43=B2 | a1=8B1 | 40-80 L n L t H L A=Br la =82 | ar=81 | A0=B0 L L n L t H A=83 |] A=B2 | Aa1=81 | A0=B0 Xx Xx H L L H A1=83 | A7=82 | A1=81 | A0=B0 H H L L L L M=-B | A-B7 | A1=81 | A=50 L L L H H t M = High Laval Lo Leal X= Cor Car ~Natlonal iconductor LS 54LS85/ 74LS85 · lt agnltude omparators eneral Hcrlptl n h•H •· rt 19ni1ude COIT'lpatalors rf r panson l l\lv8 • h1Qh·19Yel VQl!ag• appll9d lo th• A .. 8 Input. Tt-4 sv.1.gn1 onary r D dn hrH l llyo lc d eett10r11 t11sadang patl'I tS itnole 9nlecl Wltl'I only a twwo-gtl•lftlll a out . , · il ord1 J . J r ITlade d r et! mally delay 10 reduc:• 0119tlll co pansan times tor long WOtds. IVl~lble 11 tfVM OUlpult. heM ~" .,. r ll •• o ab1e IO any nu ber ol MI Wlthoul H'l9fnal 0&IH. ord1 ol e1turH ¡¡tNI• l vth a1 9 ¡:iared y OMtetlng compara· • ypic.al er dllSlp.lbOn 52 W l rtin u . e. hl 8, B. and A• 80Utputtof a • Typic.fil dMy (•-bit WWOl'dl) 24 n1 i. e dling l•H·Sl t'llf anl its r• nn«:ted t 11\e or· e Altetnate r.llllWy/Aerospece --.Ce (5'1.515) i1 avail- l'ftPOndu'lg lf'l)Uls l tM trt t e a g or•si ifi. able. Conmec a Nationai Semconductcw S&ln Office/ n! rll. he tll e dling t e IMll·ll!iJMic.&nl its .Jllt 0.1tnbutoftortp«TfieabON. o nectlon l1 r1 ......_...._ ., ... ....,,, •ce .. .. .. .. . . .. • r.• 1 .. 1.. 1.. 1.. ·1 .. 1.. . 1 1 1 1 1 1 nllr umber llSOll I, ~ ~ 54LSlllllOI, M SIM..ll a D ML llJ, 14LSllW, M1CLIUll or Oll1'&111N looNl-...-lJO , J1U.111U.N111 ar 11A 1 1 1 1 1 1 ' I' I' Iª I' 1• I' ,. .. "" •••• .,., • • ... ~· -.... ...,, c~..ur• ª"""'" l\fl'IUJ'9.I nctlon able - ~ -...... ..... ..... t,at ..... &>. .. <. .. .. .., . & B3 X 3 B3 X X X X X X L 3. 83 2>11Z X X X 3. B3 2<11Z X X X X A3. B3 2.. 82 1 > 81 X X X A3. B3 ..... l< 81 X X 3. 83 A2. .. 82 t • 81 AO > BO X X L 3. 83 ..... l• AO < BO X L A3. B3 ..... l• 81 O • BO A3. 83 ..... Al• 81 AO • BO H L 3•113 ..... Al• 81 O • BO H L 3•113 2•11J t • 1 O • BO X 3. B3 ..... l• 81 O•llO A3. B3 2•11J l• 11 O • llO L H•Nif1Llrllll.L•i..~x-01111C... 54LS138/DM54LS138/DM74LS138, 54LS139/DM54LS139/DM74LS139 Decoders/Demultlplexers General Dt1crlptlon ,.,,_. SChottkyle. The LSt31*odelon-.cf.-;trt11n.., bued upon lh• con· 4'tlOftl 11INtnrNbinaryNleet1npu.t1 and thll lhrM enabl• inpute. Twa ac:t!V9-low and one ~hiQn ·~ 1npvta reduce 1111 l'lfllld lot ldtmll g¡llt or i""91191'1 wMn ••· penc1r1g. A 24-llnl dllco<* can bt ~llld Wl1h no ••· tern11~arido32-hc»oodll't9QIJll'•onty~ il"ntelter. An eNt:lif 1nc>u1 can be uMd 11 1 dlll \np.¡I lor ---The LSt3' CCJml)tt ... rwo 19P1t&te ~to-touf·f1M de- codertin 1 ttnQltl ptiekaQe. n. ~~input ean bl Ulld •• dl&l linl In ~appb~ Alol ___ ,__lully ....... it1IUll. ptlllnting Onfr OM nClm'llind k>eCi IO 1tl dtMng _ .. _.. __ ~ Connectlon Dl19r1m1 --... °"''°"""" •ce l't r1 u r• " ti 11 " " 1 • 1 • • .,. • º' ,, me ------ ----.... , _. 1\.1,,..,., --llU•-MUt-.... ,..._DllMLltl&l.DllNLltMW, 0117&at•erm7Ut .. .... -...--JllA. •. ._. ...... .. Schotticy diodel to IUPP'HI hn•nng1ng and simpllfy 1y1t9m d111gn. F11tur11 • 0.11gn9d N>eelfle&lly lor ,,1¡1'1 tp91d: Memory decodllf'I Oall trar.ttninton sy1l1m1 • LSt38 3·to-8-hne dtc:Cl a S54L8374FM0B, AE E) ma DUSALEITAW, DITALEJ74 WA or pouraLas7an K3 Pachope Number ESO, JOA MRDO, NOA w30A A a? ar 57 E E 2 - l Je e TuFraap1- + y -~~uclor 54LS373/DM74LS373, S 54LS374/ 74LS374 l·S ® ctal · ype r sparent t es d ge-Trl gered ll · l s Q1n1r1I e1crtptlon ,,_..&- it l lltn IMM• l~TAl.STATEOllpAI ~-....,'"'"""""--"'­ .,~ klW. hl hlgl'Mmpedeta ltal• a d""' ~rwgn..togle~ctrfltlptO'W'lderMMr~1 .. ..et'I .. ~ t wlQ co nect.cl w9Ctty to end dnW1Q 1tle ~.,...,•~.et 1)119"' wrthout Med l r .,..,. 11t:9 t l\. cx> "ftll My r• ~ ern tw tot~bufl'•reg.st.,.,l/Oportl.~ DUI n'*S, and ottung regiisletl (~) c nectlon l1 r1 1 ---.... ,. camvT '° ,, - Vtc IO .. .. 'LSJH .. .. t r .. • Qloce °' • llk:NI Of • O.t e ni .nc,.. in • .,.... -• TRl-STATE bul-ó'N'lng °'*'* • ..-i r ..... ~ tor IOldnQ • 8l.lff• d control qJUtl • - -P inputl ce 0-C IOldng on d9'a "- e ~ mMWY'~ dlW::9 "LS37•111 ,-. llble Con11t11Natic:Nl~--offic:9/ cMtntlUIOl'f r apecihc: llOfll. --........... DllNL&SnW, Dll7a.&snNer Dll1.W7SWM ... NI __ - .. "°" J20A, IU09. N20A or ...... Generel Deacrlptlon 1eonbnuedl Thti 91Qhl tatchat ol the OMS4174LS373 are transparent D· type lalchel rneaningtl'lltwhile lh• enable (GJ is n.gh tria O outpltl d tollo• \tul data iD) 1nputs. Whan lhe enable 11 tak9f'l lo'lll' tN outpul w1H be latcred at the level ol the data 1h1tw11setup. The eighl fhp·llopl º' the DM5M7'LS37' are edg8·tng· ge1ed 0.lyptl llip flopl. On the positNa 1ransition ol tho Clock. tM Q 01.ltp\Jtl wdl 1)9 HI lO thl lo!¡IC Sta\" lt>al Nera MlupaltNOlf'IPUtl.. Functlon T1blea DMM171W7J 0..- 1- D ...... G L H H L H L L L X H X X °"""" H L Oo z A buttered outout control •tiput can be used to p•aca lhl ei<;¡ht O\.ilputs 1n e1lher a normal togic stale th.gh °' low togic levels) ::ir a n1gh .. l"!"pedanca state In thtl hign-1mpedanca s1ate the cutPuts ne1ttoer load l'ICr dnv• 1ne bus hnes sogn1fi· .can!ly n:e output control does not allect tna 1nterna1 OP8fllt0n et t?\& latcnes or l!ip-nops Tnat •s. ine cid data can be 1eta1net1 0t new data can be enl91'ed even 111ru1a U':e outputs are .:iH. DM54/74LS37' Output Cloc• D °"""" Control L T H H L 1 L L L L X Oo H X X z H • Hqll9'91!S--"5LtWl.l • UMLew.llS~ SLa1•J • ~ 0oti1 :t1• f•T•....,..,fl'Ol'l'l~·I0-119'..,._Z•..qo~,51a1• Q:i • ,,.,...-ottl'll~blllcr'tll~·llal• r.p,¡l~l••l"\lllo''~td Loglc Dl1gr1ma • OMNl7'L.SJ7S T,.,,....,.,.UtcMI DM5'/74W74 Poeüho•Ectge.TrlggerM fl~lope °"'""' 111 , ........ ~~~-<•>-~~ 111 'º .. .. !11 • 1111 ... 1111 - 1111 70 .... APENDICE D Rtgisltr Strvict lnttrrupl Input Prinl screcn. 05H N/A Vidl'oS1n·ic1s Set \iideo mode. IOH AH •OOH Al~ ..,·ideo moJe OutpUI 'S/A Sonc S('nd scrccn con1cms 10 prinlcr. S1:11us and rc~uh b~ le at 0050.UOOOH. \'idt'1• m1idt'' in AL· OOH: ..lO x :?~ 16-color h:'I 1g.ra)·.,CJJ.:J un comJ'(l~itl! monitcH\I. OIH: .Wx 1.!i lb·1:otor1c'1. O:!H. SO "1'. 15 lh·coh>r 11!\I tgr3) ·~alcJ nn 4.'om¡:~hlt(' mon11ort.1. OJH: ISO .c.15 16·1.'.lllOr h!',I. o.iH: .l:?O x 100 .l-color graph1c). 05H: X!O x :?00 -'·Ctllor graphic) (gray·sc3lcd on 1:ompo10ilc monitor\ l. 06H: MO x :?00 :? 0 ct1\i1r gr3ph1n. 07H: 80 "1'. 15 mon<1':hrome lc't l.\IDA. EGA. VGA 1. ODH: .'W x WO lh·color graph11.:11¡ t EGA. VG.~ 1. OEH; MO x :oo 16-cn\-.lr graphu.:s tEG.~. VGAI. OFH: ti.JO x .\50 mnnixhromc gr;iphic-. 1EGA. \'üAt. IOH: b40 )( .'50 16-color gr:sphi1.·., 1 EGA. VGAl. 11 H: fHO x -'~U :!-color gnphics l ~tCGA. VGAJ. 11H:~x.JXO lo-color graphics t VGA1. IJH: J:?O )( :?00 :?56·cnlnr graphic-. lMCGA. VGAI. R11W.r /ro11rrq1 Input Ou1put Set cursor sl1e. IOH Stt cursor pos.ition. Rrad c:ur:sor pos.ilion. Read lí~hl·pen pa@C, IOH !OH IOH IOH IOH AH =OlH CH = 511r1in1 sean line CL-endín1 sean line None AH=02H Nonc BH = dí>play P"I• DH=row OL=co1umn AH= 03H CH-= !ilartins sean lint BH = d1!iph1)' pa1e CL = cndine sean line DHc: row DL=column AH=O-IH AH= pen trigger signal ax:;: pi1el column CH=pixelrow tCGA and EGA video mode~ 4. !'i.1nd 6> ex =p1ulrow ~ EGA ucept mocks '*· ~ •• nd6) OH= ch1rac:1cr ro"'· Ol = chuacter column AH =OSH Non< AL= fliit numher AH=Cl6H AL= lincHo scroll up BH = fill 1nribu1e CH= uppc:rro"' CL = left column OH=IOtAcrw"' OL = ri¡!hl <:olumn Nonc U1I KB. OJH = 12g KB. 02H = 192 KB. OJH = 1~6 KBI 1,·,inrmto•J, Rtgisttr Strviu lnttrrupl Input OutpUI Sotts Re1urn ,·ideo CH = fea1urc bi1s .:onfigurJlion CL = i:oníi~urJtion 1nforma1ion. """i1r.:hc .. 1nin1inutJJ Sclei.:tJ.llcrn:uc IOH AH= l~H Sonc EGA. MCGA. VGA. print""rcen BL=WH UpJa1es INTOSH 'itc:lor. routinc. Sdcl.'.t ...:an hnc'i IUH AH= l~H AL= 12H VGAonly. for Jlph.inumcril.'. BL = JOH mc~C'I. :m> u·11nlitlts: AL =OOH -'-~0 n·"n lint.s: AL =OIH .J/Jll m1n lints: AL =ll2H Sdec:1 Jd01.ul1 IOH AH= 12H AL= 12H MCGA.VGA. paleue loadm¡. BL=JIH En"blt dtfuwlt palttlt l0c1din~: AL=OOH DuafJ/t Jtf11ulr palttlt loadinq: AL=OIH En01.blc/Jiu,blc IUH AH= 12U AL= l~H MCGA. VGA. \ 1Jen addrn .. ing. BL =.IW En11hlt i·idto 11JdrtuinR: AL=UOH Di1'1hltridtn 11JdrtJSinR: AL=OIH (COltlinwdJ •11isttr Strt1ln '"''"""' ,,,,,., º"""' Nau1 En1ble/diuble IOH AH= 12H AL= 12H MCOA,VGA. Jfl)'·s.e1le BL=33H s.umminJ. Enahlt R'ª.V· sralt summinR: AL=OOH DiJaNt R'ªY· Jrcdrsummin¡:: AL=OIH Enablc/di .. ahlc IOH AH= 12H AL= 12H VGAonly. BIOSturwr BL =.l4H cmulalion. Enahlr rnrlllr tmulation: AL =OOH Disahlt n1nor tmulutwn: AL =OIH D1*1pl;a> '°v.·11ch IOH AH=llll AL=12H MCGA,VGA. in1crf;u·c. BL= JlH lnlti11I uduptrr """'""// AL=llOH /nilialp/111111r l'idc11 rm:AL=OIH SM·iu·h a(·tfrt 1idto •iffAL=02H SMittlJi11urtilt ndrr11111· AL=OJH ES:DX-+ 12.K-bylc \3\C aft'il En.1blc/di~hlc IOH AH= 12H AL= 12H VGAonly. \ldl'llH'Íft:.,h. BL=.1Ml F11.ihlr 1f}H'~l1 AL :OOH ¡1;,,1hlf·11j1nl1· Al.=lllH (continutdl Rtgisltr Str~iu ,,,,,,,,,,,, /npUI OulpUJ Not~1 Wrilestrin¡: IOH AH• IJH None PC/AT. EGA. MCGA. VGA. don'1mo\·e AL•OOH cursor. BL = .iuribute BH = d11pla1· pogc OX=staning: cursor posicion ex = lcngth oí ming ES: BP -. !r.IUl or mina Wrhesrrín¡~ IOH AH• IJH None PC1AT. EGA. ~1CGA. \'GA. movecursor AL=OIH afre:r!lrin¡. BL = auribute BH = dhplay paje OX = ~larting cursor posílion ex= l~ng1h of S(fing ES:8P-+ start of \tring Wri1e srrin1 of IOH AH= IJH Sonc PC/AT. EGA. MCGA. VGA. al1crn1ting AL=OlH cbarai;tcnand BH = dited 01/I0/86 keyboard buffer. · CH = sean codt AL= 01 H lkeyboard and J11cr), PC/AT (810S dar~d CL=ASCll buffer fulll 11/1$/85 and la1~n. 1nd PS/2~ charac1er cede only. EJ. tended 16H AH= IOH AH is Kan codc PC/XT !BIOS dated 01/IO/l!t. keyboard ~ad. AL=ASCll •nd l11tr1, PCIAT ! BIOS da1cd chanKlcr codc 1 1/15/K!i and la1er>. and PS/2s only. E>icnded 16H AH=llH 1/ nn lr.~"Jtrtilr PC/XT !BIOS daitdOl/101116 kcyboard sr.11us. araifahlt: anJ lau:ri. PC/AT tBIOS dared Zf= 1 1111 S/8~ :rnd la1cr). and PSI::?' 1/ l.tl'Jll't1A:t' ª'"DilahlC': onl)·. Zf =O AH :::: sc1n codc AL=ASCll charac1cr codC' fa.tcockd shií1 16H AH= 12H AL= shift statu\ PC/XT IBIOS dat prC~\ed ttn 4: ScrollLod. j11.pre .. ,cd bit~: ri@'hl Ah i~prt!i'-Cd ~i1 :!: n~h1 C1rl h pre~\t'd lnmrinutdl Rt,UUr Str••i« '"'"'"" ,.,.., º"""' Nous Ellcndcd bil l:ld1Ah "lhiftSl31U~. isprcssed t"nntinut1l. bitO:lcftCtrl is prc!iiscd l'riNtr S1n·kt1 Scnd 1 byte 10 17H AH •OOH AH=suc;ccss/ Status hit Jttríngs: printcr. AL= cha.r3Cter failure status r11¡s bil 7 s:: l: not busy DXzaprinler bit6• t: acknowlcdae number bit 5 = 1: out of paper bil4 = 1: sclcctcd bil 3 • 1: (JO error bit 2 • unuKd bit 1 = unuscd bit o= time OUI Jnitializc primer. 17H AH•OIH AH= status code Status code bit sc1tin1s as DX =prinlcr above. number Gc1 printcr sta1us. 17H AH=02H AH= status code Stllus code bit seltin¡s as DX =printcr above. number MisttllalitoMI Strvim Swi1ch con1rol to IBH Nont N/A No relurn, so no possible ROMBASIC. outpul. Rebool compu1er. 19H None N/A No rcharn, 50 no pouible output. Fundion R'gisttr DOS S."'la (htx) Input Output Vtnio11 Nous Program Control Funcllon1 Tcrminatc: End OOH AH=OOH 1.0 Obsolctc: IJ~ program. CS = ~cgmcnl of PSP func1ion .acH inslcad. Crcalc ncVw program 26H AH •26H 1.0 Obsoleic: U\C \Cgmcnl. DX :o s.c:grncn1 VI her e íunclion .iBH ncwPSPs1am in~tcJd. Tcrrnnwc and s1ay JJH AH=JIH 2.0 midcn1. AL = rc1urn codc DX :o# oí paragr:aphs to kccp residen! Ge1/<H, OlH. i11ALI mm,orOAHI (rnntinutdl Function Rtgisttr DOS Strvict (htx) /npul OutpuJ Vtrsion .Votts Ge1/i:.e1 glob:il 66H AH=66H lftrmr: 3.J code page. Ta .lltl rnrrrnt CF<.tt t'odtpdl!t: AX= error f.:'oJe AL= OIH /ft1oc•rr11r: Tu stt codt paet: Cfclear AL= 02H lfcal/tdM·ilh BX = code page AL= O/H: number BX = currcnt code p.ige OX =defau\1 code page Mtrnory Functi.ons Alloc:ue mcmory 48H AH=48H lftrror: 2.0 block. BX = size of block Cfse1 in paragr:iphs . .\X= error codc 8X = sizc of JargC51 :ivailable block lf 11n trror: CFclear A.X= p:ir:igr:iph addren of alloca1ed block frlocL /fnotrnw: (""'11•11111) Cfclcar Ge1/sc1 memory 51H AH•58H l/trror: 3.0 Se• Chaplcr 17 11loc11ion ltrllCIY· To_,, ollocotion Cfse1 for dctails. J1rotr1y: AX= error code AL•OOH l/notrror: To u1 ollocotion Cf clear JlrOltl)'.' lf rallrd .. 11h AL=OIH AL= OOH: BX = s1ra1egy code AX= 11raten codt APENDICE E APENDICEE E. SISTEMAS DE RESPALDO CON BATERIA PARA EL 80C31BH En el diseño de sistemas de control industrial es necesario considerar circuitos que en condiciones normales son alimentados por la línea de CA, pero que en el caso de una falla en el suministro conmutan a una operación con batería. Aquí asumimos que en operación con batería las demandas de alta corriente cesarán junto con la línea de CA. El sistema podrá continuar con limitada funcionabilidad. probablemente monitoreando un transductor de control o manejando un LCD. O irá a un modo de su- pervivencia, en el cual se guarden datos críticos pero no sucederá algo más sino hasta que la línea de CA se reestablezca. De cualquier modo es necesario tener un previo aviso de una eventual falla en el suministro, para que el sistema pueda realizar una transferencia ordenada a alimentación con batería. Los sistemas de aviso previo pueden operar ya sea monttoreando la línea de voltaje de CA o la salida no regulada del rectificador, o in- clusive monitoreando el voltaje regulado de CD. El monitorear la línea de CA da el aviso más temprano. De esa manera se puede saber si una falla ha ocurrido entre uno o dos medios ciclos de la frecuencia de línea. En la mayoría de los casos, se cuenta de por lo menos otro medio ciclo de la frecuen- cia de línea antes de que empiece a caer el VCC regulado. En un medio ciclo de la frecuencia de línea un 8031 puede ejecutar alrededor de 5,000 instrucciones, suficiente tiempo como para efectuar una ordenada transferencia de poder. El circuito de la figura E.1 utiliza un diodo Zener para probar cada medio ciclo el voltaje de línea, y un transistor para pasar la información al 8031. (Obviamente para realizar la misma función se puede emplear un comparador de voltaje con una refer- encia adecuada.) Su operación se basa en que al presentarse un nivel aceptablemente alto, el Z1 satura al 01 e interrumpe al 8031. En este caso la interrupción será activada por cambio de nivel. La rutina de atención a la interrupción recarga uno de los tem- porizadores del 8031 con un valor que lo hará regresar al valor inicial dentro de uno y dos medios ciclos de la frecuencia de linea. Mientras que la línea de voltaje esté sana, el temporizador nunca regresa al valor inicial, ya que se recarga cada medio ciclo. Si llega a haber un medio ciclo en el cual el voltaje de línea no alcance un nivel alto acep- table como para generar la interrupción, el temporizador regresa al valor inicial y genera una Interrupción del temporizador. Entonces la interrupción del temporizador comienza la transición al respaldo con batería. Los datos criticas necesitan ser copiados a una RAM protegida. Las señales a circuitos que perderán potencia deberán escribirse con nivel lógico bajo. Se deben deshabilitar los circuitos protegidos (aquellos alimentados por VCC2) que se com- unican con circuitos desprotegidos. El microcontrolador en sí debe ser puesto en APlNDICEE modo de espera (el modo de espera y el modo apagado son particulares de los dis- positivos CHMOS de la familia MCS-51), para que pueda continuar con algún nivel de manejo por Interrupción, o bien se puede poner en modo apagado. Notase que si el CPU Invocará el modo apagado, los registros de funciones espe- ciales (SFRs) también tendrán que ser copiados a la RAM protegida, ya que el reset que termina con el modo apagado también inicializa todos los SFRs a su valor inicial. El circuito de la figura E.1 no muestra un mecanismo restablecedor. Sin embargo, existen muchas opciones. Un botón se puede utilizar para generar una interrupción, si el CPU esta en modo de espera, o activar un reset, si el CPU está en modo apagado. También es posible un restablecedor automático al restaurarse la alimentación. Si el CPU esta en modo de espera, puede seguir respondiendo a las interrupciones provenientes de 01. La rutina de atención a la interrupción determina del estado de los bits de bandera GFO y GF1 en PCON (Power Control Register) que está en modo de espera al haber una falla. Entonces puede muestrear VCC1 a través de un comparador similar a Z1, 01 de la figura E.1. Un nivel satisfactorio de VCC1 será efectivo al estar saturado el transistor. Pero probablemente no se pueda emplear el otro temporizador, que es la clave del funcionamiento del circuito de la figura E.1. En tal caso un one-shot redisparable, disparado por la línea de CA, puede en esencia realizar la misma función. La figura E.2 muestra un ejemplo de este tipo de detee1.or de falla. Un one-shot redisparable (la mitad de un 74HC123) monitorea el voltaje de la línea de CA através del transistor 01. El 01 redispara el one-shot cada medio ciclo de la frecuencia de línea. SI el ancho del pulso de salida se encuentra entre uno y dos medio ciclos de la frecuencia de línea, en- tonces un único medio ciclo faltante o muy bajo generará una bandera de un bajo ac- tivo, la cual puede ser empleada para interrumpir al microcontrolador. La rutina de interrupción se encarga de la transición al respaldo con batería. A par- tir de entonces el VCC1 puede o no desaparecer. El medio ciclo faltante del voltaje de línea pudo haber sido no más que una pequeña Irregularidad en la línea. Si la línea regresa con la fuerza suficiente para disparar el one-shot mientras que VCC1 sigue en alto (como lo indica el estado del transistor 02), entonces la otra mitad del 74HC123 generará una señal de restablecimiento. Una vez restablecido, el 8031 permanecerá así por lo menos por otro medio ciclo de la frecuencia de línea (otras 5,000 instrucciones) antes de que posiblemente se le diga que realice otra transferencia de poder. Consecuentemente, si la línea de voltaje está fallando constantemente alrededor del punto de conmutación (determinado por el diodo Z1), el sistema estará ejecutando en unidades de medio ciclo de la frecuencia de línea. Por otro lado, si la falla es real y tardada, eventualmente VCC1 caerá al nivel donde se dá el cambio a la batería. La batería de respaldo mantendrá la alimentación APENOICEE del 8031 y del 74HC123, y a todos los demás circuitos que se desee proteger. El vol· taje de la batería debe ser lo suficientemente alto como para mantener el valor nominal de VCCmin del 8031. Fig. E.1 Detector de Falla en el Suministro con Respaldo de Batería Para el caso especifico del 8031, que ejecuta de una ROM extema, y si se es· tablece en modo de espera al ocurrir la falla, entol'lj:BS la ROM externa también debe de ser provista de alimentaclón por la batería. En caso contrario, si se establece el modo apagado, entonces se puede permitir que la ROM •muera' junto con la línea de CA. Es importante notar que a la hora de restablecimiento, la ROM debe restablecerse antes que el 8031, para que no se caiga en un estado indeterminado. CIRCUITOS DE CONMUTACION DE POTENCIA Los sistemas de respaldo con batería necesitan de un modo para que los cir- cuitos protegidos consuman potencia de la fuente de alimentación cuando existe la línea de CA, y que conmuten a la potencia de la batería cuando se requiera. El circuito de conmutación es simple si el sistema completo se alimentará con la batería en el evento de una falla de línea. En tal caso un par de diodos es suficiente, como se muestra en la figura E.2, siempre que el valor nominal de VCCmln se mantenga después de que la calda en el diodo se ha sustraído de su fuente de poder respectiva. La situación se torna más complicada cuando sólo se quieren proteger algunos circuitos. En tal caso es difícil mantener VCCs iguales para los circuitos protegidos y los no protegidos (y probablemente también sea peligroso). Fig. E.2 Detector de Fallas en el Suministro con Respaido de Batería y One-Shots El problema se puede solucionar utilizando un diodo Schottky en vez del 1N4001, por su menor caída en el voltaje de polarización. Por ejemplo, el 1N5820 tiene una caída en el voltaje de polarización de 0.35V a 14. wcós e b) Lisando un MOSFET Otras soluciones incluyen el uso de transisiores o MOSFETS de potencia a modo de interruptores, como se muestra en la figura E.3. Con minimas modificaciones este interruptor se pueda controlar por al- guna terminal de los puertos. -1 ~11 ig. . etector e all s l uministro n espaldo e atería ne-Shots 8 r l a se puede solucionar utilll. do n i o Schottky en vez del 4 01, por su enor caída en el voltaj de polarización. or j plo, l 5820 lle a calda en et volt j e p larizaclón de 0. 5V a 1A. a¡-... - b)lllllndounM &l'ET tr s l i es in l n l o e tra i t r s SFETs t ncia odo e i t rr t res, o uestra l fig r .3. on í i as odifi i es st I t rr tor de ntrolar r l- na t r inal l ert . APENDICE F :¡ 1 1 1 1 Al'ENDICE f F. EJEMPLO DE UN TRANSDUCTOR RESONANTE. EL SENSOR DE PRESION PIEZORESISTIVO MOTOROLA MPX100 INTRODUCCION En la figura F.1 se muestra el corte transversal del transductor de presión MPX100. La pastilla sensora de presión se ubica dentro de un paquete termoplástico de 0.6' de diámetro y 0.2' de ancho. El montaje se hace con un material especial a una base de pJumlnio con cuatro alambres de oro que conectan la pastilla con las terminales externas. La cavidad está llena con un gel especial para proteger la pastilla de materiales peligrosos y los alambres de gases o líquidos conductores. Una tapa de aluminio cubre la parte superior. El elemento básico y las partes para su acoplamiento con una manguera de 1/8' se muestran en la figura F .2. Aluminum C1p _ ""', Thermopl11lic C•t• ~~ ' . ' . RTV Die Bond _.J ,' X·duc:er 0111 - .J Fig.F.1 Sensor de Presión X-ducer de Motorola Los sensores de presión de Motorola se pueden conseguir en rangos de presión de o a 1.5 PSI, o a 7.5 PSI, O a 15 PSI y de o a 30 PSI. Para todos los rangos se cuenta con el mismo tipo de paquete y técnica de construcción. En la figura F.3 se muestra la relación de presión v.s. voltaje de salida. El valor típico de voltaje de salida para el valor máximo es de 60 mv @ 25ºC, el valor del voltaje de 'offset' para presión cero es de 20 mv @ 2sºc y el valor de su voltaje de excitación es de 3.0 Vdc. El voltaje de salida correspon- diente al valor máximo de presión, se decrementa al incrementarse la temperatura e incrementa al decrementarse la temperatura relativa a 2sºc. .. .. Flg.F.2 Elementos Bask:os o...-..._ .......... ~ --....o.Jl'HCI~ ·-· I''"~ ¡ H i 1 10 ----p;.;..-¡;¡.¡---f--1 IO l11 .. 100 uo F'tg.F.3 Sensor de Presión Piezortlillivo MPX100 -· A esta transductor es ..-ario acoplarle circuitería adicional para compensación de temperatura y •ottser, calibración, y ganancia de voltaje, así como un convertidor de voltaje a frecuencia. Para que sea un transductor resonante completo. CIRCUITO DE COMPENSACION PARA TEMPERATURA Y "OFFSET" Este circuito se muestra en la figura F.4, el cual emplea un LM258 ampllficedor operacional dual. La eelecci6rl de la resiltencil de compensación Ra. pwa un rango de temperatura de oºc a eo°C, se calcula mediante: R.• Rxx3.57 dandi: Ra • raslstancil da compansaci6n "' • rllilt8ncll del bWllduclor • 25°C .. "' ... ... . , IOV Flg.F.4 Circuito de Calibración de Olfsat y Temperatura Al'l!HOICE• Los transductores de presión se especifican con una resistencia mínima de 400 o y una máxime de 550 o. Asumiendo que Rs es aproximadamente 4 veces la resistencia del transductor, el voltaje de excitación en V3 es aproximadamente 2.0 Vdc, si el circuito opera con 10 V. Los voltajes de salida del transductor en las terminales S + y S· son de aproximadamente 1.0 Vdc. El divisor de voltaje formado por R1 y R2 fijan el voltaje en V4 a aproximadamente 1.1 Vdc. Como el transductor tiene un coeficiente de resistencia positivo a la temperatura, el voltaje en V3 se incrementa con la temperatura, como también el voltaje en V1. El transductor tiene su propio coeficiente de temperatura de 'olfser. Por lo que es necesario calcular el valor de Rr tal que el cambio de V1 con la temperatura, cancele el cambio de 'offset'. Se puede calcular Rf con la siguiente ecuación: donde: Rr = (--xRs)- ---- AVO Vo = Vo (Temp. máx.) • Vo (@ 25 ºC) V1 • V1 (Temp. máx.)· V1 (@ 25 ºC) La segunda etapa del amplificador operacional (0A2) provee una ganancia de 50 (Rs dividido por R4). El electo de Rr es mínimo en la ganancia total de OA1 y 01\2. El voltaje de aaNda Vo estar6 compensado para el rango de temperaturas de oºc a aoºc. ETAPA DE CAUBRACION Esta etapa se muestra en la figura F.5. El amplificador de ganancia variable, OA4, suma la señal que depende de la presión (Vo} con el voltaje de •offser variable creado por el divisor de voltaje Re, Rg y Ron. O.AJ funciona como 'buffer' entre el voltaje de 'offset' variable y el control de ganancia variable RG. .,.. , .. Flg.F.5 calibración de OA3 y OM -· Si 0"3 no estuviese en el circuito, el ajuste de 'offset" lnteractuaía con el ajuste de ganancia, provocando una calibración repetida. La calibración de temperatura y 'offset' (figura F.4.) tiene un voltaje de salida (Vo) de 1.0 a 2.0 V, dependiendo del voltaje de 'ollsel' del transductor a una diferenclal de presl6n cero y del valor de R,. El voltaje vs se ajuS1a mediante el divisor de voltaje Re. Ra y Ralr. Vs es el promedio de Voy V5 entre 1.0 y 3.0 Vdc. Para los circuitos mostrados en las figuras F.4 y F.5, la salida de voltaje para el diferencial de presión cero a través del transductor es de 2.0 V. Si Ral se ajusta pwa que ningúna oonienle fluya a través de RG, Ve será igual a V<» y V2. El voltaje de salida es 2.0 Vdc. Usando un valor de 5 ka para AG. se tendrá un voltaje de presión cero de 2.0 Vele y un voltaje de presión máxima de 4.0 Vele. Una resistencia de 10 ka dará un voll8je máxlmo de salida de 6.0 Vdc. CONVERSION DE VOLTAJE DE SALIDA A FRECUENCIA La conversión de voltaje a frecuencia se puede lograr con el circuito mostrado en la figura F.6. El circuito consiste de un amplificador operacional LM258 y un temporiZador Flg.F.6 Voltaje a Frecuencia MC1455/LM258 555 como multivibrador estable. El LM258 se emplea como una fuente de corriente controlada por voltaje. Este circuito provee una corriente de salida hasta el valor máximo de corriente permitida por el amplificador operacional. El capacitor e (O. 1,. F) se carga por la fuente constante de corriente y se descarga por la terminal 7 del temporizador 555. la resistencia de 1 O ko sólo permite que el capacitar se cargue hasta la mitad de el voltaje de la fuente, resultendo en un control bastante lineal pin la oonversi6n de voltaje a frecuencia. "t-j-t-+ ....... -+-+--t-+-17"1-+-+-+-l 'Ol-j-t~.--+-+-+-+-+-1-i-t-+-+-l o/ o 20 ~o u 10 f,ffl(OUf.flltl'llHll Fig.F.7 Voltaje a Frecuencia (Vcc = 15 V.) &P!Nl>ICE f '" Flg.F.8 Conversión de Presión a Frecuencia La figure F. 7 Ilustra grélicamenta la relación medida entre el control de voltaje y la frecuencia de salida en el circuito de la figura F.6. La figura F.8 muestra el circuito completo para convertir presl6n a frecuencia.