Introducción a la electrónica digital

12

Click here to load reader

description

 

Transcript of Introducción a la electrónica digital

Page 1: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGIT AL

1. Electrónica Digital

Antesdeempezarenel temaencuestión,vamosa darunaposibledefinicióndela disci-plina quevamosa tratar, asícomosuámbitodeacción.UnaposibledefinicióndeElectrónicapuedeser la cienciaqueestudialos fenómenosrelacionadosconel transportedecarga eléc-trica enmediosmaterialesjuntoconla construccióndedispositivos,circuitosy sistemasbasa-dos en ellos. Esta ciencia se divide en dos grandes ramas: Analógica y Digital.

La ElectrónicaAnalógicaes la partede la Electrónicaquetrabajacon variablesconti-nuasdetal formaqueunpequeñocambioenalgunavariablepuedeproducirungrancambioenel comportamientodelcircuito.Porlo tanto,lasvariablesseránnúmerosreales.Un ejemplodeestos circuitos puede ser un amplificador de señal.

La ElectrónicaDigital es la partede la Electrónicaquetrabajacon variablesdiscretas.Estehechoimplicaqueunpequeñocambioenalgunadelasvariablesdelcircuito (siemprequeno cambiesuvalor discreto)no produciráun cambioapreciableenel comportamientodel cir-cuito. Es decir, el comportamiento del circuito no depende del valor exacto de la señal.

Un mismocircuito electrónico,dependiendode la zonadeoperaciónqueinterese,tienesu operaciónanalógicay digital. Por ejemplo,en la figura 1.1 mostramosla forma de opera-cióndeunsistemaelectrónicotípico.Enestaformadeoperación,podemosobservarqueenlosextremosapenasexisteuncambioenla señaldesalidaindependientementedela magnituddelcambioenla señaldeentrada;estassonlaszonasquele interesana la ramadigital dela Elec-trónica,ya que sin conocerel valor exacto de la señalde entradapodemosdar un valor desalida.Encambio,la partecentralseproduceel casocontrario,esdecir, paraunpequeñocam-bio dela señaldeentradaexisteun grancambioenla señaldesalida;estaesla zonadondeseinteresala ramaanalógicadela Electrónica,ya quedebemosconocerexactamenteel valor dela señal de entrada (su valor continuo) para poder dar un valor a la señal de salida.

Unavez llegadosa estepunto,nospreguntamospor quéestudiarlos circuitosdigitales.La razónbásicaradicaen el aumentode fiabilidad en el procesamientoy transmisiónde lainformación ya que una pequeñadegradaciónde la señalno influirá en su valor (o en suinfluenciacomoentradaen un circuito digital). A estemotivo sele puedenañadirotrosmás,comopuedenser:sedisponedeun soportematemáticoadecuado,comosonlasálgebrasdis-cretas;existen tecnologíasde fabricaciónadecuadas;contamoscon una amplia distribucióncomercial debido a su amplias aplicaciones en múltiples campos, etc.

Page 2: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática2

Dentro de los circuitos digitales,existe una división en dos grandesgrupos:circuitoscombinacionalesy circuitossecuenciales.Loscircuitoscombinacionalessecaracterizanporelhechodequelassalidasúnicamentedependendela combinacióndeentradasy no dela histo-ria anteriordel circuito; por lo tanto,no tienenmemoriay el ordendela secuenciadeentradasno essignificativo. Los circuitossecuencialessecaracterizanpor el hechode quelas salidasdependendela historiaanteriordel circuito ademásdela combinacióndeentradas;por lo queestoscircuitossí disponende memoriay el ordende la secuenciade entradassí essignifica-tivo.

2. Representación Numérica

Debidoal carácterdiscretay a los componentesutilizadosenElectrónicaDigital (en laactualidad,dispositivoscomotransistoresy diodos),nosevaaemplearel sistemadecimalsinoel sistemabinario.Por lo tanto,esnecesariointroducirnosenla teoríadelos sistemasnuméri-cos, con vistas a su aplicación a la conversión entre los principales sistemas.

En cualquiersistemanumérico,sedefinela baseo raízcomoel número máximodedígi-tosdisponiblesendichosistema. Así, lossistemasnuméricosmásimportantessonlossiguien-tes:

