Anda di halaman 1dari 14

UNIVERSIDADE FEDERAL DO ABC

Relatrio Aula Prtica 3


Lgica Programvel

Prof. Dr. Rodrigo Reina Muoz

Fbio Augusto Barcelos Teixeira

RA11079312

Paulo Csar Menegon de Castro

RA11004911

Pedro Pennachi

RA 21038414
00112233

Santo Andr

2016
1. Introduo
O VHDL (Very High Speed ASIC Description Language) uma linguagem de
descrio de hardware, ou seja, uma forma estruturada para a descrio de circuitos
digitais. Esse tipo de linguagem permite que o circuito eletrnico seja descrito com
sentenas, tais como em uma linguagem de programao, com a grande vantagem
de poder ser simulado antes de ser salvo no FPGA.
O uso da linguagem VHDL vem crescendo com o passar dos anos pois
permite projetar circuitos digitais de forma muito mais rpida, e tambm permite uma
portabilidade maior para os projetos, garantindo assim longevidade.
2. Objetivo
O objetivo da aula prtica foi o de implementar um circuito controlador de
motor de passo com auxlio do KIT DE2-115 da Altera e fazer a simulao do
funcionamento desse circuito mediante uso do programa Quartus II.
O controlador composto basicamente por um contador e um circuito
decodificador para decodificar os estados do contador (Figura 1). O contador binrio
tem duas sequncias de contagem (crescente e decrescente). O circuito deve
aceitar todas as formas tpicas de funcionamento. A interface deve funcionar de um
entre quatro modos: Passo completo decodificado, meio passo decodificado, wavedrive decodificado, e acionamento direto no decodificado O modo selecionado
atravs dos bits M1 e M0 (ao todo quatro modos de funcionamento). A interface
recebe ento como entradas, os bits de controle, um pulso de passo e um bit de
controle de sentido.

A cada ocorrncia de uma borda de subida na entrada de passo, o motor se


deslocar de um incremento de movimento no sentido horrio ou anti-horrio
dependendo do bit de sentido. Em um quarto modo, as bobinas do motor devem ser
acionadas diretamente (Figura 1).
.

Figura 1 - Circuito a ser implementado e simulado no Quartus II

Circuito deve aceitar todas as formas tpicas de funcionamento. Em outras


palavras, a interface deve funcionar de um entre quatro modos: Passo completo
decodificado, meio passo decodificado, wavedrive decodificado, e acionamento
direto no decodificado.

Tabela 1 - Modos de operao do circuito

Tabela 2 - Sequencia de acionamento dos enrolamentos

3. Resultados
3.1 - Cdigo VHDL
O seguinte cdigo VHDL implementado foi o seguinte:
LIBRARY ieee;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE ieee.std_logic_1164.all;
ENTITY motor_passo IS
PORT (
step, dir: IN BIT;
m: IN BIT_VECTOR (1 DOWNTO 0);
cin: IN BIT_VECTOR (3 DOWNTO 0);
q: OUT INTEGER RANGE 0 to 7;
cout: OUT BIT_VECTOR (3 DOWNTO 0));
END motor_passo;
ARCHITECTURE verification OF motor_passo IS
BEGIN

PROCESS(step)
VARIABLE count: INTEGER RANGE 0 TO 7;
BEGIN
--estrutura do contador
IF(step'EVENT AND step ='1') THEN
IF dir = '1' THEN count:= count + 1; --contagem crescente
ELSE count:= count - 1;
--contagem decrescente
END IF;
END IF;
q <= count;
-- definicao dos modos de operacao
CASE m IS
WHEN "00" => --passo completo
CASE count IS
WHEN 0 => cout <= "1010";
WHEN 1 => cout <= "1001";
WHEN 2 => cout <= "0101";
WHEN 3 => cout <= "0110";
WHEN 4 => cout <= "1010";
WHEN 5 => cout <= "1001";
WHEN 6 => cout <= "0101";
WHEN 7 => cout <= "0110";
END CASE;
WHEN "01" => --wave drive
CASE count IS
WHEN 0 => cout <= "1000";
WHEN 1 => cout <= "0001";
WHEN 2 => cout <= "0100";
WHEN 3 => cout <= "0010";
WHEN 4 => cout <= "1000";
WHEN 5 => cout <= "0001";
WHEN 6 => cout <= "0100";
WHEN 7 => cout <= "0010";
END CASE;
WHEN "10" => --meio passo
CASE count IS
WHEN 0 => cout <= "1010";
WHEN 1 => cout <= "1000";
WHEN 2 => cout <= "1001";
WHEN 3 => cout <= "0001";
WHEN 4 => cout <= "0101";
WHEN 5 => cout <= "0100";
WHEN 6 => cout <= "0110";
WHEN 7 => cout <= "0010";
END CASE;
WHEN "11" => --acionamento direto
cout <= cin;
END CASE;
END PROCESS;
END verification;

3.2 - Simulao no Quartus II


Dentro do ambiente de simulao do Quartus II, 8 simulaes foram
realizadas. Uma para cada modo de operao, nos dois sentidos de giro.
A primeira simulao realizada foi a sequencia de passo completo no sentido direto.

Figura 2 - Sequencia de passo completa sentido: 0, m1: 0 e m0: 0

A segunda simulao realizada foi a sequencia de passo completo no sentido


reverso.

Figura 3 - Sequencia de passo completa sentido: 1, m1: 0 e m0: 0

A terceira simulao realizada foi a sequencia wave-drive no sentido direto.

Figura 4 - Sequncia wave-drive sentido: 0, m1: 0 e m0: 1

A quarta simulao realizada foi a sequencia wave-drive no sentido reverso.

Figura 5 - Sequencia wave-drive sentido: 1, m1: 0 e m0:

A quinta simulao realizada foi a sequencia de meio passo no sentido direto.

Figura 6 Sequencia de meio passo - sentido: 0, m1: 1 e m0: 0

A sexta simulao realizada foi a sequencia de meio passo no sentido reverso.

Figura 7 Sequencia de meio passo - sentido: 1, m1: 1 e m0: 0

A stima simulao realizada o acionamento direto a partir das entradas de controle


no sentido direto.

Figura 8 Acionamento direto - sentido: 0, m1: 1 e m0: 1

A oitava simulao realizada o acionamento direto a partir das entradas de controle


no sentido reverso.

Figura 9 - Acionamento direto sentido: 1, m1: 1 e m0: 1

3.3 - Implantao na placa DE2 - 115 da Altera


A implantao no hardware consistiu em associar os dispositivos fsicos s
entradas do chip. Esta associao foi realizada da seguinte forma:

Tabela 3 - Descrio de sinais e pinos do circuito e da placa DE2-115

Fotos do circuito em funcionamento


Executando o programa em hardware, obtivemos as leituras atravs de sinais
luminosos. Ilustrando esta etapa, temos o controle de um motor de passo, em
sequencia de passo completo em sentido direto.

Figura 10 - Sequencia de passo completa sentido: 0, m1: 0 e m0: 0 Contagem 5

Figura 10 - Sequencia de passo completa sentido: 0, m1: 0 e m0: 0 Contagem 7

4. Concluso
Com esta prtica foi possvel verificar a implementao de cdigo VHDL, sua
simulao e implantao em hardware. Atravs destas ferramentas foi possvel implementar
o controle de um motor de passo, em quatro diferentes modos de operao. Atravs das
simulaes, os resultados obtidos foram comparados com os resultados esperados e foram
compatveis. O design foi implantado em hardware. Utilizando chaves, push-buttons e
indicadores luminosos, foram simuladas as entradas e sadas. Em cada modo de operao
foi possvel verificar o comportamento de um motor de passo, verificando atravs de sinais
luminosos, o comportamento de suas bobinas. Estes resultados verificados na pratica,
tambm corresponderam aos resultados.

Referncias Bibliogrficas
DAMORE, Roberto; "Descrio e Sntese de Circuitos Digitais", LTC-Livros
Tcnicos

Cientficos

Editora

S.A.,

2005.

PERRY, Douglas L.; VHDL, Programming by Example, Fourth Edition, McGrawHill,

2002.

SALSIC, Zoran; SMAILAGIC, A.; "Digital systems design and prototyping using field
programmable logic and hardware description languages", Kluwer Academic
Publishers, 2000.
TOCCI, Ronald J.; WIDMER, Neal S.; MOSS, Gregory L.; Sistemas digitais princpios e aplicaes; 11 Edio, Pearson, 2015

Anda mungkin juga menyukai