|
|
Linha 95: |
Linha 95: |
| | | |
| {{collapse bottom}} | | {{collapse bottom}} |
− |
| |
− | =Apresentação=
| |
− |
| |
− | Olá Estudante,
| |
− |
| |
− | Até agora aprendemos sobre os flip-flop e contadores assíncronos e síncronos, crescente, decrescente, modulares, com carga inicial e tudo mais. Aprendemos também a compreender as formas de onda expressas nos diagramas de funcionamento e agora vamos aprender sobre um das aplicações muito apreciadas com flip-flops, que são os registradores.
| |
− |
| |
− | Bons Estudos!
| |
− |
| |
− | Prof. Douglas A.
| |
− |
| |
− | =Registradores=
| |
− |
| |
− |
| |
− | Uma das formas mais comuns de utilização dos flip-flop (FF) é no armazenamento
| |
− | e transferência de informações (bits). Cada FF possui a capacidade de
| |
− | armazenar um bit. Vários FFs podem ser configurados para formar um registrador
| |
− | no qual pode-se armazenar uma palavra binária. São necessários tantos
| |
− | FF quantos forem os bits da palavra.
| |
− | Os registradores armazenam bits e têm a capacidade de transferir esses bits
| |
− | para outros registradores seja de forma simultânea ou uma a uma.
| |
− |
| |
− |
| |
− | ==Registradores do tipo porta paralela==
| |
− |
| |
− |
| |
− | Neste registrador todos os bits são armazenados simultaneamente. Ele é constituído de FF com as entradas de ''clock'' ligadas em comum. Quando ocorre a transição positiva do ''clock'', os dados de D1 a D4 são armazenados nas saídas Q1 a Q4. A Figura 1 mostra um circuito registrador do tipo porta paralela.
| |
− |
| |
− |
| |
− | [[Imagem:fig29_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 1 - Registrador do tipo "Porta Paralela".
| |
− | </center>
| |
− |
| |
− |
| |
− | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
| |
− | |+'''Tabela 1 - Estados dos registradores'''
| |
− | |-
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Clock
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | D1
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | D2
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | D3
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | D4
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Q1
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Q2
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Q3
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Q4
| |
− | |-
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | ?
| |
− | | ?
| |
− | | ?
| |
− | | ?
| |
− | |-
| |
− | | <math>\uparrow</math>
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | |-
| |
− | | 0
| |
− | | X
| |
− | | X
| |
− | | X
| |
− | | X
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | |}
| |
− |
| |
− | Registradores deste tipo são também conhecidos por LATCHES ou FLIP-FLOP do tipo D. Existem disponíveis comercialmente registradores de diversos tamanhos como mostrado anteriormente.
| |
− |
| |
− | ==Registradores de deslocamento==
| |
− |
| |
− | É um registrador no qual os FF são conectados de forma a permitir, além da
| |
− | inserção a operação de deslocamento dos bits da palavra binária. A importância
| |
− | das operações de deslocamento dos bits está no fato destas viabilizarem,
| |
− | entre outras, a realização de um grande número de operações lógicas e aritméticas
| |
− | em um sistema digital. Os bits de uma registrador podem ser transmitidos
| |
− | de duas maneiras:
| |
− |
| |
− | '''Em série''': os bits da palavra são transferidos em sequência (um após o outro)
| |
− | por um único fio. Este formato economiza circuitos.
| |
− |
| |
− | '''Em paralelo''': os bits da palavra são transferidos simultaneamente por um
| |
− | número de fios igual ao número de bits. Este formato economiza tempo.
| |
− | Assim, levando-se em consideração as formas possíveis para se transmitir
| |
− | uma palavra, pode-se inserir e retirar os bits em um registrador de maneira
| |
− | serial ou paralela. Desta forma, é possível a implementação de 4 tipos básicos
| |
− | de registradores:
| |
− |
| |
− | *Entrada e saída serial;
| |
− | *Entrada paralela e saída serial;
| |
− | *Entrada serial e saída paralela;
| |
− | *Entrada e saída paralela.
| |
− |
| |
− |
| |
− |
| |
− | ===Entrada e saída serial===
| |
− |
| |
− |
| |
− | Suponha que voce deseja armazenar no registrador o dado de 4 bits "1010". Como o registrador
| |
− | desloca os dados da esquerda para a direita o primeiro bit a entrar é 0 da direita,
| |
− | chamado de LSB (Least Significant Bit). São necessários 4 transições negativas
| |
− | do clock para que o dado entre no registrador. O último bit a entrar é o 1
| |
− | da esquerda, chamado de MSB (Most Significant Bit). A Figura 2 apresenta o diagrama de blocos para esse tipo de registrador.
| |
− |
| |
− |
| |
− | [[Imagem:fig30_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 2 - Diagrama de blocos do registrador entrada e saída serial.
| |
− | </center>
| |
− |
| |
− |
| |
− | Considerando-se o sentido de movimento dos dados pode-se ter:
| |
− | *Deslocamento para a direita;
| |
− | *Deslocamneto para a esquerda;
| |
− | *Bidirecional.
| |
− |
| |
− |
| |
− | A Figura 3 mostra um registrador de deslocamento de 4 bits e na Figura 4
| |
− | é apresentado o seu diagrama de tempo da entrada serial dos dados. A cada
| |
− | pulso de clock, o valor contido nas entradas J e K dos FF é transferido para a
| |
− | saída. Essa saída está conectada na entrada do próximo FF. Após 4 transições
| |
− | de descida de clock, o valor das 4 últimas entradas de DADOS, é transferido serialmente para os FF, estando armazenado no registrador nos FF Q, R, S e T.
| |
− |
| |
− |
| |
− | [[Imagem:fig31_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 3 - Registrador de deslocamento serial para direita.
| |
− | </center>
| |
− |
| |
− |
| |
− | [[Imagem:fig32_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita.
| |
− | </center>
| |
− |
| |
− |
| |
− | Para manter estes dados armazenados basta que o sinal de clock seja desativado
| |
− | (0). Caso se deseje retirar os dados do registrador utiliza-se 4 transições
| |
− | negativas do clock. A saída dos dados ocorre de forma serial no ultimo
| |
− | FF (T) conforme mostrado na Fig. 6-9. OBS: Para facilitar o acompanhamento
| |
− | da saída destes dados (1010) a entrada de dados foi mantida em zero.
| |
− |
| |
− |
| |
− | (propor construir o registrador de deslocamento utilizando FF tipo D)
| |
− |
| |
− | ===Entrada serial com saída paralela===
| |
− |
| |
− |
| |
− | A Figura 5 apresenta o diagrama de blocos deste tipo de registrador. Neste caso, os
| |
− | dados são deslocados em série para dentro (como já mostrado). Para se ter os
| |
− | dados em paralelo basta ter acesso a todas as saídas dos FF do registrador
| |
− | de deslocamento.
| |
− |
| |
− |
| |
− |
| |
− | [[Imagem:fig33_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela.
| |
− | </center>
| |
− |
| |
− |
| |
− | ===Entrada paralela e saída serial===
| |
− |
| |
− | Para este tipo de registrador são incorporadas habilidades para entrada em paralelo e
| |
− | deslocamento dos dados. A análise será feita a partir do 74LS166 que possui
| |
− | entrada serial e paralela e saída serial. A Figura 6 mostra o diagrama de blocos deste registrador.
| |
− | Os diagramas lógicos e tabela funcional é mostrados na Figura 7 e 8. Para realizar a entrada paralela
| |
− | dos dados, altera-se a entrada LOAD (carregar) para 0, e na transição positiva
| |
− | do ''clock'' os FF têm suas saídas simultaneamente alteradas de acordo com as
| |
− | entradas A a H. Quando a entrada LOAD está em 1 (SHIFT), o registrador
| |
− | funciona como um registrador de deslocamento. A entrada CLEAR permite
| |
− | zerar todas as saídas dos FF imediatamente (sem o ''clock'').
| |
− |
| |
− |
| |
− |
| |
− | [[Imagem:fig34_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.
| |
− | </center>
| |
− |
| |
− |
| |
− | [[Imagem:fig35_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 7 - Diagrama lógico do 74166.
| |
− | </center>
| |
− |
| |
− | Exemplo: 74ALS166 e 74HC166
| |
− |
| |
− | *Apenas a saída serial QH é disponível.
| |
− | *Dados seriais entram no pino SER.
| |
− | *Dados paralelos podem ser carregados de forma síncrona.
| |
− | *Funcionamento serial se SH/LD' = 1
| |
− | *Carga paralela de dados se SH/LD' = 0
| |
− | *Deslocamento síncrono e carga paralela desabilitados se CLK INH = 1 (clock-inhibit) – FFs mantêm estado anterior.
| |
− |
| |
− |
| |
− | [[Imagem:fig36_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 8 - Diagrama lógico do 74166.
| |
− | </center>
| |
− |
| |
− | O primeiro bit aparece em QH em t8, 8 pulsos de relógio após CLR' ter ido para o nível baixo.
| |
− |
| |
− |
| |
− | ===Entrada paralela e saída paralela===
| |
− |
| |
− | A Figura 9 mostra o diagrama de blocos para o registrador do tipo entrada paralela e saída paralela.
| |
− |
| |
− |
| |
− | [[Imagem:fig38_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 9 - Diagrama de blocos.
| |
− | </center>
| |
− |
| |
− | Este tipo de registrador pode ser implementado conforme mostrado na Figura 10, porém não é considerado propriamente um registrador de deslocamento. Entretanto, em algumas aplicações é necessário que o registrador seja de deslocamento. Por isso, existem CIs
| |
− | comerciais que são registradores de deslocamento com entradas e saídas paralelas. O CIs 74LS195 é um registrador de deslocamento
| |
− | de 4 bit com entradas paralela e serial e saídas paralela e serial.
| |
− |
| |
− |
| |
− | [[Imagem:fig39_DIG222802.png|center|450px]]
| |
− | <center>
| |
− | Figura 10 - Registrador tipo porta paralela.
| |
− | </center>
| |
− |
| |
− | Como o CI 74195 é possível realizar as seguintes operações:
| |
− |
| |
− | *Manutenção do estado interno do registrador;
| |
− | *CLEAR da saída paralela;
| |
− | *Entrada paralela e saída paralela;
| |
− | *Entrada série e saída série para a direita;
| |
− | *Entrada série e saída paralela (com desabilitação do ''clock'' após a quarta transição positiva do clock);
| |
− | *Entrada paralela e saída série a direita.
| |
− |
| |
− | ==Aplicações com registradores==
| |
− |
| |
− | ===Porta paralela===
| |
− |
| |
− |
| |
− | A Figura 10 mostra o uso de uma porta paralela de dados para a a transferência
| |
− | dos dados da entrada D1 a D4 para as saídas Q1 a Q4. A função desse
| |
− | circuito é armazenar um estado de um circuito, até que um novo estado esteja
| |
− | disponível ou seja desejável. A transferência é controlada pelo ''clock''. Na
| |
− | transição negativa do ''clock'' os dados são armazenados no registrador X. A
| |
− | transferência ocorre simultaneamente em todos os bits.
| |
− |
| |
− |
| |
− | ===Porta serial===
| |
− |
| |
− |
| |
− | A Figura 11 apresenta a conexão entre dois registradores de deslocamento X e Y
| |
− | para a transferência serial de dados. O ''clock'' desses registradores é único, e
| |
− | faz com que a cada transição negativa do ''clock'', o conteúdo do terceiro FF do
| |
− | registrador X é transferido para o primeiro FF do registrador Y, a mesmo tempo
| |
− | que internamente o conteúdo dos FF é deslocado. Após 3 transições negativas
| |
− | do ''clock'', o conteúdo inicial do registrador X é todo transferido para o registrador
| |
− | Y, conforme mostra a Tabela XX.
| |
− |
| |
− |
| |
− | [[Imagem:fig40_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 11 - Transferência serial entre registradores.
| |
− | </center>
| |
− |
| |
− |
| |
− | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;"
| |
− | |+'''Tabela 2 - Estados dos registradores'''
| |
− | |-
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" rowspan="2" | Clock
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" colspan="3" | Registrador X
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" colspan="3" | Registrador Y
| |
− | |-
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | X1
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | X2
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | X3
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Y1
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Y2
| |
− | ! style="color:white;background:#1E90FF; width: 20px;" | Y3
| |
− | |-
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | ?
| |
− | | ?
| |
− | | ?
| |
− | |-
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | ?
| |
− | | ?
| |
− | |-
| |
− | | 2
| |
− | | 0
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | | ?
| |
− | |-
| |
− | | 3
| |
− | | 0
| |
− | | 0
| |
− | | 0
| |
− | | 1
| |
− | | 0
| |
− | | 1
| |
− | |}
| |
− |
| |
− | ===Contador em anel===
| |
− |
| |
− | Para o funcionamento deste tipo de contador, um dos FF deve ter inicialmente o valor 1 e os outros 0. Isso pode ser feito através das entradas assíncronas PRESET e CLEAR. Por ser um registrador de deslocamento, o 1 é transferido para o próximo FF a cada ''clock''
| |
− | e da mesma forma os 0s. Os estados se repetem ciclicamente porque a saída do último FF está conectado a entrada do primeiro FF. A Figura 12 mostra um contador em anel e a Figura 13 apresenta a sequência da contagem considerando inicialmente a saída Q3=1 e as outras Q2=Q1=Q0=0.
| |
− |
| |
− |
| |
− | [[Imagem:fig41_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 12 - Contador em Anel.
| |
− | </center>
| |
− |
| |
− |
| |
− | [[Imagem:fig42_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 13 - Diagrama de tempo do contador em anel.
| |
− | </center>
| |
− |
| |
− |
| |
− | ===Contador Johnson===
| |
− |
| |
− | O contador Johnson é um contador em anel no qual a saída <math>\bar Q_0</math> do último FF
| |
− | está conectado a entrada D do primeiro FF, conforme mostrado na Figura 14.
| |
− | Neste tipo de contador todos os FF deve ter inicialmente o valor 0, o que pode
| |
− | ser feito através da entrada assíncronas CLEAR.
| |
− |
| |
− | [[Imagem:fig43_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 14 - Contador Johnson.
| |
− | </center>
| |
− |
| |
− | ;Exercício
| |
− |
| |
− | Desenhe o diagrama de tempo correspondente ao funcionamento do Contador Johnson.
| |
− |
| |
− |
| |
− | =Terceiro estado de uma saída (''tristate'')=
| |
− |
| |
− |
| |
− | As saídas que podem apenas assumir os estados 0 e 1 são chamadas de ''Totem-Pole''. Diversos circuitos possuem saídas que podem assumir, além dos estados 0 e 1, o estado de alta impedância (''tristate'') o qual é equivalente a um circuito aberto. As saídas em ''tristate'' permitem assim que os computadores sejam organizados em barramentos, conectando diversas saídas de componentes sem provocar a danificação dos mesmos desde que somente um componente seja acionado de cada vez. As saídas dos componentes comportam-se de forma similar a uma chave de três estados. A Figura 15 mostra a simbologia (A) e a tabela verdade (B) para a chave de três estados.
| |
− |
| |
− |
| |
− | [[Imagem:fig44_DIG222802.png|center]]
| |
− | <center>
| |
− | Figura 15 - Simbologia (A) e tabela verdade (B) da chave ''tristate''.
| |
− | </center>
| |
− |
| |
− |
| |
− | Notem que quando E=0 (''enable'') a saída Y fica em Z (alta impedância) independente do valor da entrada D.
| |
− |
| |
− | =Circuitos Integrados de Registradores=
| |
− |
| |
− |
| |
− | A seguir são mostrados os diagramas lógicos, pinagens e tabelas funcionais
| |
− | de alguns registradores.
| |
− |
| |
− | *74164 – Registrador de deslocamento de 8 bits com entrada serial e saída paralela.
| |
− | *74165 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial.
| |
− | *74166 – Registrador de deslocamento de 8 bits com entrada serial/paralela e saída serial, com CLEAR assíncrono.
| |
− | *74173 – Registrador porta FF de 4 bits com entrada paralela e saída paralela em tristate
| |
− | *74194 – Registrador de deslocamento bidirecional universal de 4 bits com entrada paralela e saída paralela
| |
− | *74195 – Registrador de deslocamento de 4 bits com entrada paralela e saída paralela
| |
− | *74273 – Registrador porta FF de oito bits de entrada paralela e saída paralela.
| |
− | *74373 – Registrador porta LATCH de oito bits de entrada paralela e saída paralela em tristate.
| |
− | *74374 – Registrador porta FF de oito bits de entrada paralela e saída paralela em tristate.
| |
− | *74543 – Transceptor com registradores de oito bits com saídas em tristate.
| |
− |
| |
− | =Lista de Exercícios=
| |
− |
| |
− |
| |
− | [http://wiki.sj.ifsc.edu.br/images/e/e4/Exerc%C3%ADcios_-_Registradores.pdf Download Exercícios - Registradores]
| |
− |
| |
− | =Organização das próximas aulas=
| |
− |
| |
− | Até agora, apresentamos os conceitos relacionados a contadores e registradores. Na próxima aula vamos ter o Laboratório 2 onde iremos montar um relógio digital, a partir de um oscilador com 555 e dois dígitos. Na outra semana vamos começar a falar sobre codificadores e decodificadores, passando por tipos de códigos utilizados como: binário, BCD, Johnson e Gray.
| |
− |
| |
− | Estudem!
| |
− |
| |
− | Prof. Douglas A.
| |
− |
| |
− | =Referências=
| |
− |
| |
− | [1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf
| |
− |
| |
− | [2] http://www.univasf.edu.br/~romulo.camara/novo/wp-content/uploads/2013/07/Aula16_Registradores_de_Deslocamento.pdf
| |
− |
| |
− |
| |
| | | |
| | | |