Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

ELETRÔNICA DIGITAL 
AULA 5 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Prof. Amilton Carlos Rattmann 
 
 
2 
CONVERSA INICIAL 
Nesta aula, exploraremos o projeto de máquinas de estados finitos (FSM) 
e muitas de suas aplicações como contadores síncronos progressivos e 
regressivos em vários módulos. Compreenderemos o funcionamento e projetos 
de registradores de deslocamentos e outros tipos de contadores como Gray, 
Johnson e anel. Veremos ainda os conversores analógico-digitais (Analog to 
Digital Converter – ADC) e conversores digital-analógicos (Digital to Analog 
Converter - DAC). 
TEMA 1 – MÁQUINA DE ESTADOS FINITOS – FSM 
As máquinas de estados finitos são sistemas que operam dentro de uma 
programação específica, previsível e podem ser representados por diagramas 
de estado que descrevem precisamente seu funcionamento. Os diagramas de 
estado são compostos de estados e transições, sendo que estas podem ser 
motivadas pela ocorrência de determinados eventos. Em sistemas digitais, os 
diagramas de estados são utilizados para descrever e projetar circuitos lógicos 
sequenciais, que empregam portas lógicas nos circuitos combinacionais e flip-
flops (FF) no registro de estados, implementando máquinas de estados finitos. 
1.1 Modelos Mealy e Moore 
As máquinas sequenciais podem definir a progressão de estados apenas 
em função do estado anterior (estado prévio), ou em função do estado anterior 
e de sinais externos. São classificados, portanto, em dois grupos denominados 
máquinas Mealy e máquinas Moore. Nas máquinas Mealy, os sinais de saída, 
que são produzidos pela troca de estados, são gerados em função do valor dos 
sinais de entrada e dos estados. Nas máquinas Moore, os sinais de saída são 
definidos apenas pelas transições de estado. 
Um contador que troca de estados de forma programada e contínua é um 
exemplo de máquina Moore ou, ainda, um sinalizador de porta de garagem que 
alterna entre dois estados acionando as lâmpadas vermelho e amarelo. Um 
contador progressivo-regressivo também troca de estados de forma programada 
e contínua, mas a existência de uma entrada que define o sentido de contagem 
configura uma máquina Mealy. Outro exemplo de máquina Mealy é um sistema 
de controle de elevador, cujo acionamento dos motores de elevação e portas é 
 
 
3 
controlado pelos sinais externos provenientes dos botões do painel do elevador, 
dos andares e dos sensores de posicionamento e segurança. Na Figura 1, são 
apresentados os diagramas das máquinas Mealy e Moore. 
Figura 1 – Máquinas de Mealy e Moore 
 
1.2 Projeto de circuitos sequenciais 
Os circuitos sequenciais são síncronos, caracterizados por todas as ações 
que acontecem baseadas na referência do sinal de clock. Por esse motivo, antes 
de o próximo pulso de clock ocorrer, todos os sinais devem estar preparados e 
estáveis para conduzir o sistema ao próximo estado. A convenção habitual 
utilizada para máquinas de estado define que o estado presente nas memórias 
é o estado atual e que o próximo estado, independentemente de qual seja, é o 
estado futuro. O projeto de uma FSM é essencialmente definir os valores do 
circuito lógico para conduzir o sistema do estado atual para o estado futuro. 
Como o estado atual é definido pelos valores presentes nos FF, o procedimento 
de projeto de uma FSM visa definir quais valores ou sinais precisam estar 
presentes nas entradas dos FF, para que estes assumam os valores 
correspondentes ao estado futuro, já no próximo pulso de clock. Essa ação é 
mostrada no diagrama da Figura 2. 
Para avançarmos no projeto de máquinas síncronas, iremos conduzir um 
estudo sobre o comportamento dos FF JK e D com relação à transição de 
estados, nas transições possíveis de um bit. Na Figura 3, é apresentado o FF JK 
e sua respectiva tabela-verdade. Ainda são apresentadas as transições 
possíveis para um bit. Caso o FF contenha nível lógico baixo (0), as transições 
 
 
4 
apenas poderão ocorrer para o mesmo nível ou para o nível lógico alto (1). Caso 
o FF contenha nível lógico alto, a transição apenas poderá ocorrer para o mesmo 
nível ou para o nível lógico baixo, ou seja, há quatro possíveis transições. 
 Figura 2 – Preparação para a transição de estado 
 
Na tabela à direita da Figura 3, há uma tabela resumo das condições para 
que um FF JK realize as transições. Considerando que o estado atual do FF JK 
é de nível lógico baixo, e que o estado futuro seja de nível lógico baixo, 
precisamos aplicar uma condição de reset (J=0 e K=1) ou de manutenção (J=0 
e K=0), que são as duas condições tabeladas para a transição de 0 → 0. 
Considerando, de forma mais simplificada, que o estado atual do FF JK é 0 e o 
estado futuro é 1, será necessário um set (J=1 e K=0) ou uma troca (J=1 e K=1), 
condições também tabeladas na Figura 3 e com a mesma análise para as duas 
últimas condições. 
 
 
 
 
 
 
 
 
5 
Figura 3 – Troca de estado no FF JK 
 
Note que na tabela de condições de entrada da Figura 3, é possível 
concluir que para a transição de 0 → 0, apenas J=0 é relevante, pois não importa 
o valor de K. Também é possível concluir que, para a transição de 0 → 1, apenas 
J=1 é relevante; e que para a transição 1 → 0, apenas K=1 e, por fim, para 1 → 
1, apenas K=0 importa. As entradas que variam podem receber um “X” nas 
análises lógicas posteriores indicando valor irrelevante e que pode assumir tanto 
valor 0 quanto valor 1. Isso facilitará o processo de síntese dos circuitos 
combinacionais. 
Para o FF D, o estudo das transições é mais fácil, pois o FF possui apenas 
uma entrada e uma tabela-verdade mais simples, com apenas duas condições. 
Desta forma, para um estado futuro de nível lógico alto, basta que a entrada do 
FF D tenha um sinal com nível lógico alto. Já para um estado futuro de nível 
lógico baixo, basta submeter à entrada do FF D um nível lógico baixo, conforme 
pode ser observado na Figura 4. 
 
 
 
 
 
 
 
 
 
6 
Figura 4 – Troca de estado no FF D 
 
Assim, vimos todas as condições de entrada dos FF JK e D para que os 
estados sejam promovidos conforme a necessidade ou a descrição do projeto. 
Nos próximos temas, veremos como utilizar estes recursos para projetar 
contadores síncronos. 
TEMA 2 – CONTADORES SÍNCRONOS E EM ANEL 
Neste tema, utilizando o estudo das transições realizado no tema 1, 
projetaremos um contador síncrono e contador em anel torcido, utilizando 
diagramas de estados prever e descrever o funcionamento dessas máquinas de 
estados finitos. Esse procedimento poderá ser aplicado no projeto de todos os 
tipos de máquinas síncronas. 
2.1 Contador síncrono módulo 8 
No contador síncrono, todos os FF estão ligados ao mesmo sinal de clock, 
característica que os distingue dos contadores assíncronos nos quais o sinal de 
clock passa de FF para FF. No contador módulo 8, estamos implicitamente 
definindo que a máquina possui 8 estados, levando-nos a alocar três FF (2N = 8, 
N = 3), inicialmente. Foi utilizado o termo inicialmente porque, em alguns 
projetos, empregar mais FF pode simplificar o circuito ou explorar alguma 
característica desejável. 
Na Figura 5, é apresentado um diagrama básico de interconexão para um 
contador síncrono com FF JK. Note que as entradas e saídas dos FF estão 
conectadas ao bloco lógico combinacional. A lógica projetada para esse bloco 
definirá o funcionamento da máquina de estados finitos. 
 
 
 
7 
Figura 5 – Diagrama básico de um contador síncrono com FF JK 
 
