49 CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES Sumário 3.1. Introdução... 51 3.2. Transferência Serial de Dados: Registradores de Deslocamento (Reg. ESSS)... 52 3.2.1. Transferência Dados Registrador... 52 3.2.2. Transferência Registrador Registrador... 56 3.2.3. Outros Registradores de Deslocamento... 57 3.3. Transferência Paralela de Dados (Reg. EPSP)... 58 3.3.1. Transferência Dados Registrador... 58 3.3.2. Transferência Registrador Registrador... 59 3.4. Transferência Serial x Paralela... 60 3.5. Configurações Híbridas (Reg. ESSP e EPSS)... 61 3.5.1. Registrador ESSP... 61 3.5.2. Registrador EPSS... 61 3.6. Exercícios de Fixação... 64
50 CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES A partir de agora, estudaremos algumas aplicações de flip-flops, ou elementos de memória, em circuitos sequenciais. O primeiro estudo a ser realizado é a de Circuitos Registradores, que nada mais são que circuitos capazes de armazenar dados binários. Após esse capítulo você deverá ser capaz de: (1) Entender o funcionamento de circuitos registradores e suas topologias; (2) Projetar um registrador a partir das especificações necessárias; e (3) Entender basicamente a estrutura de sistemas de transmissão que utilizam registradores.
51 3.1. Introdução O uso mais comum de flip-flops é no armazenamento de dados binários, números BCD, etc. Esses dados são geralmente armazenados em grupos de flip-flops denominados registradores. Basicamente, um registrador consiste em um grupo de FF tipo D que atua no armazenamento de dados binários, pois um FF tem a capacidade de armazenar somente um bit, e de realizar a transferência dele. A figura 3.1 ilustra o uso de um FF tipo D no armazenamento de um dado de um bit: Figura 3.1 Flip-flop tipo D utilizado no armazenamento de um bit. Podemos observar que o valor lógico que está atualmente presente em A é transferido para o FF B na transição negativa do pulso transfer. Portanto, após esta transição, a saída B terá o mesmo valor de A. Estudaremos apenas aplicações envolvendo FF tipo D, porém outros FF podem ser utilizados, desde que sejam analisadas suas características.
52 3.2. Transferência Serial de Dados: Registradores de Deslocamento (Reg. ESSS) O grupo de FF é organizado de modo que os números binários a serem armazenados sejam deslocados de um FF para o FF seguinte, a cada pulso de clock, figura 3.2: Figura 3.2 Esquema de armazenamento de um Reg. ESSS. (FLOYD) 3.2.1. Transferência Dados Registrador Consiste em inserir dados na entrada do registrador, respeitando o número de bits, e efetuar o número de pulsos de clock necessários para que todo o dado seja inserido no registrador. A figura 3.3 mostra um registrador ESSS de 4 bits, um FF para cada bit a ser armazenado. Figura 3.3 Registrador ESSS de 4 bits. Observe que os FF estão conectados de tal modo que o valor da saída X 3 é transferido para X 2, o de X 2 é transferido para X 1 e o de X 1 para X 0. Isto significa que, quando ocorre uma transição negativa do pulso de deslocamento, cada FF assume o valor armazenado anteriormente pelo FF que está à sua esquerda. Exemplo: Possuindo o dado 110 2, escreva a tabela verdade da transferência de dados para o registrador da figura abaixo, considerando que inicialmente ele foi limpo.
53 Q1 Q3 CLK D1 D2 D3 Q2 (LSB) (MSB) 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 X 0 1 0 1 1 Dado 110 2 armazenado no registrador. As figuras 3.4 e 3.5 apresentam o processo de armazenamento e transmissão do dado 1010 2 armazenado em um Reg. ESSS, respectivamente:
54 Figura 3.4 Armazenamento do dado 1010 2 no Reg. ESSS. (FLOYD)
55 Figura 3.5 Transmissão do dado 1010 2 armazenado anteriormente no Reg. ESSS. (FLOYD)
56 3.2.2. Transferência Registrador Registrador A figura 3.6 mostra dois registradores de deslocamento de três bits conectados de tal modo que o conteúdo do registrador X seja transferido serialmente (deslocado) para o registrador Y. Portanto, quando os pulsos de deslocamento são aplicados, a transferência de informação ocorre da seguinte forma: X 2 X 1 X 0 Y 2 Y 1 Y 0. Figura 3.6 Registradores de ESSS conectados em série. Supondo que inicialmente temos o dado 101 2 armazenado no registrador X e que o registrador Y foi limpo, temos a tabela verdade da figura 3.7. Figura 3.7 Tabela verdade do registrador da figura 3.3 A partir dessa tabela podemos concluir que: - Na transição negativa de cada pulso, cada FF assume o valor que foi armazenado no FF à sua esquerda, antes da ocorrência do pulso.
57 - Após 3 pulsos, todo o conteúdo presente no registrador X está presente no registrador Y, portanto, a transferência completa de 3 bits necessita de 3 pulsos de deslocamento. Exemplo: Considerando os mesmos registradores X e Y anteriores, determine o que ocorreria após o sexto pulso de deslocamento aplicado a eles. Construa uma tabela verdade dessa transferência. 3.2.3. Outros Registradores de Deslocamento Existem algumas aplicações para os registradores de deslocamento, são elas o Registrador de Deslocamento Circulante (RDC) e o Registrador Bi-Direcional (RBD).
58 3.3. Transferência Paralela de Dados (Reg. EPSP) O grupo de FF é organizado de maneira que o dado binário a ser armazenado seja transferido simultaneamente para todos os FF, com a aplicação de apenas 1 pulso de transferência ou clock, figura 3.8: Figura 3.8 Esquema de um Reg. EPSP (FLOYD). 3.3.1. Transferência Dados Registrador Consiste em inserir o dado a ser armazenado diretamente na entrada do registrador, efetuando-se 1 pulso de transferência, como mostra a figura 3.9: Figura 3.9 Registrador EPSP de 3 bits. Podemos observar que após 1 pulso de transferência, temos todo o conteúdo foi armazenado no registrador, pois todo o dado foi transferido simultaneamente.
59 3.3.2. Transferência Registrador Registrador A figura 3.10 mostra dois registradores, X e Y, interligados para executar uma transferência paralela de dados, ou seja, após a aplicação de 1 pulso de transferência, todo o conteúdo de X é armazenado também em Y. Figura 3.10 Registradores EPSP conectados em série. É importante destacar que a transferência paralela de dados entre registradores não altera o conteúdo da fonte, enquanto na transferência serial altera gradativamente o valor do registrador que atua como fonte de dados.
60 3.4. Transferência Serial x Paralela A escolha de um tipo particular de transferência, serial ou paralela, depende da aplicação e das especificações fornecidas. Abaixo temos uma tabela comparativa, que mostra as duas principais diferenças entre a transferência paralela e serial de dados: PARALELA SERIAL 1) Todas as informações são transferidas simultaneamente na ocorrência de um único pulso de transferência, não importando o número de bits que estejam sendo transferidos MAIOR VELOCIDADE. 1) A transferência completa de N bits, necessita de N pulsos de clock MENOR VELOCIDADE. 2) Requer um maior número de conexões entre TX e RX MAIOR CUSTO. 2) Necessita de apenas uma conexão entre TX e RX MENOR CUSTO. Geralmente, uma combinação dos dois tipos é utilizada para tirar proveito da velocidade da transferência paralela e da economia e simplicidade da transmissão serial, e essa combinação depende da aplicação e das especificações fornecidas para o sistema, daí surgem outros dois tipos de registradores: Entrada Serial e Saída Paralela (ESSP) e Entrada Paralela e Saída Serial (EPSS), que derivam das estruturas básicas ESSS e EPSP estudadas anteriormente.
61 3.5. Configurações Híbridas (Reg. ESSP e EPSS) 3.5.1. Registrador ESSP O próprio Registrador de Deslocamento (ESSS) pode ser utilizado para converter uma informação série em paralela, ou seja, funcionar como um conversor Série Paralelo, bastando retirar a informação armazenada no registrador de modo simultâneo. A configuração básica nessa situação, para uma informação de 3 bits é vista no circuito apresentado na figura 3.11: Figura 3.11 Registrador ESSP. 3.5.2. Registrador EPSS Para entrarmos com uma informação paralela e obtê-la de modo serial, necessitamos de FF que contenham as entradas Preset e Clear, pois é através destas que fazemos com que o registrador armazene a informação paralela. O registrador com estas entradas é visto na figura 3.12:
62 Figura 3.12 Registrador EPSS. Primeiramente, vamos estudar o funcionamento da entrada ENABLE. Quando a entrada ENABLE estiver em 0, as entradas PRE dos FF assumirão, respectivamente, níveis 1, fazendo com que o registrador atue normalmente. Quando a entrada ENABLE assumir valor igual a 1, as entradas PRE dos FF assumirão os valores complementares das entradas paralelas conectadas à elas, logo, os FF assumirão os valores que estiverem, respectivamente nessas entradas. Para um melhor entendimento. Vamos analisar uma célula do registrador, apresentada na figura 3.13:
63 Para que esse conversor funcione, é necessário inicialmente um pulso de nível 0 na entrada CLEAR dos FF. Com ENABLE = 0, a entrada PRE assumirá nível 1 e o FF irá funcionar como um registrador de deslocamento comum (ESSS). Com ENABLE = 1 e D in = 0, PRE assumirá nível 1, logo, a saída Q manterá seu estado anterior (que era 0). Com ENABLE = 1 e D in = 1, PRE assumirá Figura 3.13 Célula do registrador EPSS. nível 0, logo a saída Q assumirá valor 1. Após essa análise, concluímos que, se zerarmos o registrador e logo após introduzirmos a informação paralela, as saídas Q dos FF assumirão os valores inseridos respectivamente nessas entradas. Depois de inserida paralelamente essa informação, basta colocarmos ENABLE = 0 novamente e prosseguir como um registrador de deslocamento comum. Com esse conjunto obtivemos um registrador com Entrada Paralela e Saída Serial (EPSS).
64 3.6. Exercícios de Fixação 1) Implemente um registrador ESSS de 4 bits com reset automático. 2) Implemente um registrador EPSP de 4 bits com reset automático ao ser ligado e reset controlado por uma variável externa. 3) Implemente um registrador EPSS de 3 bits e explique o processo de armazenamento de dados paralelos nesse tipo de registrador. 4) Implemente um registrador ESSS de 1 byte, sendo o dígito mais significativo armazenado no último flip-flop. Construa a tabela verdade de armazenamento para a palavra A7 h. 5) Cite a diferença entre transmissão serial e paralela de dados. 6) Implemente um registrador de 6 bits, ESSS, que possui o dado X na entrada do primeiro flip-flop e indique o valor armazenado (em função de X) após 4 pulsos de clock, sabendo que ele foi previamente limpo e que o primeiro flip-flop armazena o dígito menos significativo. 7) Implemente um registrador bi-direcional de 4 bits. 8) Implemente o sistema de armazenamento e transmissão abaixo:
65 9) Analisando o circuito a seguir, a partir do momento em que ele é ligado, construa uma tabela verdade contendo 6 pulsos de clock e explique o que ocorre matematicamente com as saídas a cada pulso de clock. 10) Em certo sistema de armazenamento e transmissão de dados, necessita-se combinar os tipos de transmissão e armazenamento segundo o diagrama de blocos abaixo. Implemente esse sistema.