• Sistema decimal o de base 10, que consta de diez dígitos: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.

• Sistema binario o de base 2, que consta de dos dígitos: {0, 1}.

• Sistema octal o de base 8, que consta de ocho dígitos: {0, 1, 2, 3, 4, 5, 6, 7}.

• Sistemahexadecimalo debase16,queconstadedieciséisdígitos:{0, 1, 2, 3, 4, 5, 6,7, 8, 9, A, B, C, D, E, F}.

Figura 1.1.- Diferencia existente entre Electrónica Analógica y Electrónica Digital.

Salida

Entrada

Ámbitoanalógico

Ámbitodigital

Page 3: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 3

La notaciónposicionalde un númeroesla colocaciónde los dígitosdel sistemanumé-rico, al quepertenece,unodetrásdeotro.El valornuméricocorrespondienteaunnumeroN enun sistema de base b es:

Dondepi esel dígito correspondienteendichosistema,verificandoque0 <= pi <= b-1.Estoesdebido a que p0 es el resto de la división de N entre b. Por ejemplo:

(123.2)10= 1*102 + 2*101 + 3*100 + 2*10-1

(1211.1)3 = 1*33+ 2*32 + 1*31 + 1*30 + 1*3-1

(F02.1)16 = 15*162 + 0*161 + 2*160 + 1*16-1

Comoya hemosmencionado,los sistemasnuméricosmásimportantessonlos sistemasdecimal,binario,octaly hexadecimal.El sistemadecimalesel empleadoenla vida cotidiana.El sistemabinarioesel sistemaqueemplearemosenElectrónicaDigital, ya quetrataremoslamayoríadelos elementoscomointerruptores,esdecir, condosestados:encendido(permiteelpasodela información,estado‘1’) o apagado(nopermitedichopaso,estado‘0’). No obstantecomo(100)10 = (1100100)2, observamosquesenecesitaun númerorelativamentegrandededígitosbinariosparaexpresarun númerodecimalrelativamentepequeño.Por lo tanto,apare-cieronlos sistemasoctal y hexadecimalparadisminuir estenúmerode dígitossin demasiadacomplicaciónpuestoquesuconversiónabinarioy viceversaesmuydirectacomoyaveremos.

2.1. Conversiones entre sistemas n uméricos.

Paratrabajarcon variossistemasnuméricos,comopor ejemploel sistemadecimaly elbinariodebemossercapacesdeconvertir númerosdeunabasea otra.Existendosmétodosdeconversión de base: polinómico e iterativo.

El métodopolinómicoconsisteenexpresarel númerodela basefuentecomoun polino-mio y evaluarlo según la aritmética de la base destino. Por ejemplo:

(1011)2 = 1*23+ 0*22 + 1*21 + 1*20 = (11)10

Estemétodotieneel problemadequesi la basedestinono esla decimal,tendremosqueusarunaaritméticadiferentea la quenormalmenteutilizamos.Por lo tanto,estemétodosueleserusado para convertir números a un sistema decimal.

El métodoiterativo consisteen ir dividiendoel número(usandola aritméticade la basefuente)por la basedestinode tal forma quelos restosnosirán dandolos dígitosen la nuevabase, siendo el más significativo el último dígito obtenido.

(p3*b3 + p2*b

2 + p1*b1 + p0*b

0)/b = p3*b2 + p2*b

1 + p1*b0 + p0/b

Resto: p0

N( )b pnbn

pn 1– bn 1– … p0b

0p 1– b

1–p m– b

m–+ + + + + + pib

i

i m–=

n∑= =

Page 4: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática4

Cociente: p3*b2 + p2*b

1 + p1*b0

Esdecir, cuandoserealizala primeradivisión,el restoquenosquedaesel dígitomenossigni-ficativo enla nuevabasey el cocienteesel númerorestante.Esteprocesoserepitehastaqueelcociente sea 0. Por ejemplo:

Hastaahora,sólohemostenidoencuentala parteenteradelos números.Conel métodopolinómico,la partefraccionalsetrataigual quela parteenterapermitiendoquelos exponen-tesdela baseseannegativos.Estonuncanosdaráunnúmeromayorqueunoyaquelosdígitosson menores que la base. Por ejemplo:

(0.101)2 = 1*2-1 + 0*2-2 + 1*2-3 = (0.625)10

