Módulo PLDProg
- Detalhes
- Categoria: Módulos Principais
- Publicado em Segunda, 17 Junho 2013 20:38
- Escrito por Everson O Silva
- Acessos: 4265
O módulo PLDProg é o equipamento desenvolvido pelo PROJETO FPGA PARA TODOS para a programação dos seus módulos de PLD e FPGA (kit em desenvolvimento). De fato, ele é também parcialmente compatível com a USBBlaster© da Altera, permitindo a programação de outros kits de CPLD e FPGA baseados em componentes deste fabricante. Observamos, entretanto que é fundamental que seja verificada esta compatibilidade em caso de se querer utilizar o PLDProg em substituição a uma USBBlaster©.
O PLDProg é uma interface JTAG, e isto o torna útil para outras aplicações além da simples programação de um PLD. Interessantes aplicações, por exemplo, seriam:
- a comunicação entre um PC e um processador implementado no FPGA. A ALTERA, por exemplo, oferece uma PI (propriedade intelectual) que implementa uma UART via JTAG para o seu processador NIOS;
- depuração de projetos no FPGA. O Signal Tap, da ALTERA, é uma excelente ferramenta de depuração é oferecida pela ALTERA no Quartus II;
- teste de sistemas dotados de interface JTAG, através de ferramentas de “Boundary Scan Testing”.
Para maiores informações, faça o download do Manual do Usuário disponível aqui.
Monte o seu PLDProg
Este módulo foi criado a partir dos conceitos do projeto OpenJTAG e do código para uma interface JTAG em VHDL de Kolja Waschk, com alguns ajustes para simplificação da placa e redução de custos, sem perda de suas funcionalidades. Duas versões do PLDProg foram criadas: com ou sem conversor de nível de tensão.
O projeto do hardware é composto principalmente de:
- Uma placa de circuito impresso (PCI) em duas camadas;
- Um CI FT245RL (conversor USB/FIFO);
- Um CI CPLD Altera EPM3064ATC44-10 TQFP44;
- Um oscilador de 24 MHZ;
- Um regulador de tensão LM1117-3.3 3,3V LDO;
- Dois conversores de níveis de tensão Texas TXS0104 (na versão com conversor de nível de tensão).
A versão do PLDProg sem o conversor de nível de tensão permite gravar dispositivos-alvo que suportem nível de tensão de 3,3V (fornecidos internamente pelo regulador LM1117-3.3, a partir da saída de 5V do USB). Para a versão com o conversor de nível de tensão, os pinos do conector JTAG para os dispositivos-alvo passam por dois conversores de nível TXS0104 bidirecionais da Texas que permitem a conexão de dispositivos-alvo alimentado em diversas fontes de tensão como: 1,2V; 1,8V; 2,5V; 3,3V ou 5V.
O conector para o cabo JTAG é pino a pino compatível com o padrão da USB Blaster da Altera.
Hardware
Para montar o seu próprio PLDProg, disponibilizamos em nosso repositório os arquivos necessários para prototipação e montagem da placa, separados em dois projetos:
- PLDProg com conversão de nível de tensão: Download
- PLDProg sem conversão de nível de tensão: Download
- Lista de materiais: Download
Disponibilizamos também o vídeo tutorial abaixo para auxiliar na soldagem de componentes SMD:
Além do vídeo apresentado, elaboramos uma animação detalhando o processo de soldagem desta placa.
Software
Para colocar em funcionamento o seu PLDProg é necessário instalar o software (ou firmware) do FT245 e do CPLD. O animação abaixo mostra os detalhes de gravação do FT245 e do CPLD.
Você pode baixar os arquivos para gravação do seu PLDprog indicados na animação anterior diretamente nos links abaixo:
- Software para gravação do programa do FT245 (mprog): Download
- Programa do FT245: Download
- Projeto do Quartus II em VHDL programa do CPLD: Download
- Arquivo .POF do programa do CPLD: Download
Instalação do driver do PLDprog no computador
Para instalação do driver em seu computador é necessário ter instalado nele o software Quartus II ou o Standalone Programmer da Altera, pois é no diretório de aquivos desses programas que ficam os drivers para a USBBlaster. Conforme dito antes, o PLDprog é parcialmente compatível com a USBBlaster da Altera, portanto, póde-se usar o mesmo driver.
No vídeo abaixo é apresentado um tutorial de como instalar o driver do PLDprog. O programador utilizado nesse vídeo é uma versão anterior deste programador, entretanto, o processo de instalação é o mesmo.