Índice:

Cronômetro VHDL de um minuto: 5 etapas
Cronômetro VHDL de um minuto: 5 etapas

Vídeo: Cronômetro VHDL de um minuto: 5 etapas

Vídeo: Cronômetro VHDL de um minuto: 5 etapas
Vídeo: Diseño de un cronómetro multiplexando los displays en el tiempo 2024, Novembro
Anonim
Image
Image

Este é um tutorial sobre como construir um cronômetro de um minuto usando VHDL e uma placa Basys 3. Esse dispositivo é ideal para jogos em que cada jogador tem no máximo um minuto para fazer sua jogada. O cronômetro exibe com precisão os segundos e milissegundos no display de sete segmentos, começando em 0 segundos e 0 milissegundos, até 60 segundos e 0 milissegundos. Também são usados dois botões: o botão central, usado para iniciar, parar e continuar o cronômetro, e o botão direito, usado para reiniciar o cronômetro. Quando o dispositivo é comparado lado a lado com o cronômetro embutido de um smartphone, a precisão do relógio é perceptível.

Etapa 1: Obter Hardware / Software

Diagrama de bloco
Diagrama de bloco

1. Placa de treinamento Basys 3 Artix-7 FPGA da Digilent com cabo Micro-USB para USB

2. Vivado 2016.2 Design Suite da Xilinx

Etapa 2: Diagrama de blocos

Este circuito é construído comportamentalmente e usa componentes Xilinx embutidos, mas também pode ser descrito estruturalmente, conforme mostrado pelo diagrama estrutural geral acima. No diagrama, pode-se ver que o circuito é acionado por dois divisores de frequência. Um dos divisores de frequência funciona a 1 centissegundo e aciona o contador catódico que é usado como os números exibidos no display de sete segmentos. O segundo divisor de frequência funciona a 240 Hz e é usado para acionar o contador anódico que gira através dos anodos para que todos os números sejam exibidos corretamente no display de sete segmentos. O codificador pega a lógica do cátodo do contador do cátodo e a lógica do ânodo do contador do ânodo e a codifica para o cátodo e ânodo da saída que executa o display de sete segmentos. A função desse codificador é que a saída do cátodo mude toda vez que a saída do ânodo mudar. A saída do cátodo não pode ser executada independentemente do contador porque os ânodos devem girar nos 4 dígitos separados.

Etapa 3: Módulo de Projeto

Em primeiro lugar, um bloco de processo para CEN é feito de forma que quando um pressionamento de botão for detectado, o ENABLE irá alternar. Isso serve como parada / início do contador catódico.

No próximo bloco de processo, os sinais de relógio de centissegundos e 240 Hz são ajustados de forma que seus respectivos contadores aumentem em 1 toda vez que o relógio interno de 100 MHz atinge uma borda ascendente. Assim que o contador de centissegundos atingir 500000, ele será redefinido para 0. Enquanto isso, o contador de 240 Hz será redefinido quando a contagem atingir 41667.

Para a seção do cátodo do código, se ENABLE for '0', a contagem do cátodo será interrompida. Se o botão de redefinição for pressionado durante esse tempo, todas as contagens serão redefinidas para "0000". Enquanto isso, se ENABLE for '1', a contagem do cátodo continuará até que a contagem do cátodo chegue a 60,00, no qual ele aciona o sinal de parada para '1'. O sinal de parada é direcionado de volta ao bloco de processo CEN e faz com que ENABLE seja '0' enquanto o sinal de parada é '1' e não mudará até que o botão de reset seja pressionado.

Finalmente, o display de sete segmentos é configurado tendo os 4 anodos corretamente conectados com cada um de seus 8 catodos para exibir seus respectivos dígitos 0-9 simultaneamente.

Etapa 4: restrições

Restrições
Restrições

Este arquivo de restrições conecta as entradas e saídas especificadas do VHDL nas partes físicas necessárias da placa Basys. Para este projeto, os componentes incluem os quatro ânodos e cada um dos seus oito cátodos para o display de sete segmentos, o relógio interno de 100 MHz, o botão central e o botão direito.

Etapa 5: teste

Depois de concluir o código, você pode programar o FPGA por meio do cabo USB. O display de sete segmentos deve mostrar 0,00. Teste para ver se os botões funcionam pressionando o botão central para iniciar o cronômetro até atingir 60,00 e parar; a qualquer momento, você pode pressionar o botão central novamente para pausá-lo. Assim que estiver em pausa, pode premir o botão direito para repor o cronómetro de volta a 0,00. Se tudo estiver funcionando corretamente, parabéns, você acabou de construir um cronômetro de um minuto!

Recomendado: