Mudanças entre as edições de "EDI018702 2020 1 AULA07"
(Criou página com '=Apresentação= Olá futuros Engenheiros, Na próxima semana vamos realizar nossa AT2 que vai envolver até o conteúdo da aula de hoje. Vamos terminar com Demux estudar um...') |
|||
(11 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
=Apresentação= | =Apresentação= | ||
− | Olá | + | 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! | Bons Estudos! | ||
Linha 11: | Linha 9: | ||
Prof. Douglas A. | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==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;" | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;" | ||
− | |+'''Tabela 1 - | + | |+'''Tabela 1 - Estados dos registradores''' |
− | |||
− | |||
|- | |- | ||
− | | | + | ! style="background:#F7D358; color:#151515; width: 20px;" | Clock |
− | | | + | ! style="background:#F7D358; color:#151515; width: 20px;" | D1 |
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | D2 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | D3 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | D4 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Q1 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Q2 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Q3 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Q4 | ||
|- | |- | ||
− | | 0 0 1 | + | | 0 |
− | | | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | ? | ||
+ | | ? | ||
+ | | ? | ||
+ | | ? | ||
|- | |- | ||
− | | 0 1 0 | + | | <math>\uparrow</math> |
− | | | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
|- | |- | ||
− | | 0 | + | | 0 |
− | | | + | | X |
− | | | + | | X |
− | | | + | | X |
− | | | + | | X |
− | + | | 1 | |
− | | 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. | ||
+ | ==Registrado 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 | + | 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 | + | 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: | + | [[Imagem:fig31_DIG222802.png|center]] |
<center> | <center> | ||
− | Figura - | + | Figura 3 - Registrador de deslocamento serial para direita. |
</center> | </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: | + | [[Imagem:fig35_DIG222802.png|center]] |
<center> | <center> | ||
− | Figura | + | Figura 7 - Diagrama lógico do 74166. |
</center> | </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. | |
− | |||
− | |||
− | |||
− | um | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[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]] | |
− | |||
− | |||
− | [[Imagem: | ||
<center> | <center> | ||
− | Figura - | + | Figura 11 - Transferência serial entre registradores. |
</center> | </center> | ||
+ | {| border="1" cellpadding="5" cellspacing="0" style="text-align: center;" | ||
+ | |+'''Tabela 2 - Estados dos registradores''' | ||
+ | |- | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" rowspan="2" | Clock | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" colspan="3" | Registrador X | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" colspan="3" | Registrador Y | ||
+ | |- | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | X1 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | X2 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | X3 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Y1 | ||
+ | ! style="background:#F7D358; color:#151515; width: 20px;" | Y2 | ||
+ | ! style="background:#F7D358; color:#151515; 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 | + | 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]] | |
− | [[Imagem: | ||
<center> | <center> | ||
− | Figura - | + | Figura 14 - Contador Johnson. |
</center> | </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. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | ==Exercícios== |
− | |||
− | |||
− | |||
− | |||
− | + | [https://wiki.sj.ifsc.edu.br/images/1/14/Lista_de_Exerc%C3%ADcios_2_-_EDI018702.pdf Lista de Exercícios - AT2] | |
− | + | [http://wiki.sj.ifsc.edu.br/images/e/e4/Exerc%C3%ADcios_-_Registradores.pdf Outros Exercícios - Registradores] | |
=Referências= | =Referências= | ||
− | [1 | + | [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 | ||
Linha 534: | Linha 403: | ||
----- | ----- | ||
− | [[Imagem:icone_voltar.png|link= | + | [[Imagem:icone_voltar.png|link=EDI018702_2020_1_AULA06]] |
− | [[Imagem:icone_menu.png|link= | + | [[Imagem:icone_menu.png|link=EDI018702_2020_1#Aulas]] |
− | [[Imagem:icone_prox.png|link= | + | [[Imagem:icone_prox.png|link=EDI018702_2020_1_AULA08]] |
Edição atual tal como às 15h15min de 16 de março de 2020
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.
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.
Figura 1 - Registrador do tipo "Porta Paralela".
Clock | D1 | D2 | D3 | D4 | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|---|---|---|---|
0 | 1 | 0 | 1 | 0 | ? | ? | ? | ? |
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.
Registrado 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.
Figura 2 - Diagrama de blocos do registrador entrada e saída serial.
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.
Figura 3 - Registrador de deslocamento serial para direita.
Figura 4 - Diagrama de tempo para o registrador entrada série com deslocamento para a direita.
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.
Figura 5 - Diagrama em blocos para o registrador entrada série com saída paralela.
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).
Figura 6 - Diagrama em blocos para o registrador entrada paralela e saída serial.
Figura 7 - Diagrama lógico do 74166.
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.
Figura 8 - Diagrama lógico do 74166.
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.
Figura 9 - Diagrama de blocos.
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.
Figura 10 - Registrador tipo porta paralela.
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.
Figura 11 - Transferência serial entre registradores.
Clock | Registrador X | Registrador Y | ||||
---|---|---|---|---|---|---|
X1 | X2 | X3 | Y1 | Y2 | 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.
Figura 12 - Contador em Anel.
Figura 13 - Diagrama de tempo do contador em anel.
Contador Johnson
O contador Johnson é um contador em anel no qual a saída 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.
Figura 14 - Contador Johnson.
- 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.
Figura 15 - Simbologia (A) e tabela verdade (B) da chave tristate.
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.
Exercícios
Outros Exercícios - Registradores
Referências
[1] http://www.ufjf.br/fabricio_campos/files/2011/03/cap07_parte_2.pdf