Baixe o app para aproveitar ainda mais
Prévia do material em texto
Projetos de Sistema Digital Usando HDL Circuitos Digitais Rodrigo Borges Vicente Carvalho DEFINIÇÃO PLANEJAMENTO SÍNTESE INTEGRAÇÃO 1 2 3 4 GERENCIAMENTO DE PROJETOS Existem 4 passos essenciais: Projeto de acionador de motor de passo Tabela 1.1: Tabela de enrolamento de motor de passo. Tabela 1.2: Tabela dos modos de acionamento. Definição geral do problema Modo 0 = passo completo Modo 1 = wave-drive Modo 2 = meio passo Modo 3 = Acionamento direto Pinos de entrada Funcionamento Projeto de acionador de motor de passo Figura 1.1: Circuito de interface para um motor de passo universal. Planejamento estratégico: interface para um motor de passo universal Acionamento direto no modo 3 ESTRUTURA BÁSICA: Microcontrolador Interface Motor Projeto de acionador de motor de passo Figura 1.3: Simulação testando um módulo 8 básico. Síntese e testes: módulo 8 em VHDL e simulação Figura 1.2: Módulo 8, VHDL Portas de entrada: -step(passo) -dir(sentido) Porta de saída: -q(contagem) Projeto de acionador de motor de passo Figura 1.5: Simulação testando sequência decodificada. Decodificador de sequência de passo completo em VHDL e simulação Figura 1.4: Decodificador de sequência de passo completo em VHDL Portas de entrada: -step(passo) -dir(sentido) Portas de saída: -q(contagem) -cout(decodificador) Projeto de acionador de motor de passo Síntese e testes: Acionador de motor de passo em VHDL Figura 1.6: Acionador de motor de passo em VHDL Parte 1 Parte 2 Projeto de acionador de motor de passo Síntese e testes Figura 1.7: Teste de simulação de um acionador de motor de passo. a b c Portas de entrada: -step(passo) -dir(sentido) -m(modo) -cin(acionamento direto) Portas de saída: -q(contagem) -cout(decodificador) Projeto de codificador para teclado numérico Diagrama de bloco Figura 1.8: Diagrama de bloco de codificador para teclado numérico. Linhas Colunas Flip-flop D, sensível a boda de subida, que transfere um nível ALTO de Freeze para a saída DAV. Projeto de codificador para teclado numérico Funcionamento do codificador e diagrama de estado do contador em anel Figura 1.9: Funcionamento do codificador quando a tecla ‘6’ está sendo pressionada. Figura 1.10: Diagrama de estado do contador em anel de acionamento de linha. Projeto de codificador para teclado numérico Decomposição do problema: Codificador para varredura em VHDL Parte 1 Parte 2 Figura 1.11: Codificador para varredura do teclado numérico em VHDL. Projeto de codificador para teclado numérico Decomposição do problema: Simulação do codificador para varredura Figura 1.12: Simulação do codificador para varredura do teclado numérico.Portas de entrada: - clk(clock) - col(colunas) Portas de saída: - dav(dados disponíveis) - row(linhas) - d(dado) Variável: -ring(contador anel) Projeto de relógio digital alimentação dia/noite (AM/PM) transforma as ondas em pulsos de clock saída é usada como clock síncrono Figura 1.13: Diagrama de bloco para um relógio digital. Projeto de relógio digital Hierarquia Projeto geral Módulos que se repetem em diferentes pontos do sistema podem ser construídos apenas uma vez e reutilizados ao longo do projeto. Figura 1.14: A hierarquia completa do projeto de relógio digital. Componentes maiores Figura 1.15: O bloco de nível superior da hierarquia. Projeto de relógio digital Síntese - Construção dos módulos Para um contador de módulo 10, basta alterar o número de bits no port de saída e a variável count, junto com o valor máximo que o contador deve alcançar antes de reciclar. Figura 1.16: Projeto de contador de módulo 6 em VHDL. Projeto de relógio digital Síntese - Construção dos módulos Portas de entrada: - ena(ativação) - clk(clock) Portas de saída: - PM(meio dia/meia noite) - low[3...0] (bits menos significativos) - hi (bit mais significativo) Projeto de relógio digital Integração do sistema Figura 1.20: Combinação de blocos para fazer o contador de módulo 60. Figura 1.21: Contador de módulo 60. Projeto de relógio digital Integração do sistema - FINAL Figura 1.22: Projeto completo do relógio conectado com símbolos de bloco. Representação com um único símbolo.
Compartilhar