PartII All

Embed Size (px)

DESCRIPTION

electronica digital excelente explicacao

Citation preview

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 1 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 2 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 3 of 119

    Lgica de Polaridade / 8 Projecto

    Esta sesso versa a materializao concreta, real, de logigramas isto , nos chips de facto disponibilizados

    pelos que os fabricam. Como nas outras sesses, ir-se- desenrolar a partir dum Projecto concreto

    Imagine-se um restaurante com dois pisos. Para transportar objectos entre eles, usa-se um monta-cargas que efectua um movimento de vai-e-vem entre duas plataformas de carga, uma em cada piso. Acede-se a elas atravs

    de portinholas: uma, B, no piso de baixo e outra, T, no piso de topo. efectuado o disable (inactivao) do motor do monta-cargas se:

    tendo-se premido um interruptor Go, se abrir uma das duas portinholas {B, T}; ou, sem esse interruptor estar premido, a carga na plataforma exceder um limite prefixado.

    Se e s se nenhuma destas situaes se verificar, uma lmpada Verde acende

    Pressuposta a codificao (associada s entradas e sadas) ao lado, o leitor poder construir os correspondentes

    mapas de Karnaugh, e deduzir as expresses simplificadas das sadas ou, bem mais rapidamente, exercitar a sua massa cinzenta para as escrever de imediato, vid ao lado (Entretanto, no se pode silenciar: essa praxis no deve ser aceite s cegas! Pelo contrrio, o leitor instado a

    usar o mtodo de Karnaugh para lograr as SOPs ou POSs simplificadas para responder a questes inevitveis: porque so elas distintas das expresses ao lado? E sendo-o, e mas importante ainda: quais as vantagens, e

    desvantagens, em as usar? Quais os requisitos que o enunciado deveria ter para as preferir?)

    Das expresses obtidas, trivial desenhar um logigrama do circuito que controla o disable do motor e o

    acender da lmpada. Encontra-se ao lado uma possibilidade em que, como ocorrer quase sempre doravante, os smbolos para representar ORs, ANDs e NOTs seguem as convenes da IEC: so rectngulos qualificados.

    A questo que agora surge a seguinte: Como passar do logigrama ao circuito elctrico real?

    A quem tenha j metido as mos na massa, achar que a questo vem algo atrasada: afinal, j no laboratrio

    ter tido o ensejo de concretizar, na base de montagem, com os chips disponveis, algum logigrama

    Mas hora de considerar essa questo mais de perto. que, quando se olha para o logigrama, o que se v o esquema de um circuito Digital isto , em cujas entradas e sadas (e em pontos intermdios), o que h so bits:

    0s e 1s. Ora, ao se consultarem os Catlogos dos fabricantes, no se enxergam l 0s e 1s: o que eles

    mencionam so nveis elctricos, a saber: L/Low e H/High.

    Como exemplo, ao lado encontra-se uma Tabela, extrada do Catlogo da Texas Instruments, relativa ao circuito

    Integrado SN7404 (Hex Inverters). Ela afirma que cada um dos seis inversores (NOTs) que ele disponibiliza

    funciona da seguinte maneira:

    quando na sua entrada X se forar o nvel elctrico L, a sada Z apresentar o nvel elctrico H;

    quando na sua entrada X se forar o nvel elctrico H, a sada Z apresentar o nvel elctrico L.

    Abra-se um parntesis para recordar o significado de L e H: seja o caso de a tecnologia de fabrico dos chips ser

    TTL (Transistor-Transistor Logic) ou CMOS (Complementary Metal Oxide-Silicon). Tais chips reconhecem dois

    nveis elctricos (nomeadamente 0 Volt e 5 Volt em TTL). Na prtica, tolera-se algum desvio em relao queles

    valores nominais com o que se prefere usar os termos Low e High (ou s as iniciais, L e H):

    Low um nvel elctrico que pode exceder o nvel mais baixo no mais que a pertinente tolerncia aceitvel;

    High um nvel elctrico que difere do nvel mais alto no mais que a pertinente tolerncia aceitvel.

    Particularizando para chips TTL: nas sadas, Low um valor de tenso entre 0 e 0,4 Volt e High um valor

    entre 2,4 e 5 Volt; nas entradas, Low um valor de tenso entre 0 e 0,8 Volt e High um valor entre 2 e 5 Volt. O

    que significa, para o caso do Integrado SN7404,

    se na entrada se forar um valor de tenso inferior a 0,8 V, o valor na sada ser superior a 2,4 V;

    se na entrada se forar um valor de tenso superior a 2 V, o valor na sada ser inferior a 0,4 V. Faz ento todo o sentido dedicar tempo questo acima: Como passar do diagrama lgico ao circuito elctrico

    real? Ou: Como usar os integrados no mercado, para materializar os logigramas a que se chegou?

    isso que se aborda a seguir e isso com a maior liberdade possvel. Na passagem dos logigramas a circuitos elctricos, h que usar os circuitos integrados como der mais jeito!

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 4 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 5 of 119

    Lgica de Polaridade / Lgicas Estticas: Positiva e Negativa

    Seja o caso de a tecnologia de fabrico das chips ser TTL (Transistor-Transistor Logic) ou CMOS

    (Complementary Metal Oxide-Silicon). Tais chips reconhecem dois nveis elctricos, a saber: 0 Volt e 5 Volt (em

    TTL) e 0 Volt e 6 Volt (na srie SN74HC em CMOS quando se usa uma fonte de alimentao de 6 V).

    Porquanto, em ambas as tecnologias, um dos nveis 0 Volt, natural ser a seguinte opo: fazer corresponder

    ao nvel 0 Volt o 0 lgico. Porquanto 0 o nvel mais baixo (Low), isso volve-se em fazer corresponder a L/Low

    o bit 0, e, em consequncia, fazer corresponder a H/High o bit 1. Esta conveno designa-se de Lgica Positiva

    Considere-se agora o caso de uma outra tecnologia de fabrico de chips, ECL (Emitter Coupled Logic). Tais

    chips reconhecem tambm dois nveis elctricos: -5,2 Volt e 0 Volt.

    Assuma-se a mesmssima opo acima de fazer corresponder ao nvel 0 Volt o 0 lgico. Porquanto 0 agora

    o nvel mais alto (High), ela vem a volver-se em fazer corresponder a H/High o bit 0, e, consequentemente, fazer

    corresponder a L/Low o bit 1. Esta conveno designa-se de Lgica Negativa.

    H que clarificar: os considerandos acima manifestam, quando muito, que qui seja natural usar a Lgica

    Positiva em TTL e CMOS, e relegar a Lgica Negativa para ECL; mas de facto nada obriga ningum a ater-se a

    uma dada Lgica: a regra escolher a que der mais jeito

    Decidida, ento, qual a Lgica a usar Positiva ou Negativa , hora de responder questo em aberto: Como passar do diagrama lgico no papel ao circuito elctrico real? o primeiro passo construir as Tabelas de Verdade lgicas das gates presentes no logigrama: ANDs e ORs o segundo passo aplicar a essas Tabelas de Verdade lgicas a correspondncia especfica da Lgica eleita vindo a obter o que doravante se designar de Tabelas de Verdade fsicas no caso, de ANDs e ORs

    (Em Lgica Positiva, substituem-se os 0s por Ls e os 1s por Hs; intui-se como se far em Lgica Negativa, vid ao lado)

    o terceiro passo procurar, nos Catlogos dos fabricantes, os circuitos Integrados que se conformam a essas Tabelas de Verdade fsicas:

    No caso da Lgica Positiva, os Integrados cujo funcionamento o descrito pelas Tabelas de Verdade fsicas do AND e OR so, respectivamente, o SN7408 e o SN7432. Basta, ento, concretizar os ANDs e ORs do

    logigrama com tais Integrados;

    No caso da Lgica Negativa, os Integrados cujo funcionamento o descrito pelas Tabelas de Verdade fsicas do AND e OR so, respectivamente, o SN7432 e o SN7408. Basta, ento, concretizar os ANDs e ORs do

    logigrama com tais Integrados;

    Em qualquer caso, o par de NOTs fica concretizado mediante um SN7404.

    Ao lado, encontra-se o circuito elctrico real correspondente ao logigrama entre mos, em ambas as verses Positiva e Negativa. Constata-se que elas recorrem aos mesmssimos integrados mas que eles so usados para concretizar funcionamentos lgicos distintos! O SN7408 (e o mesmo vale para o SN7432) pode ser usado como

    AND ou como OR: cabe ao desenhador de um circuito decidi-lo (ao escolher a Lgica que preside ao circuito).

    Nas asseres acima, ficaram na sombra as entradas e sadas do circuito. hora de as considerar: No circuito desenhado em Lgica Positiva, est-se pressupondo que deve ser feito o disable do motor se e s

    se a sada disable estiver a receber 1, isto : sse lhe estiver a ser aplicado o nvel elctrico High (idem para a

    sada V); e a entrada B deve forar High sse for o caso de ter de sinalizar 1 o que dever ocorrer sse a

    portinhola de baixo estiver aberta (idem para as demais entradas {T, G e C});

    No circuito desenhado em Lgica Negativa, est-se pressupondo que a sada disable deve achar que est

    recebendo 1 sse lhe estiver a ser aplicado o nvel elctrico Low (idem para a sada V); e a entrada B deve

    forar Low sse for o caso de ter de sinalizar 1 (idem para as demais entradas {T, G e C}). Ora, isto limitativo: considerando as entradas, pode ser mais barato fabricar um sensor de portinhola que, ao

    ficar aberta, produza um nvel Low; e um sensor de carga que, para assinalar que ela excessiva, produza um nvel

    High! O mesmo se pode dizer para as sadas: pode ser mais barato fabricar um actuador que, para proceder ao

    disable do motor, exija um nvel Low; e um actuador que, para acender a lmpada verde, exija um nvel High!

    H, pois, que investigar por uma Lgica dinmica!

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 6 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 7 of 119

    Lgica de Polaridade / Condies Fronteira: Sufixos _L e _H

    comum, em ambiente de produo industrial, designar por Sensores e Actuadores o que se encontra ligado respectivamente s entradas e sadas de um circuito de Deciso pelo que, e considerada a ndole deste 8 Projecto, se espera a benevolncia do leitor para o subsequente uso de tais substantivos

    As questes prticas a decidir, e porquanto um circuito de Deciso s reconhece bits {0, 1}, so as seguintes:

    subentendido que a sada de um sensor se encontra ligada a uma das entradas dum circuito de Deciso, qual o

    nvel elctrico, entre {Low, High}, que o sensor deve apresentar sada para sinalizar o 1 lgico? subentendido que uma das sadas dum circuito de Deciso se encontra ligada entrada de um actuador, e que

    ela est tomando o valor 1 lgico, qual o nvel elctrico, entre {Low, High}, a apresentar entrada do actuador?

    No jargo do ambiente de produo industrial, comum substituir a 1 por Activo (e a 0 por Inactivo). Com esta ressalva, e admitindo que a opo por um ou outro nvel tem consequncias (nomeadamente no custo),

    h duas espcies de sensores, consoante o nvel elctrico que produzem para sinalizar que esto Activos:

    Sensores activos a High: para sinalizarem 1, foram na sua sada o nvel elctrico High;

    e Sensores activos a Low: para sinalizarem 1, foram na sua sada o nvel elctrico Low;

    e h duas espcies de actuadores, consoante o nvel elctrico que exigem para advirem Activos:

    Actuadores activos a High: assumem que sua entrada se est sinalizando 1 quando a o nvel High;

    Actuadores activos a Low: assumem que sua entrada se est sinalizando 1 quando a o nvel Low.

    Visando a passagem ao circuito elctrico, deve explicitar-se no logigrama, para cada entrada (e cada sada), a

    espcie de sensor (ou actuador) que lhe est interligada. A conveno aqui seguida : justapor, ao nome da entrada

    (ou sada), um sufixo que ser _L ou _H consoante ela for, respectivamente, activa a Low ou activa a High. Para exemplificar, admita-se, no 8 Projecto, que:

    os Sensores das Portinholas {B, T} e o Interruptor Go so activos a Low, e o Sensor de Carga excessiva C activo a High;

    o disable D activo a Low, e a Lmpada Verde V activa a High. No logigrama, estes comportamentos explicitam-se:

    designando as entradas por B_L, T_L, G_L e C_H;

    e designando as sadas por D_L e V_H (vid ao lado).

    Estabelecer que o disable activo a Low significa que a sada D traduz 1 no nvel Low e, por

    consequncia, D traduz 0 no nvel elctrico High.

    Admita-se, ento, que em algum momento o nvel elctrico em D High ou seja, a o valor lgico 0. O

    seu inverso, D , volve-se em 1, isto , e conforme ao jargo referido (em que 1 substitudo por Activo), D

    advm activo. Recapitulando: quando o nvel elctrico em D High, D advm activo; pela conveno em vigor,

    deduz-se que a mesmssima sada pode ser designada de _HD (trata-se de uma bvia lapalissada: se o disable

    activo a Low, claro que o enable activo a High).

    Consideraes anlogas valem para as demais entradas e sadas: B , T , G e D so activas a High; e C e V

    so activas a Low significando que as entradas podem, em alternativa, designar-se por _HB , _HT , _HG e

    _LC ; e as sadas por _HD e _LV (vid ao lado).

    Para cada entrada ou sada, h, por conseguinte, dois nomes alternativos: por exemplo, D_L e _HD . Fica

    relegado para momento mais oportuno responder inevitvel dvida: Como escolher entre os dois?

    Com o que fica dito, ter ficado claro como especificar as condies fronteira (isto : o exterior a que se liga

    um circuito de Deciso): precisamente atravs dos sufixos _L e _H. Falta descortinar: o que est disponvel no

    mercado para materializar esse circuito de Deciso; o que agora se ir abordar (No pode deixar de se acentuar: a conveno acima no , mormente na bibliografia de Sistemas Digitais, uma

    praxis universal! A maioria dos logigramas com que o leitor ir deparar no prima pela adio dos sufixos _L e _H

    aos nomes das entradas e sadas: como que subentendendo que todos os sensores e actuadores so activos a High)

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 8 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 9 of 119

    Lgica de Polaridade / Adivinha l: Que chip este?

    Ter j o leitor constatado, mormente se meteu j as mos na massa no laboratrio, que os Integrados so

    identificados por uma inscrio na sua face superior, como seja SN7404

    Suponha, porm, que um dia lhe vem parar s mos um Integrado, com duas entradas e uma sada (alm,

    claro, dos pinos correspondentes alimentao: VCC e GND) mas cuja identificao SN foi apagada Natural ser a curiosidade: que Integrado ser este, que far ele?

    Para lhe responder, convm, claro, proceder com mtodo e intui-se qual ser o primeiro passo: construir a

    respectiva Tabela de Verdade fsica. Para tal, aplicam-se sucessivamente, naquelas entradas (sejam {X, Y}), todas

    as possveis combinaes dos nveis elctricos {Low, High}, e regista-se o correspondente nvel elctrico na sada

    (seja Z)

    Admita-se, ento, que isso j foi feito tendo-se registado num grfico/diagrama temporal as quatro

    combinaes de {Low, High} que {X, Y} podem assumir, e, para cada uma delas, o subsequente nvel de Z. Da, ser pacfico deduzir a Tabela de Verdade fsica, vid ao lado Com isso, ficaram reunidas as condies para o segundo passo: discernir qual o Integrado em causa A este respeito, vrios olhares so possveis:

    O Olhar Positivo: por este olhar, Positivo, entende-se o de algum que opta pelo uso da Lgica Positiva: a partir da Tabela de Verdade fsica, elabora uma Tabela de Verdade lgica pela substituio de cada L por 0, e

    de cada H por 1, vid ao lado.

    Dela, e pois que Z se volve em 0 apenas para a combinao {X=1, Y=1}, ser-lhe- pacfico afirmar que o Integrado aparenta ser um NAND, vid ao lado.

    O Olhar Negativo: por este olhar, Negativo, entende-se o de algum que opta pelo uso da Lgica Negativa: a partir da Tabela de Verdade fsica, elabora uma Tabela de Verdade lgica pela substituio de cada L por 1, e

    de cada H por 0, vid ao lado.

    Dela, e pois que Z se volve em 1 apenas para a combinao {X=0, Y=0}, ser-lhe- pacfico estabelecer que o Integrado aparenta ser um NOR, vid ao lado.

    Quem tem razo?

    Adiante-se que o Integrado com a Tabela de Verdade fsica lograda designado pela Texas Instruments por

    SN7400 / Quadruple 2-Input Positive NAND gates (aquele fabricante de chips prefere o Olhar Positivo). Mas

    poder-se-ia ter antes optado pela designao SN7400 / Quadruple 2-Input Negative NOR gates Ou seja: qualquer das dedues, NAND ou NOR, vlida desde que antecipadamente se clarifique qual a Lgica (Positiva ou Negativa) que lhe subjaz.

    Mas existe ainda uma 3 via, que, ao invs do par de Olhares acima (que se suportam numa Lgica Esttica), um Olhar Dinmico. o que se ir abordar de imediato.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 10 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 11 of 119

    Lgica de Polaridade / Indicador de Polaridade (O smbolo )

    A terceira via, o Olhar dinmico que agora se vai abordar, suporta-se em dois pilares:

    O primeiro advm de no achar abusivo considerar uma gate como que constituda por vrios actuadores ligados a um sensor: aqueles convertem os nveis elctricos nas suas entradas em 0s e 1s, sobre que o ncleo da

    gate toma uma deciso (que ser 0 ou 1), aps o que a passa ao sensor, que por seu vez a converte num nvel elctrico na sada Ento, ser pacfico generalizar para uma gate o jargo usado para sensores e actuadores Em particular: uma entrada duma gate diz-se activa a High, quando, ao ser-lhe aplicado o nvel High, a gate o

    entende internamente como 1; e a sada duma gate diz-se Activa a High, quando, para sinalizar um 1 interno, a gate fora nessa sada o nvel elctrico High.

    O segundo pilar que se desconhece o que sejam NANDs e NORs, reconhecem-se apenas ANDs e ORs Ao lado, rev-se o comportamento peculiar de ANDs e ORs: aplicando s entradas todas as combinaes de

    0s e 1s, constata-se que, em ambas as gates, o valor na sada sempre o mesmo, excepto para uma combinao particular combinao essa em que ambos os valores nas entradas so iguais ao valor sada ento produzido.

    Em ordem a discernir como funciona o Olhar dinmico, considere-se de novo a Tabela de Verdade fsica a que se chegou, ao determinar o comportamento elctrico do Integrado cuja identificao SN foi apagada Sumariamente: nessa Tabela, a sada em geral High advindo Low sse as entradas forem ambas High. Desta constatao, podem inferir-se duas asseres:

    Se se admitir que as entradas da gate so activas a High, afirmar que a sada da gate Low sse ambas as

    entradas forem High equivale a afirmar: sse ambas as entradas sinalizarem 1, a sada Low. Desse comportamento, e tendo em conta a Tabela de Verdade do AND, lcito inferir: a gate soa a um AND

    mas um AND especial: quando deve sinalizar 1, fora na sada o nvel elctrico Low. Mantendo o jargo costumeiro, de uma sada assim diz-se que ela activa a Low.

    Se se admitir que a sada da gate activa a High, afirmar que a sada da gate Low sse ambas as entradas

    forem High equivale a afirmar: a sada 0 sse em ambas as entradas o nvel elctrico for High. Desse comportamento, e tendo em conta a Tabela de Verdade do OR, lcito inferir: a gate soa a um OR

    mas um OR especial: para se sinalizar 0 a uma entrada, h que forar nela o nvel elctrico High. Mantendo o jargo costumeiro, a uma entrada assim diz-se que ela activa a Low.

    Ou seja: tal como h duas espcies de sensores e actuadores (activos a High ou activos a Low), assim h que passar a considerar vrias espcies de entradas e sadas (das gates):

    Entrada activa a High: a gate assume internamente que a entrada sinaliza 1 quando nela o nvel High;

    Entrada activa a Low: a gate assume internamente que a entrada sinaliza 1 quando nela o nvel Low;

    Sada activa a High: para sinalizar um 1 interno na sada, a gate fora nela o nvel elctrico High;

    Sada activa a Low: para sinalizar um 1 interno na sada, a gate fora nela o nvel elctrico Low. Visando a passagem ao circuito elctrico, deve explicitar-se no logigrama, em cada entrada e sada de gates, a

    sua espcie. Isso faz-se com um smbolo especial, dito de indicador de polaridade, a saber: . Na prtica: se

    uma entrada ou sada estiver qualificada com , diz-se Activa a Low; se o no estiver, diz-se Activa a High.

    Com esta conveno, h dois smbolos possveis para o Integrado, vid ao lado. Confronte-se o primeiro com o

    do NAND (logrado na Lgica Esttica): so iguais! O indicador de polaridade pode ento ser percebido como um

    inversor lgico! Com esta ressalva, aqueles dois smbolos traduzem as expresses YXZ e YXZ que,

    conforme s leis de De Morgan, so equivalentes: Aqueles dois smbolos so equivalentes! Pelo que natural a

    questo: Como escolher entre os dois? Fica relegado para momento mais oportuno a resposta a esta questo

    Realce-se que, num logigrama nestoutra Lgica, as entradas e sadas so qualificadas (ou no) com aquele

    indicador de polaridade, independentemente umas das outras. Como exemplo, vid ao lado dois chips (um AND e

    um OR, ambos de 3 entradas), em que algumas das entradas e sadas so activas a Low e as outras so activas a

    High E, por aplicao das leis de De Morgan, ser pacfico ao leitor obter os smbolos IEC equivalentes Neste contexto, comum usar a expresso Nvel de Actividade de uma entrada ou sada (ou de um sensor ou actuador) para designar o nvel elctrico a que ela advm activa: se activa a High, diz-se que o seu Nvel de

    Actividade High e, La Palisse contraporia, se activa a Low, diz-se que o seu Nvel de Actividade Low. Ao invs de logigramas em Lgicas Estticas em que as entradas e sadas tm todas o mesmo Nvel de Actividade isso j no sucede nesta nova Lgica por tal facto se denominando Mista ou de Polaridade.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 12 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 13 of 119

    Lgica de Polaridade / Logigramas em Lgica mista / de Polaridade

    Esto agora reunidas as condies para desenhar um logigrama em Lgica mista/de Polaridade, de forma a subsequentemente o materializar num circuito elctrico real.

    Para qualquer Projecto e, por conseguinte, para o 8 Projecto , esse desenho progride ao longo de trs fases.

    A primeira fase desenhar o diagrama lgico, atendendo unicamente funcionalidade pretendida. Recorde-se que, no tocante ao 8 Projecto, isso foi feito logo ao abrir da sesso: pelo simples exerccio da

    massa cinzenta, chegou-se s expresses para D e V, e ao correspondente diagrama lgico, vid ao lado. Note-se que, nesta fase de desenho do logigrama, no se tm em conta os Nveis de Actividade nem dos sensores e actuadores, nem das entradas e sada das gates

    A segunda fase especificar no logigrama as Condies fronteira na prtica justapondo os sufixos _L ou _H a todos os nomes de entradas e sadas externas.

    Quanto ao 8 Projecto, isso tambm j se fez: admitindo que os Sensores das Portinholas, o Interruptor Go e o

    disable so activos a Low, e que o Sensor de Carga excessiva e a Lmpada Verde so activos a High, as entradas e

    sadas externas do logigrama foram renomeadas como ao lado se mostra: B_L, T_L, G_L e D_L; e C_H e V_H.

    A terceira fase ajustar os Indicadores de Polaridade das entradas e sadas dos chips. Por mor de compreenso do que por isso se entende, retome-se o logigrama em fase de desenho:

    Atente-se na linha entre T e uma entrada do OR W. Quer-se que, sse o sensor T assumir o valor 1 (isto

    : estiver activo), aquela entrada se volva internamente num 1 (isto : fique activa). Mas vid o sufixo em T_L

    , T activo traduz-se em forar Low na linha. Portanto: essa entrada deve advir activa sse o nvel elctrico nela for Low; por outras palavras: a entrada deve ser activa a Low o que se denota qualificando-a com ;

    Um raciocnio e uma concluso similares valem para a linha entre B e a outra entrada desse mesmo OR; e

    outrossim para as linhas entre G e o AND N, e entre G e o inversor SW;

    Atente-se agora na linha entre C e uma entrada do AND S. Quer-se que, sse o sensor C estiver activo,

    essa entrada fique activa. Mas vid o sufixo em C_H , C activo traduz-se em forar High na linha. Portanto: essa entrada deve advir activa sse o nvel elctrico nela for High; por outras palavras: a entrada deve ser activa a

    High o que se denota no a qualificando com o smbolo ; Em todos estes casos, constata-se: se o Nvel de Actividade dum sensor for High, ento o de alguma entrada a

    que ele se liga dever ser High; mas se for Low, ento o Nvel de Actividade dessa entrada dever ser Low.

    Atente-se na linha entre D e a sada do OR E. pacfico persistir no mesmo raciocnio: concluir que, pois

    que o Nvel de Actividade de D Low, o dessa sada dever ser Low o que sugere qualific-la com .

    Se a sada no estivera ligada a nada mais, isso seria correcto. Mas ela tambm se liga ao inversor SE, pelo

    que se prefere outra tctica: em vez de a qualificar com , intercalar na linha, prximo de D, um assim

    designado inversor de polaridade. Note-se: o actuador D deve advir activo sse a sada do OR E ficar activa.

    Mas vid o sufixo em D_L , para D advir activo, o nvel elctrico deve a ser Low. Todavia, no qualificando a sada do OR com significa que ela activa a High; h, pois, que interpor algo o tal inversor de polaridade caracterizado pelo seguinte funcionamento: fora na sada o nvel Low sse receber entrada o nvel High; (Abra-se um parntesis: No surpreender que o smbolo do inversor de polaridade seja exactamente igual ao

    do inversor lgico: fazem o mesmo Outrossim, pode ser interpretado como um buffer uma gate em que o valor lgico interno entrada reproduzido na sada interna com entrada activa a High, mas com sada activa a Low)

    Atente-se enfim na linha entre V e a sada do inversor SE. Quer-se que o actuador V fique activo sse a

    sada interna do OR E for 0. Mas isso, tal como est, j o logigrama o garante: sse tal ocorrer, o OR fora Low

    sada que o inversor SE reconhece como 0; consequentemente, ele ir forar na sua sada o nvel

    correspondente a 1; ele ser High (o nvel inverso do da entrada) por conseguinte activando o actuador V.

    Em sntese: nada se altera numa linha com nome sufixado com _H; j numa linha com nome sufixado com _L,

    acrescenta-se o indicador de polaridade ( ) ou intercala-se um inversor (ou conversor) de polaridade ( ).

    A terminar, duas recomendaes relevantes:

    tentador substituir por um NAND e tendo em conta as leis de De Morgan o OR W com ambas as entradas activas a Low Mas no recomendvel faz-lo: pelo enunciado, algo acontecer se se abrir uma ou

    outra das portinholas {B, T} e esse ou bem melhor representado por um OR que por um NAND

    E, claro, deve descartar-se o inversor SW: com entrada activa a Low, reproduz na sada o nvel entrada...

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 14 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 15 of 119

    Lgica de Polaridade / Esquema Elctrico em Lgica Positiva

    Desenhado um logigrama em Lgica mista, hora de o materializar Mas, antes, ir-se- abordar como lhe nomear as suas linhas internas de modo a clarificar as funes que a se realizam e os seus Nveis de Actividade

    Veja-se a sada do OR W. Deve advir activa quando B ou T estiverem activos. No jargo vigente, isso

    conduz ao nome _HTB ; ora, e conforme s leis de De Morgan, ele equivale a _LTB . Donde, a questo: Entre esses nomes, qual escolher? A resposta : preferir aquele cujo Nvel de Actividade o da entrada onde a

    linha acaba. No caso, a linha acaba numa entrada activa a High pelo que o nome dever ser _HTB ; Atente-se agora na sada do inversor SW. Deve advir activa quando G estiver inactivo. Isso conduz aos

    nomes _HG e G_L. Qual escolher? A resposta mantm-se: preferir aquele cujo Nvel de Actividade o da

    entrada onde a linha acaba. Ora, ela acaba numa entrada activa a High pelo que o nome dever ser _HG .

    Considerandos e concluses similares valem para as restantes linhas internas vid logigrama ao lado (Abra-se um parntesis: nalgum logigrama, pode a sada de uma gate bifurcar-se isto , estar ligada a duas (ou mais) entradas, uma activa a High e a outra activa a Low. Intui-se como proceder ento: escolher, para cada

    ramal emergindo de tal bifurcao, o nome cujo Nvel de Actividade o da entrada a que ele se liga)

    Antes, propriamente, de se abordar a materializao do logigrama, h que simplific-lo. No caso, dever-se-: descartar o inversor SW pois, com efeito, o nvel elctrico na sua sada reproduz pari passu o nvel elctrico entrada: o inversor no est l a fazer coisa alguma

    substituir os dois inversores direita por um indicador de polaridade sada do OR E: por si s, ele

    cumpre o objectivo daqueles (D ou V devem advir activos sse a sada advir, respectivamente, activa ou inactiva)

    A dificuldade da materializao do logigrama est em que ela tem que se cingir aos chips disponveis no mercado. Ora, os fabricantes de chips s disponibilizam ORs e ANDs com entradas que tm, todas, o mesmo Nvel

    de Actividade. Pelo que, previamente, h que transformar o logigrama de modo a satisfazer essa limitao

    No caso, s existe uma gate onde isso ainda no assim, a saber: o AND N; nele, uma entrada activa a Low e a outra activa a High. Para ficarem ambas com o mesmo Nvel de Actividade, h duas estratgias, vid ao lado:

    ou providenciar que ambas fiquem activas a High o que se logra substituindo o indicador de polaridade na entrada activa a Low por um inversor de polaridade inserido na linha que nela acaba ou providenciar que ambas fiquem activas a Low o que se logra qualificando com indicadores de polaridade os dois extremos da linha que acaba na entrada activa a High (como que eles se compensam mutuamente). (Impe-se um parntesis: podem ocorrer casos em que, para alterar o Nvel de Actividade de uma entrada activa

    a High, no se pode seguir tal estratgia nomeadamente quando o outro extremo da linha que a acaba activo a Low. Intuem-se alternativas (onde em qualquer uma h que qualificar essa entrada com um indicador de

    polaridade): descartar o indicador de polaridade do outro extremo da linha, ou inserir nela um inversor de

    polaridade. No custa imaginar alternativas para alterar o Nvel de Actividade duma entrada activa a Low) Garantido, para todas as gates, que as entradas de cada uma tm o mesmo Nvel de Actividade, resta procurar no

    mercado os integrados com a Tabela de Verdade fsica com que as gates ficaram. s duas opes acima

    correspondem outras tantas concretizaes em termos de Integrados da srie SN74:

    - concretizar o OR W e o AND S com um SN7408; e o AND N e o OR E com um SN7402; - inserir um par de indicadores de polaridade (mutuamente compensantes) em cada uma das linhas que

    interligam os ANDs {N, S} ao OR E - e concretizar tudo, incluindo os inversores, com um par de SN7400s. Concluso inevitvel: h que exercitar muuuuuuuito a massa cinzenta, sob pena de o Projecto descambar em

    mais Integrados do que os estritamente necessrios Na prtica, e aquando da escrita deste texto, a generalidade dos projectistas prefere a Lgica Positiva e natural ser a interrogao: conhecido o logigrama em Lgica mista, como redesenh-lo em Lgica positiva?

    claro o que as distingue: em Lgica Positiva, so inexistentes indicadores de polaridade e sufixos _L e _H;

    dessa constatao, bvia a estratgia a seguir, vid ao lado:

    - se alguma entrada de alguma gate estiver qualificada com um indicador de polaridade, h que substitu-lo por

    um inversor de polaridade inserido na linha que nela acaba;

    - para cada nome sufixado com _L, h que substitu-lo pelo seu equivalente sufixado com _H;

    - no fim, descartam-se todos os sufixos _H.

    Do logigrama assim obtido, ser pacfico deduzir a correspondente alis j sabida expresso booleana

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 16 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 17 of 119

    Codificao da Informao / 9a Projecto

    Esta sesso versa a Codificao de Informao. Para situar este assunto, o ponto de partida natural ser o que

    no ter escapado ao leitor: os sensores at agora tidos em conta s reconhecem informaes binrias. Revisitando

    o 8 Projecto: uma Portinhola est aberta ou no , a carga excessiva ou no , e o interruptor Go est premido ou no; todas estas informaes so binrias: ou Sim, ou Sopas Ora, no mundo real, o mais comum so informaes que assumem mais que dois valores apenas: quando o leitor marca um endereo num telefone, ele

    precisa de discernir o dgito premido, entre 10 possveis; quando escreve um e-mail no teclado dum computador,

    ele precisa de discernir a tecla premida, entre mais de 50 possveis; quando regista um evento com uma cmara de

    vdeo digital, ela precisa de discernir entre uma gama ilimitada de sons e cores Urge, pois, abordar circuitos que sinalizem informaes m-rias Um tipo particular de circuitos assim o que o jargo digital designa de codificadores. Como as outras sesses, ir-se- desenrolar a partir de um Projecto concreto, vid enunciado ao lado.

    A informao no binria: no so s duas as alternativas a codificar; da, uma questo: como codific-la? Suponha-se que a granularidade da observao era reduzida: os contactos seriam s dois; bastaria um bit s:

    seja 0 para codificar que o vento soprava para entre o Norte e o Sudeste e 1 para codificar o contrrio Aumente-se um pouco a granularidade, pelo artifcio de substituir cada contacto por um par de contactos (de

    menor tamanho); alm do bit j referido, seria agora preciso um outro mais: seja 0 para codificar que o vento

    soprava para, grosso modo, mais perto do Norte (ou Sul) e 1 para codificar o contrrio Aumente-se ainda mais a granularidade, pelo mesmo artifcio de substituir cada contacto por outro par de

    contactos; alm dos dois bits j referidos, seria necessrio um outro mais: seja 0 para codificar que o vento

    soprava para, grosso modo, mais perto do Norte ou Este (ou Sul ou Oeste) e 1 para codificar o contrrio

    A concluso vem a ser a seguinte: para codificar, sem ambiguidade, cada um dos 8 valores passveis de ser

    assumidos pela direco do vento, so necessrios (pelo menos) 3 bits, com os nomes, seja, {D2 D1 D0}.

    Ao lado, representa-se a assim denominada rvore de Cobertura da Informao a comunicar: em baixo, listam-se os 8 valores e que vm a ser as folhas da rvore: {NW, W, SW, S, SE, E, NE, N};

    no topo, encontra-se a raz da rvore; dela, bifurcam-se 2 ramos, cada um findando num n; um, etiquetado

    por D2=0, cobre a metade direita das folhas; e o outro, etiquetado por D2=1, cobre a metade esquerda;

    de cada n, bifurcam-se 2 ramos, cada um findando num outro n; um, etiquetado por D1=0, cobre a metade

    direita das folhas cobertas pelo n que lhe fica por cima; o outro, etiquetado por D1=1, cobre a outra metade;

    de cada um desses outros ns, bifurcam-se 2 ramos, cada um findando numa folha; um, etiquetado por D0=0,

    cobre a folha da direita; o outro, etiquetado por D0=1, cobre a outra folha.

    Com o que a cada folha fica associada uma palavra de 3-bits nica: {111, 110, 101, 100, 011, 010, 001, 000}.

    Em sentido inverso, de baixo-para-cima: cada um dos ns mais abaixo ditos do nvel 0 cobre 2 folhas;

    cada um dos ns que lhes ficam logo acima ditos do nvel 1 cobre 4 folhas; e o n mais acima que acaba por

    ser a raz da rvore e dito do nvel 2 cobre 8 folhas.

    Mas, se mais ns houvera por cima, eles cobririam sucessivamente 16, 32, ou, mais genericamente, 2n folhas,

    em que n seria o nmero de nveis de ns e, tambm, o comprimento das palavras, isto : o nmero de bits 0s e

    1s preciso para codificar cada folha (e isso subentendendo que as palavras tm todas o mesmo comprimento).

    Supondo que a informao pode tomar m valores distintos, e associando cada um a uma folha, conclui-se: para

    os codificar, requerem-se m palavras de n bits, em que n o menor inteiro tal que 2n no inferior a m. Pelo que:

    A codificao consistir numa correspondncia biunvoca entre cada valor e uma palavra de n-bits; ao lado,

    apresentam-se duas alternativas (entre muitas outras): o CBN (cdigo binrio natural) que alis o inscrito nos

    contactos do cata-vento e nas folhas da rvore , e o CBR (cdigo binrio reflectido). No que se segue, e a no ser que se explicite em contrrio, a designao cdigo binrio denotar invariavelmente cdigo binrio natural;

    O codificador ter m entradas e n sadas. Como ele l por dentro, eis o que se ir abordar j de seguida Antes, porm, atente-se no conceito subjacente ao termo codificador: derivado da arquitectura do cata-vento

    com 8 inputs! , chegou-se a um circuito cujo output dever identificar qual deles est activo de momento. Mas

    concebvel uma outra estratgia: dotar o cata-vento de um contacto s (com o incio, seja In, onde comea o

    contacto N, e findando onde termina o contacto NW) - e constituir um circuito elctrico especial: ligar-se-ia um

    dos terminais da fonte de alimentao a In, e ligar-se-ia o outro ao eixo do cata-vento; ento, quanto mais o ponteiro do cata-vento rodasse (no sentido dos ponteiros de relgio), maior seria a resistncia elctrica do circuito

    e tudo se resumiria a determinar a amplitude da corrente elctrica, e a desenhar um sensor generalizado com

    um input s (na prtica, um assim denominado conversor analgico-digital), para a codificar em 0s e 1s Lamentavelmente, no se inclui no mbito da disciplina abordar tais sensores generalizados

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 18 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 19 of 119

    Codificao da Informao / Codificador Binrio

    Como ser um codificador? Antecipando a vinda baila de outros codificadores, convm uma soluo genrica

    em particular identificando as entradas no pelas siglas {N, NE, , NW}, mas com nmeros, seja {0, 1, , 7}

    (ou, para maior simplicidade na exposio adiante, {X0, X1, , X7}); tendo construdo o tal codificador genrico,

    bastar depois ligar o contacto N entrada X0 (por exemplo), o contacto NE entrada X1, etc..

    Com o mesmo fito de perseguir uma soluo genrica, tambm no h que ficar restritos a 8 entradas e 3

    sadas: o alvo ser um codificador com n sadas e m=2n entradas.

    Ora, mesmo para as 8 entradas que o 9a Projecto requere, o Mapa de Karnaugh expande-se por 28=256 clulas,

    o que descorooante mesmo para o mais devoto de mister Karnaugh: h que dar uso massa cinzenta O mtodo que se ir usar (aqui e noutros contextos) ser desenhar um codificador com uma sada, e depois

    outro com duas sadas e, reflectindo sobre os Circuitos logrados, generalizar para codificadores com mais sadas

    Caso do codificador 2:1 i.e., com 1 sada (Z) e 2 entradas (identificadas com nmeros, {X1, X0}) Vid ao lado a respectiva Tabela de Verdade: esquerda esto as quatro combinaes das entradas {X1, X0}, e

    direita encontra-se a correspondente sada Z Tendo em mente o funcionamento do cata-vento,

    grosso modo, a seta est sempre a tocar nalgum contacto pelo que nunca se observa {X1=0, X0=0}; alm

    disso, nunca toca em dois contactos ao mesmo tempo pelo que nunca se verifica {X1=1, X0=1}. Regista-se isso

    com o smbolo de indiferena, X, nas correspondentes linhas de Z; quanto aos casos em que a seta toca num contacto s, identificar as entradas por nmeros habilita a uma regra simptica para estabelecer a sada: a sada ser o cdigo binrio do nmero que identifica a entrada (subentende-

    se que os 0s e 1s lgicos so interpretados como smbolos do sistema de numerao de base 2). Portanto:

    quando o contacto tocado for X0 (ou seja: quando X0 advir activo), Z volve-se no cdigo binrio do nmero

    0 que 0; e quando o contacto tocado for X1, Z toma o valor 1 (isto , o cdigo binrio do nmero 1). Resta aplicar o mtodo de Karnaugh, para chegar expresso da sada em termos das entradas

    Caso do codificador 4:2 i.e., com 2 sadas (Z1, Z0) e 4 entradas, {X3, X2, X1, X0} Vid ao lado o respectivo mapa de Karnaugh ( perda de tempo comear por preencher a Tabela de Verdade):

    como expectvel, h clulas que correspondem a combinaes das entradas que nunca se observam: estarem

    todas inactivas ou estarem duas ou mais activas; so todas preenchidas com o smbolo de indiferena, X; as restantes clulas correspondem aos casos onde uma s das entradas est activa, a saber e respectivamente:

    1000, 0100, 0010 e 0001 ou seja, as numeradas {8, 4, 2, 1}; {Z1, Z0} apresentaro o cdigo binrio do

    nmero que identifica a entrada que ento estiver activa, a saber e respectivamente: 11, 10, 01 e 00.

    (Dito de uma forma mais pausada: o caso 0100 corresponde a {X3=0, X2=1, X1=0, X0=0}, ou seja, s X2 est

    activa; isso remete para a clula 4 de ambos os mapas, de Z1 e Z0. Mas X2 estar activa significa que as sadas

    {Z1 Z0} iro apresentar o cdigo binrio de 2 que 10 , ou seja {Z1=1, Z0=0}) Resta aplicar o mtodo de Karnaugh, para chegar s expresses das sadas em termos das entradas.

    Essas expresses so sumamente sugestivas: Z1=1 sse X2 ou X3 forem 1, e Z0=1 sse X1 ou X3 forem 1.

    Generalizando: uma sada, seja Zi, de um codificador binrio genrico ser um OR de algumas das entradas;

    uma entrada, seja Xj, ser includa nesse OR sse o cdigo binrio de j contiver um 1 na posio i.

    Caso do codificador 8:3 i.e., com 3 sadas (Z2, Z1, Z0) e 8 entradas A generalizao feita habilita escrita directa das expresses de {Z2, Z1, Z0}! Veja-se o caso do codificador

    8:3 particularizado para o 9a Projecto: N ligado entrada 0, E ligado entrada 2, etc., vid ao lado.

    Z2 ser um OR Quanto s entradas que ele envolve, sero aquelas cujo cdigo binrio (de 3-bits), comporta

    um 1 na posio 2 e que vm a ser {S, SW, W e NW}, vid ao lado. Idem para Z1 e Z0. Nota: dispondo de tal codificador binrio, ele pode ser usado mesmo se a codificao dos contactos for outra!

    Conviesse usar o CBR (por exemplo), bastaria ligar entrada 2 o contacto SE, que no o contacto E, etc.

    No ter escapado ao leitor que suportar o cata-vento sobre o codificador binrio acima tem dois senes: de um

    lado, ele estar continuamente a sinalizar alguma direco do vento, mesmo quando no soprar vento nenhum;

    ademais, quase inevitvel que, ao rodar de N para NE, a seta venha a tocar em dois contactos ao mesmo tempo e todavia o desenho do codificador binrio partiu do princpio de que tal nunca acontece! hora de lidar com estas condicionantes: o que se vai fazer de imediato

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 20 of 119

    .

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 21 of 119

    Codificao da Informao / 9b Projecto (Codificador de Prioridade)

    Considere um concurso televisivo em que, frente ao jri, se apresentam, de cada vez, quatro concorrentes. Ele

    formula-lhes uma pergunta, aps o que lhes concede algum tempo para pensarem nela Se algum concorrente achar que sabe a resposta certa pergunta, prime um boto que lhe dedicado (e tem diante de si).

    O jri dispe de um circuito que assinala se algum clicou no seu boto e, em caso afirmativo, reporta quem ele (sob a forma de um cdigo binrio). Se, eventualmente, dois ou mais dos concorrentes tiverem clicado

    os respectivos botes, o circuito reportar o que se posicionar mais esquerda.

    Um circuito com este funcionamento designa-se de Codificador de Prioridade. Comparativamente ao

    Codificador Binrio (isto , ao circuito desenhado a propsito do cata-vento), so claras as diferenas:

    agora, pode suceder que mais do que uma das entradas esteja activa (o que, na aplicao em causa, corresponderia a terem sido premidos os botes de dois ou mais dos concorrentes);

    e at pode suceder que nenhuma das entradas esteja activa!

    Designem-se de {C3, C2, C1, C0} os estados (no-premido ou premido) dos botes dos Concorrentes; e de C a

    sinalizao (no ou sim) de que pelo menos um deles est premido, e de {Z1, Z0} o cdigo binrio que identifica o

    concorrente a reportar ao jri (quando C=1).

    Aceitando a Codificao ao lado, trivial a construo da Tabela de Verdade do circuito:

    esquerda, dispem-se as colunas correspondentes s entradas do circuito, e que vm a ser {C3, C2, C1, C0}

    obviamente, a sada C ser 0 apenas para a combinao em que nenhuma das entradas est activa; quando

    tal suceder, as sadas {Z1, Z0} sero irrelevantes pelo que, na correspondente linha, {Z1, Z0} sero preenchidas

    com o smbolo de indiferena, X;

    para as demais combinaes, C ser 1; e {Z1, Z0} ser o cdigo binrio do nmero {3, 2, 1 ou 0} que identifica o concorrente activo mais esquerda; percorrendo as combinaes de baixo para cima,

    para as (8) combinaes prefixadas por 1, C3 o boto premido mais esquerda: {Z1, Z0} ser ento o

    cdigo binrio de 3, isto : 11

    para as (4) combinaes prefixadas por 01, C2 o boto premido mais esquerda: {Z1, Z0} ser o

    cdigo de 2, isto : 10;

    para as (2) combinaes prefixadas por 001, C1 o boto premido mais esquerda: {Z1, Z0} ser o

    cdigo de 1, isto : 01;

    para a combinao 0001, s h um boto premido, C0: {Z1, Z0} ser o cdigo de 0, isto : 00.

    Por inspeco visual, constata-se:

    que C=1 sse alguma das entradas for 1 o que remete para o OR de todas elas;

    que Z1=1 sse C3 ou C2 forem 1 o que remete para o OR dessas duas entradas;

    que Z0=1 sse C3 for 1, ou C1 for 1 mas C32 no o for o que remete para a expresso ao lado.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 22 of 119

    .

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 23 of 119

    Codificao da Informao / Intermezzo: informar com 0s e 1s?

    Os Projectos acima compeliram Codificao de Informao diversa: contactos dum cata-vento, botes

    atribudos aos concorrentes num concurso (e, anteriormente: botes associados aos membros dum jri, etc.).

    Antevendo a mirade de Projectos em que convir aplicar a metodologia de Sistemas Digitais, hora de revelar:

    possvel codificar (exacta ou aproximadamente) qualquer tipo de informao recorrendo s a smbolos 0s e 1s A este respeito, so comuns duas espcies de codificao:

    Cdigos cujas palavras tm comprimento uniforme n. Codificar um valor da informao associ-lo a uma palavra isto , um conjunto ordenado de n bits. Se

    houver que considerar m valores distintos, requer-se um total de m palavras; precisamente, designa-se de cdigo a

    associao de cada palavra a um valor. Para os cobrir a todos, 2n no dever ser inferior a m; inversamente: se

    houver que codificar m valores, o comprimento mnimo do cdigo ser de n=log2m (arredondado por excesso).

    Eis alguns exemplos:

    Um ecr de um sistema electrnico (TV, computador, mquina fotogrfica, display de um telemvel, etc.)

    usa comummente o sistema de cores dito de RGB (Red-Green-Blue); nele, a cor de um pixel conseguida pela

    adio local das cores primrias (Vermelho, Verde, Azul) em que cada uma delas pode assumir uma certa gama

    de nveis de intensidade. Para o caso, vulgar, de se recorrer a 256 nveis, e posto que log2256=8, deduz-se que cada

    nvel codificado em 8-bits; e pois que, por cada pixel, h que codificar os nveis de 3 cores, conclui-se que as

    palavras do cdigo tm, cada uma, 3*8=24 bits; ou seja: no ecr, cada pixel poder tomar at 224

    cores distintas Os sistemas digitais de comunicao de sons (dos telefones, da rdio e TV, etc.) tambm recorrem a cdigos. Adiante, faz-se uma breve introduo ao sistema mais primitivo, dito de PCM (Pulse Code Modulation)

    uniforme, ficando desde j o leitor advertido que de ento para c a investigao e a tecnologia progrediram O som resulta da variao da presso atmosfrica provocada pelas cordas vocais e restante tracto vocal de algum falando ou cantando, e/ou pelos instrumentos duma orquestra, etc. Essa variao contnua (isto , sem

    mudanas a pique), podendo assumir todos os valores entre um mnimo Vmin e um mximo VMax, vid grfico ao lado. Para a digitalizar (isto : para a converter numa sucesso de bits), seguem-se vrias etapas:

    em primeiro lugar, efectua-se a assim designada amostragem: a um ritmo que tem a ver com as caractersticas (leia-se: frequncia mxima) do sinal sonoro em causa, captam-se amostras dele (isto : determinam-se os valores

    que ele toma em instantes discretos do tempo). No caso PCM, em cada segundo h que obter 8000 amostras

    aps o que cada uma das amostras quantizada. Conceptualmente, divida-se o intervalo entre Vmin e VMax em

    m quanta (vid grfico ao lado, com m=8 quanta); o valor mdio de cada um dito de Nvel de Quantizao. A

    amostra arredondada para o Nvel de Quantizao mais prximo. Adivinha-se o ltimo passo: codificar esse

    Nvel; havendo que diferenciar entre m Nveis de Quantizao, so necessrios, para cada amostra, log2m bits (o

    que, para o caso m=8, conduz a 3-bit/amostra). Resta dizer que o PCM comercial original usa 8-bit/amostra o

    que, para um ritmo de amostragem de 8000 amostras/segundo, resulta um dbito de 64000 bit/seg.

    Notas:

    obviamente, esta tcnica no isenta de erros, ditos de quantizao advindos do arredondamento das amostras Para os reduzir, aumenta-se o nmero de quanta; mas isso aumenta o nmero de bit/amostra pelo que a praxis usual discernir o nmero de quanta suficiente para um erro de quantizao de certo modo imperceptvel;

    no constituir surpresa para o leitor que a tcnica acima, de codificar sinais contnuos, seja usada em muitos outros contextos nomeadamente, na digitalizao de imagens e vdeo, de electrocardiogramas e electroencefalogramas, etc.

    Adiante, abordar-se-o outros exemplos onde as palavras do cdigo tm, todas, o mesmo comprimento.

    Cdigos cujas palavras no tm, necessariamente, o mesmo comprimento.

    No cdigo Morse, cada palavra (no de bits mas de pontos e traos) tem um comprimento que , grosso modo,

    inversamente proporcional frequncia de ocorrncia do caracter que representa. Isso permite, em geral, encurtar

    drasticamente o espao gasto na codificao da informao em causa.

    No mundo digital, esse princpio (e outros) vem a ser usado para compactar a codificao da informao nomeadamente, em ficheiros .zip. Mas, por sair notoriamente do mbito da disciplina a que este documento diz

    respeito, fica apenas este alerta Eventuais curiosos podero encontrar na Internet informao mais detalhada

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 24 of 119

    .

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 25 of 119

    Codificao da Informao / Codificao de Decimais

    Os nmeros so um ingrediente da comunicao; da, uma questo: como codificar os dgitos {0, 1, 2, , 9}?

    Se se optar por cdigos com palavras de comprimento uniforme n, ele dever ser de, ao menos, log210 = 4.

    Mesmo com tal limitao, oferecem-se vrias alternativas:

    Uma primeira o denominado cdigo BCD (Binary Coded Decimal) em cuja verso compactada/packed, cada dgito codificado no nibble (isto : 4 bits) que representa esse dgito na base 2, vid ao lado.

    Nesse cdigo, o nmero 987(10), por exemplo, representado por 1001 1000 0111(BCD): cada dgito do nmero

    codificado separadamente em BCD

    Atente-se que a representao na base 2 daquele nmero outra, concretamente vem a ser 11 1101 1011(2).

    Comparando as duas codificaes, esta ltima mais curta: a representao-BCD exige 12 bits, enquanto a

    representao na base 2 se basta em 10 bits. Porm, para algum que tenha que as ler, a primeira a prefervel,

    porquanto mais fcil de perceber a olho nu

    Nota: existe uma verso no-compactada para o cdigo BCD: nela, cada dgito codificado num byte (isto : 8

    bits), cujos 4 bits de maior peso so preenchidos com 0s, vid exemplo ao lado.

    Uma outra alternativa o designado cdigo D+3 em que cada dgito decimal codificado no nibble que representa na base 2 a soma desse dgito com 3, vid ao lado.

    Uma peculiaridade desse cdigo que palavras igualmente afastadas de uma linha imaginria a meio do

    cdigo so complementares uma da outra. Por exemplo, 0 codificado em 0011; complementando bit-a-bit esta

    palavra, obtm-se 1100 que o cdigo de 9; etc..

    Uma outra alternativa mais o designado cdigo ponderado 8 4 -2 -1 em que cada dgito codificado num nibble tal que a soma dos seus bits ponderados por aqueles pesos resulta nesse dgito. Por exemplo, 1011 o cdigo de 18+04+1(-2)+1(-1)=8-2-1=5

    Outros cdigos decimais ponderados se podem conceber. Eis os pesos de alguns: 5 3 2 -1, 7 4 2 -1; deixa-se ao

    leitor a escrita, alis trivial, dos respectivos cdigos

    Exceptuando o cdigo BCD, os restantes acima so hipotticos ou pr-histricos no sentido de que hoje raramente so usados (se que ainda o so); h todavia que assinalar um cdigo relevante em algumas situaes: o

    cdigo dito de Gray, ou cdigo binrio reflectido, vid ao lado.

    A sua construo anloga das colunas associadas s entradas no Mapa de Karnaugh:

    na coluna mais direita, escrevem-se um 0 e um 1; e, logo aps, reescreve-se esse par, mas invertido: um

    1 e um 0. Por outras palavras: escreve-se o ciclo 01, justape-se um espelho, e logo depois a imagem

    reflectida desse ciclo, 10. Justape-se um novo espelho e a imagem reflectida do que j se escreveu, etc.;

    na coluna que lhe fica esquerda, escrevem-se dois 0s e, logo depois, dois 1s. Justape-se um espelho, e logo depois a imagem reflectida do que est por cima. Justape-se um novo espelho, etc.;

    e assim sucessivamente, at no ficar nenhuma coluna por preencher Com o que as palavras de cdigo ficam dispostas de maneira que duas consecutivas diferem em apenas um bit!

    Como exemplo, vejam-se os cdigos de 3 e 4 que so 0010 e 0110: s diferem no segundo bit esquerda

    guisa de justificao desta filosofia de codificao, reveja-se o codificador binrio desenhado a propsito do

    cata-vento; feita a correspondncia {N, NE, E, SE, S, SW, W, NW} {0, 1, 2, 3, 4, 5, 6, 7}, entrada 3 liga-se

    o contacto SE e entrada 4 liga-se o contacto S

    Considere-se a rotao do vento de SE para S que dever alterar a sada, de 011 para 100. Sucede que

    {Z2 Z1 Z0} so as sadas de ORs das entradas e nada garante que eles tenham o mesmo tempo de propagao. Pelo que pode acontecer que a sada do codificador transite por palavras intermdias, como seja:

    011 010 110 100 (isto : o OR que produz Z0 o mais rpido, e o que produz Z1 o mais lento

    Ao receber tal sucesso de bits, o Centro concluir que o vento ter rodado de SE para E, depois para W e

    enfim para S o que no bem o que sucedeu: o codificador est prulas! Para evitar tal deduo, uma soluo

    usar o cdigo de Gray: fazer a correspondncia {N, NE, E, SE, S, SW, W, NW} {0, 1, 3, 2, 6, 7, 5, 4}; de cada vez que a seta rodar para o contacto vizinho, s uma das sadas mudar, no haver lugar a estados transitrios Face a um Projecto concreto, cabe ao projectista averiguar da convenincia em usar tal filosofia

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 26 of 119

    .

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 27 of 119

    Codificao da Informao / Codificao de Texto

    Desta explorao dos cdigos, no poderia estar ausente a questo: como codificar os caracteres que perfazem

    um texto?

    A este respeito, no so de somenos os valores a ter em conta: as 26 letras minsculas e outras tantas

    maisculas do alfabeto ingls, os 10 dgitos decimais, sinais de pontuao (,, ;, :, !, ?, etc.), sinais

    aritmticos (+, -, etc.) e muitos outros. Perceber-se- ento a escolha de palavras de comprimento 7 que

    habilita a codificar 27=128 valores distintos , para corporizar o assim designado cdigo ASCII (American

    Standard Code for Information Interchange). Ele universalmente usado em computadores, em HTML (a

    linguagem da Internet), etc.; quando, em particular, o leitor usa o NotePad, ou, em Word, executa Save As Text

    Only, o ficheiro assim gerado to-somente uma sucesso de palavras de cdigo ASCII

    Ao lado, apresenta-se a tabela ASCII, isto : a correspondncia entre cada palavra {b7 b6 b5 b4 b3 b2 b1 b0} e o

    caracter que ela representa.

    As duas primeiras linhas cobrem caracteres de controlo; muitos deles so hoje raramente usados para o fim

    em vista quando se especificou o cdigo; nomeadamente, 2 e 3 codificam STX e ETX cujo objectivo

    delimitar o incio (StartOfText) e o fim (EndOfText) de um texto a comunicar entre, por exemplo, um computador

    e um terminal remoto; hoje, isso faz-se de outro modo A quarta linha cobre essencialmente, mas no apenas, dgitos decimais; cada um destes representado pelo

    respectivo cdigo binrio precedido de 011; As quatro ltimas linhas cobrem essencialmente, mas no apenas, letras: maisculas e minsculas; entre uma

    maiscula e a correspondente minscula, o nico bit que se altera nas respectivas palavras de cdigo b5; A terceira linha, e outras palavras de cdigo das outras linhas, cobrem sinas de pontuao, operaes

    aritmticas, etc.; por exemplo, a clula 20(16) representa um espao em branco

    Como exemplo de aplicao de tal cdigo, apresenta-se ao lado a codificao em ASCII da palavra Lisboa; a

    prtica comum , entretanto, e em vez de tal sucesso de bits, preceder cada palavra de cdigo de um 0 com o que ela passa a ocupar a totalidade de um byte , e substituir cada nibble pelo smbolo hexadecimal que lhe corresponde, vid ao lado.

    Desde a sua verso original, em 1963, o ASCII sofreu vrias revises.

    O ASCII original foi concebido para a lngua inglesa; para ultrapassar tal limitao, uma estratgia consistiu em

    aumentar o comprimento das palavras de cdigo, de 7 para 8 bits; isso permitiu acrescentar tabela mais 128

    palavras Uma verso assim, bastante usada, a designada de ISO-8859-1 (Latin 1), que j cobre os caracteres

    acentuados (como seja e ) das lnguas latinas da Europa.

    Mais recentemente, foi especificado um outro cdigo, dito de UNICODE, este j com um comprimento de

    palavra de 16 bit para cobrir tambm caracteres de outros alfabetos (grego, rabe, etc.), smbolos matemticos e caracteres ideogrficos como so os usados em chins.

    Nota final, importante: prtica comum abreviar a designao palavra de cdigo para, mais simplesmente,

    cdigo. Com o que no se admirar o leitor de deparar com asseres como sejam:

    no cdigo BCD, o cdigo de 6 0110;

    no cdigo ASCII, o cdigo de L 46(16). Nos dois casos,

    o primeiro uso de cdigo remete para a lista de associaes entre os valores de informao a codificar e as diversas palavras de cdigo;

    o segundo uso de cdigo remete para a palavra de cdigo a que est associado um valor particular. No que se segue, far-se- abundante uso de tal praxis, devendo o contexto em que se usa o termo cdigo ser suficiente para no haver confuso para o leitor relativamente ao significado com que esse termo est a ser usado.

    Tambm por mor de abreviao, ser empregue a designao cdigo binrio de 3 (por exemplo), para denotar

    palavra que, no cdigo binrio, representa 3.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 28 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 29 of 119

    Descodificao / 10a Projecto

    Esta sesso versa maioritariamente a Descodificao de Informao ou mais precisamente, os circuitos que a concretizam: Descodificadores (decoders, no jargo anglo-saxnico). Porm, pela relevncia que ocupa, neles e

    noutros dispositivos que iro sendo abordados a partir de agora, convir dedicar algum tempo operao dita de

    enable/disable. Como nas outras sesses, ir desenrolar-se a partir de um Projecto concreto...

    Considere um cofre tal que, para o abrir, necessrio: posicionar correctamente trs interruptores Up/Down e,

    depois, clicar num boto Enable. A chave, ou cdigo de abertura do cofre, a introduzir (nos interruptores) para o

    abrir Up-Down-Down.

    Subentende-se que, se as posies dos interruptores no estiverem conformes quela chave, um alarme ir tocar

    mas tal depender do estado do boto Enable: Se o boto Enable estiver disabled (intui-se que quem deseja abrir o cofre ainda no acabou de posicionar os interruptores, pelo que ainda no clicou no Enable), a porta do cofre mantem-se fechada e o alarme no toca;

    Caso contrrio (se o boto Enable estiver enabled), se as posies dos interruptores corresponderem chave, a porta do cofre abre-se e o alarme no toca; seno, a porta do cofre mantem-se fechada e o alarme toca.

    Ao lado, encontra-se a Codificao das entradas (o boto Enable e os trs Interruptores {I2, I1, I0}) e sadas (o

    Alarme e a abertura da Porta), e a Tabela de Verdade do Circuito que as controla conquanto, verdade seja dita,

    ela no seja de todo precisa para escrever as expresses das sadas {A, P} em funo das entradas {E, I2, I1, I0} A partir delas, pode de imediato desenhar-se um logigrama, vid ao lado.

    No custa ver que esse logigrama no foi desenvolvido segundo as habituais topologias nem de uma SOP (OR de ANDs) nem de uma POS (AND de ORs): que ele foi desenhado para salientar vrias peculiaridades:

    Em primeiro lugar, h uma parte do circuito cuja sada fica activa se e somente se as posies dos interruptores estiverem conformes chave do cofre (Up-Down-Down); notrio que essa sada , ignorando a

    entrada Enable, um Mintermo das entradas {I2, I1, I0}!

    Nota: o nome Mintermo foi introduzido para denotar cada componente da 1 Forma Cannica duma funo. Por

    mor de brevidade, usar-se- a designao MinTermo das entradas {I2, I1, I0} para significar uma funo dessas entradas que constituda por apenas um Mintermo.

    Generalizando: dado um conjunto de entradas genricas, o detector de uma combinao particular delas isto , um circuito cuja sada fica activa apenas para essa combinao das entradas um Mintermo dessas entradas! Abra-se um parntesis para lembrar: a sua expresso um produto das entradas, em que cada entrada aparece

    uma s vez, na forma normal ou complementar, consoante respectivamente essa entrada for 1 ou 0 (na

    combinao em causa). Aplicado ao caso do cofre, onde o cdigo da sua chave 100 isso volve-se em 0

    I1

    I2

    I .

    Uma outra peculiaridade que as sadas {A, P} so (quando a entrada Enable se encontra activa) complementares uma da outra.

    Isso no deve ser encarado com displicncia por um projectista: no contexto de algum Projecto que um dia

    venha a ter entre mos, ele poder vir a decidir usar integrados que disponibilizem sadas assim e mal seria ele recorrer a um NOT para lograr a negao de uma sada que o prprio integrado j facilita! Por conseguinte: h que

    ter muita ateno funo de todos os pinos dos integrados por que se opta para materializar um Projecto!

    Enfim, as sadas {A, P} do circuito so as sadas de dois ANDs que tm uma entrada comum, dita de Enable; com o que, se ela estiver inactiva, aquelas sadas ficaro consequentemente inactivas!

    Esta uma caracterstica de bastantes circuitos integrados no mercado: comportam uma entrada enable que, se inactiva, fora a(s) sada(s) a ficar(em) inactiva(s)! H mesmo integrados que exibem diversas entradas enable:

    cada uma est associada a uma ou mais sadas de tal modo que, se inactiva, as fora a ficarem inactivas! Dito de uma maneira informal (no exacta): as sadas controladas por uma entrada Enable s funcionaro como se quer (isto , conforme s expresses booleanas a que se chegou) se e somente se essa entrada Enable estiver activa.

    De novo justificando pela sua relevncia, convm gastar algum tempo mais com a operao Enable/Disable. o que se vai fazer de imediato.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 30 of 119

    .

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 31 of 119

    Descodificao / Intermezzo: Enabling/Disabling

    O mercado disponibiliza integrados com uma entrada especial enable que, se inactiva, fora as sadas que lhe

    esto associadas a ficarem a 0! Este comportamento pode ser generalizado no sentido de que, se aquela entrada

    estiver inactiva, as sadas permanecero num estado por omisso (default), que pode ser 0 ou 1.

    Considere-se ento um circuito tal que uma sada Z (controlada por uma entrada enable) ser, se essa entrada

    Enable estiver activa, um valor genrico, seja X.

    Caso em que a sada controlada pela entrada enable , por omisso, 0:

    A Tabela de Verdade para este caso encontra-se ao lado: quando a entrada Enable estiver inactiva, a sada Z

    ser 0; caso contrrio, dever ser o tal valor genrico X.

    Manifestamente, a sada ser um AND, entre X e E que, sem surpresa, o circuito que produz as sadas

    {A, P} no logigrama do 10a Projecto Adiante, ser comum a expresso o AND fica activado para denotar um AND com uma entrada enable que se encontra activa (com o que a sua sada ser o produto das restantes entradas).

    Caso em que a sada controlada pela entrada enable , por omisso, 1:

    A Tabela de Verdade para este caso encontra-se ao lado: quando a entrada Enable estiver inactiva, a sada Z

    ser 1; caso contrrio, dever ser o tal valor genrico X.

    Manifestamente, a sada vir a ser um OR, entre X e o complemento de E, vid ao lado

    Uma questo decisiva para um Projectista , obviamente, a correcta interpretao dos esquemas dos catlogos

    dos fabricantes em ordem a saber com preciso o comportamento de cada pino dos diversos integrados. A esse respeito, existe a IEEE Standard 91-1984, Graphic Symbols for Logic Functions um documento que normaliza o desenho dos circuitos integrados. Ao longo das sesses de que esta faz parte, preferiu-se, e em vez de apresentar a

    Standard de uma vez s, ir repescando nela as notaes que determina para cada assunto que se venha a abordar.

    Para a operao Enable, a Standard apresenta dois qualificadores IEC diferentes, a saber: EN e G.

    EN assinala uma entrada Enable que afecta todo o integrado; em particular, afecta todas as sadas: quando inactiva, todas as sadas do integrado advm inactivas;

    G assinala uma entrada Enable que afecta apenas algumas sadas (ou entradas) do integrado; para se

    discernir quais so, essas sadas so numeradas e G especifica, com nmeros, quais as sadas que afecta.

    Ao lado, apresentam-se vrios smbolos IEC (isto , conformes Standard); em todos eles, pretende-se que, se

    uma entrada E do circuito advir Low, seja feita o disable da sada. Da esquerda para a direita,

    1. No primeiro integrado, h uma sada, Z, e uma entrada Enable; para especificar que esta afecta s aquela

    sada, esta qualificada com 3, e a entrada enable qualificada com G3. Pois que esta activa a High, deduz-

    se: para que Z fique Low quando E advir Low, bastar interligar E directamente entrada enable do integrado

    (Em vez de qualificar a sada Z com 3, seria tambm vlido qualific-la com um nmero que ainda no

    estivesse a ser usado como prefixo/sufixo, seja 2 desde que a entrada enable fosse requalificada para G2)

    2. No segundo integrado, h uma sada, Z, e uma entrada Enable; para especificar que esta afecta todas as

    sadas, ela qualificada EN Sendo ela activa a High, deduz-se: para que Z fique Low quando E advir Low,

    bastar interligar E directamente entrada enable

    3. No terceiro integrado, h uma sada, Z, e uma entrada Enable; para especificar que esta afecta todas as

    sadas, ela qualificada EN Sendo ela activa a Low, deduz-se: para que Z fique Low quando E advir Low,

    preciso interpor um inversor entre E e a entrada enable

    4. No quarto integrado, h uma sada, Z, e uma entrada Enable; para especificar que esta afecta todas as sadas, ela qualificada EN No caso, ela , internamente, o AND de trs entradas, duas quais activas a Low;

    deduz-se: para que Z fique Low quando E advir Low, uma soluo ser:

    interligar E directamente terceira entrada daquele AND (a que activa a High), e forar o nvel Low em ambas as entradas activas a Low

    H que referir um erro de principiante, que interligar E ao AND, mas deixando no ar as entradas activas a Low imaginando que, se as deixar no ar, elas ficaro activas que isso no se pode pressupor! Uma entrada enable no pode ficar no ar, tem mesmo que se lhe forar um nvel Low ou High (o que for pertinente em cada momento); caso contrrio, arrisca-se a que, com grande probabilidade, o circuito no funcione como se quer!

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 32 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 33 of 119

    Descodificao / 10b Projecto

    Enfim, hora de abordar Descodificadores. Qui seja melhor faz-lo a partir de outro Projecto concreto...

    Considere o leitor um guindaste que est sendo usado para carregar cascalho Para efeitos de controlo do

    guindaste, ele disponibiliza um conjunto de 15 vlvulas hidrulicas:

    4 para elevar ou baixar a lana, em qualquer caso sendo possveis 2 velocidades; 4 para rodar a lana, para a esquerda ou para a direita, em qualquer caso sendo possveis 2 velocidades; 4 para enrolar ou desenrolar o cabo, em qualquer caso sendo possveis 2 velocidades; 2 para abrir o balde, sendo possveis 2 velocidades; 1 para fechar o balde. Pretende-se um dispositivo de controlo remoto, ligado ao guindaste por um cabo multi-condutor; ele dever ter

    15 botes associados um-a-um s 15 vlvulas supracitadas e um boto stop (significando nada a fazer); mas, para ser leve e fcil de transportar, o cabo dever comportar o menor nmero de condutores Pretendem-se os circuitos codificador e descodificador Nota importante: pressupe-se que a cada momento s pode ser accionada uma vlvula hidrulica e, em consequncia, a cada instante estar premido um e um s boto, nem que seja o boto stop

    Havendo que ter em conta o boto stop, o total de sinais que o dispositivo de controlo dever estar capacitado

    para comunicar de 16; isso conduz a ter que usar, entre ambos, um mnimo de log216=4 condutores.

    Designem-se eles de:

    {O1 O0} para codificar a operao a realizar, entre as quatro possveis: mover a lana, rodar, enrolar o cabo e accionar o balde;

    A para codificar o atributo a acompanhar a especificao da operao a realizar, respectivamente: para-cima ou para-baixo, -direita ou -esquerda, enrolar ou desenrolar e abrir ou fechar;

    V para codificar a velocidade a que operao se deve realizar: depressa ou devagar

    Montando a quatro as sadas {O1 O0 A V} do codificador da operao a solicitar ao guindaste, claro que o

    total de combinaes que o conjunto delas pode assumir ser de 24=16. Qual o significado a atribuir a cada

    combinao? Ele fica esclarecido se se aceitar a codificao para cada uma das sadas ao lado:

    Atente-se, como exemplo, na combinao 1010, ou seja {O1=1, O0=0, A=1, V=0}; ela corresponde a rodar

    (pois O1=1 e O0=0) direita (pois A=1) devagar (pois V=0); vice-versa, a operao baixar a lana depressa

    dever ser codificada em 1101, ou seja {O1=1, O0=1, A=0, V=1}; de facto, mover a lana codificado em

    O1=1 e O0=1, para baixo codificado em A=0 e depressa codificado em V=1

    Saliente-se que a tabela ao lado no nenhuma Tabela de Verdade! Alis, 16 entradas levariam a 216

    linhas

    Ela uma lista das combinaes de 4 bits e, porquanto elas so as possveis sadas de um codificador, natural ser design-las de cdigos das operaes a realizar. Em particular, o cdigo de baixar a lana depressa

    1101. Acontece que esta a representao de 13 no cdigo binrio pelo que sugestivo:

    identificar com nmeros (0, , 15) tanto as entradas do codificador como as sadas do descodificador;

    designar a operao baixar a lana depressa de operao n 13 e associ-la quer ao boto n 13 e ipso

    facto entrada n 13 do codificador, quer sada n 13 do descodificador

    Ao lado, esquematiza-se o sistema de comunicao entre o dispositivo de controlo remoto e o guindaste:

    O dispositivo de controlo comporta um codificador em que, como sabido, uma s das entradas est activa

    e cuja sada o cdigo binrio da operao a realizar (sendo 0000 no caso stop);

    O guindaste envolve um descodificador que recebe o cdigo binrio da operao a realizar (ou 0000) e que activa uma s das suas sadas.

    O sistema acaba por funcionar como se a entrada 0 do codificador estivesse directamente ligada sada 0 do

    descodificador, a entrada 1 do codificador sada 1 do descodificador, e assim por diante S que com

    ligaes directas haveria que usar 16 condutores, que no apenas os quatro em que se basta o esquema ao lado.

    Deixa-se ao leitor o desenho do codificador, alis trivial: cada sada, seja Zi, ser um OR de algumas

    entradas; uma entrada, seja Xj, ser includa nesse OR sse o cdigo binrio de j contiver 1 na posio i Pelo que resta a questo: como ser um descodificador l por dentro? o que se ir abordar de imediato.

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 34 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 35 of 119

    Descodificao / Descodificadores Binrios

    Como ser um descodificador? Convm, claro, uma soluo genrica em particular identificando as

    entradas no mediante {O1 O0 A V}, mas com nmeros, seja {3, , 0} (ou, equivalentemente, {A3, , A0}); e

    outrossim identificando as sadas com nmeros, seja {15, , 0} (ou {Z15, , Z0}); ademais, tambm no h que

    ficar restritos a 4 entradas e 16 sadas: o alvo ser um descodificador com n sadas e m=2n entradas.

    Ora, mesmo para as 4 entradas que o 10b Projecto requere, isso remete para 16 Mapas de Karnaugh cada um

    com 16 clulas, o que um fortssimo atentado pacincia de qualquer ser humano Adivinha-se o mtodo que se ir usar: desenhar um descodificador com uma entrada, e depois outro com duas

    entradas e, reflectindo sobre os Circuitos logrados, generalizar para descodificadores com mais entradas. Para determinar as sadas, far-se- o seguinte: uma combinao das entradas ser interpretada como um cdigo

    binrio e s ficar activa a sada identificada com o nmero que lhe corresponde. As entradas podem ser ento

    pensadas como entradas de seleco/Address no sentido de que seleccionam a nica sada a ficar activa.

    Caso do descodificador 1:2 i.e., com 1 entrada de seleco (A) e 2 sadas (numeradas, {Z1, Z0}) Vid ao lado a respectiva Tabela de Verdade: esquerda esto as duas combinaes da entrada A, e direita

    encontram-se as correspondentes sadas {Z1, Z0} De facto, e pela regra acima: quando A for 0, que o

    cdigo binrio de 0, ficar activa a sada Z0, permanecendo Z1 inactiva; e quando A for 1, que o cdigo

    binrio de 1, ficar activa a sada Z1, permanecendo Z0 inactiva. As expresses das sadas so bvias

    Caso do descodificador 2:4 i.e., com 2 entradas de seleco {A1, A0} e 4 sadas, {Z3, Z2, Z1, Z0} Vid ao lado as Tabelas de Verdade: quando {A1=0, A0=0} ou seja, quando se forar entrada a combinao

    00, que o cdigo binrio de 0, ficar activa a sada Z0, permanecendo inactivas as demais; e se a

    combinao entrada for 01, que o cdigo de 1, ficar activa a sada Z1, e somente ela; e assim por diante...

    As expresses das sadas so bvias e velhas conhecidas: so mintermos (Z0=m0, Z1=m1)! Alis, para o

    concluir, bastaria ver que cada uma advm 1 s para uma combinao das entradas que o que define um mintermo Generalizando: uma sada dum descodificador binrio ser o mintermo que corresponde a essa sada! (O mesmo se teria aduzido se se reparara que, na terminologia do 10a Projecto, cada sada funciona como o detector duma combinao particular das entradas) O passo final ser o desenho de um logigrama. Vid ao lado

    duas alternativas: uma gerada directamente a partir das expresses dos mintermos (dois planos, um de inversores e

    outro de ANDs), e uma outra em que o plano de inversores substitudo por um plano de descodificadores 1:2.

    Caso do descodificador 3:8 i.e., com 3 entradas de seleco (A2, A1, A0) e 8 sadas A generalizao feita habilita escrita directa das expresses de {Z7, Z1, , Z0}! Z7 ser o mintermo m7 (que

    A2 A1 A0), Z6 ser o mintermo m6, etc.. O leitor ser capaz de por si s escrever as expresses das outras sadas

    J se referiu a Standard 91-1984 para a interpretao de esquemas. Ao lado, exemplifica-se a sua aplicao a

    descodificadores. Todos tm um qualificador geral (General Qualifying Symbol), nomeadamente X/Y ou 2/4; so

    admissveis outros para identificar descodificadores, vid ao lado. As entradas de seleco so identificadas pelos

    pesos em palavras do cdigo binrio, decrescendo de baixo para cima, como sejam {8 4 2 1}; e as sadas so

    identificadas por nmeros (inteiros no negativos), crescendo de cima para baixo. Da esquerda para a direita,

    1. O primeiro integrado um descodificador 2:4, em que tanto as entradas como as sadas so activas a High;

    2. O segundo tambm um descodificador 2:4 (com entradas e sadas activas a High), mas com uma entrada

    enable (activa a High): ela necessita ser activada para que a sada seleccionada advenha activa!

    3. O terceiro de que exemplo o SN74138 um descodificador 3:8 (com entradas activas a High e sadas activas a Low), tambm com enable (que , internamente, o AND de trs entradas, duas das quais activas a Low);

    4. O quarto de que exemplo o SN74154 um descodificador 4:16 (com entradas activas a High e sadas activas a Low), tambm com enable (que , internamente, o AND de duas entradas, ambas activas a Low);

    5. O quinto de que exemplo o SN74139 um par de descodificadores 2:4 independentes (com entradas activas a High e sadas activas a Low), cada qual com uma entrada enable (activa a Low);

    6. O sexto de que um exemplo o SN74155 um par de descodificadores 2:4 que partilham as entradas de seleco (com entradas activas a High e sadas activas a Low), cada qual com entrada enable (que ,

    internamente, o AND de duas entradas, uma activa a Low e a outra activa a High).

    Nota final: Quando um integrado disponibiliza duas ou mesmo trs entradas enable, f-lo para tornar a vida

    mais fcil ao Projectista! Se as no usar com inteligncia, poder eventualmente vir a recorrer a hardware a mais

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 36 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 37 of 119

    Descodificao / rvores de Descodificadores

    O descodificador binrio um elemento comum em sistemas digitais. Pense-se, por exemplo, na edio de um

    documento num computador: quando se lhe acrescenta um caracter mais, aquele tem que discernir onde memoriz-

    lo entre os, eventualmente, milhes de clulas da sua memria; isso apela a um descodificador com milhes de sadas Dir-se-: pois que se construa um descodificador com outros tantos mintermos, um por sada!. Mas essa

    sugesto tem um calcanhar de Aquiles: mesmo para uma memria de somente um milho (220) de clulas, cada

    mintermo volver-se-ia num AND com 20 entradas o que, ao momento da escrita destas linhas, excessivo: urge investigar como, com integrados que o mercado disponibiliza, construir um descodificador com muitas sadas!

    Reveja-se o 10b Projecto que apela ao desenho de um descodificador de 4 entradas e 16 sadas, isto , ao desenho de um circuito que selecciona a sada a activar, entre dezasseis, para uma dada combinao de entradas.

    Recorde-se a lista dos cdigos das operaes admissveis; ela foi configurada de modo a que:

    O bit de maior peso, O1, selecciona se a operao diz respeito lana (O1=1) ou no; No caso afirmativo, o bit seguinte, O0, selecciona se se trata de mover a lana (O0=1) ou no; No caso afirmativo, o bit seguinte, A, selecciona se se trata de subir a lana (A=1) ou no; No caso afirmativo, o bit de menor peso, V, selecciona se a operao deve ser feita depressa (A=1) ou no.

    A descodificao da operao 1101 e o mesmo vale para as outras pode ento entender-se como uma srie de seleces consecutivas, o mesmo dizer uma cascata de descodificadores: o primeiro com uma entrada de

    seleco que o bit de maior peso, , o ltimo com uma entrada de seleco que o bit de menor peso

    Por mor de simplificao, ao lado esquematiza-se esta arquitectura para um descodificador de 2 entradas, sejam

    {A1, A0} (e portanto com 4 sadas), com base em descodificadores 1:2 (com entradas e sadas activas a High);

    compreendendo-a, o leitor poder, com descodificadores 2:4 (por exemplo), desenhar um descodificador 4:16

    A primeira etapa (e porquanto o objectivo desenhar um descodificador de 4 sadas com descodificadores

    com 2 sadas) dispor dois descodificadores 1:2, um por baixo do outro; designem-se eles de {N, S} e numerem-

    se-lhes as sadas, de cima para baixo: {0, 1, 2, 3}; elas ficam sendo as sadas do descodificador 2:4 em vista.

    Porquanto o objectivo desenhar um descodificador, h que garantir que a cada momento fique activa s uma

    daquelas quatro sadas. Consegue-se isso com descodificadores 1:2 com enable e activando s o que detm a

    sada que ficar activa: ou se activa o descodificador N e se desactiva o descodificador S, ou se faz o contrrio.

    Isso explica a segunda etapa: preceder o par de descodificadores {N, S} de um descodificador 1:2, seja W

    e ligar as suas sadas s entradas enable de {N, S}; activando W, garante-se que ficar activa uma e uma s das

    sadas {0, 1} e em consequncia ficar activado um e um s dos descodificadores {N, S}.

    A terceira etapa adivinha-se: ligar as entradas {A1, A0} s entradas de seleco dos descodificadores: A1

    fica ligado entrada de W e A0 fica ligado s entradas de N e S.

    Para apreciar como funciona a arquitectura em rvore a que se chegou, considere-se que nas suas entradas

    {A1, A0} se fora a combinao 10 e acompanhe-se o que vai ocorrendo da esquerda para a direita

    pois que A1=1, em W ficar activa a sada numerada 1; com isso, ficar desactivado (disabled) o descodificador N, e ficar activado (enabled) o descodificador S;

    pois que A0=0, em ambos os descodificadores {N, S} ficaro seleccionadas as sadas numeradas 0; mas,

    porquanto N est desactivado, a sada 0 de N permanecer inactiva: advir activa apenas a sada 0 de S;

    pressupondo que as sadas esto numeradas {0, 1, 2, 3} de cima para baixo, tal significa que ficar activa a

    sada 2, cujo cdigo binrio 10 e que precisamente a combinao que se forou nas entradas {A1, A0} Notas:

    a raz da rvore, W, encontra-se esquerda e nela que se interliga a entrada de maior peso, A1;

    as folhas da rvore, {N, S}, encontram-se direita e a elas que se liga a entrada de menor peso, A0; e se o descodificador fosse de uma dimenso que justificasse interpor outros descodificadores mais, entre a raz e as folhas, teria que se lhes ligar entradas de peso sucessivamente decrescente (da esquerda para a direita).

    Estas convenes no so ao acaso: decida o leitor o contrrio (isto : ligar A0 a W e ligar A1 a {N, S}) e

    descobrir que, se se forar entrada a combinao 10, a sada que ir ficar activa j no ser a numerada 2

    Enfim, assumiu-se que as entradas e sadas dos descodificadores 1:2 disponveis so activas a High. Mas isso

    no est de antemo garantido: convm que o leitor investigue o que fazer se algumas forem activas a Low.

    E, tambm, investigar como construir outros descodificadores, como sejam 3:8 ou 4:16, com base em outros

    descodificadores, como sejam 2:4 ou uma sbia combinao de descodificadores de dimenses distintas

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 38 of 119

  • Vitor M. P. Vargas / IST Sistemas Digitais (Part II) Page 39 of 119

    Descodificao / 10c Projecto

    A rvore que concretizou o descodificador 2:4 ilustra a aplicao do que se poder designar de partilha de

    blocos funcionais.

    Para apreender melhor esta tcnica, considere-se a sada numerada 1 que vem a ser a sada 1 do

    descodificador N. Ela ficar activa sse as duas condies seguintes se verificarem:

    - a entrada de seleco de N for 1;

    - estiver activado (enabled) o descodificador N.

    A primeira condio equivale a dizer: o bit de menor peso entrada, A0, for 1;

    A segunda condio equivale a estar activa a entrada enable de N o mesmo dizer estar activa a sada 0 de

    W; mas tal sucede sse a sua entrada de seleco for 0 ou seja: sse o bit de maior peso entrada, A1, for 0.

    Concluindo: a sada 1 ficar activa sse A1=0 e A0=1 o que corresponde ao mintermo m1, 0A1A .

    Similarmente, a sada 0 ficar activa sse A1=0 e A0=0 o que corresponde ao mintermo m0, 0A1A.

    Qualquer dos dois mintermos envolve o termo 1A . O que notvel que, em vez de usar um inversor para

    gerar m0 e um outro para gerar m1, a rvore, para os materializar a ambos, recorre a um s bloco, W!

    Revisitando essa rvore: a sada 0 de W partilhada pelos mintermos m0 e m1, e a sada 1 de W

    partilhada pelos mintermos m2 e m3

    Pode o leitor reapreciar esta partilha, se aceitar o desafio de desenhar um descodificador 4:16:

    - sob a forma de uma rvore de descodificadores 2:4,

    - ou sob a forma de uma rvore mista, de descodificadores 1:2 e 3:8;

    - ou mesmo sob a forma de uma rvore de descodificadores 1:2, 2:4 e 1:2 isto : um descodificador 1:2

    ligado a dois descodificadores 2:4, cada um dos quais ligado a quatro descodificadores 1:2

    E, aps observar essa tcnica da partilha nesses circuitos, natural ser concordar que tender a ser interessante

    sobretudo para circuitos com vrias sadas. Qui um novo Projecto o possa testemunhar melhor Quando mister apresentar, a um observador humano, a