sábado, 9 de março de 2013

Gente achei um blog legal que tem me ajudado muito na parte de automação, principalmente para os que pretendem usar o microcontrolador arduino esse blog é interessante. Boas práticas a todos!
http://labdegaragem.com

Implementação de portas

Nas seções anteriores, vimos que, com o uso de portas booleanas simples, podemos implementar somadores, contadores, latches e assim por diante. É um avanço e tanto pois, até pouco tempo atrás, só os seres humanos sabiam somar dois números. Sem muito trabalho, é possível projetar circuitos Booleanos que implementem subtração, multiplicação, divisão... veja que estamos próximos de uma calculadora de bolso. A partir dela, não é longo o caminho até as CPUs usadas nos computadores.
E como implementar essas portas na vida real? O Sr. Boole as concebeu no papel e no papel elas parecem ótimas. No entanto, precisamos implementá-las fisicamente para que as portas possam executar sua lógica efetivamente. Feita a transição, teremos nos lançado à criação de verdadeiros dispositivos computacionais.
O modo mais simples de se entender a execução física da lógica booleana é com o uso de relés. Essa é a forma pela qual foram implementados os primeiros computadores. Atualmente, os relés foram substituídos pelos sub-microscópicos transistores criados em chips de silício. Esses transistores são incrivelmente pequenos e rápidos, e consomem bem pouca energia se comparados a um relé. No entanto, os relés são incrivelmente fáceis de se entender, e podem implementar lógica booleana de forma muito simples. Por causa dessa simplicidade, você será capaz de ver que o mapeamento, desde as "portas na teoria" até "ativar portas implementadas em realidade física", é algo possível e simples. Realizar o mesmo mapeamento com transistores é tão fácil quanto.
Vamos começar com um inversor. É fácil implementar uma porta NOT com um relé: iremos usar voltagens que representam estados de bit. Atribuímos ao binário 1 o valor de 6 volts, e ao binário 0 o valor de zero volts (terra). Usamos uma bateria de 6 volts para prover os circuitos de energia. A porta NOT, portanto, terá a seguinte aparência:

Neste circuito, você verá que, se atribuirmos zero volts a A, Q receberá 6 volts; e se atribuirmos 6 volts a A, Q receberá zero volts. É muito fácil de se implementar um inversor com um relé.
Também é fácil implementar uma porta AND com dois relés:
Aqui, note que, se atribuirmos 6 volts para A e B, Q receberá 6 volts. Do contrário, Q receberá zero volts. Este é exatamente o comportamento que se espera de uma porta AND. A porta OR é ainda mais simples: é só juntar dois fios, A e B, para criá-la. Você também poderá utilizar dois relés paralelos, se assim o desejar.
Partindo desse axioma, é possível criar três portas básicas: E, OU ou NÃO (são mais comuns os seus equivalentes em inglês: AND, OR e NOT), a partir dos relés. Podemos juntar estas portas físicas usando os diagramas lógicos acima para criar um somador físico de 8 bits (ripple-carry adder). Se usarmos chaves simples (interruptores) para aplicar entradas A e B ao somador e juntarmos todas as oito linhas Q a lâmpadas, poderemos somar quaisquer dois números e ler os resultados nas lâmpadas ("acesas" = 1, "apagadas" = 0).
A lógica booleana sob a forma de portas simples é bastante direta. A partir delas, criam-se funções mais complexas, como a soma. A implementação física dessas portas é fácil e possível. Desses três fatores, obtemos o coração da revolução digital e podemos entender, em profundidade, como funcionam os computadores.

Flip-flops

