Upload
alex-arias-cordova
View
38
Download
0
Tags:
Embed Size (px)
Citation preview
Sistemas Digitales I
UNIVERSIDAD NACIONAL DE INGENIERIAFACULTAD DE INGENIERIA ELECTRICA Y
ELECTRONICA
Romero Goytendía, Luis
SISTEMAS DIGITALES I
1.Introducción a los Sistemas Digitales.
2.Sistemas de Numeración y Códigos.
3.Principios de Diseño de Lógica Combinacional.
4.Familias Lógicas.
5.Circuitos Aritméticos y Lógicos para el manejo de datos.
6.Principios de Diseño de Lógica Secuencial.
7.Registros, Contadores, Memorias y PLD’s.
TEMARIO:
2Sistemas Digitales I
Bibliografía:
1. “Diseño Digital-Principios y Practicas” John Wakerly.
2. “Análisis y Diseño de Circuitos Lógicos Digitales” Nelson-Nagle-Carroll-Irwin.
3. “Lógica Digital y Diseño de Computadoras” Morris Mano.
4. “Sistemas Digitales-Principios y Aplicaciones” Ronald Tocci.
5. “Fundamentos de Sistemas Digitales” Thomas Floyd.
6. “Introducción al Diseño Lógico Digital” John P. Hayes.
7. “Conmutación y Diseño Lógico” Hill-Peterson.
8. “Diseño de Sistemas Digitales-un enfoque Integrado” John Uyemura.
9. “Sistemas Digitales” Enrique Mandado.
3Sistemas Digitales I
Sistemas Digitales I 4
Representaciones AnalógicasLas señales analógicas o señales continuas en amplitud son las que varían en función del tiempo, adquiriendo valores dentro de un intervalo continuo.
Representaciones Digitales.Varían entre valores discretos.Las señales digitales son discretas en el tiempo y en amplitud. Son utilizadas en los sistemas modernos de telecomunicaciones ya que son eficientes y efectivas
El mundo digital y el mundo analógico
4Sistemas Digitales I
Sistemas Digitales I 5
Ventajas de la digitalización
• Sistema Fáciles de Diseñar.• Fácil de Almacenar.• Mayor Exactitud por representación.• Programación de Operaciones. • Disminución de Efectos de Ruido.• Desarrollo de Circuitos Integrados.
Sistemas Digitales I 6
Bits, bytes, palabras
210 bytes = 1,024 bytes = 1 KB (kilobyte)220 bytes = 1,048,576 bytes = 1,024 KB = 1 MB230 bytes = 1,073,741,824 bytes = 1 GB
Representación de cantidades binariasAncho de pulso
Tiempo de subida tr Tiempo de bajada tf
50%
El ancho de pulso es el tiempo entre los puntos
del 50% entre los flancos de subida y de bajada
Sistemas Digitales I 7
Análogo - Digital - Análogo
Conversión de señales análogas a digitales.
ADCProcesamiento
DigitalDCA
Sistemas Digitales I 8
Conversión Analógica Digital - ADC
Cuantizacion
¿COMO TRABAJA LA VOZ SOBRE IP?
• Captura
• Codificación
• Compresión
• Transmisión
• Descompresión
• Decodificación
• Reproducción
9Sistemas Digitales I
Aplicaciones Digitales DSP
(1960-1970s) DSP limitado a: radar y sonar, medicina y exploración del espacio.
(1980-1990s) La revolución de la microelectrónica causó un gran crecimiento en las aplicaciones de los DSPs.
10Sistemas Digitales I
Aplicaciones de DSPProcesamiento de Imágenes Reconocimiento de Patrones Visión Robótica http://cavr.korea.ac.kr/Aplicaciones Militares Comunicaciones seguras Procesamiento de radar Guía de misilesInstrumentación y control Reducción de ruido Análisis espectralProcesamiento de Audio Reconocimiento de voz Síntesis de vozMedicina Monitoreo de pacientes Procesamiento de señales ECG, EEG, imágenes
11Sistemas Digitales I
SISTEMAS DE NUMERACION Y CODIGOS
12Sistemas Digitales I
Sistemas Digitales I 13
rmnn aaaaaaaN ...,... 210121
Notación posicional
Notación polinomial
1n
mi
iiraN
SISTEMAS DE NUMERACION
Sistemas Digitales I 14
Nombre Decimal Binario Octal Hexadecimal
Base 10 2 8 16
Dígitos 0,1,2,3,4,5,6,7,8,9
0,1 0,1,2,3,4,5,6,7
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Primeros 0 0 0 0
números 1 1 1 1
2 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F
Sistemas Digitales I 15
Conversión de base r a decimal
Conversión de decimal a base r
9,6875 a binario
Sistemas Digitales I 16
Números en base octal (ocho)
Números en base hexadecimal (dieciséis)
Representación de números con signoEl signo de los números almacenados bajo los sistemas digitales se especifica mediante un dígito llamado bit de signo, que por lo general se coloca en la posición más significativa (extrema izquierda) de los dígitos del número. Los números positivos se indican con un digito de signo igual a cero, y los negativos, con un digito de signo distinto de cero (para el caso binario 1).
Sistemas Digitales I 17
Números en magnitud y signo
Se puede escribir un número con signo, en el formato magnitud y signo como sigue:
N=(san-1...a0,a-1...a-m)r
Donde s = 0 si N es positivo y s = r-1 si N es negativo.
Ejemplo:
+ 13 = 0,1101 -13 = 1,1101+ 127 = 0,1111111 -127 = 1,1111111+ 0 = 0.0000000 -0 = 1,0000000
Sistemas Numéricos Complementarios: En estos sistemas, los números positivos se representan de la misma manera que en un sistema de magnitud y signo, mientras que los números negativos se representan como el complemento del numero positivo correspondiente.1. Complemento a la Base: El complemento a una base [N]r de un número (N)r
dado, se define como:[N]r = rn - (N)r
Donde n = # de dígitos de (N)r
El complemento a 2 es un caso especial para números binarios. [N]2 = 2n - (N)2
18Sistemas Digitales
Este es el formato más común de uso para números con signo en los sistemas digitales.Ejemplo
(N)2 = (01100101)2
[N]2 = [01100101]2
= 28 - (01100101)2
= (100000000)2 - (01100101)2
= (10011011)2
Regla Practica: Para obtener el complemento a dos de un numero, se complementan los bits y se añade 1 al resultado.
19Sistemas Digitales
2. Complemento a la Base Disminuida:
El complemento disminuido a una base [N]r-1de un número (N)r se define como:
[N]r-1=rn-(N)r-1
Donde: n = # de dígitos de (N)r
El complemento a uno es un caso particular del complemento disminuido a una base para los números binarios (r=2) y está dado por:
[N]2-1=2n-(N)2-1
20Sistemas Digitales
Ejemplo:
(N)2 = (01100101)2
[N]2-1 = 28 - (01100101)2 - 1
= (100000000)2 - (01100101)2 - (00000001)2
= (10011011)2 - (00000001)2
= (10011010)2
Regla Practica: Para obtener el complemento a uno de un numero, se complementan todos los bits del numero dado.
21Sistemas Digitales
Sistemas Digitales I 22
OPERACIONES ARITMÉTICAS
a) Suma y resta de números no decimales
Cin o bin x y Cout S bout d
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 0 1 0 1
0 1 1 1 0 0 0
1 0 0 0 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 0
1 1 1 1 1 1 1
Sistemas Digitales I 23
CODIGOS NUMERICOS Y DE CARACTERES
Los códigos numéricos sirven para representar números con fines de procesamiento y de almacenamiento. Los números de punto fijo y de punto flotante son ejemplos de estos códigos.Números de punto fijo: Se utilizan para representar ya sea enteros con signo o bien fracciones con signo. En ambos casos se usan los sistemas de magnitud y signo, de complemento a dos o de complemento a uno para representar los valores con signo.
Sistemas Digitales I 24
Números de punto flotante: Tienen una forma similar a los números escritos en notación científica en general:
N=M x rE
Donde M, la mantisa o significando, es un número de punto fijo que contiene los dígitos significativos de N y E, el exponente o característica, es un entero de punto fijo.
Código binario natural
Códigos binarios, continuos y cíclicos
Sistemas Digitales I 25
Sistemas Digitales I 26
Códigos de caracteres y otros códigos: Con frecuencia es necesario representar la información como cadena de caracteres alfabéticos o numéricos. Por lo que se han desarrollado muchos códigos de caracteres tales como:
Decimal codificado en binario (BCD)
Código ASCII (American Standard Code for Information Interchange)
Sistemas Digitales I 27
Digito Decimal
BCD8421
BCDExceso-3
84-2-1 BCDAIKEN2421
BIQUINARIO5043210
0 0000 0011 0000 0000 0100001
1 0001 0100 0111 0001 0100010
2 0010 0101 0110 0010 0100100
3 0011 0110 0101 0011 0101000
4 0100 0111 0100 0100 0110000
5 0101 1000 1011 1011 1000001
6 0110 1001 1010 1100 1000010
7 0111 1010 1001 1101 1000100
8 1000 1011 1000 1110 1001000
9 1001 1100 1111 1111 1010000
Auto complementarios
Sistemas Digitales I 28
Sistemas Digitales I 29
CÓDIGOS DE PARIDAD SENCILLOS. Se forman a partir de un código C, agregando en la posición de bit más significativo; un bit de paridad P. Código dos de cinco
Código biquinario
Códigos para detección y corrección de errores Un error en un dato binario se define como un valor incorrecto en uno o más bits, los errores pueden deberse a fallas de hardware, interferencia externa (ruido) u otros eventos no deseados.
Propiedades generales de los códigos de detección y corrección de errores
• Si la distancia entre dos palabras de código de un código C es mayor o igual que dmin.• Las propiedades de detección y corrección de errores de un código quedan determinadas en parte por su distancia mínima.• En general, un código permite corregir t errores y detectar s errores adicionales si y sólo si se cumple la siguiente desigualdad:
dmin ≥ 2t+s+130Sistemas Digitales
PALABRA DE ERROR
PALABRA DE CÓDIGO VÁLIDA
dmin=2 dmin=3
dmin=4
31Sistemas Digitales
Cubos - n y Distancia
Una cadena de n bits puede visualizarse geométricamente como un vértice de un objeto llamado cubo – n, en la figura se muestra cubos – n para n=1,2,3,4. Un cubo n tiene 2n vértices, cada uno de los cuales está rotulado con una cadena de n bits. Las aristas se dibujan entre vértices adyacentes. Para valores razonables de n, los cubos n facilitan la visualización de ciertos códigos y de los problemas de minimización lógica.Los cubos proporcionan una interpretación geométrica para el concepto de distancia llamada la distancia de Hamming. El concepto de distancia es fundamental en el diseño y comprensión de los códigos detectores de error.
32Sistemas Digitales
0 1 10 11
00 01
110 111
010
100101
001000
011
0110
0010
0000
0100
0001
0101
0011
0111
1000 1001
1101
1111
1011
1110
1010
1100
0110 0111
0011
0101
00010000
1000
1010
0010
1110
1100
0100
1001
1101
1111
1011
33Sistemas Digitales
Códigos de Hamming:
En 1950, Richard Hamming publicó la descripción de una clase de códigos para corrección de errores que han tenido amplio uso. Se pueden ver como una extensión de los códigos de paridad simple, en el sentido de que se utilizan varios bits de paridad o bits de verificación. Cada bit de verificación se define sobre un subconjunto de los bits de información de una palabra. Los subconjuntos se traslapan de modo que cada bit de información está en al menos dos subconjuntos.
34Sistemas Digitales
Para datos de 4 bits, es decir
se generan los bits de paridad: P1P2P4, donde:
P1: Se selecciona de modo que se establezca la paridad par sobre los bits: 3,5,7.P2: Se selecciona de modo que se establezca la paridad par sobre los bits: 3,6,7.P4: Se selecciona de modo que se establezca la paridad par sobre los bits: 5,6,7.
X3X5X6X7
35Sistemas Digitales
Para palabras de datos de 8 bits, se incluyen 4 bits de paridad, de modo que se arreglan 12 bits de la siguiente manera:
Los bits de paridad se obtienen:
P1P2X3P4X5X6X7P8X9X10X11X12
36Sistemas Digitales
La paridad se verifica con la misma combinación de bits, incluyendo el bit de paridad. Estos bits se evalúan de la siguiente manera:
Un resultado C8C4C2C1=0000 indica que no ha ocurrido ningún error.
37Sistemas Digitales
C8 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
C4 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
C2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
C1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
BIT
ERRÓNEO X 1 2 3 4 5 6 7 8 9 10 11 12 - - -
El bit erróneo se determina de la tabla:
38Sistemas Digitales
En el mercado se pueden conseguir C.I. que se valen de un Código Hamming modificado para generar y verificar bits de paridad de un esquema de corrección de un solo error y detección de errores dobles. Uno que emplea una palabra de datos de 8 bits y una palabra de verificación de 5 bits es el C.I. 74637. Se dispone de otros C.I. para palabras de datos de 16, 32 bits.
39Sistemas Digitales
Códigos para acciones, condiciones y estados
En el diseño de sistemas digitales a menudo encontramos aplicaciones sin datos, donde una cadena de bits debe usarse para controlar una acción, para verificar una condición o para representar el estado presente del Hardware.
Unidad de control
comparar Número identif.
De disp.
DISPOSITIVO
HABILITAC DE DISPOSITOVO
comparar Número identif.
De disp.
DISPOSITIVO
HABILITAC DE DISPOSITOVO
comparar Número identif.
De disp.
DISPOSITIVO
HABILITAC DE DISPOSITOVO
SELECCIÓN DE DISPOSITIVOS CODIFICADA EN BINARIO
Unidad de control
HABILITACIÓN DE DISP.
DISPOSITIVO
HABILITACIÓN DE DISP.
DISPOSITIVO
HABILITACIÓN DE DISP.
DISPOSITIVO
SELECCIÓN DE DISPOSITIVOS CODIFICADA EN 1 DE n
Estructura de control para un sistema digital, usando Código binario y código 1 de n
40Sistemas Digitales I
CODIGOS DE BLOQUES Y CONVOLUCIONALES:
En los códigos de bloques, un bloque de k dígitos de datos se codifica mediante una palabra de código de n dígitos ( n > k). Para cada sucesión de dígitos de datos, existe una palabra de código distinta de n dígitos.
En los códigos convolucionales, la sucesión de n dígitos codificada depende no solo de los k dígitos de datos sino también de los anteriores N-1 dígitos de datos (N > 1). Por lo tanto, la sucesión codificada para un cierto grupo de k dígitos no es única sino que depende de los N-1 dígitos de datos anteriores.
41Sistemas Digitales
Si k dígitos de datos se transmiten mediante una palabra de código de n dígitos, el numero de dígitos de comprobación es m = n – k. La eficiencia del código (índice del código) es k/n. Este código se conoce como (n, k).
Para encontrar la relación entre n y k, se observa quevértices o palabras se encuentran disponibles para palabras de datos, y - son vértices redundantes.
2n
2k
2n 2k
42Sistemas Digitales
n k Código Eficiencia
3 1 (3, 1) 0,33
4 1 (4, 1) 0,25
5 2 (5, 2) 0,4
6 3 (6, 3) 0,5
7 4 (7, 4) 0,57
15 11 (15, 11) 0,73
31 26 (31, 26) 0,838
10 4 (10, 4) 0,4
15 8 (15, 8) 0,533
10 2 (10, 2) 0,2
15 5 (15, 5) 0,33
23 12 (23, 12) 0,52
Algunos ejemplos de códigos de corrección de errores:
Corrección de un solo error
t = 1
dmin = 3
t = 3, dmin = 7
Corrección de doble errort = 2, dmin = 5
43Sistemas Digitales
Códigos Lineales de Bloque: Una palabra de código consta de n dígitos, y una palabra de datos consta de k dígitos. Luego:
En general en los códigos lineales de bloque, los n dígitos de c se forman mediante combinaciones lineales de k dígitos de datos.Un caso especial en el cual Y los dígitos restantes de son combinaciones lineales de se conoce como código sistemático.Luego en estos códigos, los k primeros dígitos de la palabra de código son los dígitos de datos, y los últimos m = n-k dígitos son los dígitos de comprobación de paridad.
c = (c1, c2, . . . , cn) d = (d1,
d2, . . , dk)
c1 = d1, c2 = d2, . . , ck = dk
ck+1 a cn
d1, d2, . . . . ., dk
44Sistemas Digitales
c1 = d1
c2 = d2
.
.
.ck = dk
ck+1 = h11d1+h12d2+. . . +h1kdk
ck+2 = h21d1+h22d2+ . . . +h2kdk
. . .cn = hm1d1+hm2d2+ . . . +hmkdk
Luego:
O equivalentemente: c = d.G, donde la matriz G de orden kxn se llama Matriz Generadora.
45Sistemas Digitales
La matriz G se puede separar en una matriz identidad de orden k, y una matriz P de orden kxm, llamada matriz de paridad. La palabra de código se puede expresar por:
c = dG
= d[Ik P]
= [d dP]
= [d cp]
Siendo la matriz fila de m dígitos de comprobación de paridad:
cp
cp = dP
46Sistemas Digitales
Decodificación: En el proceso de decodificación, se define la matriz H llamada matriz de comprobación de paridad. Luego si:
Entonces:
Si c es una palabra de código, se verifica:Todas las palabras de código deben satisfacer la ecuación anterior. Si se recibe la palabra r, y debido a errores causados por el ruido del canal, r en general difiere de la palabra de código c que se transmitió, siendo:
cHT = O
47Sistemas Digitales
Donde e es un vector de error de n elementos. Si el mensaje llega sin errores, entonces: Pero si el mensaje llega con error, se define:
rHT = O
Donde la matriz fila s se llama síndrome, la cual será un vector nulo si el dato recibido no presenta error.
48Sistemas Digitales
SUMAS DE CONTROL (CHECKSUM): Otro método de detección consiste en generar todas las palabras de datos en un bloque, por ejemplo, sumando sus valores ASCII, luego dividiendo entre algún numero fijo. El residuo que resulte de esta división se transmite al final del bloque. El receptor lleva a cabo la misma división y debe obtener el mismo residuo.El protocolo XMODEM usa este método.
COMPROBACION DE REDUNDANCIA CICLICA: Los códigos CRC (Cyclic Redundant-Checksum) se utilizan en muchos sistemas digitales complejos, como en el CD. Este tipo de código de corrección utiliza una forma de realimentación en el que el estado de cada bit de mensaje depende del estado de los bits previos en el bloque.
49Sistemas Digitales
Los códigos CRC son particularmente buenos para detectar ráfagas de errores, en los que varios bits consecutivos faltan o son incorrectos. Los códigos CRC se generan al calcular un polinomio a partir de los bits de mensaje. Se considera al mensaje completo como un polinomio y se divide entre un polinomio fijo llamado polinomio generador y se obtiene un cociente y un residuo. El residuo se anexa al mensaje y se transmite como un carácter de comprobación de bloque (Block Check Character, BCC). En el receptor se repite el calculo y se comprueba el residuo. Pueden implantarse en Hardware y Software.
Compresión de Datos y Criptografía.
50Sistemas Digitales