37 / 63 · Conceito
Entrada serial e limites de quadro
Defina ordem e bordas válidas e calcule a disposição dos bits numa conversão serial-paralela.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Da ordem temporal às posições do vetor
Uma entrada serial transmite um bit por borda válida. Para um registradorRegistrador Circuito que armazena vários bits de estado. Os registradores síncronos deste curso capturam a entrada especificada na borda de clock. Saiba mais de três bits, q<={q[1:0],din}, q inicial 000 e bits 1,0,1,1:
| Bits aceitos | din | q atualizado |
|---|---|---|
| 1 | 1 | 001 |
| 2 | 0 | 010 |
| 3 | 1 | 101 |
| 4 | 1 | 011 |
O bit novo entra pela direita e os anteriores avançam para índices maiores. O registrador é uma janela móvel dos três bits mais recentes: ao entrar o quarto, perde o primeiro.
Cada coluna abaixo registra uma borda de subidaBorda de subida Instante em que o clock passa de 0 para 1. É diferente do nível alto, que abrange todo o intervalo com CLK=1. Saiba mais, com entrada anterior e estado «depois» posterior. O alinhamento representa amostras, não propagação físicaAtraso de propagação Tempo entre uma mudança de entrada e a estabilização da saída no valor correto. Equivalência lógica e comportamento temporal são propriedades distintas. Saiba mais. A primeira coluna é reset; depois q mantém apenas os três mais recentes de 1,0,1,1. Observe o primeiro sair na última coluna.
Ver os dados da forma de onda
| Sinal | Forma de onda | Valores do barramento |
|---|---|---|
| borda | 23452 | E0 → E1 → E2 → E3 → E4 |
| reset | 10... | |
| din | 0101. | |
| q depois | 23452 | 000 → 001 → 010 → 101 → 011 |
MSB-first e LSB-first são regras de comunicação
Se um valor de oito bits for enviado a partir do MSBMSB Bit de maior peso. Seu índice depende do sentido de declaração do vetor; não se deve supor que sempre tenha o maior número. Saiba mais, oito capturas com esse deslocamento reconstroem o vetor original. Se for enviado a partir do LSBLSB Bit de menor peso. É preciso conferir em conjunto o sentido da notação e as regras de indexação. Saiba mais, fica invertido e é preciso mudar conexões ou reordenar ao final. É um protocolo que ambos os lados devem acordar, não uma preferência de visualização.
O valor do dado não identifica o quadro
É necessário estado para indicar o primeiro bit, quantos foram aceitos e quando o resultado pode ser consumido. Costuma-se combinar um contador de bits aceitos com valid ou done. Se houver pausas, conte dados aceitos, não clocks.
Com ready/validHandshake Contrato que confirma uma transferência quando valid do transmissor e ready do receptor valem 1 na mesma borda. Inclui as regras para manter os dados durante a espera. Saiba mais, atualize deslocamento e contador juntos somente quando accept for verdadeiro na borda. Aplicar enable apenas a um deles desalinharia dados e comprimento. A prática de entrada contínua é o caso simples que aceita todas as bordas de dados.
Experimente
Num quadro de oito bits, valid=0 durante dois ciclos após o quarto bit. Com ready=1, o que devem fazer o contador receptor e o registrador de deslocamento?
Ler a explicação
Nos dois ciclos accept=0: mantenha tanto contador quanto dados. O próximo bit válido será o quinto. Contar apenas clocks pode anunciar o término antes de receber dados suficientes.