Uma das coisas mais interessantes que podemos fazer com portas booleanas é criar memória. Se as portas forem dispostas corretamente, elas vão se lembrar do valor de entrada. Este conceito simples é a base da RAM (memória de acesso randômico) dos computadores, e também possibilita a criação de uma ampla variedade de circuitos úteis.
A memória é baseada em um conceito chamado realimentação (feedback), o que significa que o valor de saída de uma porta retorna à sua entrada. O mais simples circuito com realimentação com o uso de dois inversores está exemplificado abaixo:
Ao acompanhar o caminho da realimentação, nota-se que, se o valor de Q for igual a 1, ele sempre será 1. Se por acaso for 0, sempre será 0. Embora esse circuito em particular não tenha muito uso, é possível ver como a realimentação funciona.
Em circuitos "reais", o uso dessa abordagem simples de realimentação do inversor é perfeitamente possível. Um circuito com realimentação de mais utilidade com o uso de duas portas NAND está exemplificado abaixo:
Esse circuito tem duas entradas (R e S) e duas saídas (Q e Q'). Por causa da realimentação, sua tabela lógica fica um pouco incomum se a compararmos àquelas vistas anteriormente:
RSQQ'
00Inválida
0110
1001
11Retém
O que a tabela lógica mostra é que:
  • se R e S tiverem valores opostos, Q acompanha S e Q' é o inverso de Q;
  • se tanto R quanto S recebem valor 1 simultaneamente, então o circuito retém o que foi apresentado anteriormente em R e S.
Há ainda o estado inválido. Nesse estado, tanto R quanto S valerão 0, o que não tem significado em aplicação de memória, enquanto memória, nada vale. Para prevenir esse estado ilegal, costuma-se acrescentar uma pequena lógica condicional no lado da entrada, conforme abaixo:
Neste circuito, há duas entradas (D e E). Podemos pensar em D como "Data" (dado) e E como "Enable" (habilitar). Se E valer 1, Q acompanhará D. Se E mudar para 0, no entanto, Q lembrará do que tiver sido visto por último em D. Um circuito com este comportamento costuma ser conhecido como flip-flop.
Um flip-flop bastante comum é o flip-flop J-K. Não está claro de onde veio o nome "J-K", mas ele costuma ser representado em um quadro como este:
Neste diagrama, P significa "Preset" (pré-definido), C significa "Clear" (limpar) e Clk significa "Clock" (relógio). A tabela lógica fica assim:
PCClkJKQQ'
111-para-01010
111-para-00101
111-para-011Alterna
10XXX01
01XXX10
A tabela informa que: primeiro, Preset e Clear ignoram J, K e Clk completamente. Se o valor de Preset for modificado para 0, então o valor de Q será modificado para 1; e se o valor de Clear for modificado para 0, então o valor de Q será modificado para 0, não importando o que J, K e Clk estiverem fazendo. No entanto, se Preset e Clear tiverem valor igual a 1, então J, K e Clk poderão operar. A notação 1-para-0 significa que, quando o relógio mudar de 1 para 0, os valores de J e de K, caso sejam opostos, serão memorizados. J e K ficam armazenados na borba da descida do relógio (a transição de 1 para 0). Porém, se tanto o valor de J quanto o de K equivalerem a 1 borba da descida do relógio, então Q simplesmente alterna, ou seja, muda de seu estado atual para o estado oposto.
Agora, você deve estar se perguntando: "e para que serve isso?". Na verdade, o conceito de "disparo por borda" é muito útil. O fato de o flip-flop J-K apenas "armazenar" (latching) as entradas J-K em uma transição de 1 para 0 faz com que ele seja muito mais útil como dispositivo de memória. Os flip-flops J-K também são bastante úteis em contadores (muito usados na criação de relógios digitais). Aqui está o exemplo de um contador de 4 bits usando flip-flops J-K:
As saídas para este circuito são A, B, C e D, que representam um número binário de 4 bits. Na entrada do relógio do flip-flop, mais à esquerda, aparece um sinal mudando de 1 para 0 e de volta para 1 repetidamente (umsinal oscilatório). O contador contará com as bordas de descida que vê neste sinal, ou seja, a cada vez que este sinal que chega mudar de 1 para 0, o número de 4 bits representado por A, B, C e D será incrementado em 1. Então, o contador irá de 0 a 15 e retornará a 0. Podemos acrescentar quantos bits quisermos a este contador e contarmos o que quisermos. Por exemplo, com o uso de uma chave magnética em uma porta, o contador registrará o número de vezes que a porta se abre e se fecha. Com um sensor ótico colocado na estrada, o contador poderá registrar o número de carros que passarem.
Outro uso do flip-flop J-K é na criação de um latch disparado por borda, conforme abaixo:
Neste arranjo, o valor de D é armazenado quando o nível do clock vai de baixo para o alto. Os latches têm extrema importância no projeto de  unidades centrais de processamento (CPUs) e periféricos em computadores.

Somadores simples

No artigo sobre bits e bytes, você conheceu a adição binária. Nesta seção, você verá como podemos criar um circuito capaz de executar a adição binária com o uso das portas descritas na seção anterior.
Comecemos com um somador de um único bit. Digamos que, em um dado projeto, seja necessária a adição de bits para que se obtenha uma resposta. Começamos a projetar o circuito verificando todas as combinações lógicas. Podemos fazer isso a partir das quatro seguintes somas:
0011
+ 0+ 1+ 0+ 1
01110
Tudo vai bem, até que aparece 1 + 1. Nesse caso, você terá de se preocupar com aquele carry bit (bit de transporte) irritante. Se não se importar em transportá-lo (pois, afinal, trata-se de um problema de adição de 1 bit), você poderá resolver esse problema com uma porta XOR. Do contrário, talvez possa reescrever as equações de modo que sempre sejam incluídos 2 bits de saída, assim:
0011
+ 0+ 1+ 0+ 1
00010110
A partir dessas equações, podemos formar a tabela lógica:
Somador de 1 bit com Carry-Out
ABQCO
0000
0110
1010
1101
Observando a tabela, vemos que é possível de se implementar Q com a porta XOR e CO (carry-out) com a porta AND. Simples.
E se quisermos somar dois bytes de 8 bits? Aí fica um pouco mais complicado. A solução mais simples é modularizar o problema emcomponentes reutilizáveis e replicar os componentes. Nesse caso, é necessária a criação de apenas um componente: um somador binário completo.
A diferença entre um somador completo e o somador que vimos anteriormente é que o somador completo aceita uma entrada A e uma B junto com uma entrada carry-in (CI - "vem um"). Com um somador completo, poderemos enfileirar oito deles para criar um somadorda largura de um byte e deixar transitar o bit de transporte, em cascata, de um somador para o próximo.
A tabela lógica para um somador completo é um pouco mais complicada do que as tabelas que usamos antes, porque agora temos 3 bits de entrada. Fica assim:
Somador Completo de 1 bit com Carry-In e Carry-Out
CIABQCO
00000
00110
01010
01101
10010
10101
11001
11111
Há muitas maneiras de se implementar essa tabela. Vamos apresentar um método de fácil compreensão. Verificando o bit Q, vemos que os 4 bits superiores comportam-se como uma porta XOR com relação a A e B, enquanto os 4 bits inferiores comportam-se como uma porta XNOR com relação a A e B. Da mesma maneira, os 4 bits superiores de CO comportam-se como uma porta AND com relação a A e B, e os 4 bits inferiores comportam-se como uma porta OR. Levando em consideração os fatos, o seguinte circuito implementa um somador completo:
Definitivamente, esse não é o método mais eficiente para se implementar um somador completo, mas é de fácil compreensão e bastante lógico. Se for do seu interesse, veja o que se pode fazer para implementar a mesma lógica com menos portas.
Agora, temos uma peça funcional chamada "somador completo". Um engenheiro de computação, então, desenvolve uma "caixa preta", para que os dados fiquem registrados e ele possa deixar de se preocupar com os detalhes do componente. Uma caixa preta para um somador completo seria assim:
Com a caixa preta, é fácil desenvolver um somador completo de 4 bits:
Neste diagrama, o carry-out de cada bit alimenta diretamente o carry-in do próximo bit. Um 0 é conectado ao primeiro bit do tipo carry-in. Se inserirmos dois números de 4 bits nas linhas A e B, a soma de 4 bits aparecerá nas linhas Q com um 1 bit adicional para o último bit do tipo carry-out. Esse encadeamento pode se estender tanto quanto desejável, usando 8, 16 ou 32 bits.
O somador de 4 bits que acabou de ser criado é chamado de somador com propagação do carry (ripple-carry adder). Ele tem esse nome porque os bits de transporte "propagam" de um somador até o próximo. Essa execução é vantajosa por sua simplicidade, mas inconveniente pelos problemas de velocidade. Em um circuito real, as portas levam tempo para mudarem de estado (uma questão de nanossegundos, mas, em computadores de alta velocidade, nanossegundos são significativos). Assim, somadores com propagação do carry de 32 ou 64 bits devem levar de 100 a 200 nanossegundos para terminar sua soma final por causa da propagação do carry . Por esse motivo, os engenheiros criaram somadores mais avançados chamados somadores com carry antecipado (carry-lookahead adders). O número de portas necessárias para implementar o somador com carry antecipado é grande, mas seu tempo para terminar a soma é muito menor.

Portas simples

Há três, cinco ou sete portas simples que precisamos conhecer, dependendo de como se queira contá-las (logo veremos o motivo). Com elas, podem-se construir combinações que implementarão qualquer componente digital imaginável. Essas portas parecerão um pouco limitadas e incrivelmente simples, mas veremos algumas combinações interessantes nas seções seguintes que as tornarão bem mais inspiradoras. 
A porta mais simples chama-se "inversor", ou porta NOT. Ela usa um bit como entrada e produz seu oposto como saída. Segue abaixo, a tabela lógica para a porta NOT e seu símbolo comummente usado em diagramas de circuitos:
Porta NOT
AQ
01
10
Nesta figura, perceba que a porta NOT tem uma entrada chamada A e uma saída chamada Q ("Q" é usada para a saída porque se usarmos "O" (do inglês "output") ela pode se confundir com zero). A tabela mostra o comportamento da porta. Ao atribuirmos o valor 0 a A, Q produz um 1. Ao atribuirmos o valor 1 a A, Q produz um 0. Simples.
porta AND executa uma operação lógica "e" sobre duas entradas, A e B:
Porta AND
ABQ
000
010
100
111
A idéia por trás de uma porta AND é, "Se A = 1 E B = 1, então Q = 1." Podemos notar este comportamento na tabela lógica desta porta. A tabela deve ser lida linha por linha, assim:
Porta AND
ABQ
000Se A = 0 E B = 0, Q = 0.
010Se A = 0 E B = 1, Q = 0.
100Se A = 1 E B = 0, Q = 0.
111Se A = 1 E B = 1, Q = 1.
A próxima é a porta OR. Sua idéia básica é "Se A = 1 OU B = 1 (ou se ambas forem iguais a 1), então Q = 1."
Porta OR
ABQ
000
011
101
111
Essas são as três portas básicas (uma maneira de contá-las). É bastante comum que se reconheçam outras duas também: a porta NAND e a portaNOR. Essas são combinações simples da porta AND ou da porta OR com a porta NOT. Se as incluirmos, a contagem subirá para cinco. Este é o funcionamento básico das portas NAND e NOR (elas são apenas inversões das portas AND e OR):
Porta NOR
ABQ
001
010
100
110
Porta NAND
ABQ
001
011
101
110
As duas últimas portas que podem aparecer na lista são as portas XOR eXNOR, também conhecidas como portas "OR exclusivo" e "NOR exclusivo", respectivamente. Estas são suas tabelas:
Porta XOR
ABQ
000
011
101
110
Porta XNOR
ABQ
001
010
100
111
A idéia por trás da porta XOR é: "se A= 1 OU B = 1, mas NÃO ambas, então Q = 1." O motivo pelo qual XOR pode não constar de uma lista de portas é porque ela pode ser facilmente implementada com o uso das três portas listadas originalmente. Esta é uma implementação:
Se tentarmos todos os quatro padrões diferentes para A e B e os rastrearmos através do circuito, veremos que Q se comporta como uma porta XOR. Como existe um símbolo bastante compreensível para as portas XOR, costuma ser mais fácil pensar em XOR como uma "porta padrão" e usá-la da mesma maneira que as portas AND e OR nos diagramas de circuitos.
A lógica booleana


Introdução

Você já se perguntou como um computador é capaz de fazer coisas como controle do orçamento doméstico, jogar xadrez, ou verificar a ortografia em um documento? Há bem pouco tempo, essas coisas só podiam ser feitas por humanos. Agora, os computadores as fazem com aparente facilidade. Como um "chip" feito de silício e fios pode fazer algo que, aparentemente, só poderia ser realizado pelo cérebro humano?
Para entender a resposta para essa pergunta, primeiro você precisa conhecer algo chamado lógica booleana. A lógica booleana, originalmente desenvolvida por George Boole em meados de 1800, permite que uma série de coisas pouco prováveis sejam mapeadas em bits e bytes. O que há de genial sobre a lógica booleana é que, uma vez entendido seu processo, ela (ou pelo menos a parte necessária para compreender as operações de um computador) é absurdamente simples. Neste artigo, vamos começar discutindo "portas" lógicas simples, e depois veremos como transformá-las em algo útil.


Os bits e os bytes

Se você já usou um computador por mais de cinco minutos, provavelmente ouviu as palavrasbits bytes. A capacidade da memória RAM e do disco rígido, assim como o tamanho dos arquivos são medidos em bytes, quando examinamos em um visualizador de arquivos.
Você pode ouvir um comercial que diga: "este computador possui um processador de 64 bits com 4 gigabytes de memória RAM e 512 gigabytes de espaço no disco rígido". 
Números decimais. A maneira mais fácil de se compreender os bits é compará-los a algo que você já conhece: os dígitos. Um dígito é um local que pode conter valores numéricos entre 0 e 9. Dígitos normalmente são combinados em grupos para criar números maiores. Por exemplo, 6.357 possui quatro dígitos. Sabe-se que, no número 6.357, o 7 ocupa a posição de unidade, enquanto o 5 ocupa a posição de dezena, o 3 ocupa a posição de centena e o 6 ocupa a posição de milhar. Assim, caso queira ser explícito, poderá expressar esse número da seguinte maneira:
(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357
Uma outra maneira de expressá-lo seria utilizando potências de 10. Suponhamos que o conceito de "elevado à potência de" seja representado pelo símbolo "^" ("10 ao quadrado" seria escrito como "10^2"). Assim uma outra maneira de expressar esse número é:
(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (7 * 10^0) = 6000 + 300 + 50 + 7 = 6357
O que se pode perceber nessa expressão é que cada dígito é um marcador de posição para a próxima potência de 10, começando no primeiro dígito com 10 elevado à potência de zero.
Isso deve ser considerado cômodo, já que trabalhamos com dígitos decimais todos os dias. Mas o interessante sobre sistemas numéricos é que não existe nada que o force a ter 10 valores diferentes em um dígito. Nosso sistema decimal provavelmente se desenvolveu porque possuímos 10 dedos - caso viéssemos a evoluir para apenas oito, poderíamos ter um sistema baseado na mesma quantidade de dígitos. Você pode criar sistemas baseados em qualquer quantidade de dígitos. Na verdade, existem várias boas razões para utilizar diferentes bases em diferentes situações.
Bits
Os computadores operam utilizando o sistema numérico baseado em 2 dígitos, também conhecido como sistema numérico binário, assim como o sistema numérico baseado em 10 dígitos é conhecido como sistema numérico decimal. A razão pela qual os computadores utilizam o sistema baseado em 2 dígitos é que isso torna muito mais fácil implementá-los com a tecnologia eletrônica atual. É possível conectar e montar computadores que operam na base de 10 dígitos, mas eles seriam extremamente caros. Por outro lado, os computadores binários são relativamente baratos.
Por isso os computadores usam números binários e, conseqüentemente,dígitos binários no lugar de dígitos decimais. A palavra bit é a abreviação das palavras "Binary digIT" (dígito binário). Enquanto os dígitos decimais possuem 10 valores possíveis, que vão de 0 a 9, os bits possuem apenas dois: 0 e 1. Portanto, um número binário é composto apenas de 0s e 1s, como por exemplo: 1011. De que maneira se descobre qual é o valor do número binário 1011? Você o faz da mesma forma que fizemos anteriormente para 6357, mas utilizará a base de 2 dígitos ao invés de 10. Assim:
(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11

Você pode observar que em números binários cada bit comporta o valor das potências crescentes de 2. Isso torna a contagem em binários consideravelmente fácil. Contando em decimais e binários, começando em zero e indo até 20, fica assim:
     0   =   0
       1   =   1
       2  =   10
       3  =   11
       4  =  100
       5  =  101
       6  =  110
       7  =  111
       8  = 1000
       9  = 1001
      10 =  1010
      11 =  1011
      12 =  1100
      13 =  1101
      14 =  1110
      15 =  1111
      16 = 10000
      17 = 10001
      18 = 10010
      19 = 10011
      20 = 10100
Observando essa seqüência, você percebe que 0 e 1 são os mesmos para os sistemas numéricos decimal e binário. No número 2, no entanto, observa a primeira repetição no sistema binário. Se um bit é 1, e você soma 1 a ele, o bit torna-se 0 e o próximo torna-se 1. Na transição de 15 para 16 esse efeito passa por 4 bits, transformando 1111 em 10000.
Bytes
Os bits dificilmente estão sozinhos nos computadores. Normalmente são agrupados em conjuntos de 8 bits, chamados bytes. Por que existem 8 bits em um byte? Seria o mesmo que perguntar: "por que há 12 ovos em uma dúzia". O byte de 8 bits é algo que as pessoas estabeleceram através de tentativas e erros durante os últimos 50 anos.
Com 8 bits em um byte é possível representar 256 valores, de 0 a 255, como mostrado abaixo:
         0   = 00000000
         1   = 00000001
         2   = 00000010
              ...
         254 = 11111110
         255 = 11111111

Bytes: o padrão ASCII
Os bytes são freqüentemente utilizados para comportar caracteres individuais em um documento de texto. No sistema de caracteres ASCII, cada valor binário entre 0 e 127 está associado a um caractere específico. A maioria dos computadores estende o sistema ASCII, para utilizar a gama completa dos 256 caracteres disponíveis em um byte. Os últimos 128 caracteres comportam elementos especiais, como caracteres acentuados de diversas línguas como o português.
Você pode ver os 127 códigos padrão da tabela ASCII, abaixo. Computadores armazenam documentos de texto, tanto no disco quanto na memória, utilizando esses códigos. Se você utiliza o Bloco de Notas do Windows 95/98 para criar um arquivo de texto contendo as palavras "Four score and seven years ago" (quatro pontos e sete anos atrás), o Bloco de Notas usaria 1 byte de memória por caractere (incluindo 1 byte para cada espaço entre as palavras, caractere 32 da tabela ASCII). Quando o Bloco de Notas armazena a sentença em um arquivo no disco, o arquivo também irá conter 1 byte por caractere e por espaço.
Faça esse experimento: abra um novo arquivo no Bloco de Notas e insira a frase "Four score and seven years ago". Salve o arquivo no disco com o nome de getty.txt. Utilize então o Explorer e veja o tamanho do arquivo. Você irá descobrir que o arquivo ocupa um espaço de 30 bytes no disco: 1 byte para cada caractere. Se você adicionar outra palavra ao final da sentença e salvar novamente, o tamanho do arquivo irá subir para o número referente de bytes. Cada caractere consome um byte.
Se você olhasse para um arquivo como um computador o faz, veria que cada byte contém um número, não uma letra; o número é o código ASCII que corresponde ao caractere (veja abaixo). Desse modo, os números para o arquivo no disco são:
        F  o   u   r     a   n   d      s   e   v   e   n
       70 111 117 114 32 97 110 100 32 115 101 118 101 111

Olhando a tabela ASCII, você pode observar uma correspondência entre cada caractere e o código ASCII utilizado. Observe o uso do 32 para espaço - 32 é o código ASCII para espaço. Poderíamos expandir esses números decimais para números binários (assim, 32=00100000), se quiséssemos ser tecnicamente corretos. Na realidade, é assim que o computador lida com as coisas.

Muitos bytes

Quando se fala em uma grande quantidade de bytes, utilizamos prefixoscomo kilo, mega e giga, para criar outros termos: kilobyte, megabyte e gigabyte (também abreviados para K, M e G, como em Kbytes, Mbytes e Gbytes ou KB, MB e GB). A tabela a seguir mostra os multiplicadoresbinários :
Nome
Abrev.
Tamanho
Kilo
K
 
210 = 1.024
Mega
M
 
220 = 1.048.576
Giga
G
 
230 = 1.073.741.824
Tera
T
 
240 = 1.099.511.627.776
Peta
P
250 = 1.125.899.906.842.624
Exa
E
260 = 1.152.921.504.606.846.976
Zetta
Z
270 = 1.180.591.620.717.411.303.424
Yotta
Y
280 = 1.208.925.819.614.629.174.706.176
Você pode perceber, através desse quadro, que kilo corresponde a aproximadamente mil; mega, cerca de um milhão; giga, um bilhão e assim por diante. Quando alguém diz: "este computador tem um disco rígido de 2 giga", o que está querendo dizer é que o disco rígido pode armazenar 2 gigabytes, aproximadamente 2 bilhões de bytes ou exatamente 2.147.483.648 bytes. Como seria possível você precisar de 2 gigabytes de espaço? Se você considerar que um CD armazena 650 megabytes, perceberá que o equivalente a apenas três CDs de dados ocuparia o disco rígido inteiro! Bases de dados de terabyte são comuns nos dias de hoje e, provavelmente, já devem haver algumas bases de petabyte sendo utilizadas pelo Pentágono(em inglês).
Aritmética binária
A aritmética binária funciona exatamente como a aritmética decimal, exceto pelo fato de que o valor de cada bit pode ser apenas 0 ou 1. Para perceber um pouco da aritmética binária, vamos começar com uma adição decimal e ver como funciona. Suponha-se que queiramos somar 452 e 751:
      452
    + 751
      ---
       1203  
Para somar esses números, você começa pela direita: 2 + 1 = 3. Sem problemas. A seguir, 5 + 5 = 10, conserva o zero e transporta o 1 à próxima soma ("vai um"). A seguir, 4 + 7 + 1 (devido ao vai um) = 12, então, mantém o 2 e transporta o 1. Por fim, 0 + 0 + 1 = 1. A resposta então é 1203.
A adição binária funciona exatamente da mesma maneira:
      010
    + 111
      ---
       1001  
Começando pela direita, 0 + 1 = 1 para o primeiro dígito. Não existe vai um. Você tem 1 + 1 = 10 para o segundo dígito, então, mantém o 0 e transporta o 1. Para o terceiro dígito, 0 + 1 + 1 = 10, mantenha então o zero e transporte 1. Para o último dígito, 0 + 0 + 1 = 1. Assim, a resposta é 1001. Se você traduzir tudo para decimais, verá que está correto: 2 + 7 = 9.

terça-feira, 5 de março de 2013


ELETRÔNICA DIGITAL (parte 1)

Funções e Portas Lógicas

Funções Lógicas

Introdução
No início da era eletrônica, todos os problemas eram resolvidos por sistemas analógicos, também conhecidos por sistemas lineares, onde uma quantidade é representada por um sinal elétrico proporcional ao valor da grandeza medida. As quantidades analógicas podem variar em uma faixa contínua de valores.
Com o avanço da tecnologia, esses mesmos problemas começaram a ser solucionados através da eletrônica digital, onde uma quantidade é representada por um arranjo de símbolos chamados dígitos. Este ramo da eletrônica emprega em suas máquinas, tais como: computadores, calculadoras, sistemas de controle e automação, codificadores,
decodificadores, entre outros, apenas um pequeno grupo de circuitos lógicos básicos (que realizam funções lógicas), que são conhecidos como portas OU, E, NÃO e flipflops.
Então, um circuito digital emprega um conjunto de funções lógicas, onde função é a relação existente entre as variável independente e a variável dependente (função) assim como aprendemos na matemática. Para cada valor possível da variável independente determina-se o valor da função.
O conjunto de valores que uma variável pode assumir depende das restrições ou especificações do problema a ser resolvido. Esta variável é, normalmente, conhecida como variável independente.
Para o momento, nosso interesse está no comportamento de um sistema lógico como o descrito por George Boole em meados do século passado. Nestes sistemas as variáveis independentes são conhecidas como variáveis lógicas e as funções, como funções lógicas (variável lógica dependente). As variáveis lógicas (dependentes ou independentes) possuem as seguintes características:
- Pode assumir somente um de dois valores possíveis;
- Os seus valores são expressos por afirmações declarativas, ou seja, cada valor está associado a um significado;
- Os dois valores possíveis das variáveis são mutuamente exclusivos.
Uma variável lógica
A pode assumir um valor verdadeiro (A=V) ou o valor falso (A=F). Em geral, usa-se uma faixa de tensão em volts compatível com os circuitos digitais utilizados para representar o valor falso ou verdadeiro de uma variável lógica.
Lógica Positiva: A tensão mais positiva representa o valor V (1) e a mais negativa ovalor F(0).
Lógica Negativa: O valor V é representado pela tensão mais negativa (1) e F pela tensão mais positiva (0).
Lógica Mista: No mesmo sistema, usam-se as lógicas positiva e negativa.

FONTE: CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SANTA CATARINA
UNIDADE SÃO JOSÉ
CURSO DE TELECOMUNICAÇÕES

domingo, 3 de março de 2013

Instalação Eletrica Predial


Nos dias atuais, dada a utilização de uma grande quantidade de dispositivos eletrônicos na instalação elétrica domiciliar, não se pode estabelecer uma "fronteira" entre a eletrônica e a eletricidade doméstica. Na realidade, conhecer as instalações é algo de grande importância para o técnico eletrônico, e mais do que isso, os profissionais da área de Eletrotécnica precisam conhecer um pouco de Eletrônica. O ponto de partida para que possamos entender muitos dos dispositivos que são ligados em uma instalação elétrica domiciliar é ela própria que, em princípio, fornece a energia que tais dispositivos precisam para funcionar, e é fundamental saber como ela funciona. Neste artigo, de grande utilidade para leitores de todos os setores, analisaremos o funcionamento de uma instalação elétrica domiciliar típica.

Este artigo é do ano 2000 quando as normas NBR5410 ainda não estavam em vigor para instalações elétricas. No entanto ele serve para dar algumas idéias iniciais para quem está aprendendo.

A energia que recebemos da empresa de eletricidade chega até nossa casa por meio de 3 fios. O porquê de se usar três fios não é muito bem entendido por muitos instaladores que, simplesmente pela prática, os usam para fornecer as tensões típicas de 110V e 220V (Veja nota abaixo) que os aparelhos domésticos comuns precisam para funcionar.

Na verdade, as tensões que chamamos de "110 V" podem ser 115, 117 ou 127 V conforme a localidade e a tensão de 220 V é, efetivamente, de 220 V ou 240 V. Para facilitar o nosso entendimento, no decorrer do artigo chamaremos estas tensões simplesmente de "110 V" ou "220 V".

Assim, o primeiro ponto importante na análise de uma instalação elétrica domiciliar típica é saber de que modo a eletricidade vem por estes três fios.
A energia elétrica que recebemos em nossa casa, numa linguagem simples, é formada por "ondulações" da corrente que vai e vem pelos condutores, pressionada pelo que denominamos tensão.
Isso quer dizer que a tensão varia suavemente, mudando de polaridade 120 vezes por segundo, de modo que 60 vezes ela "empurra" a corrente num sentido, e 60 vezes ela "puxa" a corrente no sentido oposto.
Representando isso por uma senóide, conforme ilustra a figura 1, o que temos são semiciclos positivos quando a corrente é "empurrada", e semiciclos negativos quando a corrente é "puxada".

A tensão senoidal da rede de energia
A tensão senoidal da rede de energia

Para que uma corrente possa circular por um aparelho que seja ligado a esses condutores de energia, ela precisa de um percurso completo, ou seja, de ida e volta, o que significa que um fio só não pode alimentar nenhum aparelho.
Temos de usar obrigatoriamente dois fios, sendo que um é aquele em que se estabelece a pressão que provoca a corrente, e o outro é o denominado "retorno" ou terra, observe a figura 2.

A fase e o neutro
A fase e o neutro

Esse retorno recebe o nome de terra porque realmente a empresa de energia usa a terra para servir a esta finalidade, conforme mostra a figura 3.

Ligação à terra
Ligação à terra

Um fato importante a respeito desse fio de retorno ou terra é que ele se encontra ligado a um corpo que está sempre a um potencial de referência igual a zero. Assim, como estamos em contato com a terra, mesmo que toquemos nesse fio, não levaremos choques, pois estaremos sob mesmo potencial, e consequentemente nenhuma corrente pode circular passando pelo nosso corpo.
Dizemos então que este condutor é o "neutro" da rede de energia.
Dos três fios que chegam até nossa casa trazendo energia elétrica da empresa geradora e distribuidora, dois deles efetivamente apresentam uma "pressão", e por isso estabelecem a corrente pelos aparelhos neles ligados. O terceiro fio, que é o central, representa o retorno comum que é ligado à terra, ou seja, é o "neutro" da instalação, veja a figura 4.

O neutro é aterrado
O neutro é aterrado

Evidentemente, antes do primeiro acesso que temos a esses fios, a empresa coloca um medidor de energia elétrica ou de consumo de energia.
O "relógio de luz", como é popularmente conhecido, mede os quilowatts-hora que consumimos, que correspondem à quantidade de energia fornecida.
Como calcular o consumo pode ser encontrado em outros artigos deste site
O medidor só funciona quando a corrente circula, ou seja, quando algum aparelho é ligado e exige com isso a circulação de uma corrente que lhe fornece energia.
Observe que, se houver alguma deficiência na instalação de energia que provoque um "escape" de corrente, por exemplo, um fio desencapado encostando num ferro da estrutura da casa, conforme indica a figura 5, a corrente circulante acionará o medidor que então registrará um consumo indevido. De uma maneira mais simples podemos dizer que se trata de um "vazamento" de energia pelo qual o usuário, sem saber, paga.

Perda de energia na instalação.
Perda de energia na instalação.

O importante é compreender que toda a corrente que passa pelo "relógio" é registrada, determinando o consumo de energia (vide nota abaixo).


Não existe fundamento técnico algum na crença popular de que colocando garrafas d'água perto do relógio, ele registra um consumo menor...


Após o relógio encontramos um conjunto de dispositivos de proteção, que podem ser fusíveis ou disjuntores.
Os fusíveis são elementos que se queimam quando a corrente ultrapassa um valor considerado perigoso para a instalação.
O que acontece é que a intensidade máxima da corrente que pode passar por um fio é determinada basicamente por sua espessura. Para uma dada espessura, quando a corrente ultrapassa um certo valor, a quantidade de calor produzida pode ser perigosa a ponto de afetar a integridade da capa plástica do fio. Se essa capa derreter, com a perda do isolamento, o perigo torna-se ainda maior, pois poderá ocorrer um curto-circuito, e até um incêndio.
Assim, a função do fusível é queimar interrompendo antes a circulação da corrente, caso sua intensidade se tornar perigosa a ponto de colocar em risco a integridade da instalação.
Os disjuntores têm a mesma finalidade, se bem que funcionem de modo um pouco diferente.
Esses componentes têm a aparência vista na figura 6, consistindo basicamente de chaves que desligam automaticamente quando a intensidade da corrente alcança o valor para o qual eles foram projetado.

Um disjuntor.
Um disjuntor.

A vantagem do disjuntor em relação ao fusível é que o disjuntor simplesmente "desarma", interrompendo a corrente quando ela se torna perigosa, enquanto que o fusível queima.
Uma vez que a causa do excesso de corrente tenha sido eliminada, o fusível precisa ser trocado por outro novo, ao passo que o disjuntor é simplesmente rearmado.
As principais causas da queima de fusíveis ou desarme de disjuntores numa instalação elétrica são os curto-circuitos e as sobrecargas.
Ocorre curto-circuito quando a energia elétrica não encontra um caminho com retorno por meio de um aparelho que limite a intensidade da corrente.
Se um fio encostar em outro (fase e neutro, por exemplo), não havendo um aparelho para entregar a energia, mas sim um percurso de muito baixa resistência, a corrente torna-se intensa a ponto de colocar em perigo a instalação. Acontece o que denominamos de curto-circuito, ou seja, o "circuito" (percurso) não passa pelo aparelho alimentado, mas sim vai diretamente ao retorno.

O curto-circuito
O curto-circuito

Nas instalações em que se utilizam fusíveis, existem também chaves que permitem desligar os diversos setores para o caso de necessidade de manutenção, reparos, ou alterações.
Observe que é neste ponto que a distribuição de energia pela residência é feita.
O normal numa residência é termos três circuitos de distribuição que podem fornecer tensões de 110V ou 220V (ou uma delas somente), de acordo com a instalação.
Partindo então da chave principal em que chegam os três fios, observamos que, a partir deles, podemos obter duas tensões.
Cada fio extremo fornece uma tensão de 110V e tem o retorno comum no fio do meio, ou seja, ele é o neutro para os dois fios extremos.
No entanto, o que observamos nos fios extremos é que os movimentos de "vai-e-vem" dos elétrons que correspondem às suas correntes, não estão sincronizados.
Na verdade, um dos fios pressiona os elétrons no sentido de "irem", no instante em que o outro os puxa no sentido de "virem". Como a frequência dos movimentos é a mesma, mas eles estão dessincronizados, quando um "vai", o outro "vem", ou seja, quando um está positivo em relação ao neutro, o outro está negativo.
Dizemos que estes fios fornecem energia em oposição de fase, o que pode ser representado conforme ilustra a figura 8.

Oposição de fase
Oposição de fase

Assim, podemos fazer uma analogia deste tipo de fornecimento de energia com alavancas que são representadas na figura 9.

Quando a tensão de uma fase
Quando a tensão de uma fase "sobe", a da outra "desce".

O neutro é o apoio. Se usarmos um dos fios, que denominamos vivo ou fase, e o neutro, teremos uma alavanca com uma "amplitude" de movimento menor: é a tensão de 110 V.
Por outro lado, se usarmos os dois fios extremos, ou seja, as duas fases ou vivos, o movimento da alavanca terá maior amplitude, e o resultado será uma tensão de 220 V.
Na instalação doméstica é isso que ocorre: se pegarmos qualquer fase e o neutro teremos 110 V, e se pegarmos as duas fases, como estão em oposição, teremos 220 V.
Observe que fazemos a distribuição de energia equilibrando as correntes que passam pelos três fios.
Pegamos duas fases ou fios extremos para o circuito de 220 V, que vai alimentar torneira elétrica, chuveiro e eventualmente outro dispositivo que precise desta tensão. Ele terá seu disjuntor ou fusíveis apropriados.
Uma das fases e o neutro são usados para alimentar o circuito das tomadas de energia que vão distribuir-se pela casa. Neste circuito, podemos fazer uma segunda separação, por exemplo, num sobrado, para as tomadas do andar de cima e para as tomadas do andar de baixo.
A outra fase e o neutro servem para alimentar as lâmpadas, e neste caso também podemos fazer a separação entre o circuito do andar de cima e o de baixo, no caso de um sobrado.
Observe que é interessante esta separação não só em termos de distribuição das correntes, como também para a manutenção.
Podemos desligar a chave que alimenta as tomadas para trabalhar numa delas, sem precisar desligar a luz, que vai iluminar o local que está sendo trabalhado.
Vêm a seguir os circuitos individuais dos dispositivos alimentados.
Interruptores e lâmpadas são ligados em série, ou seja, a corrente que passa pelo interruptor é a mesma que passa pela lâmpada, conforme mostra a figura 10.

Ligação de um interruptor em série com uma lâmpada.
Ligação de um interruptor em série com uma lâmpada.

Note que é preciso interromper a corrente em apenas um fio, pois isso já corta o percurso que ela tem impedindo sua circulação: a lâmpada não acende.
Em princípio, podemos interromper a corrente no vivo ou no neutro, mas é uma boa prática do instalador identificar o pólo vivo e nele colocar o interruptor. Esse procedimento é interessante porque, se tentarmos trocar uma lâmpada tendo apenas o interruptor desligado, um toque em qualquer parte metálica do soquete ou do circuito não impede que levemos um bom choque, pois passamos a formar o circuito de retorno para a corrente, veja a figura 11.

Mesmo o interruptor desligado tomamos choque na lâmpada.
Mesmo o interruptor desligado tomamos choque na lâmpada.

Se for o pólo vivo o interrompido, nas partes metálicas do soquete da lâmpada teremos apenas neutro, ou seja, elementos com o mesmo potencial de nosso corpo, e que portanto não podem dar choque, mesmo que toquemos neles.
Evidentemente, isso não se aplica a uma lâmpada alimentada por 220 V, onde temos os dois fios em fase.
Outros dispositivos são as tomadas de energia que alimentam diversos tipos de aparelhos.
Estas são conectadas nos diversos pontos da instalação, de acordo com as necessidades. Podemos ter numa instalação tomadas especiais de 220 V, que são conectadas aos pontos em que existe essa tensão.
Para o chuveiro elétrico, um circuito especial com fusíveis ou disjuntor é o aconselhável.

COMO FAZER UMA BOA INSTALAÇÃO
Não basta saber quais tensões temos nos diversos pontos de uma instalação, que fios usar e onde ligar os diversos dispositivos para se fazer uma boa instalação.
Existem muitos detalhes que às vezes não são observados, e que comprometem não só o bom desempenho da instalação como até podem colocar em risco sua integridade com perigo de incêndios, choques perigosos, e até danos aos aparelhos alimentados.
Também temos os casos particulares de dispositivos que nem sempre são bem instalados, e que por isso não atendem às necessidades dos moradores.
Existem diversos exemplos desses casos:
  • Como instalar uma chave que liga e desliga a mesma lâmpada de dois pontos de um corredor? (two-way)
  • Como dimensionar os fios para que um chuveiro funcione corretamente, e sem perigo?
  • Como ligar o fio terra a um chuveiro ou torneira elétrica para que ele não apresente o risco de choques perigosos?
  • Como proteger um aparelho alimentado contra interferências ou transientes que se propagam pela rede de energia? Um computador, por exemplo?
  • Como identificar um fio vivo e um neutro numa instalação?
  • Como fazer uma instalação de lâmpadas fluorescentes?
  • Como escolher uma tomada de força para ser usada com uma máquina de lavar roupa ou outro aparelho de alto consumo?
Todas estas perguntas são respondidas de forma específica no livro Instalações Elétricas sem Mistérios. Trata-se de um manual que não deve faltar na oficina dos técnicos eletrônicos que também fazem trabalhos de eletricista.

TERRA, NEUTRO, MASSA E FASE
Em diversos pontos deste artigo em que analisamos a estrutura básica de uma instalação elétrica domiciliar, citamos os quatro termos acima, mostrando aos leitores que existem "estados" ou níveis de tensão que caracterizam de forma bem distinta os fios ou pontos de uma instalação em que os dispositivos externos são ligados.
As definições, com as explicações dos termos usados, são dadas a seguir.

TERRA - A terra é um condutor de eletricidade. Assim, qualquer corpo que esteja em conexão com a terra terá seu potencial, ou seja, ficará com a mesma tensão, e entre eles não circulará nenhuma corrente. Se um corpo estiver carregado, ou sob um potencial diferente da terra, ele se descarrega. Essa maneira simples, não excessivamente técnica de explicar o que é o terra, nos mostra que, como estamos no mesmo potencial da terra, tocando em qualquer ponto de um circuito que esteja sob o potencial de terra, não tomaremos choque, pois não pode haver circulação de corrente.
Isso quer dizer que a ligação de um corpo à terra é a garantia de que ele não vai nos causar choque se for tocado.
A barra de terra de uma instalação elétrica é para garantir que, em caso de interrupção dos fios ou ocorrência de problemas teremos um dos condutores ligado à terra.

NEUTRO - Um dos condutores de energia da empresa distribuidora é ligado à terra, que serve de retorno para as correntes que circulam pelos aparelhos alimentados. Esse condutor é o neutro. Na maioria das instalações está no potencial de terra (caso em que ambos podem ser confundidos), mas existem situações em que um defeito na instalação como, por exemplo, uma interrupção de um fio, torna o potencial do neutro diferente do potencial do terra, caso em que choques podem ocorrer.

MASSA - Se o neutro ou o terra for ligado a um chassi de um aparelho de modo que esse chassi de metal sirva como um condutor de corrente, ele será chamado de massa. Na maioria dos casos, a MASSA de um aparelho coincide com o terra e o neutro, o que significa que se for tocada, nada acontece em termos de choque. Entretanto, existem aparelhos em que a MASSA não é obrigatoriamente terra e nem neutro. Por exemplo, existem televisores em que um dos fios da rede de energia é ligado ao chassi, e ele não é necessariamente o neutro. Desta forma, a MASSA desses televisores pode estar com um potencial de 110 V ou 220 V, podendo assim causar choques em quem nela tocar.

FASE - O condutor que fornece a energia propriamente e que, portanto, está num potencial acima da terra ou do neutro é denominado FASE. Evidentemente, se tocarmos nesse condutor, sob quaisquer condições, tomaremos choque.


Este artigo foi escrito antes da NBR5410 que regulamenta as instalações elétricas domiciliares. Recomendamos pesquisar sobre esta norma.