Circuitos Digitales: 2017-2 Capítulo 1 Conceptos Digitales Prof. Oscar E. Ramos, Ph.D. (22 de agosto del 2017) Contenido 1. Analógico vs Digital 2. Conceptos digitales básicos 3. Operaciones lógicas básicas 4. Funciones lógicas 5. Circuitos integrados 6. Lógica programable 2 Analógico vs Digital Patek Philippe: calatrava Apple watch: series 2 3 Analógico vs Digital • Los sistemas electrónicos pueden ser: a) Sistemas analógicos - Utilizan señales analógicas (continuas) b) Sistemas digitales - Utilizan señales digitales (discretas) Nota: señales = funciones (que contienen información y son típicamente de origen eléctrico) 4 Analógico vs Digital Señales Analógicas • Toman valores en un rango continuo • Ejemplo: magnitudes físicas (temperatura, voz, voltaje, etc.) El mundo es generalmente analógico Señal de voz 5 Analógico vs Digital Sistemas Analógicos • Procesan solamente datos analógicos (señales analógicas) • Ejemplo: - Sistema de amplificación de voz (altavoz) 6 Analógico vs Digital Señales Digitales • Cantidades digitales - Son discretas (rango finito de valores) - Se representan mediante dígitos Medición discreta de la altura Habitantes por ciudad • Señales digitales - Señal que toma valores discretos y finitos Señal digital 7 Analógico vs Digital Señales Digitales • Normalmente solo toman 2 valores posibles: 0, 1 Datos digitales Señal digital - A veces llamadas: • Señales digitales binarias (1/0) • Señales digitales lógicas (verdadero/falso) • “Señales digitales” • En realidad: - Puede presentar ruido (pero es aún distinguible) 8 Analógico vs Digital Sistemas Digitales • Procesan solamente datos digitales (señales digitales) con dos posibles valores: 0 y 1 - La información digital está contenida en las señales digitales • Ejemplo: - Computadora Diagrama de bloques de una computadora 9 Analógico vs Digital Sistemas Digitales • Ventajas: - Es más fácil almacenar información en formato digital (0/1) Es posible obtener (y mantener) mayor precisión Permiten programar las operaciones a realizar Son menos afectados por el “ruido” Señal analógica con ruido Señal digital con ruido - Permiten más elementos en los circuitos integrados. La mayor cantidad de aplicaciones electrónicas actualmente están basadas principalmente en técnicas digitales 10 Analógico vs Digital Combinación de Sistemas Analógicos y Digitales • El mundo es analógico - La interface con el mundo (entradas/salidas) son generalmente analógicas • El procesamiento y almacenamiento digital es eficiente - Se requiere conversión entre señales digitales y analógicas Control de una variable física analógica mediante una computadora Notación: ADC = Analog-to-digital converter DAC = Digital-to-analog converter [Tocci, Capítulo 11] 11 Analógico vs Digital Combinación de Sistemas Analógicos y Digitales • Ejemplo: - Almacenamiento y reproducción de un CD Almacenamiento de datos en un CD Reproducción de datos de un CD 12 Analógico vs Digital Combinación de Sistemas Analógicos y Digitales • Ejemplo: - Teléfono celular (parte de comunicación) Diagrama de bloques simplificado de un teléfono celular Notación: Amp = Amplificador Codec = Codificador/Decodificador DSP = Digital Signal Processing [Tocci, Capítulo 11] 13 Analógico vs Digital Conversión de una señal analógica a digital • Etapas: - Muestreo (en tiempos discretos: 1, 2, 3, 4, …) - Cuantización (“redondeo”) - Codificación digital (0=00, 1=01, 2=10, 3=11, …) 000110010101011011 … [Floyd, Capítulo 12] 14 Contenido 1. Analógico vs digital 2. Conceptos Digitales Básicos 3. Operaciones lógicas básicas 4. Funciones lógicas 5. Circuitos integrados 6. Lógica programable 15 Dígitos Binarios • Binario: 2 posibles valores 0 (falso) 1 (verdadero) • Cada dígito binario se llama “bit” (Binary digIT) • Código binario: - Es una combinación de 1s y 0s (grupo de bits) - Representan números, letras, símbolos, instrucciones, etc. Los sistemas digitales usan dígitos binarios 16 Niveles Lógicos • Son los voltajes que representan el 0 y 1 • Tipos de lógicas (en circuitos digitales): - Lógica positiva: Valor bajo (low) = 0 Valor alto (high) = 1 - Lógica negativa: Valor bajo (low) = 1 Valor alto (high) = 0 • La más utilizada es la lógica positiva (en este curso se usará lógica positiva) 0 1 0 1 0 1 0 1 0 1 0 1 alto alto bajo bajo En “teoría” En la “realidad” 17 Niveles Lógicos • En la práctica existen rangos de voltaje VH(max) Familia 3.3-V CMOS (IN) Familia 5-V CMOS (IN) Familia TTL (IN) 3.3 V 5V 5V 2V 3.5 V 2V 0.8 V 1.5 V 0.8 V 0V 0V 0V HIGH VH(min) No válido VL(max) LOW VL(min) • Los rangos pueden ser diferentes para entradas (IN) y salidas (OUT) 18 Niveles Lógicos • Rangos diferentes para entrada y salida Medio de transmisión “1” “1” VOH VIH Permite mayor tolerancia a ruido VIL VOL “0” “0” Emisor Receptor (output) (input) OH, OL: Output High, Output Low IH, IL: Input High, Input Low 19 Señal Digital • Señal de voltaje con valores altos (HIGH) y bajos (LOW) - Está compuesta de pulsos Señal digital Dígitos binarios asociados • Partes de un pulso ideal Pulso positivo (“1”) Flanco de subida (anterior) Flanco de bajada (posterior) Terminología: flanco de subida = rising edge flanco de bajada = falling edge Pulso negativo (“0”) Flanco de bajada (anterior) Flanco de subida (anterior) flanco anterior = leading edge flanco posterior = trailing edge 20 Señal Digital • Características de un pulso real - Tiempo de subida tr (rise time) y tiempo de bajada tf (fall time) - Sobreimpulso (overshoot) y subimpulso (undershoot) - Ancho del pulso tPW (pulse width) 21 Señal Digital • Las señales digitales pueden ser - No periódicas (aperiódicas): no se repiten - Periódicas: se repiten en un intervalo de tiempo fijo Período: T = T1 = T2 = T3 = … = Tn [s] Frecuencia: f 1 T [Hz] T tPW T Ciclo de trabajo (duty cycle): DC 100% tPW 22 Señal Digital Ejemplo Dada la siguiente señal digital periódica, determinar el periodo, la frecuencia y el ciclo de trabajo Período: T 10 ms 1 100 Hz 10 ms 1 Ciclo de trabajo (duty cycle): DC 100% 10% 10 Frecuencia: f 23 Señal Digital • El reloj (clock) - Es una señal (forma de onda) que sincroniza los sistemas digitales - No contiene información Bit time = período de bit Diagrama de tiempo (diagrama temporal) • Las señales digitales contienen información - Esta información se representa mediante secuencias de bits 24 Transmisión de Datos • Datos (data): - Son grupos de bits que contienen información - Frecuentemente se requiere transmitir información a otro circuito o sistema • Formas de transmisión de datos - Transmisión serial: un bit a la vez - Transmisión paralela: grupos de bits Transmisión serial Ejemplo: USB (Universal Serial Bus) Transmisión paralela 25 Transmisión de Datos Ejemplo La señal digital A contiene información que se desea transmitir. La frecuencia del reloj es 1 MHz. Determinar el tiempo total de transmisión si se transmite los ocho bits de esta señal a) de forma serial b) de forma paralela Respuesta: a) 8 μs b) 1 μs 26 Contenido 1. Analógico vs digital 2. Conceptos digitales básicos 3. Operaciones Lógicas Básicas 4. Funciones lógicas 5. Circuitos integrados 6. Lógica programable 27 Operaciones Lógicas Básicas Lógica • La lógica es el estudio del proceso de razonamiento (humano) - Estudia las inferencias: proposición (verdadera/falsa) → conclusión - Ejemplo: Prop 1: Sócrates es un gato Sócrates vuela Prop 2:Todos los gatos vuelan • Reformulando: Sócrates vuela si Sócrates es un gato y si todos los gatos vuelan • George Boole (en 1854) mostró que la lógica es matemática (y no solo filosofía) • Álgebra Booleana: - Matemática de los valores binarios (0/1) - 3 operaciones (lógicas) básicas: NOT, AND, OR 28 Operaciones Lógicas Básicas Compuertas Lógicas • Las compuertas lógicas implementan las operaciones lógicas - Son los bloques elementales para sistemas más complejos (computadoras) • Son: Opuesto (Complemento) Verdadero si todas las entradas son verdaderas. Verdadero si una o más entradas son verdaderas • Nota: verdadero (true) = 1 lógico falso (false) = 0 lógico 29 Operaciones Lógicas Básicas Compuertas Lógicas • NOT (inversor) - Invierte la entrada 0 1 1 0 Tabla de verdad: NOT - Ejemplo 30 Operaciones Lógicas Básicas Compuertas Lógicas • AND - Verdadero si todas las entradas son verdaderas ∙ 0 0 0 0 1 0 1 0 0 1 1 1 Tabla de verdad: AND - Ejemplo 31 Operaciones Lógicas Básicas Compuertas Lógicas • OR - Verdadero si al menos una entrada es verdadera + 0 0 0 0 1 1 1 0 1 1 1 1 Tabla de verdad: OR - Ejemplo 32 Operaciones Lógicas Básicas Combinación de Compuertas Lógicas • Ejemplos Determinar la expresión de la salida de los siguientes circuitos: a) b) c) d) 33 Operaciones Lógicas Básicas Combinación de Compuertas Lógicas • Ejemplos Determinar la expresión de la salida de los siguientes circuitos: a) b) 34 Operaciones Lógicas Básicas Análisis usando Tabla de Verdad • Ejemplo 35 Contenido 1. Analógico vs digital 2. Conceptos digitales básicos 3. Operaciones lógicas básicas 4. Funciones Lógicas 5. Circuitos integrados 6. Lógica programable 36 Funciones Lógicas • Se forman a partir de los 3 elementos lógicos básicos (NOT, AND, OR) • Se usan para construir sistemas digitales completos (computadoras) • Ejemplos de funciones lógicas: - Comparación - Operaciones aritméticas - Conversión de código - Codificación/decodificación - Selección de datos - Conteo - Almacenamiento 37 Funciones Lógicas Ejemplo de Aplicación • Caso: Diseñar un sistema industrial para el conteo y envase automático de pastillas usando solamente funciones básicas. Se requiere lo siguiente: - Establecer cuántas pastillas irán en cada botella. - Llenar cada botella con el número establecido - Conocer el número total de pastillas empaquetadas (en todas las botellas) localmente y en un lugar remoto en otra parte de la planta 38 39 Posible Solución Funciones Lógicas Función de comparación • Se implementa mediante un “comparador” - Ejemplo: comparación de 2 y 5 40 Funciones Lógicas Funciones Aritméticas Básicas • El elemento básico es un “sumador” • El sumador sirve de base para la implementación de: sustracción, multiplicación y división - Ejemplo: suma de 3 y 9 41 Funciones Lógicas Funciones Aritméticas Básicas • Aplicación: los microprocesadores poseen una Unidad Aritmética Lógica (ALU) - Realiza estas funciones aritméticas + operaciones lógicas básicas - Está compuesta por miles de compuertas lógicas [http://ati.ttu.ee/IAY0340/labs/Tutorials/SystemC/ALU.html] 42 Funciones Lógicas Funciones de Codificación/Decodificación • Codificador - Convierte información (numero decimal, carácter numérico, etc.) en una forma codificada (código binario, código Gray, etc.) - Ejemplo: • Conversión de dígitos decimales a código binario 43 Funciones Lógicas Funciones de Codificación/Decodificación • Decodificador - Convierte información codificada (código binario, etc.) en una forma no codificada (código decimal, etc.). - Ejemplo: • Decodificador para activar un display de 7 segmentos. 44 Funciones Lógicas Funciones de Selección de Datos • Dos funciones: - Multiplexor (MUX): transmite varias líneas a través de una sola línea - De-multiplexor (DEMUX): transmite de una línea a diferentes líneas • Ejemplo de uso: - Transmitir varias fuentes a una locación distante y redistribuirlas en el destino 45 Funciones Lógicas Función de Conteo • Se implementa con “contadores” - Cuenta el número de pulsos de entrada Counter 1 2 3 4 5 Input pulses Parallel output lines Binary code for 1 Binary code for 2 Binary code for 3 Binary code for 4 Binary code for 5 Sequence of binary codes that represent the number of input pulses counted. • Necesitan “recordar” el número actual para incrementarlo con el siguiente pulso - Requieren memoria (usando “flip-flops”) 46 Funciones Lógicas Funciones de Memoria y Almacenamiento • Generalmente … - Memoria: retención de datos por tiempo corto - Almacenamiento: retención de datos por tiempo largo • Dispositivos de memoria: - Flip-flops: almacenan solo 1 bit (0/1) - Registros: almacenan grupos de bits (varios flip-flops) - Memorias semiconductoras: almacenan gran número de bits (ROM: read-only memory, RAM: random-access memory) • Dispositivos de almacenamiento: - Discos magnéticos: almacenamiento masivo de datos (discos duros) - Discos ópticos (CDs) 47 48 Posible Solución Contenido 1. Analógico vs digital 2. Conceptos digitales básicos 3. Operaciones lógicas básicas 4. Funciones lógicas 5. Circuitos Integrados 6. Lógica programable 49 Circuitos Integrados • Circuito integrado (IC = Integrated Circuit): - Circuito electrónico construido en un pequeño chip de silicio - Implementan desde operaciones lógicas simples hasta funciones lógicas complejas programables El chip suele ser más pequeño que la empaquetadura - Los pines permiten comunicación con el exterior 50 Circuitos Integrados Empaquetaduras • Según la forma en que se colocan en placas de circuitos impresos: a) Empaquetadura “through-hole”: - Sus pines son insertados a través de agujeros en la placa (o protoboards) - Ejemplo: DIP (Dual in-line Package) Dual in-line package(DIP) b) Empaquetadura “Surface-mount technology” (SMT) - No atraviesan la placa - Mucho más pequeños que DIP (para el mismo número de pines) - Ejemplos: SOIC (Small-outline IC), SSOP (shrink small-outline package) Small outline IC (SOIC) 51 Circuitos Integrados Empaquetaduras • Otros tipos de empaquetadura SMT: PLCC LCC LQFP (Plastic-leaded chip carrier) (Leadless ceramic chip) (Low profile quad flat pack) CSP FBGA (Chip scale package) (Fine-pitch ball grid array) 52 Circuitos Integrados Numeración de los Pines • Existe un formato estándar para enumerar los pines. • Ejemplos: DIP o SSOP PLCC o LCC 53 Circuitos Integrados Clasificación según la Complejidad • Small-scale integration (SSI) ICs con hasta 10 compuertas (operaciones básicas y flip-flops) • Medium-scale integration (MSI) ICs con ~ 10 a ~100 compuertas (codificadores, contadores, etc.) • Large-scale integration (LSI) ICs con ~100 a ~10 000 compuertas (microcontroladores, memorias, etc.) 54 Circuitos Integrados Clasificación según la Complejidad • Very large-scale integration (VLSI) ICs con ~10 000 a ~100 000 compuertas (microprocesadores, etc.) • Ultra large-scale integration (ULSI) ICs con más de 100 000 compuertas 55 Circuitos Integrados Tecnologías Utilizadas • Las “tecnologías” pueden ser: - CMOS (Complementary MOS) • Basada en transistores MOSFET (metal-oxide semiconductor field-effect transistor) - TTL (transistor-transistor logic) • Basada en transistores de unión bipolar (BJT) CMOS (NOT) TTL (NOT) [https://www.allaboutcircuits.com/textbook/digital/chpt-3/cmos-gate-circuitry] [https://www.allaboutcircuits.com/textbook/digital/chpt-3/not-gate] - Tecnología BiCMOS: Usa CMOS y TTL 56 Contenido 1. Analógico vs digital 2. Conceptos digitales básicos 3. Operaciones lógicas básicas 4. Funciones lógicas 5. Circuitos integrados 6. Lógica Programable 57 Lógica Programable • Los dispositivos programables son ICs donde se puede “diseñar” circuitos digitales - Involucran diseño de hardware a partir de software - Son más versátiles que funciones lógicas fijas • Categorías: - PLD: Programmable Logic Device - FPGA: Field-Programmable Gate Array Lógica Programable 58 Lógica Programable PLDs • SPLD: Simple PLD - Puede reemplazar hasta ~10 ICs de función fija - Categorías: • PAL (programmable array logic) • GAL (generic array logic) PAL Programable 1 sola vez Típico SPLD GAL Programable varias veces 59 Lógica Programable PLDs • CPLD: Complex PLD - Contiene varios SPLDs - Partes: • LABs (logic array blocks): “equivalente” a un SPLD • PIA (programmable interconnection array) CPLD de 128 pines Arquitectura de CPLD 60 Lógica Programable FPGAs • Son más complejos y densos que PLDs • Elementos básicos: - Bloque lógico, interconexiones programables, bloques de entrada/salida BGA (ball-grid array) típico 61 Lógica Programable Programación • PLDs y FPGAs requieren un programa que “diseña” el circuito lógico - No se programa “software” sino “hardware” • Formas de especificar el circuito: - Basado en circuito esquemático - Descripción de diagrama de estados - Basado en texto (HDL: Hardware Description Language) • Los HDL más usados son: - VHDL: Very high speed IC HDL - AHDL: Altera HDL - Verilog 62 Lógica Programable VHDL • Describe conexiones lógicas y características del circuito • Usa la estructura entity/architecture - Entity: define las entradas y salidas (puertos) - Architecture: describe la operación lógica Nota: se puede usar std_logic en lugar de bit 63 Puntos Importantes • Una cantidad analógica tiene valores continuos y una cantidad digital tiene valores discretos. • Un digito binario es llamado bit. • Las señales digitales están compuestas por pulsos binarios y representan información. • La frecuencia de la señal periódica es la inversa del periodo. • Las tres operaciones básicas son NOT, AND y OR, y forman los elementos básicos en los sistemas digitales. • La funciones lógicas básicas (comparadores, multiplexores, etc.) forman los elementos básicos para construir sistemas digitales más complejos. 64 Referencias • T.L. Floyd, Digital Fundamentals, 11th ed, Edinburgh Gate, England: Pearson Education Limited, 2015 (Capítulo 1) • R.J. Tocci, N.S. Widmer and G.L. Moss, Sistemas digitales: Principios y aplicaciones, 10a ed, Mexico D.F.: Pearson Education, 2007 (Capítulo 1) 65