You are on page 1of 95

Eletrônica digital

Eduardo dos Santos Ferreira


Introdução
• Os sistemas digitais têm se tornado parte
integrante de nosso cotidiano: Telefones, celulares,
TVs, geladeiras, computadores...
• Em aviação sistemas digitais estão presentes em
praticamente todos os subsistemas da aeronave:
Displays de voo, de motor, sistemas de controle de
motor...

2
O que é um sistema digital?
• Um sistema digital é um circuito eletrônico que
processa informações usando apenas dígitos
(números) para implementar suas operações e
cálculos.
• Os dígitos utilizados são binários, aceitam apenas
dois valores possíveis 0 ou 1.
• Este é o sistema de numeração de base 2 ou
binário.

3
O que um equipamento digital
faz?
• Codifica informações de nosso mundo analógico
para linguagem binária, que será entendida pelo
sistema digital implementado
• Executar operações de cálculos utilizando apenas
dígitos binários 0 e 1.
• Retornar a resposta para nosso mundo de forma
que possamos compreende-la

4
Descrição de sistemas digitais
• Hierarquia: Divisão de subsistemas digitais que
constituem o sistema total
Unidades básicas

Unidades complexas

Unidades mais complexas

5
Descrição de sistemas digitais
• Redes lógicas:
• A lógica digital é baseada no comportamento dos
números binários.
• Como grupos de variáveis binárias podem ser
utilizadas para representar virtualmente qualquer
conjunto de dados, é possível descrever qualquer
rede digital.

6
Descrição de sistemas digitais
• Circuitos elétricos (hardware): refere-se a
construção física de um sistema digital, a qual é
possível com a utilização de componentes que
controlam o fluxo de corrente elétrica de forma a
implementar as operações lógicas.
• O sistema digital é projetado utilizando lógica
digital e depois implementado em um hardware
usando componentes eletrônicos