Con el métodoiterativo, la parte fraccional debeevaluarsepor separadode la parteentera.La parte fraccional se multiplica por la base,la parte enteracorrespondeal nuevodígito, mientras que se vuelve a iterar con la parte fraccional restante.

Del mismomodoqueantes,vemosquesi realizamosla multiplicaciónenun polinomiogenérico obtenemos dicho resultado.

(p-1*b-1 + p-2*b

-2 + p-3*b-3) * b = p-1 + p-2*b

-1 + p-3*b-2

Parte entera: p-1

Parte fraccional: p-2*b-1 + p-3*b

-2

Enesteúltimo caso,comoyahemosvisto, la aritméticaempleadaesla dela basefuente,por lo quesesueleutilizar parala conversióndenúmerosdecimalesacualquierotrabase.Ade-más,comosucedeen cualquiersistemanumérico,podemosencontrarnúmeroscon infinitosdígitos“decimales”.A continuación,ilustramosun ejemplodeconversióndeun númerofrac-cionario decimal a binario:

Debidoaquelasbasesoctalesy hexadecimalessonpotenciadedos(16= 24 y 8 = 23), laconversiónentreestossistemasy el binarioesmuysencilla.Fijémonosenel valornuméricodenúmeros binarios, octales y hexadecimales genéricos:

11 21 5 2

1 2 20 1 2

1 0

p0

p1

p2p3

0.625 * 2 = 1.250

0.250 * 2 = 0.500

0.500 * 2 = 1.000

0.000 * 2 = 0.000

Page 5: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 5

b6*26 + b5*2

5 + b4*24 + b3*2

3 + b2*22 + b1*2

1 + b0*20

O2*82 + O1*8

1 + O0*80

H1*161 + H0*160

Por ser las basesoctalesy hexadecimalespotenciasde dos,en el númerobinario podemosagrupar los dígitos en función de estas potencias:

(b6*20)*82 + (b5*2

2 + b4*21 + b3*2

0)*81 + (b2*22 + b1*2

1 + b0*20)*80

(b6*22 + b5*2

1 + b4*20)*161 + (b3*2

3 + b2*22 + b1*2

1 + b0*20)*160

Al compararlasdosúltimasexpresionesconlasexpresionesgenéricasdelos númerosoctalesy hexadecimales, podemos obtener las siguientes igualdades:

O2 = b6*20

O1 = b5*22 + b4*2

1 + b3*20

O0 = b2*22 + b1*2

1 + b0*20

H1 = b6*22 + b5*2

1 + b4*20

H0 = b3*24 + b2*2

2 + b1*21 + b0*2

0

Porlo tanto,podemosrealizarla conversióndígitoadígito,y no tenerquetratarconel númerocompleto.Luego cadadígito octal (hexadecimal)serásustituidopor gruposde tres (cuatro)dígitosbinariosconel mismovalornumérico.Enel casodela conversióndesdebinarioaoctal(hexadecimal)consisteen la conversión en gruposde tres (cuatro) dígitos (si faltan a laizquierda dígitos para completar algún grupo, se le añaden 0’s). Por ejemplo:

11 21 5 2

1 2 20 1 2

1 0

11 83 1 8

1 0

11 8B 0

1 0 1 1

3

00

1

1 0 1 1

B

7160

111 001 110 000

A04

1010 0000 0100

Page 6: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática6

3. Códigos Binarios

A partirdeahora(salvo queseindiquelo contrario)vamosatrabajarconel sistemabina-rio, cuyosdígitossedenominanbits. Una vez visto comopodemospasarde unabasea otra,nosfaltadeterminarla relaciónbiunívocaexistenteentrela informacióny la palabradecódigopor la queserárepresentada.Estarelaciónvienedadaporel código.Comoel sistemanuméricoconel quetrabajamoshabitualmenteesel sistemadecimal,la mayoríadeloscódigosquevere-mosseráncódigosBCD (decimalcodificadoen binario).Estoscódigosnecesitancuatrobits

por cadadígito decimalya que23 < 10 < 24. Así, el códigoBCD naturalesaquelquerepre-senta cada dígito decimal por su expresión polinómica.

Dentrodelos códigos,podemosencontrara un grupocuyovalor sepuedeobtenera tra-vés de un polinomio con los dígitos de dicho código a través de un producto escalar.