Como vimos, os sinais de entrada e saída dos FF são elementos para o 
projeto do bloco lógico. Vamos avançar observando as informações presentes 
na Figura 6, na qual apresenta o diagrama de estados do contador módulo 8, 
avançando dos estados A até H e reiniciando no A, e assim continuamente. O 
nome do estado poderia ser o valor decimal, por exemplo, ou um outro padrão 
alfanumérico que ajudasse na documentação. Na parte inferior foi representadaa sequência binária de saída, de “000” a “111”, com três bits, um para cada FF 
JK. O símbolo do FF JK é apresentado na Figura 6, juntamente com sua tabela-
verdade e sua tabela de transição de estados, estudada no tema 1. 
A tabela de funções define as condições necessárias para realizar a 
transição para próximo estado em cada linha. Nessa tabela, considera-se o 
ponto de vista do bloco lógico apresentado na Figura 5. Na primeira coluna 
(Estado), são colocados os estados definidos no diagrama de estados. Na coluna 
Entradas, são colocados os valores de saída dos FF, que representam o valor 
estado atual (Moore), relacionados aos nomes da primeira coluna. Observe que 
as entradas estão na ordem desejada, com Q3 sendo o MSB do contador. A 
última coluna representa os sinais de saída do bloco lógico que são os sinais de 
entrada dos FF. Para definir os valores de saída, devemos observar as 
transições de estado entre as linhas da tabela, começando pela linha do estado 
A para o estado B, na qual: 
• Q3 – o estado atual é “0” e seu estado futuro é “0”, logo, consultando a 
tabela de transição de estados do FF JK, determinamos que “J3=0” e 
“K3=X”; 
• Q2 – o estado atual de é “0” e seu estado futuro é “0”, logo, consultando 
a tabela de transição, determinamos que “J2=0” e “K2=X”; e 
 
 
8 
• Q1 – o estado atual de é “0” e seu estado futuro é “1”, determinamos que 
“J1=1” e “K1=X”. 
Figura 6 – Processo de desenvolvimento de FSM 
 
 
Para preenchimento da próxima linha da tabela, consultamos a transição 
do estado B para o estado C e assim sucessivamente. Como no diagrama o 
estado H retorna para o estado A, consultamos a transição do estado H com 
relação ao estado A. 
Uma vez finalizado o preenchimento das condições de saída da tabela de 
funções, o próximo passo é determinar as funções lógicas para cada variável de 
saída (J3, K3, J2, K2, J1, K1), por meio de um dos métodos de síntese estudados. 
Nesse exemplo, os valores X, nas colunas de saída, facilitam a análise, 
permitindo equalizar as colunas de sinais para o mesmo FF e produzir a mesma 
função para J e K, como apresentado da Erro! Fonte de referência não 
encontrada. e desenvolvido a seguir: 
1. Para o FF JK 1, todos os valores “X” das colunas J1 e K1 podem ser 
substituídos por “1”, definindo os mesmos valores para as colunas J e K. 
A função lógica resultante é uma constante: J1 = K1 = 1. 
2. Para o FF JK 2, fazendo os valores de X se igualarem a J ou K, conforme 
a linha, nos permite também equalizar as duas colunas de J e K, que se 
 
 
9 
tornam iguais aos valores da coluna de entrada Q0, produzindo uma única 
função lógica: J2 = K2 = Q1. 
3. Para o FF JK 3, fazendo os valores de X se igualarem a J ou K, conforme 
a linha, nos permite também equalizar as duas colunas de J e K, obtendo-
se uma única função lógica: J3 = K3 = Q1.Q2. 
Agora, com essas funções lógicas simples, é possível implementar o 
contador síncrono progressivo módulo 8, conforme apresentado na Figura 7. 
Figura 7 – Diagrama do contador síncrono progressivo módulo 8 com FF JK 
 
2.2 Contador em anel torcido 
O contador de anel torcido é uma máquina síncrona que obedece a uma 
sequência específica na evolução de estados e nos valores de saída, mas não 
é um contador binário 2N. Entretanto, é uma máquina interessante para este 
estudo. 
Nessa máquina, a saída inicia em “0000”, considerando-se quatro bits, e 
avança ativando os bits de saída da direita para a esquerda, até “1111”. A partir 
deste estado, inicia a desativação dos bits de saída, também da direita para a 
esquerda, até “0000”, de onde reinicia o ciclo. O diagrama de estados é 
apresentado na Figura 8 (a) e descreve a sequência de valores de saída, pela 
evolução dos estados de “A” até “H”, reiniciando em “A”. Note que estão sendo 
utilizados quatro FF que levariam a 16 estados possíveis (24 = 16). Se estamos 
utilizando oito estados nesse diagrama, onde estão os demais? Os demais 
existem e devem ser considerados. Relembre que estados são valores 
armazenados nos FF, o que implica a existência de todos os valores de quatro 
 
 
10 
bits possíveis e seus respectivos estados. Mesmo estando fora do diagrama 
principal, esses estados podem ser atingidos pela ocorrência de interferências 
ao longo do funcionamento ou na inicialização do contador, o que afetará o 
funcionamento normal da máquina de estados finitos. 
Figura 8 – Processo de desenvolvimento do contador de anel torcido 
 
Os estados que não fazem parte da FSM devem ser relacionados no 
diagrama de estados, estabelecendo uma transição previsível e documentada. 
A Figura 8 mostra que os estados não utilizados foram nominados de “I1” a “I7” 
e realizam transição para o estado inicial “A”, garantindo o funcionamento da 
FSM. Na tabela de funções da Figura 8 (b), estão relacionados todos os estados, 
os valores de entrada para a o bloco lógico de controle e os valores de saída que 
são aplicados às entradas dos FF D. Os estados “In” fazem transição para o 
estado “A”. Os diagramas de Karnaugh, as funções lógicas resultantes e os 
circuitos NAND sintetizados para o bloco lógico de controle são apresentados na 
Figura 9. Note que existem termos repedidos entre funções que podem ser 
reaproveitados, economizando recursos. Utilizando porta NAND de duas 
entradas, surgem outros termos comuns que poderiam ser explorados. A 
decisão de até que ponto descer no reaproveitamento de recursos é tomada 
entre a economia e a legibilidade desejadas do projeto. 
 
 
 
 
 
11 
 
 
Figura 9 – Mapas de Karnaugh para os sinais D3, D2, D1 e D0, os circuitos 
NAND sintetizados e uma sinalização de reaproveitamentos de portas lógicas 
 
Convém mencionar que, neste projeto, os estados não utilizados, “IN”, 
foram direcionados para o estado inicial, mas poderiam ter sido organizados para 
avançar de um estado “IN” para outro, desde que passando por todos, até atingir 
o estado inicial “A”. A utilização de valor “X” (don’t care) nos bits dos estados “IN”, 
na tabela de funções, poderia levar a uma maior simplificação nos circuitos. 
Entretanto, seria necessário realizar um levantamento e verificação de como as 
transições ficariam definidas para os estados “IN” após o processo de 
simplificação e síntese e se todos os estados foram contemplados em transições 
de inicialização. 
O circuito final do contador em anel torcido é apresentado na Figura 10, 
separando o bloco lógico das memórias. Note que as variáveis negadas das 
expressões booleana de DN empregaram as saídas negadas dos FF, 
economizando portas inversoras. Note também que os termos repetidos foram 
eliminados, utilizando os termos duplicados que permaneceram no circuito. 
 
 
 
 
 
12 
 
 
 
Figura 10 – Circuito do contador síncrono em anel torcido 
 
Como pode ser observado, a decisão de utilizar quatro FF D para essa 
FSM se baseou na quantidade de bits necessários na saída do circuito, cujo 
efeito colateral foi sobrarem estados, que tiveram que ser tratados. Outra solução 
possível para esse contador seria utilizar três FF D (23 = 8) para representar os 
oito estados principais e suas transições e desenvolver um decodificador de três 
linhas de entrada para quatro linhas de saída, apresentando as saídas 
esperadas para cada estado. Para essa solução, seriam projetados dois blocos 
lógicos, sendo um para o controle da FSM e outros para o decodificador. Tente 
avaliar se esta solução traria maior economia de recursos com relação a esse 
desenvolvimento. 
TEMA 3 – CONTADORES UP-DOWN E REGISTRADORES DE 
DESLOCAMENTO 
As máquinas de estados finitos apresentadas neste tema serão 
semelhantes aos contadores vistos no tema anterior, com a exceção de que 
 
 
13 
utilizarão sinais externos de controle, que caracterizam essas máquinas como 
do tipo Mealy. 
 
3.1 Contador síncrono Up-Down módulo 4 
O desenvolvimento de um contador síncrono progressivo-regressivoé 
mais bem compreendido se for iniciado pelo diagrama de estados. Nesse projeto, 
vamos estudar um contador módulo 4, com um sinal de sentido de contagem (r) 
para alternar entre contagem progressiva e regressiva. Empregam-se dois FF, 
pois são necessários 4 estados para definir a operação dessa máquina. 
Operando tanto no sentido progressivo quanto regressivo, o contador precisa 
apenas de quatro estados. O que muda é a sequência das transições que 
depende do valor do sinal “r”. No diagrama de estados da Figura 11 (a), os 
estados evoluem de “A” para “D”, se o evento for “r = 0”, contagem progressiva. 
Caso o evento seja “r=1”, então a transição de estados para de “D” para “C”, de 
“C” para “B” e assim continuamente, estabelecendo uma contagem regressiva. 
Figura 11 – Diagrama de estado do contador UP-DOWN síncrono modulo 4 (a); 
tabela de estados e função (b) 
 
Na tabela de transição de estados, o sinal “r” é representado com a 
variável “r” de entrada, junto com as variáveis Q1 e Q2, definindo as trocas de 
estado. As variáveis de saída D1 e D2 recebem valores na tabela conforme o 
próximo estado do diagrama de estados. 
 
 
14 
Resolvendo os mapas de Karnaugh, apresentados na Figura 12 (a), para 
as variáveis D1 e D2, determinamos o bloco lógico de controle. Note que a função 
inicial de D1 era equivalente a uma porta XOR de três entradas que, relembrando, 
pode ser obtida por meio do desenvolvimento da álgebra booleana na expressão. 
O circuito final do contador síncrono progressivo-regressivo módulo 4 pode ser 
observado na Figura 12 (b), no qual há um destaque gráfico na separação do 
bloco lógico de controle das memórias. 
Figura 12 – Mapas de Karnaugh para D1 e D0 e suas funções booleanas (a); 
circuito final do contador síncrono progressivo-regressivo módulo 4 (b) 
 