7
Descrição formal
• É possível descrever um sistema digital apenas
fazendo-se uso de frases descritivas definidas
dentro do contexto da linguagem.
• Estes conceitos têm sido formalizados no
desenvolvimento de Linguagem de descrição de
hardware – HDLs
• Este conceito é muito parecido com a programação
de alto nível (java, c, c++, C#)

8
Representação de dados
• Pode-se utilizar palavras binárias para representar o
que quisermos.
• Vamos imaginar um indicador de direções de uma
aeronave digital que representa o norte, sul, leste e
oeste, utilizando uma palavra binária.
• Vamos criar a palavra direção D, ela precisa ter 2
bits para representar as 4 direções (22 = 4)
• D = 00 → Norte
• D = 01 → Sul
• D = 10 → Leste
• D = 11 → Oeste
9
Codificação
• É o processo de dar significado a um grupo de bits.
• Por lógica devemos utilizamos o mesmo processo
de codificação para fazer a decodificação

Decodificador
Codificador

Unidade de
Entrada Saída
processamento

Representação Saída
binária binária 10
Números digitais e decimais
• Necessitamos transformar nossos dígitos decimais
(0 a 9) em binários (0 e 1) para que possamos
utilizar portas lógicas para executar operações
aritméticas elementares.
• Base ou raiz r para um sistema de numeração é o
número de quantos dígitos estão disponíveis para
contagem
• Base 10 – dez dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
• Base 2 – dois dígitos 0 e 1

11
Mudança de binário para decimal
• Para representar os 10 dígitos decimais em binário
precisamos de no mínimo 4 bits pois 23 < 10 < 24
• Vamos formar uma palavra binária de quatro bits
• N = N3 N2 N1 N0
• Para representar os dígitos da base 10:
• N = N3 N2 N1 N0 (binário)
• N = N3 x 23 + N2 x 22 + N1 x 21 + N0 x 20 (decimal)
• N = N3 x 8 + N2 x 4 + N1 x 2 + N0 x 1 (decimal)

12
Exemplo
• Converter para decimal
• N = 0110
• N = 1011

13
Decimal Binário
0 0000
Exemplo 1 0001
• Podemos representar com uma 2 0010
palavra binária de 4 bits os números 3 0011
digitais de 0 a 15 4 0100
• Uma palavra de n-bits tem 2n 5 0101
combinações possíveis 6 0110

• Dessa forma pode-se utiliza-la para 7 0111

representar os números decimais de 8 1000


0 a 2n – 1 9 1001
10 1010
• O k-ésimo bit tem um peso decimal
11 1011
igual a 2k
12 1100
• Uma palavra de 8 bits tem 28 = 256 13 1101
permutações, representado dígitos 14 1110
na base 10 de 0 a 255
15 1111
14
Resumo
• Forma geral para conversão binário para decimal:
𝐴 = 𝐴𝑛−1 × 2𝑛−1 + 𝐴𝑛−2 × 2𝑛−2 + ⋯ + 𝐴2 × 22 + 𝐴1 × 21 + 𝐴0 × 20

15
Mudança de decimal para binário
• Técnica de divisões sucessivas:
• Considere um número decimal N. Para encontrar a
palavra binária b equivalente, dividiremos
sucessivamente o número N por 2, anotando o
resto após cada divisão.

16
Converter 1910 para binário
19
= 9 + 𝑅0 = 1 Este é o bit menos significante (LSB)
2
9
= 4 + 𝑅1 = 1
2
4 𝑏 = 𝑅4 𝑅3 𝑅2 𝑅1 𝑅0
= 2 + 𝑅2 = 0
2 𝑏 = 100112
2
= 1 + 𝑅3 = 0
2
1
= 0 + 𝑅4 = 1
2

O algoritmo da conversão termina quando o resultado da divisão é zero. Isto define o


bit mais significante (MSB)

17
Exercícios
• Converter para binário os seguintes números de
base 10:
• 56
• 11
• 255
• 31

18
Frações
• A maioria dos programas de computador usam
números inteiros
• Alguns cálculos precisam de números fracionários
• Para representar as frações utilizamos a seguinte
forma:
𝑏 = 0, 𝑏−1 𝑏−2 𝑏−3 ⋯

19
Frações
• A conversão para a fração F10 é feita estendendo a
formula de decodificação utilizando potencias
negativas de 2 para os pesos dos bits:
𝐹 = 𝑏−1 × 2−1 + 𝑏−2 × 2−2 + ⋯

20
Exemplo
• Converter a fração binária b=0,10110 para base 10
𝐹 = 𝑏−1 × 2−1 + 𝑏−2 × 2−2 + 𝑏−3 × 2−3 + 𝑏−4 × 2−4 + 𝑏−5 × 2−5
𝐹 = 1 × 0,5 + 0 × 0,25 + 1 × 0,125 + 1 × 0,0625 + 0 × 0,03125
𝐹 = 0,5 + 0,125 + 0,0625 = 0,6875

21
Conversão de fração decimal para
binária
• Técnica de multiplicações sucessivas
• Exemplo, converter 0,6875 para binário:
0,6875 × 2 = 1,375 → 𝑏−1 = 1
0,375 × 2 = 0,75 → 𝑏−2 = 0
075 × 2 = 1,50 → 𝑏−3 = 1
0, 5 × 2 = 1,0 → 𝑏−4 = 1

Se subtrairmos 1 desse resultado obtemos como resto o valor 0, indicando o fim


do algoritmo

0,687510 = 0, 𝑏−1 𝑏−2 𝑏−3 𝑏− = 0,10112

22
Exercícios
• Converter de decimal para binário
• 0,123
• 0,3456
• 0,1123
• 0,1111

23
Erro de arredondamento
• Imagine um sistema digital que representa frações
binárias com 4 bits:
𝑁 = 𝑏−1 × 0,5 + 𝑏−2 × 0,25 + 𝑏−3 × 0,125 + 𝑏−4 × 0,0625

0,00012 = 0 × 0,5 + 0 × 0,25 + 0 × 0,125 + 1 × 0,0625 = 0,0625


0,00102 = 0 × 0,5 + 0 × 0,25 + 1 × 0,125 + 0 × 0,0625 = 0,125
A menor resolução é 0,0625. A fração 0,9270 não pode ser representada utilizando
uma fração binária de 4 bits
O valor mais próximo é 0,11112 = 0,937510 > 0,927010 que produz um erro de:

0,9375 − 0,9270
× 100% = 1,13%
0,9270
O erro diminui adicionando mais dígitos a palavra binária
24
Números hexadecimais
• 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
• Para converter de hexadecimal para decimal usa-se
a formula:
𝑁 = ℎ𝑛−1 × 16𝑛−1 + ℎ𝑛−2 × 16𝑛−2 + ⋯ + ℎ2 × 162 + ℎ1 × 161 + ℎ0 × 160

25
Decimal Hexa Binário

Hexadecimais 0
1
0
1
0000
0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111 26
Convertendo de binário para hexa
• Quebra-se a palavra em grupos de 4 bits e utilize a
sequencia da tabela anterior
• Exemplo 10011100111001012
• 1001 1100 1110 01012 = 9CE516 = 0x9CE5

27
Células e hierarquia
• Para criar sistemas digitais, utilizamos blocos
fundamentais chamados células.
• Cada célula oferece uma operação útil para o
sistema
• O sistema digital é criado associando estas células
• A representações gráficas destas células e blocos
são chamados de diagramas lógicos

28
Exemplo
• Suponha entradas digitais A, B e C
• Elas alimentam uma célula que exibe uma saída
f(A,B,C)
• f = 1 se A = 1 ou B = 1 ou C = 1
• f = 0 caso contrário

A
B Célula f(A, B, C)
C

29
Linhas de transmissão de dados

Unidade 1 Unidade 1

Serial

Unidade 1

Unidade 2
Paralelo
30
Topo

Hierarquia Nível de sistema

Unidades

Unidades básicas

Nível de componentes

31
Base
Primitiva de sistema
• Uma primitiva de sistema é uma função básica
utilizada várias vezes para criar uma unidade.

32
Clocks T
1

0
t(s)

• O clock é um sinal que faz periodicamente uma


transição de 0 para 1 e volta para 0.
• Eles são utilizados para fazer uma referencia de
operações que envolvem temporização
• O clock é definido pelo período T (segundos)
• Podemos também defini-lo pela frequência (hertz)

1
𝑓=
𝑇 33
Exemplo
• Um processador ARM Cortex M3 utilizado em um
avião não tripulado tem frequência de clock de
50MHz. Determine o período do clock.

1 1 −8
𝑇= = 6
= 2 × 10 𝑠 = 20𝑛𝑠
𝑓 50 × 10

34
Portas lógicas
• Elas utilizam bits de entrada para produzir um bit
de saída f
• Matematicamente f=f(A, B)
• A saída assume um valor de 0 ou 1 conforme a
combinações das entradas que apenas podem
assumir valores 0 ou 1
• O fluxo de dado é lido das entradas através da
porta para as saídas
Tabela verdade
f
A
Exemplo f
B
35
Memória
• Uma célula de memória é capaz de capturar e armazenar o valor de
uma variável binária
• A célula de memória por definição não altera erroneamente seu
conteúdo
• Suponha D = 1, 1 é armazenado na célula de memória, esta ação é
chamada de escrita
• Uma vez escrito ele pode ser lido na saída X
• A entrada do relógio permite que a ação seja sincronizada com o resto
do sistema

relógio

Célula de
D memória X
entrada saída
36
Registradores
• Um registrador é um bloco de células de memória
utilizadas para armazenar palavras
• A escrita e a leitura dos dados do registador é
sincronizado pelo clock

37
Parte II
Álgebra booleana e portas lógicas
Representação e processamento
de dados
• No sistema binário de numeração a informação é
representada utilizando apenas os dígitos (bits) 0 ou 1
• Uma variável binária X assume por definição apenas
valores 0 ou 1, e portanto ela pode apenas descrever
duas situações que podem acontecer.
• Pensando em lógica clássica x pode ser verdadeiro ou
falso

39
Representação e processamento
de dados
• Para representar dados com mais de dois valores
possíveis usamos palavras binárias, que são grupos
de bits formados em uma ordem definida e que
representam todas as possíveis combinações
• Por exemplo os bits a3, a2, a1, e a0 são bits
individuais que podem formar uma palavra de
quatro bits, chamada de dado, assumindo a forma:

𝑑𝑎𝑑𝑜 = 𝑎3 𝑎2 𝑎1 𝑎0

O dado tem 4 bits e pode assumir 24 = 16 combinações possíveis


40
a3 A2 a1 A0 f
Processamento 0 0 0 0 0
do dado em 0 0 0 1 1
0 0 1 0 1
nível de bit 0 0 1 1 1
0 1 0 0 1
• Imagine uma função 0 1 0 1 1
lógica f(a3, a2, a1, a0) 0 1 1 0 1

• Ela terá 16 saídas 0 1 1 1 1


1 0 0 0 1
diferentes para cada uma
1 0 0 1 1
das 16 combinações do
1 0 1 0 1
dado de entra
1 0 1 1 1
• Estas possibilidades são 1 1 0 0 1
representadas em uma 1 1 0 1 1
tabela verdade 1 1 1 0 1
1 1 1 1 1 41
Operações lógicas básicas
Buffer – a saída segue a entrada: A f
Se A = 0 → f = 0
Se A = 1 → f = 1
𝑓 𝐴 =𝐴

NOT – a saída é o inverso da


entrada: A f
Se A = 0 → f = 0
Se A = 1 → f = 1
𝑓 𝐴 = 𝐴ҧ

42
Operações lógicas básicas
f
OR – OU:
Se A e B = 0 → f = 0
Se A ou B ≠ 0 → f = 1
𝑓 𝐴, 𝐵 = 𝐴 + 𝐵

f
NOR – NOU:
Se A e B = 0 → f = 1
Se A ou B ≠ 0 → f = 0
𝑓 𝐴, 𝐵 = 𝐴 + 𝐵

43
Portas lógicas básicas
f
AND – E:
Se A e B = 1 → f = 1
Se A ou B ≠ 1 → f = 0
𝑓 𝐴, 𝐵 = 𝐴 ∙ 𝐵

f
NAND – NE:
Se A e B = 1 → f = 0
Se A ou B ≠ 1 → f = 1
𝑓 𝐴, 𝐵 = 𝐴 ∙ 𝐵

44
Portas lógicas básicas
Ou exclusivo – XOR e NOR exclusivo – XOR NOT:

f f

𝑓 =𝐴⊕𝐵 𝑓 =𝐴⊕𝐵

45
Exemplo de carta de tempo

46
Exemplo de carta de tempo

47
Exemplo de carta de tempo

48
Exemplo de carta de tempo

49
Propriedades básicas
Dupla negação

𝐴ҧ = 𝐴
Propriedades OU Propriedades E
𝐴+1=1 𝐴⋅1=𝐴
𝐴+0=𝐴 𝐴⋅0=0
𝐴+𝐴=𝐴 𝐴⋅𝐴 =𝐴
1+1=1 𝐴 ⋅ 𝐴ҧ = 0
1+0=1
𝐴 + 𝐴ҧ = 1

50
Leis da álgebra de Boole
Leis comutativas

𝐴+𝐵 =𝐵+𝐴
𝐴∙𝐵 =𝐵∙𝐴
Leis associativas
𝐴 + 𝐵 + 𝐶 = 𝐴 + 𝐵 + 𝐶 = 𝐴 + (𝐵 + 𝐶)
𝐴 ∙ 𝐵 ∙ 𝐶 = 𝐴 ∙ 𝐵 ∙ 𝐶 = 𝐴 ∙ (𝐵 ∙ 𝐶)
Na ausência de parênteses a operação AND precede a operação OR
𝐹 = 𝐴 ∙ (𝐵 + 𝐶) 𝐺 =𝐴∙𝐵+𝐶
𝑋 = (𝐵 + 𝐶) 𝑌 =𝐴∙𝐵
𝐹 =𝐴∙𝑋 𝐺 =𝑌+𝐶

51
Leis distributivas

𝐴 ∙ (𝐵 + 𝐶) = 𝐴 ∙ 𝐵 + (𝐴 ∙ 𝐶)

𝐴 + (𝐵 ∙ 𝐶) = 𝐴 + 𝐵 ∙ (𝐴 + 𝐶)

52
Exemplo – sistema de alarme de
trem de pouso

53
Teoremas de DeMorgam

𝐴 + 𝐵 = 𝐴ҧ ∙ 𝐵ത
𝐴 ∙ 𝐵 = 𝐴ҧ + 𝐵ത
𝐴 ∙ 𝐵ത ∙ 𝐶 = 𝐴ҧ + 𝐵 + 𝐶ҧ

54
Identidades úteis

𝐴+𝐴⋅𝐵 =𝐴
𝐴 + 𝐴ҧ ⋅ 𝐵 = 𝐴 + 𝐵

55
Simplificação de expressões
lógicas
• Simplificar as equações:

𝑓 = 𝐴 ∙ 𝐵 + 𝐴 ⋅ 𝐵ത = 𝐴 ∙ 𝐵 + 𝐵ത = 𝐴 ⋅ 1 = 𝐴

𝑓 = 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐵 ⋅ 𝐶 = 𝐴 ∙ (𝐵 ∙ 𝐶) + (𝐵 ⋅ 𝐶)
𝑓 = 𝐴+1 ∙ 𝐵∙𝐶 =𝐵∙𝐶

56
Exercícios
• Simplificar as expressões lógicas

𝑓 = 𝐴 + 𝐵ത + 𝐶 + (𝐵 + 𝐶)ҧ
𝑓 = (𝐴 + 𝐵 + 𝐶) ∙ (𝐴 + 𝐵)
𝑓 = 𝐴 ∙ 𝐵 + 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶ҧ

57
0 / A+B / A.B
Implementação de expressões
lógicas

58
Implementação de expressões
lógicas

59
Implementação de expressões
lógicas

60
Avaliando a saída de circuitos
lógicos
• Suponha que A = 0, B = 1, C = 1 e D = 1

61
Construindo a tabela verdade de
um circuito lógico

62
Construindo a tabela verdade de
um circuito lógico

63
Construindo a tabela verdade de
um circuito lógico

64
Construindo a tabela verdade de
um circuito lógico

65
Implementando circuitos lógicos a
partir de expressões booleanas

66
Continuação

67
Exercício
• Determinar a expressão de saída do circuito lógico
e simplificar utilizando o teorema de DeMorgam

68
Solução

69
Universalidade das portas NAND

70
Universalidade da porta NOR

71
Outras equivalências uteis

72
Porta XOR

73
Porta XNOR

74
Aplicações da porta XOR –
gerador de paridade
• Se o número de 1s na entrada for par a saída é 0
• Se o número de 1s na entrada for impar a saída é 1

75
Circuito de habilitação de
passagem de dados

76
Exercício
• Determine as condições em que a luz de alerta
acende para o piloto:

77
Exercício
• Simplifique as equações utilizando o teorema de
DeMorgam

78
Exercício
• Determine as condições em que o LED fica aceso

79
Parte III
Hardware digital
Encapsulamentos

81
Categoria conforme escala de
integração

82
Tecnologia TTL
• Inversor NOT

83
Tecnologia CMOS

Inversor NOT
84
Famílias TTL

85
Famílias CMOS

86
Tensões como variáveis lógicas
• Precisamos de um parâmetro elétrico para
representar os níveis lógicos 0 e 1
• Utilizamos a tensão elétrica para isso
• Todos os circuitos lógicos utilizam uma fonte de
tensão VDD
• Os valores mais comuns são 12V, 5V e 3,3V
• A potência consumida por um circuito integrado é
igual ao produto da tensão que o alimenta pela
corrente por ele drenada.

87
Níveis lógicos

88
Exemplo de implementação

89
Tempos de atraso lógico
• Tempo de chaveamento de saída
• Tempo de atraso de propagação

90
Tempo de chaveamento de saída
Vout

VDD
90%

10%

t
O tempo mínimo de chaveamento é:
𝑡𝑚𝑖𝑛 = 𝑡𝐿𝐻 + 𝑡𝐻𝐿 tLH tHL
A frequência máxima de operação é:
1
𝑓𝑚𝑎𝑥 =
𝑡𝐿𝐻 + 𝑡𝐻𝐿

91
Exercício
• Considere um inversor com tLH = 7,2ns e tHL=3,9ns,
qual a frequência máxima de operação?

1
𝑓𝑚𝑎𝑥 = = 90,09𝑀𝐻𝑧
7,2𝑛𝑠 + 3,9𝑛𝑠

92
Tempo de chaveamento de saída

O tempo de propagação é:
1
𝑡𝑝 = (𝑡𝑝𝐿𝐻 + 𝑡𝑝𝐻𝐿 )
2

93
Fan-in e fan-out
• Fan-out é o número de entradas de portas que
pode ser ligadas na saída de uma porta lógica
• Fan-in refere-se ao número de entradas: Um
inversor tem fan-in = 1, uma porta E de duas
entradas tem fan-in = 2 e por ai vai ...

94
Atraso em sequencia
• O tempo de atraso de uma sequencia de portas
lógicas ligada em cadeia é a soma dos tempos de
atraso de cada porta
• Exemplo oscilador em anel:

95

You might also like