dondeel vector(w3w2w1w0) esconocidocomovectorpesoy el (c3c2c1c0). Los códigosquemuestranestacaracterísticase denominancódigospesadoso con peso. El casodel códigoBCD naturalseencuentradentrodel grupodelos códigosconpesoya quecadabit seencuen-tra multiplicadopor un peso(8,4,2,1).Otrosejemplosdecódigosconpesosonlos quetienencomopeso(8,4,-2, -1) y (2,4,2,1).Un ejemplodecódigonopesadoesel códigodeexcesoa3.Estecódigoseobtienecomoel códigobinariodel resultadode la sumadel dígito encuestióncon el número tres. Estos códigos los podemos ver en la siguiente tabla.

Exceptoel códigoBCD natural,los otrostrestienenla propiedadde serautocomplementa-rios, esdecir, si complementamos(cambiar1’s por 0’s y viceversa)la palabrabit a bit, obten-dremos la palabra correspondiente al dígito 9-d.

En algunosdispositivos esútil quelas palabrascorrespondientesa valorespróximossediferencienpocoparaqueel posibleerrorenla transmisiónno engañedemasiadoel resultadofinal. Porejemplo,si pasamosde7 (0111)a 8 (1000)y seproduceun fallo enel último bit, detal forma que no se producesu transición,el resultadoobtenidoseríade 0000 (0). Así, sedefinela distancia de Hamming comoel número de bits quedifieren entre dospalabras decódigo; y sedefineun códigodedistancian comoaquelcuyadistanciadepalabrasconsecuti-

DígitoDecimal

BCD naturalExceso a 3

8 4 2 1 8 4 -2 -1 2 4 2 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 11 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 02 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 13 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 04 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 15 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 06 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 17 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 08 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 19 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0

Tabla 1.1. Ejemplos de códigos binarios.

Valor w3c3 w2c2 w1c1 w0c0+ + +=

Page 7: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 7

vas es n. Estoscódigosse puedenclasificaren: códigoscerrados,cuandola última palabratieneunadistancian con respectoa la primera;y códigosabiertos,cuandola última palabratieneunadistanciadiferentea n con respectoa la primerapalabra.Un ejemplode códigodedistanciaunidadcerradoesel códigodeGray, quesecaracterizaconunafácil implementacióna partir del código binario.

3.1. Códigos detectores de err or.

A la hora de utilizar diferentescódigos,podemosencontrardiversosmotivos, comopuedeserevitar quela informacióncaigaenmanosnodeseadas.No obstante,otromotivo másprácticoconsisteenenviar informaciónsobrela existenciadeposiblesfallosenla transmisión.Existen códigosque incluyen información para poder detectary/o corregir estosposiblesfallos.

Unavez llegadosa estepunto,nosdeberemospreguntarsobrecuántosbits considerare-moslos fallos.En principio, seríalógico pensarqueconsideraríamoslos fallosdetransmisiónen todoslos bits; peroestasituaciónseríaexcesivamentecostosa.Luego nosfijaremosen lasprobabilidadesque existen de que ocurranerroressegún el númerode bits erróneos.Segúnestosestudios,la probabilidadcaeexcesivamentecuandolos fallosocurrenendoso másbits;por lo tanto, sólo tendremos en cuenta fallos en un solo bit.

Paraqueseafactible la detecciónde fallos, sedebegarantizarque la palabraobtenidatrasel fallo no pertenezcaal códigoen cuestión.Si hablamosen términosde la distanciadeHamming,la palabracorrectay la erróneatienenunadistanciaigual a “1”. Luego unacondi-ción necesariay suficienteseráquetodaslaspalabrasdel códigotenganunadistanciamínimade dos entre todas ellas. Así, podemos comprobar la siguiente afirmación:

Cualquiercódigodedeteccióndefallo enunsolobit debeteneral menosunadistan-cia de dos entre cualesquiera dos palabra de código.

Laspalabrasconunadistanciamínimadedossepuedenusarcomocódigosdedetec-cióndeerror enunbit, y asípoderutilizarlas comochequeadorasdel canaldetrans-misión.

Al tenerunadistanciamínimadedos,entredospalabrascorrectassiemprehabráunacombina-cióndebits (quecorresponderáa lasposiblespalabraserróneas)lascualesnoseránningunade