3.2 Contador síncrono progressivo-regressivo binário/Gray módulo 4 
Agora estudaremos como representar e projetar um contador que 
dependa de dois sinais externos para controle da FSM. O contador síncrono 
progressivo-regressivo binário/Gray módulo 4 fará a contagem progressiva e 
regressiva no modo binário (0-1-2-3), como apresentado anteriormente, porém 
fará também a contagem progressiva regressiva em código Gray (0-1-3-2). 
Como visto, o sinal externo de controle “r” (regressivo), quando desativado (“0”), 
fará o contador ser regressivo e quando ativado (“1”), progressivo, desde que o 
sinal externo de controle “g” (Gray) esteja desativado. Caso “g” esteja ativado, 
fará o contador contar em código Gray progressivamente ou regressivamente, 
dependendo de “r”. Cada sinal externo de controle tem sua função independente, 
mas influenciarão conjuntamente o comportamento da FSM. Algumas soluções 
para FSM transformam os sinais externos em uma única variável combinando 
seus valores para uma tomada de decisão. São soluções equivalentes. 
Apresentaremos os sinais de forma independente nesse método de solução. Na 
 
 
15 
Figura 13 (a), é apresentado o diagrama do contador supracitado, composto 
pelos mesmos quatro estados do contador visto anteriormente, mas 
apresentando mais transições. Observe que cada transição de um estado para 
outro considera sempre os valores dos dois sinais externos “r” e “g” como 
eventos para definir a próxima transição. Por exemplo, a transição do estado A 
para o estado B acontece quando a contagem é progressiva (r = 0) tanto em 
binário (g = 0) quanto em Gray (g = 1), ou seja, quando “r = 0; g = 0/1”. 
Figura 13 – Diagrama de estados do contador progressivo-regressivo 
binário/Gray (a); tabela de transições de estado e funções (b) 
 
Outro aspecto importante na avaliação do diagrama de estados é que, 
para cada estado, precisam existir tantas transições descritas quanto as 
condições envolvendo as variáveis de controle. Por exemplo, para cada estado 
do diagrama precisa existir quatro transições descritas, para “g=0” e “r=0”, para 
“g=1” e “r=0”, para “g=0” e “r=1” e para “g=1” e “r=1”, como pode ser conferido 
do diagrama da Figura 13 (a). Na Figura 13 (b) são apresentados os estados, os 
valores das variáveis de controle e as respectivas transições. Os estados são 
apresentados quatro vezes na tabela para representar as quatro combinações 
dos dois sinais de controle externo. 
Na Figura 14 são apresentados os mapas de Karnaugh para os sinais de 
saída D1 e D0, obtidas da tabela de transições e funções da Figura 13 (b). As 
funções booleanas triviais de saída, obtidas diretamente dos mapas de 
 
 
16 
Karnaugh, foram trabalhadas, algebricamente, para se chegar a uma função 
equivalente, mais compacta e elucidativa, com funções lógicas XOR. 
 
 
 
Figura 14 – Mapa de Karnaugh para o sinal D1 (a) e sinal D0 (b), do contador 
progressivo-regressivo binário/Gray 
 
 
O desenvolvimento da expressão de D1 é apresentada a seguir: 
𝐷1 = �̅��̅�𝑄1
̅̅ ̅𝑄0 + �̅��̅�𝑄1𝑄0
̅̅ ̅ + �̅�𝑟𝑄1
̅̅ ̅𝑄0
̅̅ ̅ + �̅�𝑟𝑄1𝑄0 + 𝑔𝑟𝑄0
̅̅ ̅ + 𝑔�̅�𝑄0 
𝐷1 = �̅�(�̅�𝑄1
̅̅ ̅𝑄0 + �̅�𝑄1𝑄0
̅̅ ̅ + 𝑟𝑄1
̅̅ ̅𝑄0
̅̅ ̅ + 𝑟𝑄1𝑄0) + 𝑔(𝑟𝑄0
̅̅ ̅ + �̅�𝑄0) 
𝐷1 = �̅�(�̅�(𝑄1
̅̅ ̅𝑄0 + 𝑄1𝑄0
̅̅ ̅) + 𝑟(𝑄1
̅̅ ̅𝑄0
̅̅ ̅ + 𝑄1𝑄0)) + 𝑔(𝑟⨁𝑄0) 
𝐷1 = �̅�(�̅�(𝑄1⨁𝑄0) + 𝑟(𝑄1⨁̅̅ ̅̅ ̅̅ 𝑄0
̅̅ ̅)) + 𝑔(𝑟⨁𝑄0) 
𝑫𝟏 = �̅�(𝒓⨁𝑸𝟏⨁𝑸𝟎) + 𝒈(𝒓⨁𝑸𝟎) 
A expressão booleana para D0 é apresentada a seguir: 
𝐷0 = �̅�𝑄0
̅̅ ̅ + 𝑔𝑟𝑄1 + 𝑔�̅�𝑄1
̅̅ ̅ 
𝑫𝟎 = �̅�𝑸𝟎
̅̅ ̅̅ + 𝒈(𝒓⨁𝑸𝟏
̅̅ ̅̅ ̅̅ ̅̅ ) 
Observe que as funções booleanas finais aqui desenvolvidas são 
semelhantes às funções da Figura 12, com exceção do termo �̅�. Esses termos 
definem o funcionamento para a contagem no modo binário (𝑟⨁𝑄1⨁𝑄0 e 𝑄0) e 
para a contagem no modo Gray (𝑟⨁𝑄0 e 𝑟⨁𝑄1
̅̅ ̅̅ ̅̅ ̅̅ ) e são chaveados pelo valor de 
“g", ora para o valor lógico alto, habilitando duas expressões, ora para o valor 
lógico baixo, habilitando as outras duas expressões. O chaveamento é 
proveniente de uma função MUX, que será apresentada logo adiante. 
 
 
17 
Na Figura 15 (a) é apresentado o circuito completo do contador síncrono 
progressivo-regressivo binário/Gray módulo 4, conforme expressões booleanas 
desenvolvidas da Figura 14. Observe que as portas NAND presentes no circuito 
estão envolvidas por um quadro indicando função MUX. Esses circuitos lógicos 
realizam um chaveamento de duas linhas para uma, comutando uma ou outra 
via um sinal de seleção, apresentado um símbolo próprio na Figura 15 (b). Nesse 
circuito, o chaveamento dos circuitos de seleção é controlado pelo sinal “g”, 
conforme já descrito na comparação entre as expressões lógicas desse circuito 
e o circuito da Figura 12. 
Figura 15 – Circuito final do contador síncrono progressivo-regressivo 
binário/Gray (a); o símbolo de um multiplexador (b) 
 
3.2 Registrador de deslocamento 
Os registradores de deslocamento (shift registers – SRs) são circuitos 
síncronos, formados por uma cadeia de FF interligados em série, utilizados para 
a manipulação de bits de dados (Pedroni, 2010). Os dados podem representar 
valores numéricos armazenados ou quaisquer outras grandezas ou informações 
representadas em quantidades binárias (Tocci, 2011). Os SRs são utilizados 
para transferência serial de dados, organizados de forma a passar bit de um FF 
para o outro, na mesma sequência serial da cadeira de FF (Tocci, 2011). Podem 
 
 
18 
ser implementados utilizando FF JK ou FF D, operando na borda de subida ou 
descida, sendo mais comum encontrá-los empregando FF D. Os FF precisam 
ter um tempo de manutenção (hold time) pequeno para evitar que o FF armazene 
o valor durante a transição do sinal de saída do FF anterior (Tocci, 2011). 
Na Figura 16 (a) é apresentado um diagrama genérico de um registrador 
de deslocamento, demonstrando a transferência síncrona de bits de um FF para 
o FF seguinte. Na Figura 16 (b), uma tabela de saídas, normalmente empregada 
e encontrada com frequência em manuais de componentes para descrever seu 
funcionamento, apresenta todosos deslocamentos de valores após cinco pulsos 
de clock. Um SR de n estágios necessita de n pulsos de clock para transferir 
completamente os dados carregados no SR. 
Figura 16 – Registrador de deslocamento genérico de cinco estágios (a); 
Diagrama de transições de saída (b); gráfico temporal de sinais (c) 
 
Na Figura 16 (c) é apresentado um diagrama temporal de sinais com as 
manifestações de saída do SR genérico de cinco estágios, contendo os valores 
binários “10011”. 
As memórias genéricas podem ser substituídas por FF para apresentação 
do aspecto técnico aplicável em circuitos lógicos. Na Figura 17 (a) é mostrado 
um registrador de deslocamento de quatro estágios com flip-flops tipo D. Na 
Figura 17 (b), é apresentado um registrador de deslocamento de quatro estágios 
implementado com FF JK, no qual os FF JK realizam as funções de FF D. 
 
 
19 
Observe que nos SR há uma entrada serial de dados e uma saída serial, 
permitindo, dessa forma, que os sinais sejam lidos em paralelo. Eventualmente 
os sinais em paralelo podem ser utilizados para acionamento de funções em uma 
determinada sequência, ou depois de um determinado tempo. 
 
 
Figura 17 – Registrador de deslocamento empregando FF D operado com borda 
de subida (a); registrador de deslocamento com FF JK operado por borda de 
descida (b) 
 
Os SR também podem ser implementados para carga de dados em 
paralelo. Os SR com esse recurso são capazes de receber dados em série e 
disponibilizá-los em paralelo ou de receber dados em paralelo e disponibilizá-los 
em série e são conhecidos, genericamente, como conversores série-paralelo. 
Esses SR são utilizados em várias funções, das quais se destacam os buffers 
de comunicação de dados, que recebem dados em paralelo, via barramento de 
um sistema, e transmitem os bits de forma serial em uma certa taxa de bits. Na 
recepção, os circuitos recebem serialmente pela linha de comunicação e 
disponibilizam estes dados em paralelo para o barramento do sistema. Uma 
implementação de um conversor série-paralelo é apresentada na Figura 18. 
Figura 18 – Conversor serial-paralelo 
 
 
20 
 
