VGA (Video Graphics Array) – Parte II

Hello my friends,

Continuando com o projeto do VGA embarcando no kit da Altera DE1, a primeira parte do projeto é saber qual a resolução do monitor que estará sendo utilizado. Neste projeto será o 1280×1024/60Hz da LG.

Neste link apresenta todas as configurações de diversos resoluções onde usaremos como base para o desenvolvimento conforme a ilustrado na figura abaixo.

VGA_Timing
Figura 01: Timing.

A seguir será criado um PLL (Phase Locked Loop) no QSYS que será capaz de fornecer o clock para o sistema, ou seja, a frequência do pixel de 108MHz.

Ao abrir o QSYS (Tutorial sobre QSYS) adicionaremos o componente “Altera PLL” de acordo com a Figura 02:

VGA_Timing_02
Figura 02: Avalon ALTPLL.

A configuração do componente é bem simples visto que não usaremos todos os recursos disponíveis pela Altera.

  1. Speed Grade : 7;
  2. Frequency Output: 24MHz (Disponível no kit);
  3. Operation Mode: With no compesation.
VGA_Timing_03
Figura 03: Configuração de Entrada (01).
  1. Optional Inputs: Create an “areset” input to asynchronously reset PLL;
  2. Lock Output: Create “locked” output.
VGA_Timing_04
Figura 04: Configuração de Entrada (02).
  1. Enter Output clock frequency: 108MHz;
  2. Clock phase shift: 0º;
  3. Clock duty cycle: 50%.
VGA_Timing_05
Figura 05: Configurações de Saída.

A seguir clicar em “Finish“. Na tela inicial do QSYS devemos configurar a Avalon para podermos ter os pinos de IOs do PLL conforme demonstrado a seguir.

VGA_Timing_06
Figura 06: Configuração Avalon.

Na Aba “HDL Example” pode ser visualizado o código-fonte do Nios em VHDL.

 component vga_qsys is
 port (
 clk_in_clk    : in std_logic  := 'X'; -- clk
 reset_reset   : in std_logic  := 'X'; -- reset
 clk_out_clk   : out std_logic       ; -- clk
 locked_export : out std_logic         -- export
 );
 end component vga_qsys;

 u0 : component vga_qsys
 port map (
 clk_in_clk    => CONNECTED_TO_clk_in_clk,   -- clk_in.clk
 reset_reset   => CONNECTED_TO_reset_reset,  -- reset.reset
 clk_out_clk   => CONNECTED_TO_clk_out_clk,  -- clk_out.clk
 locked_export => CONNECTED_TO_locked_export -- locked.export
 );

Para salvar o QSYS deve clicar em “File=>Save”, escolher o nome do projeto, por exemplo, vga_qsys e por final gerar o código-fonte na aba “Generation=>Generate”.

Na próxima parte começaremos desenvolver o código em VHDL onde fará o sincronismo horizontal e vertical.

Até a próxima.

Anúncios

2 comentários sobre “VGA (Video Graphics Array) – Parte II

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s