Controle de Acesso a um Estacionamento
Por: Hugo.bassi • 18/6/2018 • 1.841 Palavras (8 Páginas) • 442 Visualizações
...
2.1. Equipamentos e material utilizado
- Nexys 2; Family: Spartan 3E; Device: xc3s500E; Package: FG320; Speed: -4.
- Basys 3; Family: Artix -7; Device: XC7A35T; Package: CPG236C;
- NoteBook Acer Aspire E 15;
2.2. Projeto 1: Detector de Sequência Binária 1101
O projeto apresenta a implementação de um detector de sequencia 1101 e utiliza os displays de 7 segmentos para a visualização de cada estado. Para a sequência utilizará três botões, um de clk, um de reset e um para a entrada A. O projeto gerará um clock acionado manualmente para incrementar os valores de cada entrada. Para o display de 7 segmentos será necessário um decodificador para mostrar os valores de cada estado na saída. O botão de reset leva o valor da máquina de estado mostrado nos displays de 7 segmentos para o estado inicial, porém . O botão A é acionado como a entrada da sequência. O botão de reset reinicia a contagem. Para a implementação do projeto, precisa-se de três entradas e 8 saídas, destinadas a um displays de 7 segmentos e uma para o led, o qual estará em nível lógico alto quando a sequencia é totalmente realizada. O projeto possui três entradas e duas saídas, como mostra a figura 4:
[pic 4]
Figura 4 entity detector de sequência
O primeiro bloco do código é destinado a nomeação de cada estado e uma declaração para um sinal que será usado no decorrer do código, como mostrado na figura 5:
[pic 5]
Figura 5 nomeação dos estados
O segundo bloco do código tem como função implementar a lógica de comando de cada estado. Começa fazendo o reset da máquina. Logo depois, se o botão A é pressionado de acordo com sequência o estado muda o seu valor, a figura 6 demonstra essa lógica:
[pic 6][pic 7][pic 8]
No final do código é implementado uma lógica para os displays de 7 segmentos. O decodificador tem como entrada o valor associado a cada estado da máquina e traduz para os segmentos que precisam ser ativados no display. Como o display é de anodo comum, os segmentos acesos são os que estão em nível lógico baixo, como mostra a figura 7:
[pic 9]
Figura 7 display 7 segmentos
2.3. Projeto 2: Controle de Acesso a um Estacionamento
O projeto de controle de Acesso a um estacionamento começa com a declaração da entity, ou seja, as declarações de entradas e saídas como segue a figura 8:
[pic 10][pic 11]
A variável vagas esta declarada como entrada, ela será setada pelo usuário por meio de chaves, ou seja, cada vaga do estacionamento será uma chave, como são quatro vagas, necessariamente são quatro vagas. A variável sensor_s1s2 será representada por dois sensores que ficam na entrada do estacionamento. Quando o sensor s1 for igual a um, então, indica que existe vaga e há um carro entrando no estacionamento. A entrada clock definirá a mudança de estado de acordo com as entrada vagas e sensors1s2. Outra entrada será o reset, que se for igual a um, então, o sistema irá para o estado inicial. A saída seg mostrara a quantidade de vagas no estacionamento, ela é um display de sete segmentos. A entrada st_led representara o momento em que a barreira é levantada para a entrada de carro. A figura 9 mostra o início da architecture, onde a descrição do circuito realmente acontece.
[pic 12][pic 13]
Essa parte acontece a descrição da máquina de estados finitos Moore. No type são definidos os quatro estados que o estacionamento ira ter. Cada estado representa um número de vaga. Em seguida são definidos signal os sinais estados e osestados, que serão intermediários para as transições dos próximos estados. A máquina de estado Moore será dependente de um sinal de clock para avançar para o próximo estado e um reset para reiniciar. Cada transição acontecera na borda de subida de clock como indicado no rising_edge. A figura 10, subsequente representa a máquina de estado e sua respectiva lógica para as vagas de estacionamento.
[pic 14]
[pic 15]
[pic 16]
[pic 17]
[pic 18]
[pic 19]
A máquina de estados finitos esta definida para começar com quatro vagas livres, ou seja, a variável vagas será setada em 0,0,0,0, cada zero representa uma chave. Se a variável sensor_s1s2 for igual a 10, indica que um carro passou pelo sensor s1 e como há disponibilidade de vaga a barreira é levantada e o led é aceso e o display indica que existe três vagas, mostrando que passou para o próximo estado. Os estados subsequentes seguem esta mesma lógica e estão de acordo com as condições if-else.
3. RESULTADOS
Os resultados serão baseados nos relatórios de sínteses.
Projeto 1: Detector de Sequência Binária 1101:
[pic 20]
Figura 11 codificação de estados
[pic 21]
Figura 12 Final Report
[pic 22]
Figura 13 Utilização do dispositivo
[pic 23]
Figura 14 Tempo do Dispositivo
Projeto 2: Controle de Acesso a um Estacionamento:
[pic 24]
Figura 15 Codificação dos Estados
[pic 25]
Figura 16 Final Report
[pic 26]
Figura 17 Utilização do Dispositivo
[pic 27][pic 28]
4. dISCUSSÃO E CONCLUSÃO
Os resultados relevantes estão no relatório de
...