Fonte: Pedroni, 2010, p. 310. 
 
Os SR permitem a implementação de outras funções com facilidade. Na 
Figura 19 (a) é apresentado um contador one-hot que desloca um bit ativo 
através das saídas de cada estágio do SR. A ação de reset limpa todos os FF 
com exceção do último da cadeia que fica ativo pelo sinal de preset. A partir do 
primeiro pulso de clock, este bit ativo é transferido para o primeiro FF. No próximo 
pulso de clock, para o segundo FF e assim sucessiva e continuamente. Na 
Figura 19 (b) a tabela de saídas demonstra a evolução de uma única saída ativa 
a cada instante, caracterizando o funcionamento do contador. Na Figura 19 (c) 
são apresentados os sinais de saída do contador one-hot em questão. É 
importante lembrar que existe o tempo de propagação dos FF para que as saídas 
sejam ativadas após a ocorrência do pulso de clock. 
Figura 19 – Contador one-hot implementado com registrador de deslocamento 
(a); tabela de transições de saída (b); gráfico temporal de sinais (c) 
 
 
21 
 
Fonte: Pedroni, 2010. 
Outro contador que pode ser implementado com SR é o contador em anel 
torcido, como aquele apresentado na Figura 10. Esse contador progride ativando 
os FF da cadeia e, depois que todos estão ativos, inicia a desativação até que 
todos sejam desativados. Na Figura 20, utilizando a realimentação de 𝑄0
̅̅ ̅ para 
D3, um SR implementa um contador em anel torcido de quatro saídas. Após o 
reset, todos FF estão limpos. Dado que o 𝑄0
̅̅ ̅ está em nível lógico alto, implica 
que, após o primeiro pulso de clock, esse nível lógico será armazenado no FF 3. 
Como o FF 0 permanece limpo, novamente o nível lógico alto de sua saída 
negada passará para o FF 3, que, por sua vez, transfere seu nível lógico alto 
para FF 2 e assim por diante. Este ciclo se repete até que o FF 0 receba um nível 
lógico alto, comutando o nível lógico de 𝑄0
̅̅ ̅ para baixo, conforme apresentado na 
Figura 20 (b). A partir deste momento, o FF 3 recebe nível lógico baixo durante 
os pulsos de clock seguintes, até que todos estejam limpos, que reinicia o ciclo 
de ativação. Os sinais de saída dessa implementação são mostrados na Figura 
20 (c). 
Figura 20 – Contador Johnson implementado com registrador de deslocamento 
(a); tabela de transições de saída (b); gráfico temporal de sinais (c) 
 
 
22 
 
Se a implementação desse contador em anel torcido é tão simples com 
registrador de deslocamento, por que utilizar FSM que gerou um circuito maior? 
Na verdade, o FSM possui um desenvolvimento procedimental para implementar 
máquinas muito complexas ou máquinas simples como um contador em anel. A 
máquina da Figura 20 está aproveitando uma característica do SR que a torna 
simples. Essa simplicidade é desejada, mas não é muito fácil de encontrar, pois 
normalmente depende da percepção, conhecimento e experiência do projetista. 
Outros circuitos lógicos podem ser desenvolvidos baseados na transferência 
serial de dados, como codificadores de linha, geradores de redundância cíclica 
CRC (Cyclic Redundancy Check) e multiplicadores binários. 
TEMA 4 – CONVERSORES D/A 
Os valores digitais, que vimos até o momento, estão definidos em 
patamares. Aceitamos que variações no entorno desses valores de referência 
continuam sendo valores digitais, tais como valores entre 0 V e 0,7V ainda são 
valores de nível lógico baixo. Entretanto, as grandezas físicas são quantidades 
analógicas por natureza, que podem assumir qualquer valor dentro de uma faixa 
contínua de valores, no qual seu valor exato é relevante (Tocci, 2011, p. 629). 
Cada variação representa uma nova quantidade ou uma nova medida, como são 
observados em medidas de temperatura, massa, velocidade, pressão etc. Essas 
grandezas são de natureza variada e precisam ser convertidas em medidas de 
 
 
23 
natureza elétrica antes de serem processadas por sistemas eletrônicos. Para 
tanto, são empregados os transdutores, que convertem uma variável não elétrica 
para uma variável elétrica, e os atuadores convertem variáveis elétricas em 
variáveis de outra natureza. Após essa conversão de natureza, os valores 
elétricos analógicos precisam ser convertidos em valores digitais antes que 
sistemas digitais consigam processá-los. Os conversores A/D (ADC – Analog-to-
digital converter) e D/A (DAC – Digital-to-analog converter) estão na fronteira 
entre o analógico e digital, transformando valores elétricos analógicos de entrada 
em valores digitais de saída e valores digitais de entrada em analógicos de saída, 
respectivamente, permitindo que sistemas digitais realizem o controle de 
processos físicos, por meio de variáveis analógicas. O diagrama do controle de 
uma variável física por um sistema digital é apresentado na Figura 21, 
apresentando os cinco elementos principais: 
1. transdutor; 
2. conversor ADC; 
3. sistema digital para controle; 
4. conversor DAC; e 
5. atuador. 
 
 
Figura 21 – Conversores ADC e DAC são utilizados para interfacear um sistema 
digital com o mundo analógico, monitorando uma variável física 
 
Fonte: Tocci, 2011, p. 629. 
4.1 Conversão D/A 
 
 
24 
Começaremos este estudo com a conversão digital-analógica, que é 
estudada antes porque algumas conversores analógico-digitais empregam 
conversores D/A na sua construção (Tocci, 2011, p. 630). 
O processo de conversão D/A trata um valor digital de entrada, gerando 
um valor analógico de saída único. Para cada valor digital de entrada existirá um 
único valor analógico de saída. Por esse motivo, o sinal analógico de saída de 
um conversor D/A não é exatamente um sinal analógico, mas um sinal que 
assume determinados patamares de valor conforme a quantidade de bits na 
entrada digital e a tensão de referência. A Figura 22 mostra um conversor D/A 
de quatro bits. Os quatro bitsproduzem 16 níveis de tensão na saída analógica, 
cuja tensão máxima é definida pela tensão de referência da conversão. No 
exemplo, a tensão de referência é de 16 V, que produz 16 valores de tensão em 
uma faixa de 0 a 15 V. 
Figura 22 – Conversão analógica-digital 
 
Fonte: Tocci, 2011, p. 639. 
 
Segundo Tocci (2011), a relação de conversão pode ser calculada pela 
expressão (1), na qual K é o fator de proporcionalidade do conversor D/A. 
 
 𝑠𝑎í𝑑𝑎 𝑎𝑛𝑎𝑙ó𝑔𝑖𝑐𝑎 = 𝐾 ∗ 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑖𝑔𝑖𝑡𝑎𝑙 (1) 
 
No caso do conversor da Figura 22, o fator de proporcionalidade é K = 1 
V. 
Assim como ocorria na conversão binário decimal, cada bit possui um 
determinado peso e uma determinada contribuição para a formação do valor de 
saída. Como o sinal D (MSB) tem peso 8 (23), por exemplo, sua contribuição 
 
 
25 
neste conversor é de SA = K * ED = [1 V] * 8 = 8 V. Dessa forma, o valor binário 
“1011” possui a soma dos pesos 23 + 21 + 20 = 8 + 2 + 1 = 11, levando ao valor 
de saída de SA = K * ED = [1 V] * 11 = 11 V, correspondendo ao valor 
apresentado na tabela da Figura 22. 
Um dos parâmetros de um conversor D/A é a resolução. A resolução 
representa o valor do degrau na saída analógica entre dois valores digitais 
subsequentes, que no caso do conversor da Figura 22 é de 1 V. Representa a 
mesma medida que o fator de proporcionalidade entre entrada e saída do 
conversor (K) (Tocci, 2011). Na Figura 23, um conversor D/A acionado por um 
contador módulo 4, produz um sinal analógico que descreve uma escada, que 
representa cada valor digital de entrada multiplicado pelo fator de 
proporcionalidade. Cada degrau da escada representa a resolução do conversor 
D/A. O valor analógico correspondente ao maior valor digital de entrada é 
definido como fundo de escala. 
Figura 23 – Conversor D/A acionado por um contador binário módulo 16 
 
Fonte: Tocci, 2011, p. 632. 
Aumentando a quantidade de bits do conversor D/A, aumenta a 
quantidade de degraus, consequentemente promovendo uma redução no valor 
do degrau, aumentando a granularidade e melhorando significativamente a 
qualidade do sinal analógico gerado pelo conversor. Quanto maior a quantidade 
de bits do conversor D/A, mais fina será a resolução (Tocci, 2011). Para a mesma 
tensão de fundo de escala da Figura 23, considerando um conversor de 8 bits, a 
resolução seria de 58,82 mV. O valor da resolução pode ser determinado pela 
expressão (2), onde AFS é o valor analógico de fundo de escala (FS – Full Scale) 
e N é a quantidade de bits do conversor D/A. 
 