DígitoDecimal

Binario natural Código Gray

b3 b2 b1 b0 g3 g2 g1 g0

0 0 0 0 0 0 0 0 0

gi = 0<=> bi = bi+1

1 0 0 0 1 0 0 0 12 0 0 1 0 0 0 1 13 0 0 1 1 0 0 1 04 0 1 0 0 0 1 1 05 0 1 0 1 0 1 1 16 0 1 1 0 0 1 0 17 0 1 1 1 0 1 0 08 1 0 0 0 1 1 0 09 1 0 0 1 1 1 0 1

Tabla 1.2. Generación del código Gray a partir del código binario natural.

Page 8: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática8

nuestraspalabrasdecódigo.Por lo tanto,cuandoseproduceun fallo enun solobit, la combi-nación obtenida será alguna de las que no pertenecen al código pudiendo detectar el fallo.

Los códigosque solamentedetectanla existenciade un fallo se denominancódigosdetectoresdeerrores.Dosdeloscódigosquepuededetectarerroressonloscódigos“2-out-of-5” y biquinario.

El código2-out-of-5tienela peculiaridaddequetienetodaslascombinacionesdecincobits quetienendos1’s entretodossusbits. Por lo tanto,unaformadedetectarerroresserálacomprobacióndequeúnicamenteexistandos1’s. De estaforma,un errorenun bit nosapor-taráunapalabracontres1’s o ningún1. La detecciónno sedaparafallosenmásbits por dosrazones:

• Fallosenun númeropardebits puedeproducirunapalabracondos1’s, consideradacorrecta.

• Fallos en un númeroimpar de bits puedeproducirel mismocomportamientoqueelfallo en un solo bit, no pudiendo saber en cuántos bits se ha producido el fallo.

El códigobiquinariomuestraun aspectosimilar al anterior, esdecir, todassuspalabrascontienendos1’s entodossusbits,peroa diferenciadel primerono contienetodaslascombi-nacionesdedos1’s entodossusbits,no obstanteexisteunarelaciónquesóloescumplidaporlas palabrascorrectasdel código.Así la detecciónde un fallo se realizacomprobandoqueexistaun1 enlosdosprimerosbits,y otro1 enloscincorestantes.Al igualqueel anteriorsóloseconsiderafallosenun solobit por razonessimilares.Podemoscomprobar, queestecódigoes pesado, propiedad que no comparte con el anterior.

No obstante,la técnicamásempleadaesla adicióndeun nuevo bit, denominadobit deparidad,a cualquiercódigo.Estebit informarási el númerode1’s de la palabraespar(bit deparidada 0) o impar(bit deparidada 1). Porlo tanto,si seproduceun fallo enun bit, la infor-mación de la paridad será errónea.

distancia

n

n+1

n+2

n+3

n+4

n+5

n+6

n+7

n+8

Palabra

Palabra

Palabra

Palabra

Palabra

Fallo en un solo bit

Figura1.2.-Comportamientodeuncódigodetectordefallosenunsolobit antela existenciade un fallo en un bit.

Page 9: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 9

3.2. Códigos correctores de err ores.

Unavezquehemosvisto comosepuedendetectarerroresen la transmisióndela infor-mación,debemospasaravercomopodemosdeterminarcuáldelosbitsesel quehaproducidoel error. Estos códigos se denominan códigos correctores de error.

Enel casodecorrección,tenemosqueconseguir quela palabraerróneaseencuentremáscerca(enel sentidodela distanciadeHamming),o lo queeslo mismo,tenga menosbits dife-rentesconrespectoa unasolapalabradel código.Conestecriterio decercanía,podemosase-gurarcuálesla palabraquesehaqueridotransmitir(conmayorprobabilidad),y por lo tanto,saber cuál ha sido el bit que ha producido el error.

Por lo tanto,la distanciamínimaquetienequetenertodaslas palabrasde códigoentresí esigual a tres.

Dígitodecimal

2-out-of-5Biquinario Binario con paridad

5 0 4 3 2 1 0 b3 b2 b1 b0 p

0 0 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 01 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 12 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 13 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 04 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 15 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 1 06 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 07 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 18 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 19 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0

