ELECTRÓNICA DIGITAL Marta Hernando Despacho 3.1.16 mmhernando@uniovi.es 985 182 073 Tutorías: Lunes 9.30-11.30 Martes 11.30-13.30, 18.00-19.00 Jueves 19.00-20.00 CAMPUS VIRTUAL: Presentaciones, problemas, exámenes, guías de prácticas
Bibliografía: “Fundamentos de Sistemas Digitales”, Thomas L. Floyd, Ed. Prentice Hall “Problemas resueltos de Electrónica Digital”, Javier García Zubía, Ed. Thomson Paraninfo “Sistemas Digitales y Tecnología de Computadores”, José Mª Angulo y Javier García Zubía, Ed. Thomson Paraninfo “Fundamentos de diseño lógico y de computadoras”, M. Morris Mano, Charles R. Kime, Ed. Prentice Hall “Fundamentos de diseño lógico”, Charles H. Roth, Ed. Thomson Paraninfo “Diseño Digital. Principios y prácticas”, John F. Wakerly, Ed. Prentice Hall “Fundamentos de lógica digital con diseño VHDL”, Stephen Brown y Zvonko Vranesic, Ed. McGraw-Hill
Prácticas: 7 prácticas de 2h (1.4 créditos) Primera práctica: 19 de octubre Grupos: Lunes 11.30-13.30 Martes 9.30-11.30 Jueves 11.30-13.30 Jueves 9.30-11.30 Viernes 9.30-11.30 Repetidores que hayan hecho las prácticas pueden hacer un trabajo
Opción de evaluación continua: Examen 80% (mínimo 4.0) Prácticas 20%. Asistencia obligatoria + memoria Opción de evaluación continua: 10% de la nota basada en trabajos voluntarios
Programa: I. Introducción: Codificación y operaciones con códigos. Álgebra de Boole. Puertas lógicas. Funciones lógicas y su simplificación. II. Circuitos combinacionales: Bloques SSI y MSI. Diseño de circuitos secuenciales. III. Circuitos secuenciales: Bloques MSI secuenciales asíncronos y síncronos. Aplicaciones. IV. Introducción a la lógica programada: Memorias y dispositivos lógicos programables.
E.U.I.T. Informática de Gijón Lección 1 CÓDIGOS BINARIOS ELECTRÓNICA DIGITAL 1er curso I.T. Telemática E.U.I.T. Informática de Gijón
Magnitudes analógicas/digitales Magnitud analógica: toma valores continuos Ejemplo de magnitud analógica: Magnitud digital: toma valores discretos Ejemplo de magnitud analógica discretizada: Cada valor discreto se puede representar por un código digital
Sistema binario Es aquel sistema que sólo tiene dos estados distintos: VERDADERO/FALSO ABIERTO/CERRADO 0/1 ENCENDIDO/APAGADO ALTO/BAJO 0V/5V Los dos estados se suelen representar por los símbolos 0 y 1 A los dos símbolos se les llama BITS (binary digit) A los grupos de bits (combinaciones de 0s y 1s) se les llama CÓDIGOS: 0011 00101 111100000 011100
Códigos binarios CÓDIGO: Representación unívoca de la información, de tal manera que a cada dato se le asigna una combinación de símbolos determinados y viceversa. Código binario natural Código decimal codificado en binario Códigos progresivos Códigos detectores de error Códigos correctores de error
Código binario natural Un número se representa por una sucesión ordenada de dígitos situados a izquierda y derecha de un punto de referencia (punto o coma decimal). En un código posicional de base b, cada uno de los posibles dígitos tiene un valor dado por la expresión pi•bi, siendo p el dígito e i su posición respecto al punto de referencia (dígitos a la izquierda: posiciones positivas, dígitos a la derecha: posiciones negativas, 0: primera posición a la izquierda): Para un número N en base b con n+1 dígitos enteros y k dígitos decimales, su valor será: pn•bn+pn-1•bn-1+......+ p1•b1+ p0•b0+ p-1•b-1+.........+ p-k•b-k En base 2, b=2 y p puede tomar valores 0 o 1. Por ejemplo: 1 0 1 02 = 1 • 23 + 0 • 22 + 1 • 21 + 0 • 20 = 8 + 0 + 2 + 0 = 1010 Paso de binario a decimal: resolver el polinomio
Paso de decimal a binario natural pn•bn+pn-1•bn-1+......+ p1•b1+ p0•b0+ p-1•b-1+.........+ p-k•b-k Parte entera: Se divide el número decimal por dos, siendo el resto el dígito binario menos significativo (p0); el cociente de esta división se vuelve a dividir por dos indicando el nuevo resto el dígito siguiente (p1); se continúa el proceso hasta que el cociente sea menor que dos. Parte decimal: Se multiplica por dos; la parte decimal se vuelve a multiplicar por dos y así sucesivamente hasta que el resultado decimal sea cero o se alcance la precisión necesaria. El número binario equivalente es la sucesión de valores enteros generada
Paso de decimal a binario natural pn•bn+pn-1•bn-1+......+ p1•b1+ p0•b0+ p-1•b-1+.........+ p-k•b-k (((pn•b+pn-1)•b+......+ p1)•b+ p0 (((p-k•b-1+ p-k-1)•b-1+.......+ p-1)•b-1 2 57 0.63 X 2 1 28 2 1 . 26 14 2 X 2 2 7 0 . 52 X 2 1 3 2 1 . 04 1 1 X 2 0 . 08 57,6310=111001,10102
Códigos decimales codificados en binario Asignan un código binario a cada dígito decimal 10 dígitos decimales diferentes códigos de 4 bits Códigos ponderados: BCD natural: pesos 8421 BCD Aiken: pesos 2421 (autocomplementario) Códigos no ponderados: BCD exceso tres (autocomplementario)
Códigos progresivos Cada código sólo difiere del anterior y el siguiente en el valor de uno de los dígitos. 100 000 Código de Gray 000 001 011 010 110 111 101 100 101 001 111 011 110 010
Códigos detectores de error Se añade un bit adicional (bit de paridad) al código: Paridad par: el número total de “1” contando el bit de paridad es par Paridad impar: el número total de “1” contando el bit de paridad es impar BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 BCD paridad par 0000 0 0001 1 0010 1 0011 0 0100 1 0101 0 0110 0 0111 1 1000 1 1001 0 BCD paridad impar 0000 1 0001 0 0010 0 0011 1 0100 0 0101 1 0110 1 0111 0 1000 0 1001 1
Códigos correctores de error La paridad simple detecta pero no corrige; se hace preciso acudir a la Paridad entrelazada: Datos enviados, con paridad horizontal par 000101 1 000011 0 010101 1 111011 1 101100 1 ¡ Se puede corregir en la recepción! 000001 1 000011 0 010101 1 111011 1 101100 1 Palabra de paridad vertical par
Códigos de carácter Código ASCII: Una secuencia de bits se utiliza para representar caracteres : J=1001010 (American Standard Code Information Interchange) También se utiliza para mandar comandos: Retorno de carro a una impresora ...
Códigos octal y hexadecimal Código octal : Código en base 8 Cada dígito toma valores entre 0 y 7 54708 = 5*83 + 4*82 + 7*81 + 0*80 = 2560 + 256 + 56 + 0 = 287210 Código hexadecimal: Código en base 16 Cada dígito toma valores entre 0 y 15; se hace preciso distinguir de alguna forma los dígitos que tienen dos cifras Ejemplo: 1 5 7 6 Los dígitos a partir del 10 (inclusive) se denominan con letras: A, B, C, D, E y F ¿ Es “uno” y “cinco” o es “quince”? 5B70h = 5*163+11*162+7*161+0*160 = 20480+2816+112+0=2340810
Conversión binario octal/hexadecimal Se agrupan los bits de tres en tres a partir del punto decimal, asignando el código octal a cada grupo 10110.10012 = 0 1 0 1 1 0 . 1 0 0 1 0 0 =26.448 Binario hexadecimal: Se agrupan los bits de cuatro en cuatro a partir del punto decimal, asignando el código hexadecimal a cada grupo 10110.10012 = 0 0 0 1 0 1 1 0 . 1 0 0 1 =16.9h
Conversión octal/hexadecimal binario Se asigna a cada dígito octal/hexadecimal su correspondiente código binario Ejemplos: octal binario 3 6 1 . 2 3 8 011 110 001 . 010 0112 hexadecimal binario 7 C 6 . F 1h 0111 1100 0110 . 1111 00012