𝑅𝑒𝑠𝑜𝑙𝑢çã𝑜 = 𝐾 = 
𝐴𝐹𝑆
2𝑁 − 1
 
(2) 
 
 
26 
A resolução pode ser representada em um valor percentual, determinada 
pela expressão (3), obtida pela razão da resolução pelo valor de fundo de escala. 
 
𝑅(%) =
𝐾
𝐴𝐹𝑆
∗ 100% 
(3) 
Alguns conversores D/A são bipolares cujos valores de saída 
excursionam entre valores positivos e negativos, conforme diagrama 
apresentado na Figura 24. Os valores digitais de entrada, neste tipo de conversor 
D/A, podem ser valores não sinalizados (binários) ou podem utilizar uma 
representação para números negativos, como o complemento de 2 (C2), por 
exemplo, estudado anteriormente. 
Figura 24 – Conversores D/A bifásicos 
 
Fonte: Tocci, 2011, p. 635. 
4.2 Circuito de um conversor D/A simples 
A Figura 25 mostra um circuito simples que apresenta o princípio de 
conversão digital-analógica. Com base na implementação de um somador 
inversor, utilizando um amplificador operacional, é construído um conversor D/A 
de quatro bits. Os resistores são escolhidos para apresentar um ganho 
ponderado equivalente a ponderação binária posicional do valor de entrada. Ou 
seja, para a entrada “A” (LSB), o ganho do somador é a metade do ganho 
programado para entrada “B”, que, por sua vez, é metade do ganho da entrada 
“C”, que é a metade do ganho da entrada “D” (MSB). Dessa forma, reproduzem-
se os pesos posicionais da representação binária. As entradas digitais 
apresentam valores de tensão correspondente aos níveis lógicos, sendo 5 V para 
nível lógico alto ou 0 V, para o nível lógico baixo. A expressão da tensão de saída 
de somador com amplificador operacional é apresentado na expressão 4 
(Millman, 1981, p. 597). Substituindo os valores dos resistores pelas relações 
 
 
27 
entre resistências apresentadas no circuito do conversor D/A, a tensão de saída 
será dada pela expressão 5 (Tocci, 2011, p. 636), que é um somatório das 
tensões de entrada multiplicadas pelo ganho ponderado associado a cada 
entrada digital. 
 
𝑉𝑂𝑈𝑇 = − (
𝑅𝐹
𝑅𝐷
𝑉𝐷 +
𝑅𝐹
𝑅𝐶
𝑉𝐶 +
𝑅𝐹
𝑅𝐵
𝑉𝐵 +
𝑅𝐹
𝑅𝐴
𝑉𝐴) (4) 
 
𝑉𝑂𝑈𝑇 = − (𝑉𝐷 +
1
2
𝑉𝐶 +
1
4
𝑉𝐵 +
1
8
𝑉𝐴) (5) 
Para o valor de entrada “1011”, por exemplo, o valor da saída pode ser 
determinado como VOUT = -(5 + 0 + 5/4 + 5/8) = - 6,875, conforme encontrado na 
tabela da Figura 25, para o código de entrada “1011”. Para o valor do fundo de 
escala teremos VOUT = -(5 + 5/2 + 5/4 + 5/8) = -9,375. Dessa forma, obtemos 
qualquer valor da tabela e apresentamos o princípio da conversão D/A. 
Figura 25 – Circuito de um conversor D/A simples 
 
Fonte: Tocci, 2011, p. 636. 
O circuito visto nessa figura, embora funcional, apresenta problemas 
práticos na precisão da conversão. A tolerância nos valores das resistências 
afeta os valores de saída que dependem diretamente das relações entre seus 
valores para a ponderação em cada entrada digital. Outro problema está na 
tensão de entrada digital que representa os níveis lógicos, que variam dentro da 
faixa considerada nível lógico alto (2 – 5 V) e nível lógico baixo (0 – 0,7 V), sendo 
raramente 5 V e 0V, afetando a tensão de saída do conversor D/A. O primeiro 
problema seria resolvido com o uso de resistores de precisão, com tolerância de 
0,01 % (Tocci, 2011; Vishay, 2021a) ou 0,005% (Vishay, 2021b). Porém, a 
variação da tensão digital de entrada faz parte do padrão digital e não pode ser 
alterada, sendo necessário resolver de outra forma. Na Figura 26 é sugerida a 
 
 
28 
utilização de chaves comutadoras CMOS, como as chaves disponíveis no CI 
CD4066, e uma fonte de referência de precisão. As entradas digitais com valores 
lógicos altos acionam as chaves CMOS, que conduzem um valor preciso e 
estável de tensão às entradas do somador. Para os níveis lógicos baixos, as 
chaves permanecem abertas, submetendo um valor de 0 V às entradas do 
somador. Esses recursos permitem que saídas digitais comuns sejam 
interligadas diretamente com as entradas do conversor D/A sem afetar a 
precisão dos valores da saída analógica. 
Figura 26 – Conversor D/A de quatro bits com fonte de referência de precisão 
 
