Modelación de Circuitos Digitales Secuenciales Típicos utilizando MATLAB y SIMULINK
62
0
0
Texto completo
(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Electrónica y Telecomunicaciones. TRABAJO DE DIPLOMA Modelación de Circuitos Digitales Secuenciales Típicos utilizando MATLAB y SIMULINK. Autor: Luis Alberto Hernández Marrero. E-mail: [email protected] Tutor: Dr. Ing. Juan Pablo Barrios Rodríguez. E-mail: [email protected]. Santa Clara 2011 “Año 53 de la Revolución”.
(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Autor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.
(4) i. PENSAMIENTO. “Los científicos descubren el mundo tal cual es, los ingenieros crean el mundo que nunca fue.”. Theodore von Kármán.
(5) ii. DEDICATORIA. A mis padres y hermanos que siempre me han tenido confianza en mí y me han apoyado siempre.. A mis compañeros de aula y profesores que sin su ayuda no lo hubiera logrado..
(6) iii. AGRADECIMIENTOS. A mi tutor, pues gracias a él puedo realizar este sueño. A mis profesores de los cuales aprendí gran parte de lo que ahora se. . A todos aquellos que de una forma u otra han contribuido a la realización de este trabajo..
(7) iv. TAREA TÉCNICA. . Realizar una revisión bibliográfica en INTERNET sobre el uso de MATLAB y SIMULINK para la implementación de circuitos digitales típicos secuenciales.. . Realizar un estudio sobre las bibliotecas (toolboxes) digitales de simulación que ofrece MATLAB.. . Realizar un estudio de los programas, problemas o proyectos de la asignatura Electrónica Digital II en el sitio digital de esta que se encuentra en nuestra facultad.. . Implementación en MATLAB y SIMULINK de los proyectos presentes en el sitio digital de la asignatura Electrónica Digital II.. . Confección del informe que recopile la descripción de los métodos, procedimientos y resultados alcanzados a través de estos, relativos a la modelación, implementación y simulación de los circuitos digitales secuenciales típicos en MATLAB y SIMULINK.. Firma del Autor. Firma del Tutor.
(8) v. RESUMEN. El trabajo se enfoca en el estudio que brindan las bibliotecas de MATLAB y SIMULINK para la modelación, implementación y simulación de circuitos digitales típicos secuenciales. Esta investigación novedosa del departamento de Telecomunicaciones de la Universidad Central “Marta Abreu” de Las Villas, tiene como objetivo contribuir al conocimiento y familiarización de la herramienta MATLAB y SIMULINK mediante el aporte de nuevas bibliotecas de componentes para el estudio de la asignatura Electrónica Digital II. En el trabajo se recogen los principales circuitos integrados que se usan en la literatura de la asignatura. Como aporte más importante se destaca el empleo, estudio y profundización de la herramienta computacional por excelencia de la ingeniería: MATLAB y SIMULINK; con el objetivo de generalizar su uso en la enseñanza de las carreras de nuestra facultad como herramienta única en las prácticas de laboratorio para programar y diseñar sistemas, tanto en la asignatura de Electrónica Digital como en las demás, posibilitándose así un mayor dominio de esta herramienta. Además de facilitar un mayor aprovechamiento, pues el tiempo del que requerirían para dominar los diferentes programas de simulación existentes lo podrán invertir en lograr un mayor dominio de las diferentes asignaturas y ampliar los conocimientos que reciben a través de la investigación..
(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA .....................................................................................................................iv RESUMEN ................................................................................................................................ v INTRODUCCIÓN ....................................................................................................................... 1 CAPÍTULO 1.. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. . 4. 1.1. Introducción a la herramienta MATLAB. ............................................................... 4. 1.2. Introducción a la herramienta SIMULINK.............................................................. 6. 1.3. Modelación y simulación en SIMULINK. ............................................................... 7. CAPÍTULO 2.. MODELACIÓN DE CIRCUITOS TÍPICOS. ..................................................... 20. 2.1. Generalidades. ................................................................................................ 20. 2.2. Elementos Biestables. ...................................................................................... 24. 2.2.1. Biestable R-S. ................................................................................................. 25. 2.2.2. Biestable D. ..................................................................................................... 27. 2.2.3. Biestable T. ..................................................................................................... 28. 2.2.4. Biestable J-K. .................................................................................................. 29. 2.3. Circuitos integrados a baja escala de integración (SSI). ...................................... 30.
(10) vii 2.3.1. 74x74.............................................................................................................. 30. 2.3.2. 74x109 ............................................................................................................ 31. 2.3.3. 74x112. ......................................................................................................... 31. 2.3.4. 74x375. ......................................................................................................... 32. 2.4. Circuitos integrados a mediana escala de integración (MSI). ............................... 33. 2.4.1. 74x163(Contador binario sincrónico de 4 bits). ................................................... 34. 2.4.2. 74x164(Registro de desplazamiento de entrada serie, salida paralelo 8 bits). ........ 35. 2.4.3. 74x166(Registro de desplazamiento de entrada paralelo, salida serie de 8 bits.) ... 36. 2.4.4. 74x174(Registro de 6 bits.) ............................................................................... 37. 2.4.5. 74x175(Registro de 4 bits.) ............................................................................... 38. 2.4.6. 74x194(Registro de desplazamiento bidireccional de en entrada paralelo y salida. paralelo de 4 bits.) ............................................................................................................... 39 2.4.7 CAPÍTULO 3.. 74x377(Registro de 8 bits.) ............................................................................... 40 MODELACIÓN DE PROYECTOS ................................................................. 41. 3.1. Generalidades. ................................................................................................ 41. 3.1.1. Proyecto # 1. ................................................................................................... 42. 3.1.2. Proyecto # 2 .................................................................................................. 43. 3.1.3. Proyecto # 3 ................................................................................................... 45. CONCLUSIONES ................................................................................................................ 47 RECOMENDACIONES ................................................................................................... 48 REFERENCIAS BIBLIOGRÁFICAS ........................................................................................... 49 ANEXOS .............................................................................................................................. 51 Anexo I. Temas importantes en el diseño digital. ............................................................. 51. Anexo II. Estrategia para el diseño de sistemas con MSI. .................................................. 51.
(11) INTRODUCCIÓN. 1. INTRODUCCIÓN. El vertiginoso avance de la ciencia y la tecnología en el mundo de hoy es conocido popularmente como la nueva era digital debido a que dichos avances han sido fundamentalmente en el desarrollo de tecnologías digitales que poco a poco van desplazando la tecnología analógica ya existente en todas las esferas de la sociedad. Debido a esto se hace necesario cada día un mayor dominio por parte de los profesionales de las ciencias técnicas, de la electrónica digital para su estudio, desarrollo y explotación. En paralelo con este desarrollo se ha dado un gran avance en la industria del software, creándose múltiples aplicaciones para lograr la programación y simulación de sistemas analógicos y digitales, lo que trae aparejado consigo la necesidad del aprendizaje de varios de estos software para su correcta explotación. Lo anterior ha determinado la necesidad de invertir tiempo y esfuerzos extras por parte de nuestros estudiantes de la facultad de Ingeniería Eléctrica en el aprendizaje de los mismos, tales como MATLAB, ORCAD, PROTEUS, C++, entre otros, pudiéndose evitar esto de lograrse una mayor aplicación del MATLAB, el cual constituye una de las herramientas mas útiles y usadas que existen en el mundo desarrollado de hoy, por ser un lenguaje de alto nivel y de mas fácil empleo en el desarrollo de programas numéricos, además de estar integrado con el SIMULINK que permite la modelación y simulación de sistemas. En la actualidad con el acelerado y vertiginoso adelanto de la ciencia y las tecnologías, sobre todo en el desarrollo y aplicación de la Electrónica Digital, se hace necesario en las carreras de ciencias técnicas un constante aumento en la asimilación de nuevos contenidos, lo que trae aparejado un mayor estudio de estos para poderlos llevar a la práctica, por la gran cantidad de programas y simuladores empleados para la modelación e implementación de los mismos. Todo lo cual requiere por parte de los estudiantes dedicar mayor cantidad de horas de estudio a tratar de aprender y dominar programas y simuladores diseñados al efecto, con el consiguiente gasto de tiempo y esfuerzo que la mayoría de las veces da pocos o ningún beneficio posteriores en su vida profesional..
(12) INTRODUCCIÓN. 2. Con una mayor aplicación de la herramienta MATLAB-SIMULINK por parte de los estudiantes de la Facultad de Ingeniería Eléctrica en sus prácticas de laboratorio para programar y diseñar sistemas, tanto en la asignatura de Electrónica Digital como en las demás, se posibilita un mayor dominio de esta herramienta. Además de facilitar un mayor aprovechamiento, pues el tiempo que requerirían para dominar los diferentes programas de simulación existentes lo podrían aprovechar para lograr un mayor dominio de las diferentes asignaturas y ampliar los conocimientos que reciben en cada una de ellas a través de la investigación. De lo expuesto anteriormente se desprenden las siguientes interrogantes científicas: ¿Qué posibilidades brindan las bibliotecas digitales de simulación de MATLAB para la modelación y simulación de circuitos digitales típicos secuenciales? ¿Cómo implementar circuitos digitales típicos secuenciales en MATLAB? ¿Cuáles problemas o proyectos típicos de la asignatura Electrónica Digital II pueden ser implementados desde MATLAB? Para lograr lo propuesto en la investigación se trazaron los siguientes objetivos específicos: Analizar las facilidades disponibles de MATLAB y SIMULINK para la modelación y simulación de circuitos digitales típicos secuenciales. Implementar circuitos digitales típicos secuenciales utilizando MATLAB y SIMULINK. Proponer un conjunto de problemas o proyectos típicos de la asignatura de Electrónica Digital II que puedan ser implementados desde MATLAB y SIMULINK. Como parte de este estudio se analizan los circuitos digitales secuenciales típicos más importantes y más usados en el estudio de la Electrónica Digital II. A través de esta investigación se enriquecen los conocimientos sobre las potencialidades que ofrece la herramienta MATLAB y SIMULINK, así como sus bibliotecas de simulación. Se pretende además aportar un conjunto de bibliotecas a las ya existentes que doten a los estudiantes de ingeniería de los instrumentos de software que le permitan modelar, describir, implementar y simular problemas o proyectos de lógica secuencial a través de los circuitos digitales típicos ya estudiados en clases y existentes en la bibliografía..
(13) INTRODUCCIÓN. 3. Organización del informe El informe se estructura en introducción, capitulario, conclusiones, recomendaciones y referencias bibliográficas. Introducción Se deja definido la importancia y necesidad del tema que se aborda y los elementos de la investigación. Capítulo 1 Se realiza un estudio acerca de la herramienta MATLAB y SIMULINK, posibilidades que brinda, características generales, uso docente. Se aborda el entorno de trabajo de dicha herramienta, así como las potencialidades de sus bibliotecas y componentes mediante explicaciones detalladas de los mismos. Capítulo 2 Se hace una descripción de los principales circuitos integrados de uso docente que se han implementado para su estudio y simulación en la resolución de problemas de la asignatura Electrónica Digital II, con vistas a incluirlos en la bibliografía de la misma, a manera de bibliotecas digitales. Capítulo 3 Se realiza la resolución de proyectos presentes en el sitio digital de la asignatura Electrónica Digital II mediante el empleo de las bibliotecas de componentes creados con la herramienta MATLAB y SIMULINK. Conclusiones y Recomendaciones Reflejan un análisis crítico de los resultados obtenidos a partir de los objetivos que se trazaron inicialmente y se hacen recomendaciones para generalizar el material creado y el empleo de la herramienta MATLAB y SIMULINK en la asignatura Electrónica Digital II..
(14) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. CAPÍTULO 1.. 4. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II.. En este capítulo se aborda todo lo referente sobre la herramienta MATLAB y SIMULINK, dándose a conocer aspectos importantes sobre la misma y forma de empleo para la resolución de problemas prácticos y docentes relacionados con la Electrónica. En los dos primeros epígrafes se hace una introducción sobre ambas herramientas, y en el tercer epígrafe se muestra su forma de empleo, además de la descripción de algunos de sus componentes y formas de realizar los análisis. 1.1. Introducción a la herramienta MATLAB.. MATLAB es el nombre abreviado de “MATrix LABoratory”. El mismo fue creado por la compañía The MathWorks, en 1984. Es un gran programa de cálculo técnico y científico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M), el cual fue creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que utilizar Fortran. Está disponible para las plataformas Unix, Windows y Apple Mac OS X. Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario -GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets)..
(15) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. 5. Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL. Fue creado por Pablo Cordero Mejía en 1984, con ayuda del químico biológico Claudio Renato Sosa, actualmente el primero se encuentra en el CEM (Centro de Estudios Matemáticos) trabajando en su proyecto de matrices integrales derivadas y el segundo es investigador de las estructuras químicas de los seres marinos, surgiendo la primera versión con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y análisis numérico, sin necesidad de escribir programas en dicho lenguaje. El lenguaje de programación M fue creado en 1970 para proporcionar un sencillo acceso al software de matrices LINPACK y EISPACK sin tener que usar Fortran. [Silva, 2001] Matlab es un programa de gran aceptación en ingeniería destinado realizar cálculos técnicos científicos y de propósito general. En él se integran operaciones de cálculo, visualización y programación, donde la interacción con el usuario emplea una notación matemática clásica. Es necesario señalar que el sitio web de Matlab (www.mathworks.com) esta vetado a Cuba por las leyes del bloqueo norteamericano a nuestro país, al cual, además incluye en la lista de países terroristas. De manera que todo el presente estudio ha costado un esfuerzo adicional. Los usos y aplicaciones típicas de Matlab son: Matemáticas y cálculo. Desarrollo de algoritmos. Adquisición de datos. Modelado, simulación y prototipado. Análisis y procesado de datos. Gráficos científicos y de ingeniera. Desarrollo de aplicaciones. MATLAB consta de cinco partes fundamentales: 1. Entorno de desarrollo. Se trata de un conjunto utilidades que permiten el uso de funciones MATLAB y ficheros en general. Muchas de estas utilidades son interfaces gráficas de usuario. Incluye el espacio de trabajo MATLAB y la ventana de comandos. 2. La librería de funciones matemáticas MATLAB. Se trata de un amplio conjunto de algoritmos de cálculo, comprendiendo las funciones más elementales como la suma, senos.
(16) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. 6. y cosenos o la aritmética compleja, hasta funciones más sofisticadas como la inversión de matrices, el cálculo de autovalores, funciones de Bessel y transformadas rápidas de Fourier. 3. Gráficos. MATLAB dispone de un conjunto de utilidades destinadas a visualizar vectores y matrices en forma de gráficos. Existe una gran cantidad de posibilidades para ajustar el aspecto de los gráficos, destacando la visualización tridimensional con opciones de iluminación y sombreado, y la posibilidad de crear animaciones. 4. El interfaz de aplicación de MATLAB (API). Consiste en una librería que permite escribir programas ejecutables independientes en C y otros lenguajes, accediendo, mediante DLLs, a las utilidades de cálculo matricial de MATLAB.. 1.2 Introducción a la herramienta SIMULINK. SIMULINK es un paquete de software para modelar, simular y analizar sistemas dinámicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo, muestreados o un híbrido de los dos. Los sistemas pueden ser también multifrecuencia, es decir, tienen diferentes partes que se muestrean o actualizan con diferentes velocidades. Para modelar, SIMULINK proporciona una interfaz de usuario gráfica (GUI) para construir los modelos como diagramas de bloques, utilizando operaciones con el ratón del tipo pulsar y arrastrar. Con esta interfaz, puede dibujar los modelos de la misma forma que lo haría con lápiz y papel (o como lo representan la mayoría de los libros de texto). Esto es un cambio radical respecto a los paquetes de simulación previos que requieren que formule las ecuaciones diferenciales y las ecuaciones en diferencia en un lenguaje o programa. SIMULINK incluye una amplia biblioteca de bloques de sumideros, fuentes, componentes lineales y no lineales y conectores. Puede también personalizar y crear sus propios bloques. Después de definir un modelo, puede simularlo utilizando cualquiera de los métodos de integración que tiene a su disposición o bien desde el menú de SIMULINK o introduciendo órdenes desde la ventana de órdenes de MATLAB. Los menús son apropiados para un trabajo interactivo; mientras que el enfoque de línea de orden es muy útil para ejecutar un lote de simulación (por ejemplo, si está haciendo simulaciones de Monte Carlo o necesita barrer un parámetro a través de un rango de valores). Utilizando bloques Scopes y otros bloques de.
(17) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. 7. visualización, puede ver los resultados de la simulación mientras se está ejecutando. Además, puede cambiar los parámetros y ver de forma inmediata lo que sucede en exploraciones del tipo "que sucede si". Los resultados de la simulación se pueden transferir al espacio de trabajo de MATLAB para su posterior postprocesamiento y visualización. [López, 2001] Las herramientas de análisis de modelo que incluyen linealización y determinación de estados estacionarios pueden ser accedidas desde la línea de orden de MATLAB, así como las muchas utilidades que MATLAB y sus toolboxes de aplicación poseen. Y como MATLAB y SIMULINK están integrados, pueden simular, analizar y revisar sus modelos en uno u otro entorno en cualquier momento. [López, 2001] Simulink es un entorno de programación visual, que funciona sobre el entorno de programación Matlab. Es un entorno de programación de más alto nivel de abstracción que el lenguaje interpretado Matlab (archivos con extensión .m). Simulink genera archivos con extensión .mdl (de "model"). Simulink viene a ser una herramienta de simulación de modelos o sistemas, con cierto grado de abstracción de los fenómenos físicos involucrados en los mismos. Se hace hincapié en el análisis de sucesos, a través de la concepción de sistemas (cajas negras que realizan alguna operación). Se emplea arduamente en Ingeniería Electrónica en temas relacionados con el procesamiento digital de señales (DSP), involucrando temas específicos de Ingeniería Biomédica, Telecomunicaciones, entre otros. También es muy utilizado en Ingeniería de Control y Robótica. 1.3 Modelación y simulación en SIMULINK. SIMULINK tiene dos fases de uso: la definición del modelo y el análisis del modelo. La definición del modelo significa construir el modelo a partir de elementos básicos construidos previamente (bloques, los que pueden tener varios terminales de entrada y de salida), tales como, fuentes de valor constante, compuertas lógicas, biestables, terminales, etc. Además se emplea otro elemento que son las líneas las que se utilizan para transferir señales de un bloque a otro. El análisis del modelo significa ejecutar la simulación y valorar los resultados obtenidos. Para acceder a Simulink es necesario ejecutar en primer lugar Matlab. Una vez arrancado este aparece una ventana similar a la mostrada en la Figura 1. En ella pulsando sobre el icono (señalándose en la figura encerrado dentro de un círculo) se accede al entorno de Simulink cuya.
(18) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. 8. ventana inicial mostrada en la Figura 2 muestra la lista de librerías disponibles, observándose además en la parte inferior la ventana untitled, el cual es el área donde se crea el nuevo modelo.. Figura 1.1- Ventana de trabajo del MATLAB desde donde se accede al SIMULINK..
(19) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II. Figura 1.2.- Librerías digitales y modelo en blanco del entorno SIMULINK. Entre el conjunto básico de bloques de funciones de SIMULINK se encuentran: . Sources: se utilizan para la generación de distintas señales.. . Sinks: se utilizan para señales de salida o la pantalla.. 9.
(20) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 10 . Logic and Bit Operations: se utiliza para el procesado lógico de señales digitales.. . Flip-Flops: contiene un conjunto de bloques flip-flops. Estos bloques dan inicio ahora a la nueva semántica de subsistemas cerrados. En adición, el bloque S-R Flip Flops modela ahora una compuerta NOR física.. Entre los bloques de mayor interés nuestro dentro de la librería de Sources (fuentes) se tienen a: . Constant: la salida es una constante especificada por el parámetro Constant value. Si este es un vector y está activado Interpret vector parameter as 1-D, la constante es tratada como si fuera un arreglo 1-D, de lo contrario la salida es una matriz con las mismas dimensiones que el valor de la constante.. . Pulse Generator: genera pulsos de ondas cuadradas a intervalos regulares. Los parámetros Amplitude, Pulse Width, Period y Phase Delay determinan la forma de onda de salida.. . Ground: usado para “poner a tierra” señales de entrada (previene warnings sobre puertos de entrada desconectados). Su valor de salida es cero.. Para el caso de la librería Sinks resultan de interés los siguientes bloques: Scope: Visualiza la salida del bloque que tiene conectado a su entrada, de forma gráfica de la misma forma que lo hace un osciloscopio. Dichas señales son generadas durante la simulación. Terminator: usado para “terminar” señales de salida (previene warnings sobre puertos de salida desconectados). La librería Logic and Bit Operations, la cual cuenta, de entre sus numerosos bloques, con el siguiente: . Logical Operator: operadores lógicos (AND, OR, NAND, NOR, XOR, NOT). Efectúa operaciones lógicas específicas en las entradas. Para una sola entrada, los operadores son aplicados a través del vector de entrada. Para múltiples entradas, los operadores son aplicados a través de dichas entradas..
(21) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 11. Por último tenemos a la librería Flip-Flop, la cual cuenta con los bloques siguientes:. Clock: El bloque Clock genera una señal de reloj para sistemas lógicos. El bloque Clock genera un 1 para la primera mitad de la muestra de tiempo especificada y un 0 para la otra mitad del período. Este bloque se puede usar para controlar la ejecución de los bloques flip-flops D y J-K (en la librería Simulink Extras / Flip Flops), y otros subsistemas de disparo y de habilitación. D Flip-flop: El bloque Flip-Flop D modela una habilitación por disparo de lado positivo. El bloque Flip-Flop D tiene tres entradas. D (entrada de Datos), CLK (señal de reloj), y !CLR (la señal de habilitación). En el lado positivo (subida) de la señal de reloj, si el bloque está habilitado (¡CLR es mayor que cero), la salida Q es la misma que la entrada D. D latch: El bloque Latch D modela un flip flop J-K habilitado.El bloque de la compuerta D tiene dos entradas. D(Entrada de datos) y C (señal de entrada de habilitación de chip).La señal de entrada de habilitación de chip controla cuando el bloque funciona. Cuando C es mayor que cero, la salida Q es la misma que la entrada. J-K flip-flop: El bloque J-K flip flop modela un flip flop J-K por habilitación por disparo de lado negativo. El bloque J-K flip flop tiene tres entradas, J, K y CLK. En el lado negativo (caída) de la señal de reloj (CLK), el bloque J-K flip flop produce una salida Q y su complemento !Q. En la tabla de verdad Q n-1 es la salida del paso de tiempo previo. S-R flip-flop: El bloque S-R flip-flop modela un simple flip-flop Set-Reset construido usando compuertas NOR. El bloque S-R flip flop tiene dos entradas, S y R (S para Set y R para Reset) y dos salidas, Q y su complemento !Q. En esta tabla Qn-1 es la salida del paso de tiempo previo..
(22) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 12 Para crear un nuevo modelo, seleccione New en el menú File. SIMULINK crea una nueva ventana. Se puede mover la ventana a la parte superior derecha de la pantalla de manera que pueda ver al mismo tiempo sus contenidos y los contenidos de las bibliotecas de bloques. Seleccione los bloques a utilizar, teniendo en cuenta en su selección la posición que van a ocupar los mismos teniendo en cuenta que las salidas se encuentren al lado derecho, de tal forma que las señales fluyan de izquierda a derecha. Posteriormente a este vaya arrastrando cada bloque de la librería hacia la ventana del modelo abierto.. SIMULINK asigna un nombre a cada bloque (el cual se puede cambiar en cuanto a contenido y ubicación). Si es el primer bloque de su tipo en el modelo, su nombre es el mismo que el de la ventana de origen. Por ejemplo, si se copia el bloque Gain de la biblioteca línea en la ventana de su modelo, el nombre del nuevo bloque es Gain. Si el modelo ya contiene un bloque denominado Gain, SIMULINK añade un número de secuencia al nombre del bloque (por ejemplo, Gain 1, Gain2, etc.). Ciertos aspectos de una función de bloque se definen a través de sus parámetros. Puede asignar valores a los parámetros de un bloque accediendo a su cuadro de diálogo. Abra el bloque (haciendo un doble clic). SIMULINK visualiza el cuadro de diálogo del bloque, que lista los parámetros y sus valores actuales. Puede cambiar estos valores o aceptar los valores visualizados.. Cuando su modelo aumenta en tamaño y complejidad, puede simplificarlo agrupando bloques en subsistemas. El agrupamiento es útil por una serie de razones: . Ayuda a reducir el número de bloques visualizados en la ventana de su modelo.. . Permite mantener juntos a bloques que están funcionalmente relacionados.. . Hace posible establecer un diagrama de bloques jerárquico (donde los bloques del subsistema están en un nivel y los subsistemas en otro).. . Permite el encapsulamiento de bloques propios con el objetivo de agregarlos a nuestra propia biblioteca y así hacer lograr que la biblioteca del SIMULINK sea más amplia..
(23) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 13. Hay dos maneras de crear un subsistema: 1. Encerrando los bloques y líneas de conexión que desea incluir en el subsistema dentro de un cuadro de delimitación. No puede especificar los bloques que se van a agrupar seleccionándolos individualmente. Por ejemplo, la figura que viene a continuación muestra un modelo que representa un contador. Los bloques Sum y Delay se seleccionan dentro de un cuadro de delimitación:. Cuando suelta el botón del ratón, se seleccionan los dos bloques y todas las líneas de conexión.. 2. Se escoje Group en el menú Options. SIMULINK reemplaza los bloques que están en el grupo por un único bloque Subsystem. La figura muestra el modelo después de escoger la orden Group:. Como con todos los bloques, se puede cambiar el nombre del bloque Subsystem. También, puede personalizar el icono y el cuadro de diálogo del bloque utilizando una característica de SIMULINK llamada enmascaramiento..
(24) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 14 Si se efectúa una doble pulsación sobre el bloque Subsystem, SIMULINK visualiza el modelo subyacente. La figura muestra el resultado de abrir el bloque Subsystem del modelo anterior:. El enmascaramiento es una poderosa herramienta de SIMULINK que permite personalizar el cuadro de diálogo y el icono de un subsistema. Con el enmascaramiento conseguimos: . Protege a los usuarios de un modelo de complejidades innecesarias, simplificando el manejo del mismo. Disminuyendo los cuadros de dialogo. En lugar de abrir cada bloque del modelo para introducir el valor de los parámetros, estos parámetros se introducen en el cuadro de diálogo de la máscara y pasan directamente a los bloques del sistema enmascarado.. . Proporciona una interfaz de usuario más asequible, descriptiva y útil.. . Usar los valores de los parámetros de los bloques para definir nuevas variables.. . Crear un icono para el bloque que represente el propósito del subsistema.. . Protege el contenido de los bloques de alteraciones no intencionales, al ocultar su contenido bajo la máscara.. Una vez creado el subsistema, escoja Mask Subsystem del menú Edit. El cuadro de diálogo del enmascaramiento, que se muestra a continuación, le permite describir el bloque con máscara definiendo sus campos de parámetros, las órdenes de inicialización, el icono y el texto de ayuda. El título del cuadro de diálogo y el nombre y tipo del bloque se derivan del bloque que está siendo enmascarado. SIMULINK crea un nuevo cuadro de diálogo y un icono para el bloque con máscara bloque, su título, sus etiquetas del campo de parámetros del cuadro de diálogo, como se inicializa el bloque, como es el icono del bloque y el texto visualizado cuando pulsa el botón Help en el cuadro de diálogo del bloque mediante Edit Mask..
(25) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 15 Además de enmascarar un bloque este también se puede desenmascarar, lo cual se realiza seleccionando el bloque con mascare, y eligiendo Unmask del menú Options. SIMULINK visualiza el bloque (o el subsistema) con su icono por defecto. Importante. Para retener la información de enmascaramiento acerca de un bloque que ha desenmascarado, debe enmascarar ese bloque antes de que desenmascare otro bloque. Si no, se pierde la información de enmascaramiento. Podemos ejecutar simulaciones seleccionando órdenes desde los menús de SIMULINK o introduciéndolas desde la ventana de órdenes de MATLAB. Lo cual se logra primeramente abriendo la ventana donde se encuentra el modelo que se va a simular y luego se oprime el icono de simulación (Start) el cual se señala en la figura encerrándolo en un círculo.. Figura 1.3.- Visualizándose gráficamente la conducta del sistema con bloques tipo Scope..
(26) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 16. Figura 1.4.-Visualizacion del resultado en el bloque Scope Trabajar de esta forma es más útil cuando se está creando y depurando un sistema. La ejecución de una simulación desde el menú permite efectuar ciertas operaciones de forma interactiva durante una simulación: . Cambiar los parámetros de un bloque, a condición de que no origine un cambio en el número de estados, entradas o salidas para ese bloque.. . Cambiar cualquier parámetro de simulación excepto las variables de retorno y el tiempo de comienzo.. . Cambiar el método de simulación.. . Simular al mismo tiempo otro sistema.. . Pulsar sobre una línea para ver la señal que transporta esa línea sobre un bloque Scope de tipo flotante (no conectado)..
(27) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 17 Estos cambios en la estructura del modelo durante una simulación, tales como añadir o suprimir líneas o bloques, originan que se pare la simulación. Por lo que hay que seleccionar nuevamente Start para ver el resultado del cambio. Para la asignación de los parámetros de simulación se escoge Parameters en el menú Simulation. SIMULINK visualiza el cuadro de diálogo Simulation parameters (Macintosh) o Control Panel (Windows) que se muestra a continuación.. Este cuadro de diálogo nos permite escoger el método de integración y definir los parámetros de simulación. Pudiéndose especificar parámetros como valores numéricos, nombres de variables o expresiones válidas en MATLAB. Si utiliza variables, SIMULINK obtiene los valores del espacio de trabajo.. Parámetros de simulación:. Tiempo de comienzo y finalización: (Star time y Stop time) especifican los valores de tiempo en los que la simulación comienza y termina. Importante tener en cuenta que los tiempos de simulación y los reales no son iguales; el tiempo de simulación depende de factores como la complejidad del modelo, los tamaños de paso mínimo y máximo y la velocidad del reloj de la microcomputadora..
(28) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 18. Tamaño del paso mínimo: (Min step size) es el tamaño de paso utilizado al comienzo de una simulación. Los integradores no emplean un tamaño de paso por debajo de este valor cuando generan un punto de salida (punto generado en un bloque tipo sumidero, tales como los bloques Scope y To Workspace o devuelto en una trayectoria de estado o de salida) a menos que el sistema contenga bloques discretos con períodos de tiempo más pequeños que el tamaño de paso mínimo. Un punto de salida se genera después que se han completado las iteraciones del método de integración. Generalmente, el tamaño de paso mínimo se debería fijar a un valor pequeño (1e-6). Sin embargo, cuando hay discontinuidades en el sistema, si se asigna un valor muy pequeño al tamaño de paso mínimo puede originar que se genere un número enorme de puntos. Esto podría malgastar la memoria y los recursos de cálculo disponibles. Por otra parte, si se asigna un valor grande a este parámetro puede producir una simulación poco precisa, ya que es posible que no se consideren sucesos que son significativos.. Tamaño del paso máximo: (Max step size) se asigna bastante pequeño para que la simulación no deje de tomar en cuanta detalles importantes; si fuera demasiado grande puede originar que algunos sistemas se hagan inestables. Algunas veces una simulación produce resultados que son precisos pero que no son buenos para generar gráficas suaves, en tal caso, puede ser necesario limitar el tamaño de paso máximo de forma que los resultados gráficos tengan una apariencia regular.. Tolerancia. o error relativo: (Tolerance) controla el error relativo aceptable de la. integración en cada paso. En general, este parámetro se debería fijar en el rango que va desde 0.1 a 1e-6. Cuanto más pequeño sea el valor, más pasos de integración hay que utilizar, lo que origina una simulación más precisa. No obstante, cuando la tolerancia se fija a un valor muy pequeño (1e-10) puede producir un paso tan pequeño que el error de redondeo aumenta muy significativamente..
(29) CAPÍTULO 1. MATLAB-SIMULINK Y SUS BIBLIOTECAS EN LA ELECTRÓNICA DIGITAL II 19. Variables de retorno: Puede especificar nombres de variables en este campo para conseguir que SIMULINK escriba valores para el tiempo y las trayectorias de estado y de salida en el espacio de trabajo. La primera variable almacena el tiempo, la segunda el estado y la tercera la salida. Cuando se han definido los parámetros de simulación, está ya todo preparado para iniciar la simulación. Ejecuta una simulación seleccionando Start del menú Simulation. Puede emplear también las teclas Ctrl-T en un sistema Windows o ....-T en un Macintosh. Puede suspender una simulación que está en ejecución escogiendo Pause en el menú Simulation y proseguir con una simulación que ha quedado en suspenso seleccionando Continue..
(30) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. CAPÍTULO 2.. 20. MODELACIÓN DE CIRCUITOS TÍPICOS.. Este capítulo recoge la descripción, modelación e implementación en MATLAB y SIMULINK de los principales circuitos integrados empleados por la bibliografía de la asignatura Electrónica Digital II. Contiene una descripción de los circuitos típicos SSI y MSI que se han implementado para la realización de simulaciones durante la resolución de proyectos presentes en el sitio digital de la asignatura. Este capítulo se inicia con una introducción al problema que resulta el diseño digital. En la sección 2.2 se describen y analizan los diferente biestables empleados para la construcción de los circuitos digitales secuenciales. En la sección 2.3 se describen, analizan, modelan e implementan los principales exponentes de la baja escala de integración usados en la enseñanza de la lógica secuencial. La siguiente sección 2.4 contiene la descripción, análisis, modelación e implementación de los más importantes circuitos típicos a mediana escala de integración de la bibliografía usada en la asignatura y presentes en el sitio digital de la misma.. 2.1. Generalidades. Los principios fundamentales del diseño digital, como la lógica secuencial, no se modifican con la tecnología. El diseño digital es ingeniería, y la ingeniería significa “resolución de problemas”. La experiencia indica que solamente menos de un 10% del diseño digital conforma “el aspecto divertido”: la parte creativa del diseño, el destello de inspiración, la invención de un nuevo enfoque. Todo lo que resta es precisamente “trabajo pesado”. [Wakerly, 2001].
(31) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 21. Un circuito lógico secuencial es aquel cuyas salidas dependen no solo de sus entradas actuales, sino también de la secuencia pasada de entradas, arbitrariamente lejos en el pasado. De modo que es poco práctico, y con frecuencia imposible, describir el comportamiento de un circuito secuencial por medio de una tabla que enumere las salidas como una función de la secuencia de entrada que ya haya sido recibida hasta el momento presente. Por lo que podemos decir que el estado de un circuito secuencial es una colección de estados cuyos valores en cualquier tiempo contienen toda la información acerca del pasado necesario para explicar el comportamiento futuro del circuito. Los cambios de estado de la mayoría de los circuitos secuenciales se presentan en tiempos especificados por una señal de reloj de funcionamiento libre.. El la figura anterior podemos apreciar los diagramas de temporizacion y nomenclatura para señales de reloj típicas. Por convención una señal de reloj es de estado activo alto si los cambios de estado se presentan en el flanco de subida de reloj o cuando el reloj esta en ALTO, y de estado activo bajo en el caso complementario. El periodo del reloj es el tiempo entre transiciones sucesivas en la misma dirección, y la frecuencia del reloj es el reciproco del periodo. Los circuitos secuenciales se clasifican en: Circuitos Secuenciales Asincrónicos. . Con realimentación directa..
(32) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. . 22. Con cerrojos o seguros (latch).. Circuitos Secuenciales Sincrónicos. Los Circuitos Secuenciales Asincrónicos son los elementos básicos a partir de los cuales se construyen todos los circuitos secuenciales, por lo que estos van a estar presente en la estructura de todos los Circuitos Secuenciales Sincrónicos. Aunque en su estructura interna los elementos de memoria de los CSS se construyen a partir de los CSA difieren de estos tanto en su metodología de diseño como en su funcionamiento, lo que podemos apreciar en la siguiente tabla comparativa: CSA. CSS. Elemento de memoria a partir de las Sus elementos de memoria son los biestables, compuertas o de los cerrojos.. elementos formados a partir de CSA y sincronizados por una señal de reloj.. El diseño esta limitado a que no más de una No existen restricciones en el diseño. variable de entrada o de estado puede cambiar al mismo tiempo. La metodología de diseño es compleja y puede Metodología de diseño más sencilla y fiable. conducir a riesgos o azares y a carreras dinámicas. Es la celda básica de todo circuito secuencial.. Formados por biestables (slip-flops).. Poseen una frecuencia de operación mayor.. Limitados por la frecuencia de reloj.. Menos costosos, pues no necesitan de un Más costosos. generador de reloj. Necesarios para sistemas que se comunican Necesarios en sistemas con temporizacion entre si asincrónicamente.. rigurosa de las señales.. Tabla 1.-Comparacion entre los CSA y los CSS..
(33) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 23. El circuito secuencial sincrónico, es el circuito secuencial en el cual sus salidas solo cambian en instantes discretos de tiempo gobernados por pulsos de otro circuito que recibe el nombre de reloj. Las características distintivas de los circuitos secuénciales sincrónicos es la utilización de elementos de memoria controlados por una señal maestra de sincronismo: la señal de reloj. Solo cuando la señal de reloj se activa se hace posible el cambio para las variables de excitación antes de la activación del reloj.. Diagrama en bloques del circuito secuencial sincrónico..
(34) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 24. En el mismo podemos observar tres partes fundamentales: 1) La lógica secuencial : Es el realiza la operación lógica requerida para el circuito, produciendo de acuerdo con ella, A partir de las entradas externas(x1,x2,…,xn)y los valores de (y1,y2,…,yk)suministradas al mismo, las salidas externas(z1,z2,…,zn) y los valores(Y1,Y2,…,Yk). 2) Elementos de memoria : Es donde los valores de Yi aparecen en las salidas del circuito Combinacional, en el momento t, son idénticas a los valores de las yi; en el instante t+α, y por lo tanto los bloques Mi ,realizan la función de almacenar dicha información un tiempo α.(las variables y1,y2,…,yk reciben el nombre de variables de estado del circuito). 3) El reloj : Es un generador de pulsos a través de los cuales se logra la sincronización del circuito. Ya que el tiempo que la información permanece almacenada en los elementos Mi, que se ha llamado α, depende de la llegada de los pulsos; por lo que este será igual al periodo de los mismos, o sea, α=ts. Por lo que se puede concluir que: En el intervalo de tiempo entre pulsos de reloj, el circuito secuencial sincrónico recibe las entradas externas xi y la información del estado presente mediante las variables de estado yi, produciendo las salidas zi, y la información sobre el estado siguiente del circuito, mediante las Yi que se almacenaran en los elementos Mi con la llegada de un pulso de reloj, hasta la llegada del próximo.. 2.2 Elementos Biestables. Los mismos son elementos de memoria que poseen dos estados estables que son “ 1 “ y “ 0 “ . El biestable puede tener una ,dos o tres entradas por las que recibe señales de pulso y dos salidas complementarias Q y Q/ .En cualquier instante de tiempo una de las salidas del mismo estará en un nivel alto “ 1 “ y la otra en un nivel bajo “ 0 “ .Cuando Q=1 se dice que el biestable esta en uno de sus estados estables, “ 1 “, y cuando Q=0 en el otro estado estable, “ 0 “. El biestable responde a pulsos en las entradas. Es decir que el permanecerá en un estado dado hasta que el conjunto apropiado de excitaciones causará que el biestable pase de “ 1 “ a “ 0 “ o de “ 0 “ a “ 1 “..
(35) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 25. Existen varios tipos de biestables a partir de los cuales se confeccionan los diferentes circuitos secuénciales sincrónicos, los cuales son: Biestable o Almacenador RS, Biestable D-Lacth, Biestable D Flip-Flop, Biestable J-K Flip-Flop.. 2.2.1 Biestable R-S.. Figura 2.1 Biestable o Almacenador RS: (a) encapsulado; (b) diagrama lógico. El biestable RS o Almacenador RS es el de mas fácil construcción y el mas fácil de establecer sus tablas de características y excitación. Posee dos entradas R y S y dos salidas Q y Q/.Además posee una entrada adicional C para la señal de Reloj. Analizando el circuito para todas las combinaciones de entrada y estados anteriores de las salidas, se obtiene la tabla de la verdad siguiente: C S R Qn Qn+1 1. 0 0. 0. 0. 1. 0 0. 1. 1. 1. 1 0. 0. 1. 1. 1 0. 1. 1.
(36) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 1. 0 1. 1. 0. 1. 0 1. 0. 0. 1. 1 1. 0. ?. 1. 1 1. 1. ?. 26. Tabla 2.1 Tabla de la verdad del Biestable o Almacenador RS. A partir de la cual se obtienen las tablas de caracteristicas y de excitación siguientes: S. R. Qn+1. Qn. Qn+1. S. R. 0. 0. Qn. 0. 0. 0. -. 0. 1. 0. 0. 1. 1. 0. 1. 0. 1. 1. 0. 0. 1. 1. 1. No. 1. 1. -. 0. permitido Tabla 2.2 Tabla de caracteristicas Biestable o Almacenador RS .. Tabla 2.3 Tabla de exitación Biestable o Almacenador RS.
(37) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 27. 2.2.2 Biestable D.. Figura 2.2 Biestable D : (a) encapsulado; (b) diagrama lógico. En el mismo la información presente en la entrada de dato D, se transmite a la salida Q durante la subida de “0” a “1”del pulso del reloj. Por esto, este biestable es muy utilizado como elemento de demora ya que prácticamente la función que realiza es demorar o retener la información de la entrada de dato, controlado por la señal de reloj. En este mientras el reloj se mantenga en “1” la salida Q seguirá fielmente los cambios en la entrada D, por lo que si se quiere retener la información anterior no se puede cambiar la entrada de dato hasta que no caiga el pulso de reloj. Analizando el circuito para todas las combinaciones de entrada y estados anteriores de las salidas, es fácil de obtener directamente las tablas de excitación y características siguientes: Qn. Qn+1. D. D. Qn+1. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 0. 0. 1. 1. 1. Tabla 2.4 Tabla de exitación. Tabla 2.5 Tabla de caracteristicas.
(38) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. Biestable D. 28 Biestable D .. (Suponiendo la llegada del pulso de reloj C=1.Se puede observar que si D=0,Qn+1=0 siempre y si D=1,Qn+1=1 siempre).. 2.2.3 Biestable T.. Figura 2.3 Biestable T : (a) encapsulado; (b) diagrama lógico. Este Biestable se conoce como tipo “T” debido a la palabra “trigger” que quiere decir disparo.En el mismo se obtiene un cambio de estado de las salidas con cada pulso de entrada,por lo que este biestable sirve para dividir entre dos frecuencias de repetición del pulso T.Debido a esto se le conoce tambien con los nombres de contador binario o divisor modulo dos. Su tabla de caracteristicas y de excitación son las siguientes: Qn. Qn+1. T. T. Qn+1. 0. 0. 0. 0. Qn. 1. 1. 0. 1. Qn/. 0. 1. 1. 1. 0. 1. Tabla 2.6 Tabla de exitación Biestable T. Tabla 2.7 Tabla de caracteristicas Biestable D..
(39) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 29. 2.2.4 Biestable J-K.. Figura 2.4 Biestable J-K : (a) encapsulado; (b) diagrama lógico. Es el biestable más importante,el mas util y el más utilizado en el diseño de los diferente partes de una computadora.Su ventaja radica en que no posee indeterminación alguna. El mismo permite la sincronización tan necesaria en un sistema,ya que su información se mueve con un reloj y está diseñado en forma tal que utiliza las ocho convinaciones posibles entre las entradas y salidas. Su tabla de caracteristicas y de excitación son las siguientes: J. K. Qn+1. Qn. Qn+1. J. K. 0. 0. Qn. 0. 0. 0. -. 0. 1. 0. 0. 1. 1. -. 1. 0. 1. 1. 0. -. 1. 1. 1. Qn/. 1. 1. -. 0. Tabla 2.8 Tabla de exitación Biestable J-K. Tabla 2.9 Tabla de caracteristicas Biestable J-K..
(40) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 30. 2.3 Circuitos integrados a baja escala de integración (SSI).. Figura 2.3 Circuitos integrados a baja escala de integración (SSI).. 2.3.1 74x74. (a). (b). Figura 2.3.1. CI SSI 74x74: (a) encapsulado; (b) diagrama lógico. El CI 74x74, integrante de la familia 74, contiene en su interior dos Biestables D Flip-Flop independientes disparados por flanco positivo con entradas de preestablecimiento y de borrado; Figura 2.3.1. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.3.1. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(41) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 31. 2.3.2 74x109. (a). (b). Figura 2.3.2. CI SSI 74x109: (a) encapsulado; (b) diagrama lógico. El CI 74x109, integrante de la familia 74, contiene en su interior dos Biestables J-K Flip-Flop disparados por flanco positivo con entradas K de nivel activo bajo; Figura 2.3.2. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.3.2. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha. 2.3.3. 74x112.. (a). (b). Figura 2.3.3. CI SSI 74x112: (a) encapsulado; (b) diagrama lógico. El CI 74x112, integrante de la familia 74, contiene en su interior dos Biestables J-K Flip-Flop Figura 2.3.3. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.3.3. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(42) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.3.4. 32. 74x375.. (a). (b). Figura 2.3.4. CI SSI 74x375: (a) encapsulado; (b) diagrama lógico. El CI 74x375, integrante de la familia 74, contiene en su interior cuatro Biestables D Latch, los cuales se encuentran acomodados en pares con una línea de control C común para cada par; Figura 2.3.4. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.3.4. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(43) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4 Circuitos integrados a mediana escala de integración (MSI).. Figura 2.4.Circuitos integrados a mediana escala de integración (MSI).. 33.
(44) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.1. 34. 74x163(Contador binario sincrónico de 4 bits).. (b). (b). Figura 2.4.1. 74x163: Contador binario sincrónico de 4 bits (a) encapsulado; (b) diagrama lógico. El CI 74x163, integrante de la familia 74, es un contador binario sincrónico de 4-bits con entradas de carga y borrado de nivel activo bajo, Figura 2.4.1. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.1. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(45) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.2. 35. 74x164(Registro de desplazamiento de entrada serie, salida paralelo 8 bits).. (a). (b). Figura 2.4.2. 74 x 164: Registro de desplazamiento de entrada serie, salida paralelo de 8 bits: (a) encapsulado; (b) diagrama lógico. El CI 74x164, integrante de la familia 74, es un registro de desplazamiento de 8 bits, de entrada serie y salida paralelo con una entrada de borrado asincrónica, Figura 2.4.2. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.2. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(46) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.3. 36. 74x166(Registro de desplazamiento de entrada paralelo, salida serie de 8 bits.). (b). (b). Figura 2.4.3. 74x166: Registro de desplazamiento de entrada paralelo, salida serie de 8 bits :(a) encapsulado; (b) diagrama lógico. El CI 74x166, integrante de la familia 74, es un registro de desplazamiento de 8 bits de entrada paralelo y salida serie con una entrada de borrado asincrónica, Figura 2.4.3. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.3. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(47) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.4. 37. 74x174(Registro de 6 bits.). Figura 2.4.4. 74x174: Registro de 6 bits(a) encapsulado; (b) diagrama lógico. El CI 74x174, integrante de la familia 74, es un registro de 6 bits, el cual contiene seis flip-flop D disparados por flanco positivo con un reloj común y entradas de borrado asincronicas.Proporciona salidas de nivel activo alto en sus terminales externas Figura 2.4.4. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.4. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(48) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.5. 38. 74x175(Registro de 4 bits.). (a). (b). Figura 2.4.5. 74x175: Registro de 4 bits: (a) encapsulado; (b) diagrama lógico. El CI 74x175, integrante de la familia 74, es un registro de 4 bits, el cual contiene cuatro flip-flop D disparados por flanco positivo con un reloj común y entradas de borrado asincronicas.Proporciona tanto salidas de nivel activo alto como de nivel activo bajo en sus terminales externas; Figura 2.4.5. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.5. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(49) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS.. 2.4.6. 39. 74x194(Registro de desplazamiento bidireccional de en entrada paralelo y salida paralelo de 4 bits.). (a). (b). Figura 2.4.6. 74x194: Registro de desplazamiento bidireccional de en entrada paralelo y salida paralelo de 4 bits (a) encapsulado; (b) diagrama lógico. El CI 74x194, integrante de la familia 74, es un registro de desplazamiento bidireccional de entrada paralelo y salida paralelo de 4 bits, Figura 2.4.6. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.6. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(50) CAPÍTULO 2. MODELACIÓN DE CIRCUITOS TÍPICOS. 2.4.7. (a). 40. 74x377(Registro de 8 bits.). (b). Figura 2.4.7. 74 x 377: Registro de 8 bits, (a) encapsulado, (b) diagrama lógico.. El CI 74x377, integrante de la familia 74, es un registro de 8 bits con habitación de reloj, Figura 2.4.7. (b). El encapsulado empleado para el mismo se muestra en la Figura 2.4.7. (a), de manera tal que han quedado distribuidas las entradas a la izquierda y las salidas a la derecha..
(51) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. CAPÍTULO 3.. 41. MODELACIÓN DE PROYECTOS. En el presente capítulo se realiza la resolución de proyectos presentes en el sitio digital de la asignatura, en los cuales se ponen en práctica los circuitos típicos secuenciales implementados en el capítulo anterior, mediante la simulación de dichos proyectos. Se exponen tres proyectos resueltos mediante las correspondientes simulaciones, donde se visualizan los resultados de las mismas. Se muestran los diagramas, esquemas y resultados de las simulaciones que permiten observar el comportamiento correcto del circuito.. 3.1. Generalidades.. Con estos proyectos, orientados en el sitio de la asignatura de Electrónica Digital II, se persigue el objetivo de que los estudiantes sean capaces de desarrollar la metodología para el desarrollo de proyectos de media a alta complejidad que puedan ser solucionados con componentes MSI típicos, utilizando las posibilidades de una herramienta profesional. Precisamente nos apoyaremos para su resolución en el SIMULINK, a través de los componentes que hemos implementado, aprovechando sus facilidades de descripción esquemática, así como las de diseño jerárquico y simulación..
(52) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. 3.1.1. 42. Proyecto # 1.. Diseñe un divisor por ocho código de Grey. En la construcción del mismo se emplearon tres biestables JK y compuertas lógicas: una compuerta NOT, una compuerta XOR de dos entradas, cuatro compuertas AND de dos entradas y una de tres entradas. Además se emplean tres terminadores conectados a puertos de salida que no se usan, con el objetivo de evitar mensajes de advertencia de SIMULINK. Para la visualización de los resultados se empleó el bloque Scope. El circuito debe activarse cada 8 salidas del reloj tal como se muestra en la Figura 3.2 a través del bloque Scope. El código de Grey se toma de las salidas Q0, Q1 y Q2, al no resultar de interés en la simulación se utilizan los terminadores.. Figura 3.1. Diagrama esquemático..
(53) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. 43. Figura 3.2. Visualización del resultado.. 3.1.2 Proyecto # 2 Diseñe un contador módulo ocho sincrónico.. En la construcción del mismo se emplearon tres biestables JK, una compuerta lógica AND de dos entradas y una de tres entradas. Para la visualización de los resultados se empleó el bloque Scope. El circuito se activa a la salida cada ocho pulsos del reloj, para ello se auxilia de dos contadores: LSB (Least Significant Bit) y MSB (Most Significant Bit) de manera tal que el primero se active cada dos pulsos del reloj, el segundo lo haga cada dos pulsos del primero (cuatro pulsos del reloj) y por último la salida se active cada dos pulsos del segundo (ocho pulsos del reloj), tal y como se muestra en la Figura 3.4..
(54) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. Figura 3.3. Diagrama esquemático.. Figura 3.4.Visualización del resultado.. 44.
(55) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. 3.1.3. 45. Proyecto # 3. Diseñe un registro en anillo empleando el circuito integrado a mediana escala de integración 74x194.. En la construcción del mismo se empleó el circuito de mediana escala de integracion 74x194 (registro de desplazamiento) y una fuente de señal. Para la visualización de los resultados se empleó el bloque Scope.. Figura 3.5. Diagrama esquemático.. El mismo se carga inicialmente con la secuencia 1011, se fija la entrada S0 a 1 y mediante el empleo de una fuente de señal binaria que alimente a S1 se garantizan dos estados posibles: desplazamiento a la derecha o carga; se fija CLR a 1, se alimenta al 74x194 con el reloj y se conecta la salida QD a RIN, de manera tal que el circuito, de acuerdo a la fuente de señal, produzca el desplazamiento a la derecha de la secuencia de entrada o la carga de la misma. La realimentación de QD a RIN permite la continuidad del desplazamiento de la secuencia dada inicialmente,.
(56) CAPÍTULO 3. MODELACIÓN DE PROYECTOS. 46. funcionando el sistema como un registro en anillo que se desplaza hacia la derecha, tal y como se muestra en la Figura 3.6.. Figura 3.6. Visualizacion del resultado..
(57) CONCLUSIONES. 47. CONCLUSIONES. En este trabajo se arriba a las siguientes conclusiones: En el diseño asistido por computadora, las herramientas de software mejoran la productividad del diseñador y le ayudan a perfeccionar la exactitud y calidad de los diseños haciendo posible establecer una valoración final antes de que los sistemas sean construidos, y pueden aliviar la necesidad de experimentos caros, dando soporte a todas las etapas de un proyecto desde el diseño conceptual, pasando por el montaje hasta llegar a su funcionamiento. MATLAB y SIMULINK constituye una poderosa herramienta profesional de amplio espectro para la modelación, implementación y simulación de circuitos electrónicos digitales secuenciales típicos. Mediante el uso de esta herramienta se brinda a los estudiantes del soporte necesario para el proceso de diseño, análisis y diagnóstico de circuitos digitales secuenciales típicos. Se sistematiza, a partir de la creación de bibliotecas digitales de componentes secuenciales, la simulación en MATLAB y SIMULINK de proyectos de la asignatura de Electrónica Digital II..
(58) RECOMENDACIONES. 48. RECOMENDACIONES. Se proponen las siguientes recomendaciones: Se sugiere la generalización del uso de MATLAB y SIMULINK como herramienta CAD profesional por defecto del plan de estudios de la asignatura Electrónica Digital II. Se propone además la generalización de las bibliotecas digitales de componentes secuenciales creadas en el marco de este trabajo para su empleo en la resolución de problemas típicos de circuitos digitales secuenciales presentes en la asignatura Electrónica Digital II. Trabajar en la modelación e implementación de nuevos componentes para la simulación de circuitos digitales secuenciales típicos en MATLAB y SIMULINK..
(59) REFERENCIAS BIBLIOGRÁFICAS. 49. REFERENCIAS BIBLIOGRÁFICAS. [1] AL-HADITHI, BASIL M. y SUARDÍAZ, MURO JUAN (2004). Nuevas tendencias en el diseño electrónico digital: codiseño hardware/software. Tecnologí@ y Desarrollo. Revista de Ciencia, Tecnología y Desarrollo. Universidad Alfonso X el sabio. Madrid. Volumen II. Año 2004. ISSN: 1696-8085. [2] ANTA, ADOLFO; RODRIGUEZ RAMON y ZAMORA JUAN L. (2000). Manual de referencia de MATLAB & SIMULINK. Departamento de Electrónica y Automática. Universidad Pontifícia Comillas E.T.S.I.- I.C.A.I. Material en formato digital. Año 2000. [3] ARACIL JAVIER y GOMEZ-ESTERN FABIO (2007). Introducción a Matlab y Simulink. Material en formato digital. Año 2007. [4] CURSO INTERACTIVO DE MATLAB (2010). Departments of Mechanical Engineering and Biomedical Engineering. Eindhoven University of Technology. Material en formato digital. Año 2010. [5] HANSELMAN, D. y LITTLEFIELD B. (1998). Mastering MATLAB 5. Prentice Hall, Saddle River, New Jersey, 1998. [6] EDUARDO, NEUMAN (2005). MATLAB Tutoriales. Departamento de Matemáticas. Southern Illinois University en Carbondale. Año 2005. [7] FONSECA, ELIZABETH. (2009). Práctica número 4 MATLAB+SIMULINK. Facultad de Ingeniería, UNAM. Año 2009. [8] GARCÍA, JAVIER; RODRÍGUEZ, JOSÉ IGNACIO y BRAZÁLES, ALFONSO (2001). "Aprenda Matlab 6.1 como si estuviera en primero". Año 2001..
(60) REFERENCIAS BIBLIOGRÁFICAS. 50. [9] GARCÍA, JAVIER; RODRÍGUEZ, JOSÉ IGNACIO y BRAZÁLES, ALFONSO (2005). "Aprenda Matlab 7.0 como si estuviera en primero". Año 2005. [10] GRIFFITHS, DAVID F. (2005). An introduction to Matlab. Department of Mathematics. University of Dundee. Año 2005. [11] JOHANSEN, ERNST, (2006). Patrones de Diseño. Revista ABB 2/2006. [12] LOPEZ, FABIAN, (2001). Introducción a Simulink. Material en formato digital. Año 2001. [13] MADRID, ALFONSO, (2006). Tutorial de tópicos avanzados de procesamiento digital de señales con Matlab/Simulink. Año 2006. [14] OLIVERES, CLAUSTRE, et al. (2004). "Técnicas de Modelado y Simulación". LABSON & UPC. Año 2004. [15] RAMÍREZ, JAVIER, (2008). "Introducción a Matlab y Simulink". [En línea]. Disponible en: http://www.ugr.es/~javierrp [Accedido el día 3 de marzo de 2010]. [16] SILVA, JUAN CARLOS (2006). Manual de Simulink. Antología. Departamento de Ingeniería Eléctrica. ITM México. Año 2006. [17] The Math Works inc. “Simulink - Dynamic Simulation for Matlab”. Versión 5. [18] The Math Works inc. “Matlab – The Language of Technical Computing”. Versión 7. [19] WAKERLY, JOHN F., (2001). Diseño digital: principios y prácticas. Prentice Hall Inc., Upper Saddle River, New Jersey. Volumen I. Año 2001. ISBN: 0-13-769191-2..
(61) ANEXOS. 51. ANEXOS. Anexo I. Temas importantes en el diseño digital. El uso de buenas herramientas no garantiza un buen diseño, pero ayuda bastante a eliminar el esfuerzo y dolor que conlleva el hacer bien las cosas. Los circuitos digitales tienen características analógicas. Saber cuándo preocuparse y cuándo no con respecto a los aspectos analógicos del diseño digital. Documentar siempre los diseños para hacerlos comprensibles tanto para uno mismo como para los demás. Asociar niveles activos con nombres de señal y practicar el diseño de lógica burbujaburbuja. Comprender y hacer uso de bloques estándar de construcción funcional. Diseñar para un costo mínimo al nivel del sistema, incluyendo su propio esfuerzo ingenieril como parte del costo. Encontrar los “glitch” o interferencias a tiempo.. Anexo II. Estrategia para el diseño de sistemas con MSI.. 1. Descripción general del sistema en forma de “caja negra”, donde se especifiquen todas las entradas del mismo, tanto las de datos como las de control, así como las salidas. 2. Especificación de la(s) función(es) del sistema (relación entrada-salida) de la forma menos ambigua posible..
(62) ANEXOS. 52. 3. A partir de la descripción de comportamiento del sistema se pueden derivar los bloques fundamentales que lo componen, los que vendrían a ser los circuitos MSI a utilizar. Las acciones (comparar, seleccionar, sumar, restar, etc.) permiten derivar los bloques funcionales típicos y el orden en que estas se describen, la interconexión de los mismos. 4. Una vez que se conozcan los MSI necesarios, se debe pasar a establecer la relación entre las salidas de unos y los valores necesarios de las entradas de control de los siguientes con el objetivo de diseñar la lógica de "pegamento" o aleatoria (combinacional) inter-etapa para lograr la función general deseada (véase ejemplo de la figura).. 5. La lógica de "pegamento" (Glue Logic) se diseña con elementos SSI o incluso también con MSI (multiplexores y/o decodificadores fundamentalmente). 6. Realizar la descripción esquemática del sistema y su simulación..
(63)
Figure
+7
Documento similar