Tabla 1.3. Ejemplos de códigos detectores de errores en un solo bit.

distancia

n

n+1

n+2

n+3

n+4

n+5

n+6

n+7

n+8

Palabra

Palabra

Palabra

Fallo en un solo bit

Figura 1.3.- Comportamiento de un código corrector de fallos en un solo bit ante la existen-cia de un fallo en un bit.

Page 10: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática10

Así, podemosdarunacondiciónnecesariay suficienteparaqueun códigoseacorrectoren un solo bit:

La condiciónnecesariay suficientepara quecualquierconjuntodepalabrasbinariasseaun códigocorrectordeun error enun solobit, esquela distanciamínimaentreellas sea de tres.

Paralograrestametasehacenecesarioañadirmásbits (no essuficienteconun solobitde paridad),por lo queen la palabrapodemosdiferenciarbits de mensaje(sonlos quereal-mentellevan la informaciónútil) y bits de chequeo(son los que llevan la informaciónparacorregir losposiblesfallos).Estosbitsdechequeosuelenser, por lo general,bitsdeparidaddeundeterminadosubconjuntodebitsdemensaje.Paraqueselogreestecometido,unfallo enunbit demensajedebeproducirunacontradicciónenmásdeun bit dechequeo,mientrasqueunfallo enun bit dechequeosólodebeproducirunacontradicciónendichobit (bits dechequeoindependientesexplícitamente).Un ejemplode estoscódigosconstade tresbits de chequeo(C1, C2 y C4) y cuatro bits de mensaje (M3, M5, M6 y M7), mostrado en la tabla 1.4.

Unavezquedisponemosdeuncódigocorrector, tenemosqueobtenercuálessonlosbitsdemensajecuyaparidadesalmacenadaencadabit dechequeo.Unaformasencilladeobtenerestainformaciónconsisteen considerartodaslas palabrasquetengan un solo 1 en todoslosbitsdemensaje;por lo quelosbitsdechequeoquetomenel valor1, “verán”aestebit demen-saje.Porejemplo,consideremosla palabra“1” quesólotieneun 1 enel bit M7. En estecaso,todoslos bits de chequeotienenel valor 1, por lo quetodosellos chequearána dicho bit demensaje. Si repetimos este proceso tantas veces como sea necesaria, obtenemos que:

• C1 es la paridad de M3, M5 y M7

• C2 es la paridad de M3, M6 y M7

• C4 es la paridad de M5, M6 y M7

Veamosahoracomosedetectael bit dondesehaproducidoun fallo. No podemosolvidar queestamosantesituacionesdeerroresenun solobit; asíquesi detectamosun fallo endosbits dechequeo,el fallo deberáestarenel únicobit demensajecomúna dichosbits dechequeo.Porlo tanto:

• Si existe un fallo en M3, se detecta en C1 y C2

• Si existe un fallo en M5, se detecta en C1 y C4

Dígito decimal C1 C2 M3 C4 M5 M6 M7

0 0 0 0 0 0 0 01 1 1 0 1 0 0 12 0 1 0 1 0 1 03 1 0 0 0 0 1 14 1 0 0 1 1 0 05 0 1 0 0 1 0 16 1 1 0 0 1 1 07 0 0 0 1 1 1 18 1 1 1 0 0 0 09 0 0 1 1 0 0 1

Tabla 1.4. Ejemplo de código corrector de error en un solo bit.

Page 11: Introducción a la electrónica digital

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 11

• Si existe un fallo en M6, se detecta en C2 y C4

• Si existe un fallo en M7, se detecta en C1, C2 y C4

• Si existe un fallo en C1, se detecta en C1

• Si existe un fallo en C2, se detecta en C2

• Si existe un fallo en C4, se detecta en C4

Parapoderobtenerel númerodebits dechequeoparacrearun códigocorrectordeerro-

resenun solobit, severificaquek+m<=2k-1; dondek esel númerodebits dechequeoy m es

el númerode bits de mensaje.El hechode 2k-1 radicaen queel númerode bits de chequeodebesertal quetenga tantascombinacionescomoposibilidadesdefallos,eliminandola posi-bilidad de la no existencia de fallo.

Page 12: Introducción a la electrónica digital

Dpto. Ingeniería Electrónica de Sistemas Informáticos y Automática12