Fonte: Tocci, 2011, p. 637. 
Os conversores D/A podem fornecer uma saída em tensão, como 
apresentado no estudo citado, ou uma saída em corrente, apresentando os 
mesmos princípios e parâmetros funcionais. 
4.3 Conversor D/A R/2R 
Na apresentação do conversor do item 4.2, há um problema prático para 
construção de conversores para resolução muito granulada. Um conversor de 12 
bits, por exemplo, teria nas ponderações de entrada valores de resistências que 
variariam de 1 kΩ, para o MSB à 2 MΩ, para o LSB. Segundo Tocci (2011), o 
processo de fabricação para circuitos integrados não lida bem com resistências 
 
 
29 
integradas com diferenças muito grandes, principalmente com relação à variação 
de temperatura. 
Para tanto, foi desenvolvido o conversor com rede resistiva R/2R que 
apresenta, para todas as entradas digitais, apenas resistores com valor R e 2R, 
ou seja, alguns resistores com um certo valor (R) e outros com o dobro deste 
valor (2R), conforme o diagrama apresentado na Figura 27. Embora empregue 
o dobro de resistores, quando comparado ao conversor da Figura 26, utiliza 
apenas resistores R e 2R independentemente da quantidade de entradas 
digitais. 
Figura 27 – Conversor D/A empregando rede R/2RFonte: Millman,1981, p. 715. 
Observando na Figura 27, em qualquer nó da rede R/2R, a resistência 
equivalente será 2R à direita, à esquerda ou em direção à chave de comutação. 
Considerando a corrente fluindo da fonte de referência pela chave B3 (MSB), a 
resistência R9 está à direita, para o terra-virtual do amplificador operacional, e 
uma resistência equivalente igual a 2R à esquerda, formada pelas resistências 
(((R1//R2 + R3)//R4 + R5)// R6 + R7), faz a corrente de dividir igualmente nas 
duas direções. A corrente em R9 é a metade da corrente em R8. Logo, para R = 
1 kΩ, conforme apresentado na Figura 27, temos: 
 
𝑉𝑅𝐸𝐹 = 𝑅8. 𝑖 + 𝑅9.
𝑖
2
= 2𝑅. 𝑖 + 2𝑅.
𝑖
2
= 𝑖(2𝑅 + 𝑅) ∴ 𝑖 =
𝑉𝑅𝐸𝐹
3𝑅
 
(6) 
 
𝑉𝑜 = −𝑅𝐹.
𝑖
2
= −3𝑅.
𝑉𝑅𝐸𝐹
3𝑅
.
1
2
= −
𝑉𝑅𝐸𝐹
2
∴ 𝑉𝑜 = −
−𝑉𝑅𝐸𝐹
2
= 2,5 𝑉 
(7) 
 
 
30 
Como pode ser observado na equação 7, o valor da tensão de saída é 
independente do valor das resistências, desde que se mantenha a relação R/2R 
na rede resistiva. 
Na comutação da chave B2, R6 é interligado à fonte de referência. Por 
este ramo, passa a circular uma corrente com intensidade i, que é o mesmo valor 
obtido pela equação (6), para B3. Porém, após R7, esta corrente é a metade de 
i e se divide novamente, e igualmente, pelos ramos de R9, em direção ao terra-
virtual, e de R8, em direção ao referencial terra do circuito, entregando à R9 e, 
consequentemente, RF uma corrente com intensidade i/4, produzindo uma 
tensão de saída de -VREF/4. Desta forma, B3 contribui com zero ou com VREF/2, 
B2 contribui com zero ou VREF/4, B1 com zero ou VREF/8 e B0 com zero ou com 
VREF/16, produzindo 16 valores combinados de saída de zero à VREF-VREF/16, ou 
seja, VREF-V(LSB). 
4.4 Caracterização de um D/A 
A resolução de um conversor D/A é dado pela quantidade de bits que 
define, consequentemente, a quantidade de degraus e a menor medida de 
conversão, ou o valor do LSB. 
A precisão é uma medida que apresenta a diferença entre o valor do 
esperado do degrau e o valor real, a qualquer momento, normalmente 
apresentada em porcentagem do valor de fundo de escala (% F.S). Para uma 
precisão de 0,01%, por exemplo, para um conversor de 8 bits com valor de fundo 
de escala de 4,9805 V (VREF = 5 V), o erro máximo previsto poderia ser de até 
E=±0,01% * 4,9805 V = ±498 µV, a qualquer momento, para uma determinada 
conversão (Tocci, 2011), conforme apresentado na Figura 28. 
O erro de linearidade também é dado com relação ao valor de fundo de 
escala (% F.S.) e significa que uma diferença que pode ocorrer no valor dos 
degraus, com relação ao valor teórico esperado, é de, no máximo, esse valor. 
Para o exemplo do paragrama anterior, um erro de até 498 µV pode ser 
observado nos valores de um degrau. A Figura 28 apresenta um gráfico 
descrevendo o erro de linearidade. 
O erro de offset ocorre quando, para uma entrada digital toda em nível 
lógico baixo, há um valor de tensão na saída analógica do conversor. Essa 
tensão, embora de pequena ordem, deslocará todos os valores convertidos. Por 
exemplo, se existir uma tensão de +1 mV na saída analógica, todas as 
 
 
31 
conversões apresentarão um valor 1 mV maior que o esperado, conforme 
apresentado na Figura 28. 
O tempo de estabilização é o período necessário para a saída atingir ½ 
do LSB para qualquer conversão. Considerando o conversor do exemplo, com 
uma entrada digital de “10000000” (128) para o valor esperado de saída de 
2,5000 V, o tempo de estabilização será atingido quando o valor de saída estiver 
entre 2,4902 V e 2,5098, ou seja, 2,5000 V ± (LSB/2) = 2,5000 V ± 9,7656 mV. 
A monotonicidade é definida como o incremento do valor digital 
acompanhado do incremento do valor analógico. Caso isso não aconteça em 
qualquer momento há um erro de monotonicidade no conversor D/A, conforme 
apresentado na Figura 28. 
 
 
 
32 
Figura 28 – Caracterização de um conversor D/A 
 
TEMA 5 – CONVERSORES A/D 
O processo de conversão A/D consiste em receber uma amostra da 
intensidade momentânea de um sinal analógico e determinar o valor digital 
correspondente a esse valor analógico. É normalmente mais complexo e 
demanda mais tempo para se determinar o valor digital (Tocci, 2011, p. 645). Os 
primeiros conversores A/D eram mais lentos e impuseram a necessidade de 
buscar outros métodos para tornar a conversão A/D mais rápida. 
 
 
 
33 
5.1 Conversor A/D genérico 
O princípio básico de conversão é apresentado na Figura 29. Segundo 
Millman (1981), uma sequência contínua de pulso é aplicada a um contador 
binário através de uma porta AND, que está normalmente bloqueada, sendo 
liberada ao iniciar um novo processo de conversão, que produz uma rampa 
digital (escada crescente). A partir de um valor binário produzido pelo contador, 
é produzido um valor pseudoanalógico via conversão D/A (VD), que é comparado 
com o valor analógico de entrada (VIN). Caso o valor VD seja menor que o valor 
VIN, o contador continua incrementando o valor binário e consequentemente o 
valor VD, conforme é apresentado no gráfico da Figura 29, até que seja, 
finalmente, maior que o valor VIN. Essa condição faz a saída do comparador 
(VCOUT) ir a nível lógico baixo (zero) que inibe a passagem do sinal de relógio 
para o contador pelo bloqueio da porta AND que, dessa forma, encerra o 
processo de conversão, fornecendo o valor digital pelo valor presente na saída 
do contador binário (Tocci, 2011, p. 645). 
Figura 29 – Esquema geral de uma classe de ADC 
 
Fonte: Millman, 1981, p. 717. 
Observe que a quantidade de pulsos que passam pela porta AND é 
proporcional ao valor analógico presente na entrada do conversor e que o valor 
digital encontrado (Millman, 1981, p. 716) é aproximadamente superior ao valor 
analógico na entrada do conversor, mas sempre com valor inferior ao LSB do 
contador/conversor. Essa diferença é conhecida como erro de quantização. O 
 
 
34 
tempo de conversão dependerá da frequência de relógio aplicada ao contador e 
do tempo de estabilização do conversor D/A. 
Como os valores analógicos variam com o tempo, são obtidos a cada 
intervalo regular, que precisam ser consistentes ao tempo de conversão (Milman, 
1981, p. 717). Ou seja, o intervalo de amostragem precisa ser maior que o maior 
tempo esperado de conversão. Essa cadência é conhecida como frequência de 
amostragem. 
5.2 Conversor A/D de rampa digital 
Segundo Tocci (2011), uma das versões mais simples do conversor A/D, 
que é baseada no modelo já descrito, é denominada conversor A/D de Rampa 
Digital e é apresentada na Figura 30. Um contador que tem o papel de contador 
e registrador é incrementado continuamente, um pulso de cada vez, até que o 
valor VD ultrapasse o valor VIN. O processo inicia com o sinal ST (start), que inibe 
os sinais de clock para o contador, bloqueando a porta de controle AND, ao 
mesmo tempo que reinicia o contador (ou zera o registrador), pela entrada RST 
(reset). Quando o sinal ST é desativado, inicia o processo de conversão, 
liberando o sinal de clock pelo desbloqueio do controle realizado pela AND. O 
primeiro pulso de clock avança a contagem do registrador. O valor binário do 
contador é aplicado ao conversor D/A. A resolução do conversor A/D é definida 
pela resolução do contador D/A e pela quantidade de bits do contador, 
compatível com o conversor D/A. 
O valor VD, proveniente do conversor D/A, é incrementado por um valor 
de LSB (resolução do conversor D/A). Enquanto VD for menor que VIN, a saída 
do comparador, 𝐸𝑂𝐶̅̅ ̅̅ ̅̅ (End of Conversion), permanece em nível lógico alto (“1”), 
mantendo a porta de controle AND liberada, que permite o fornecimento de pulso 
de clock para o contador que, consequentemente, avança para o próximo valor 
a cada pulso de entrada. Quando o valor VD ultrapassa o valor da entrada 
analógica VIN, o comparador troca o nível lógico de saída, ativando o sinal de fim 
de conversão𝐸𝑂𝐶̅̅ ̅̅ ̅̅ , conforme apresentado no diagrama e no gráfico da Figura 
30, que bloqueia o sinal de clock para o contador. O valor digital fica disponível 
no registrador/contador. O sinal 𝐸𝑂𝐶̅̅ ̅̅ ̅̅ também sinaliza a outros dispositivos que 
há um novo resultado de conversão disponível, permitindo que este possa ser 
lido. Esse valor pode ficar disponível até a ocorrência de uma nova ativação do 
sinal ST. 
 
 
35 
Figura 30 – Diagrama em blocos de um conversor A/D em rampa digital 
 
Fonte: Tocci, 2011, p. 646. 
O tempo de conversão depende do valor analógico e é proporcional a 
este. Em outras palavras, no conversor de rampa digital, quanto maior o valor 
analógico, maior o tempo de conversão. 
5.3 Conversor A/D aproximações sucessivas (SAR) 
O conversor A/D de aproximações sucessivas (Successive Approximation 
- SAR) emprega um conversor D/A, assim como o ADC de rampa digital, mas 
adota uma estratégia diferente do incremento de um contador na busca do valor 
analógico deste último. Sua operação emprega um bloco lógico de controle que 
realiza a busca, adotando um mecanismo de teste de bit e um registrador de 
controle que auxilia na formação e disponibilização do valor digital de saída. A 
entrada do registrador de controle está ligada ao bloco de controle, e a saída do 
registrador está ligada à entrada do conversor D/A, como pode ser observado na 
Figura 31. 
O mecanismo de conversão inicia o processo, após a ocorrência do sinal 
START, pela ativação do bit MSB (most significant bit) no registrador de controle, 
que produz um valor de, aproximadamente, meio fundo de escala (½ FS) na 
saída do conversor D/A (VAX), que é comparado com o valor analógico de 
entrada (VA). A saída do comparador produz um sinal de retorno para a lógica 
de controle, que mantém ou não o MSB ativo antes de passar para a análise do 
próximo bit mais significativo, que não este, conforme algoritmo apresentado da 
 
 
36 
Figura 31. O bloco de controle avalia se a tensão VA é maior ou menor que VAX 
ou, em outras palavras, se o valor VA se encontra na primeira ou na segunda 
metade da escala, uma vez que o peso do MSB faz esta distinção. Se VA for 
maior que VAX, o valor final estará em algum lugar entre o ½ FS e FS e se VA for 
menor que VAX, o valor final estará entre 0 e ½ FS. 
Figura 31 – Diagrama em blocos de um conversor A/D de aproximações 
sucessivas 
 
Fonte: Tocci, 2011, p. 653. 
Após a definição do valor do MSB, o bloco de controle ativa o segundo bit 
mais significativo, que definirá um novo valor na saída VAX, que será maior ou 
menor que VA. Caso VAX seja maior que VA, o bit é desativado, e caso seja menor 
o bit permanecerá ativo, definindo o segundo bit do valor binário. O bloco de 
controle ativa o próximo bit mais significativo e assim, sucessivamente, até que 
todos os bits sejam testados. Quando o valor do LSB (least significant bit) for 
definido, o sinal 𝐸𝑂𝐶̅̅ ̅̅ ̅̅ se torna ativo, indicando que o valor digital da conversão 
foi determinado e está disponível no registrador de controle. 
Quando comparado ao ADC de rampa digital, o mecanismo empregado 
pelo conversor A/D de aproximações sucessivas é bem mais rápido e possui 
tempo fixo para conversão que depende da resolução (quantidade de bits) e 
independe do valor analógico VA (Tocci, 2011, p. 652). O valor digital encontrado 
 
 
37 
será pouco menor que o valor real, superior a zero e inferior à resolução de um 
degrau (LSB). 
5.4 Conversor A/D Flash 
O conversor A/D Flash possui o mecanismo mais rápido de conversão, 
composto essencialmente por comparadores, mas que se torna rapidamente 
caro para conversores resolução elevada. Na Figura 32 é apresentado um ADC 
Flash para 3 bits de resolução, que envolve o emprego de sete comparadores. 
Para um ADC de 8 bits seriam necessários 255 comparadores (2N-1), além dos 
circuitos necessários para a implementação de um codificador de prioridade de 
255 entradas. O tempo de conversão é dependente da comutação dos 
comparadores e da propagação dos circuitos digitais no codificador de 
prioridade, portanto, muito rápido e independente do valor analógico de entrada. 
O princípio de funcionamento do ADC Flash baseia-se na comparação 
entre a tensão de entrada (VAIN) e vários valores de tensão, produzidos pelo 
valor de fundo de escala (FS), distribuído em uma rede resistiva, que fornece as 
referências de tensão para cada degrau da escala. Na Figura 32 é apresentado 
um conversor A/D Flash de três bits, no qual podem ser observados sete níveis 
de tensão correspondentes aos valores de referência dos degraus, com 
resolução de 1 V, cujo valor de FS é 7 V. Os valores de referência são aplicados 
nas entradas não inversora dos comparadores. A entrada VAIN é comum a todos 
os comparadores e é aplicada nas entradas inversoras dos comparadores, de 
modo que essa tensão seja comparada a cada um dos valores de referência da 
rede resistiva (entradas não inversoras). Cada comparador que experimentar a 
condição de a tensão de entrada VAIN ser maior que a tensão de referência 
apresentará uma saída zero. Exemplificando com base na Figura 32, caso VAIN 
seja 3,54 V, os comparadores C1 (1 V), C2 (2 V) e C3 (3 V) apresentarão saída 
de nível lógico baixo, e os comparadores C4, C5, C6 e C7, de 4 V a 7 V, 
apresentarão saídas de nível lógico alto, condição prevista na tabela-verdade da 
mesma figura, que produzirá a codificação do valor binário “011”. 
O ADC MAX105 da Maxim, por exemplo, é um conversor A/D Flash duplo 
que possui uma taxa de conversão de 800 Msps (samples per second do inglês, 
amostras por segundo), para digitalização de sinais de entrada com frequências 
de até 200 MHz, mas que possui apenas 6 bits de resolução e que custa US$ 
42,24 por unidade, no momento da elaboração deste texto (Maxim, 2021). 
 
 
38 
Comparando, um ADC SAR da Texas com 10 bits de resolução, baixo consumo 
e pequena dimensão, com taxa de conversão de 2 Msps (Texas, 2021), possui 
um custo unitário de US$ 1,96 (Mouser, 2021), no momento da elaboração deste 
texto. 
Figura 32 – Diagrama de um conversor A/D Flash de três bits e tabela verdade 
do codificador de prioridade 
 
Fonte: Tocci, 2011, p. 660. 
5.5 Outros métodos de conversão A/D 
Além desses métodos mais conhecidos e comuns de conversão, outras 
técnicas foram desenvolvidas para se obter maior imunidade ao ruído de baixa 
frequência, como os necessários em processos industriais, ou para permitir 
amostrar sinais com maior resolução com custos menores, como para voz e 
música, ou para medição de sinais com pouca variação, como medidores de 
tensão DC. 
5.5.1 Conversor A/D de rampa dupla 
O ADC de rampa dupla não utiliza um D/A no mecanismo de conversão, 
mas capacitores que carregam com uma corrente constante, proporcional ao 
valor analógico de entrada VA e, após determinado tempo fixo, descarregam, 
 
 
39 
para uma carga padrão até zero. O tempo de descarga, de outra forma, é variável 
e depende da carga adquirida pelo capacitor na primeira parte da conversão, 
conforme apresentado na Figura 33. Durante o período de descarga, um 
contador é habilitado e conta até que o capacitor se descarregue completamente. 
Como os circuitos integradores garantem a carga e descarga lineares do 
capacitor, o valor presente no contador ao final da descarga do capacitor será 
proporcional ao valor analógico de entrada, ou seja, um valor digital que 
representa o valor analógico de entrada. O conversor de dupla rampa é de custo 
baixo e não emprega outros dispositivos de precisão como DAC e VCO (voltage-
controlled oscillator do inglês, osciladores controlados por tensão). 
Figura 33 – Operação do ADC de rampa dupla 
 
Fonte: Tocci, 2011, p. 661. 
O conversor A/D de rampa dupla ainda pode fornecer resoluções altas 
para conversões de sinais de baixa frequência, além de mantém boa imunidade 
ao ruído e estabilidade diante de variaçõestemperatura e precisão dos 
componentes. Embora a aquisição de dados não seja a aplicação adequada para 
este conversor, encontrou sua aplicação típica em multímetros digitais cujo 
tempo de conversão não afeta a funcionalidade desejada (Tocci, 2011, p. 662). 
5.5.2 Conversor A/D Tensão-Frequência (VFC/counter ADC) 
Os conversores A/D tensão-frequência (Voltage-to-Frequency 
Converters/counter ADC – VFC/counter ADC) possuem um mecanismo de 
compreensão bastante simples de conversão, baseado em um oscilador 
controlado por tensão (VOC) que produz uma frequência de saída que é 
linearmente proporcional à tensão analógica na entrada do seu circuito (Tocci, 
 
 
40 
2011, p. 662). O diagrama em blocos do conversor A/D tensão-frequência pode 
ser observado no diagrama da Figura 34. Dependendo da intensidade do valor 
analógico de entrada, o VCO produzirá uma frequência maior ou menor, 
proporcional às variações na tensão de entrada. Por exemplo, se o VCO tiver 
uma relação de 10 kHz/V, uma tensão de entrada de 1 V produzirá um sinal de 
saída com uma frequência de 10 kHz. Caso a próxima amostra seja de 1,3 V, o 
VCO produzirá uma saída com 13 kHz e, se na próxima amostra for 0,75 V, 
produzirá uma saída de 7,5 kHz. 
A saída do VCO é ligada a um contador, que contará ao longo de um 
intervalo de tempo fixo (tempo de conversão), apresentando um valor de 
contagem proporcional à frequência de entrada, que, por sua vez, é proporcional 
ao valor analógico na entrada do VCO. Ou seja, o valor analógico de entrada 
produzirá um valor digital, correspondente, no contador, realizando a conversão 
A/D. 
Figura 34 – Princípio do ADC por tensão-frequência 
 
Segundo Tocci (2011, p. 662), uma característica importante desse 
conversor A/D T-F está na sua precisão, em função da dificuldade prática de se 
implementar um VCO mais preciso, cujos valores ficam em torno de 0,1 %. Sua 
aplicação típica ocorre em ambiente industrial onde a transmissão de uma 
frequência por um cabo sofre menos interferência que outras forma de 
sinalização, como na utilização de tensão ou corrente. Quando maior a 
frequência, maior o valor analógico medido na variável de controle. 
Segundo Kester e Bryant (2009, p. 1), por ser monolítico, pequeno, livre 
de códigos ausentes e por possuir imunidade a ruído e baixo consumo, encontra 
aplicações em telemetria, podendo ser implantado, montado ou instalado em um 
sujeito experimental, como pacientes, animais selvagens e projéteis de artilharia 
e transmitir informações de medições de variáveis de controle por enlaces de 
telemetria. 
 
 
 
41 
5.5.3 Conversor A/D Sigma/Delta (ΔΣ) 
O conversor Sigma/Delta (ΔΣ) é um dispositivo de sobre amostragem que 
utiliza uma taxa de amostragem maior que a taxa mínima (fsmin ≥ 2fBW) que é 
maior de duas vezes a maior frequência (ou banda) do sinal amostrado (FBW – 
bandwidth). Portanto, a taxa de sobre amostragem é maior que fsmin. O 
codificador A/D ΔΣ produz um sinal digital de saída que possui uma densidade 
de bits “1” variável e proporcional ao valor analógico de entrada. Um valor 
positivo produz uma sequência binária na qual o bit “1” é mais denso. Um valor 
negativo produz, de outra forma, um sinal digital com baixa densidade de bits 
“1”. Por exemplo, o valor “011101111110111” representaria um valor analógico 
positivo intenso, já o valor “000010000001000” representaria um sinal analógico 
negativo intenso. 
O primeiro módulo do conversor A/D é o modulador Sigma/Delta, que faz 
uma amostragem grosseira, com resolução de 1 bit do sinal de entrada, a uma 
taxa muito elevada, produzindo uma sequência serial binária. O próximo módulo, 
formado por um filtro e um decimador digitais, convertem a sequência serial 
binária em um valor digital alta resolução, mas com uma taxa de conversão lenta. 
O conversor A/D ΔΣ tem, então, duas taxas de conversão, sendo uma para de 
amostragem (fS) e outra para a saída, na disponibilização do valor digital de alta 
resolução (fD). 
Figura 35 – Diagrama de blocos e gráfico típico do modulador ADC ΔΣ 
 
O modulador ΔΣ é a principal parte funcional do conversor A/D ΔΣ. É 
responsável por digitalizar o sinal da entrada analógica e reduzir ruído em 
frequências mais baixas. A arquitetura implementa, nessa fase, uma função 
chamada modelagem de ruído, que desloca o ruído de baixa frequência para 
frequências mais altas, fora da banda de interesse. A modelagem de ruído é uma 
 
 
42 
das razões para que os conversores ΔΣ sejam adequados para medições de 
baixa frequência e alta precisão (Texas, 2011, p.1). 
O sinal de entrada para o modulador ΔΣ é uma tensão analógica variável 
no tempo. Com os ADCs anteriores, a tensão de entrada sinal era principalmente 
para aplicações de áudio onde os sinais AC eram importantes. Agora que a 
atenção se voltou para aplicações de precisão, as taxas de conversão dos 
aplicativos incluem sinais DC (Texas, 2011, p. 1) 
5.5.4 Conversor A/D Pipelined 
O conversor A/D Pinelined divide a escala em subescalas que são 
convertidas por módulos separados. O primeiro módulo faz a conversão dos n 
bits mais significativos. A saída desse módulo, novamente convertido em 
analógico, é subtraída do sinal de entrada desse estágio. A diferença é 
amplificada por um ganho G apropriado e submetida ao próximo módulo, 
responsável pela conversão dos próximos n bits, conforme apresentado na 
Figura 36 (a). Esse processo continua estágio a estágio, determinando os n bits 
parciais, até a conversão do estágio final para os n bits menos significativos. 
A arquitetura do conversor A/D Pipelined emprega ADC Flash de 3 ou 4 
bits, proporcionando conversões parciais rápidas, podendo ser implementado 
com resolução elevada com custos relativamente baixos, tendo sido bastante 
difundida (Tocci, 2011, p. 664). 
Figura 36 – Diagrama ADC Pipelined (a); arquitetura ADC Pipelined ADS54J54 
(b) 
 
 
Fonte: Tocci, 2011, p. 665; Texas, 2016, p. 2. 
 
 
43 
A arquitetura de um dispositivo real, pode ser observado na Figura 36 (b), 
obtido da folha de dados (datasheet) do ADC Pipelined comercial ADS54J54, 
com custo unitário em torno de US$ 3,00 (Mouse 2, 2021), no momento da 
elaboração deste texto. 
5.6 Circuito de amostragem e retenção 
Os valores analógicos na entrada do conversor A/D são continuamente 
variáveis. Essa variação contínua pode afetar o processo de conversão na busca 
de um valor exato, durante o período de conversão. O circuito de amostragem e 
retenção é empregado para retirar uma amostra o sinal analógico e mantê-la fixa 
até o final do processo de conversão, evitando afetar o processo de conversão. 
O princípio de funcionamento dessa função consiste no chaveamento rápido do 
sinal analógico para a carga de um capacitor Ch, que mantém o valor da amostra 
mesmo após a abertura da chave. Na Figura 37, é apresentado um circuito 
simplificado para a função de amostragem e retenção. Os amplificadores A1 e A2 
estão no modo seguidor de tensão, que apresentam alta impedância de entrada 
e seguem na saída o valor atual, presente na entrada do amplificador. O 
amplificador A1 evita que o sinal analógico de entrada seja afetado e que existam 
desvios de corrente significativos. O amplificador A2 evita que existam desvios 
de corrente significativos que afetem o valor carregado no capacitor Ch. A 
entrada digital de controle aciona a chave digital para obter a amostra do sinal 
analógico de entrada, obedecendo à taxa de amostragem. 
Figura 37 – Circuito de amostragem e retenção 
 
Fonte: Tocci, 2011, p. 666. 
 
 
44 
5.7 Amostragem 
A taxa de amostragem foi definida por Henry Nyquist como um valor de 
frequência (fS) que deve ser duas vezes maior que o maior componente de 
frequência (fBW) do sinal amostrado. Essa taxa é a necessária para permitir a 
recuperação de um sinal analógico a partir das amostras obtidas do sinal original. 
O sinal de voz digital, utilizado nos sistemasde telefonia fixo comutado, por 
exemplo, é obtido por uma taxa de 8.000 amostras por segundo. Esse valor foi 
definido com base na largura de banda de frequências definido para o sinal 
analógico de voz, que está limitado, por norma, entre 340 e 3400 Hz. 
A Figura 38 apresenta um cenário no qual a frequência de amostragem é 
inferior a necessária. A subamostragem obtém leituras inadequadas do sinal 
amostrado, produzindo um sinal falso, cuja frequência é a diferença entre as 
frequências do sinal original e o sinal de amostragem. Nessa figura, a expressão 
do sinal original, obtido do gráfico, é A = 3 sen(5t), que apresenta uma frequência 
de 0,79577 Hz. A frequência do sinal de amostragem é obtida pelo inverso do 
período dos pulsos de amostragem, com valor de 0,63662 Hz. O sinal resultado 
tem expressão B = 3sen(t) obtida pelo gráfico apresenta frequência de 0,15915 
Hz. Claramente, o sinal resultante é diferente do sinal original, com a mesma 
amplitude, mas com frequência bem inferior. A diferença entre os sinais de 
amostragem e original é 0,79577 – 0,63662 = 0,15915 Hz, que é igual à 
frequência do sinal falso. 
Figura 38 – Sinal falso obtido por subamostragem 
 
 
 
 
45 
5.8 Arquiteturas típicas para conversores A/D 
A maioria dos conversores A/D se encaixam nas áreas de medição 
industrial de precisão, aplicações de voz e áudio, aquisição de dados e para 
obtenção de dados de alta velocidade (Tocci, 2011, p. 665). 
Os conversores A/D de rampa dupla apresentam custo baixo, baixa 
velocidade de conversão e imunidade a ruído, sendo aplicados principalmente 
no monitoramento de sinais DC e em multímetros digitais. Os conversores 
Sigma/Delta apresentam alta resolução e permite operação em larguras de 
faixas moderadas, sendo utilizados em aplicações industriais de precisão, leitura 
de sensores e acionamento de motores e em voz e áudio. Os conversores A/D 
de aproximações sucessivas são aplicados normalmente em aquisição de dados 
em múltiplos canais. Os conversores A/D Pipelined apresentam tempo de 
conversão menores e são aplicados em equipamentos de medição na 
digitalização em osciloscópios digitais, analisadores de espectro, exames por 
imagem e em radares, sistemas de comunicação e câmeras. Para aplicações de 
alta velocidade são utilizados os conversores A/D Flash (Tocci, 2011, p. 665). 
FINALIZANDO 
Nesta aula, estudamos as máquinas de estados finitos (FSM), sua 
representação gráfica em diagramas de estados e o processo de 
desenvolvimento de FSM com determinada função desejada. Estudamos a 
aplicação de FSM em contadores binários, Gray e em anel, em contadores 
progressivo-regressivo e registradores de deslocamento. Por último, analisamos 
o interfaceamento com o mundo real, apresentando os princípios da conversão 
de valores digitais para valores analógicas e de valores analógicos para valores 
digitais e seus parâmetros de qualificação. Vimos que os conversores A/D e D/A 
são empregados em praticamente todos os equipamentos digitais que realizam 
algum tipo de medição ou controle analógico e que apresentam soluções 
técnicas diferentes, com taxas de conversão e custos diversos, implementados 
por mecanismos de conversão distintos para aplicações com necessidades 
específicas. 
 
 
 
 
46 
REFERÊNCIAS 
KESTER, W.; BRYANT, J. Voltage-to-frequency converters. Analog Devices– 
MT-028 Tutorial, 2009. Disponível em: 
. 
Acesso em: 12 out. 2021. 
MAXIM Integrated, Max105, S.d. Disponível em: 
. Acesso em:12 out. 2021. 
MILLMAN, J. Eletrônica V-II. São Paulo: McGraw Hill do Brasil, 1981. 
MOUSER Eletronics. TI ADS7039QDCURQ1. Mouser Eletronics, S.d. 
Disponível em: . Acesso em: 12 out. 2021. 
_____. ADS54J54 Texas Instruments Analog to Digital Converters – ADC, 2021. 
Mouser Eletronics, S.d. Disponível em: 
. Acesso em: 12 
out. 2021. 
PEDRONI, V. A. Eletrônica digital moderna e VHDL. Rio de Janeiro: Elsevier, 
2010. 
TEXAS Instruments. ADS7039-Q1 Ultra-Low-Power Ultra-Small-Size 10-Bit 
2MSPS ADC. Texas Instruments, S.d.a. Disponível em: 
. Acesso em: 12 out. 2021. 
_____. How delta-sigma ADCs work, Part 1. Texas Instruments, S.d.b. 
Disponível em: 
. Acesso 
em: 12 out. 2021. 
_____. TI High-Speed Designs - Verified Design Pipeline ADC Code Error Rate 
Analysis and Measurement. Texas Instruments, 2016. Disponível em: 
. Acesso em: 12 out. 2021. 
 
 
47 
TOCCI, R. J. Sistemas digitais – Princípios e aplicações. 11. ed. São Paulo: 
Pearson Prentice Hall, 2011. 
VISHAY. High precision (0.01 % / 10 ppm/°C) through hole thin film conformal 
coating sil resistor. Vishay, 2021a. Disponível em: 
. Acesso em: 12 out. 2021. 
_____. Wirewound resistor, ultra precision, epoxy molded, axial lead. Vishay, 
2021b. Disponível em: . 
Acesso em: 12 out. 2021.

Mais conteúdos dessa disciplina