Aug 23, 2023
Uma maneira melhor de conectar um CPLD a uma placa de ensaio
Se você leu meu primeiro post sobre um projeto simples de CPLD do tipo faça você mesmo, você deve se lembrar que eu fiquei seriamente chateado quando fiz a pegada de 1” de largura, que era um pouco larga demais para uso comum sem solda.
Se você leu meu primeiro post sobre um projeto simples do tipo faça você mesmo de CPLD, você deve se lembrar que fiquei seriamente chateado quando fiz a pegada de 1 ″ de largura, que era um pouco larga demais para placas de ensaio comuns sem solda. Desde então recomecei, tendo resolvido o problema de largura, e acabei com um módulo que parece decididamente… mais fofo.
Para recuar um pouco, um Dispositivo Lógico Programável Complexo (CPLD) é uma peça de hardware interessante para se ter em seu repertório e pode ser usado para aprender lógica ou uma linguagem de design de alto nível ou substituir funções ou chips obsoletos. Mas um CPLD precisa de um pouco de infraestrutura de suporte para se tornar utilizável, e é sobre isso que irei orientá-lo aqui. Então, se você estiver interessado em aprender CPLDs ou apenas projetar painéis para eles, continue lendo!
O design em si tenta utilizar peças passantes e um soquete para o CPLD, para que você possa construí-lo com mais facilidade, sem muita solda de montagem em superfície. Com isso dito, o oscilador é um dispositivo de montagem em superfície (SMD) apenas devido ao custo e tamanho de sua contraparte passante.
Também adicionei um conector USB Mini para facilitar a alimentação da montagem, como ao fazer um vídeo para o Hackaday. Estou apenas parcialmente satisfeito com a abordagem do conector USB, pois é útil apenas para a versão de 5V e perigoso se o CPLD de 3,3V for usado. Também adicionei um conector de dois pinos para alimentação no último minuto, mas realmente gostaria de ter adicionado um diodo para proteção contra polaridade reversa.
Além disso, uma fonte de clock externa pode ser facilmente aplicada através de um conector graças a uma sugestão/comentário do último post.
Olhando o esquema você pode dizer que não há muito: basicamente o CPLD, o circuito para programação dentro do circuito e um oscilador para acionar a lógica do CPLD.
O projeto também pode ser encontrado em Hackaday.io
Esta peça, conhecida como EPM7032 ou EPM7064, vem em um transportador de chip com chumbo de plástico (PLCC) de 44 pinos, que às vezes é chamado de cabo J devido ao formato J dos cabos dos pinos. Este pacote pode ser inserido em um soquete passante ou soldado diretamente na placa de circuito impresso.
Essas peças tendem a custar entre US$ 8 e US$ 9 nas fontes de catálogo padrão. Tenho um lote vindo do exterior com um preço bem mais barato, se alguém quiser construir várias unidades onde uma fonte mais barata compensa, me mande uma mensagem.
O oscilador integrado original é um dispositivo de 25 MHz, principalmente porque “rápido” geralmente é bom. Na vida real, acho que 4 MHz ou uma frequência especial como 14,318 MHz (NTSC x 4) ou 1,8432 MHz (UART) pode ser mais útil para lógica mais lenta, pois o clock não precisa ser tanto dividido. Dito isto, é fácil usar um TCO diferente ou aplicar um relógio externo aos pinos fornecidos.
O conector de 10 pinos e um punhado de resistores compõem o circuito de programação, esse espaço é frequentemente chamado de conector JTAG.
Para programar um CPLD autônomo como este, é necessário um programador dedicado. Um “Altera USB Blaster” aprovado custa US$ 50 e está disponível em lugares como Digikey. Tenho vários clones que comprei no eBay, incluindo um que é um clone que suporta Altera, Xilinx e Lattice, tudo em um.
No futuro, espero fazer um projeto de clone do programador, as peças estão na mesa ao meu lado.
A PCB tem um design simples de dois lados, no entanto, a montagem requer primeiro a instalação dos pinos “usinados” de 40 posições na parte inferior, cortando os cabos em curto e, em seguida, instalando o soquete na parte superior.
A primeira coisa que chama a atenção ao usar um desses módulos CPLD é o grande número de linhas de entrada/saída (E/S) disponíveis no pacote de 40 pinos, 35 linhas de E/S para ser exato. Poderia ter havido mais, exceto que gosto de ter certeza de que há vários pinos de aterramento. Como o nome indica, as linhas de E/S podem ser programadas para serem entradas, saídas ou bidirecionais e também podem tristate e simular saídas de coletor aberto.
A outra característica de um módulo como este é a velocidade; ele muda em nanossegundos em vez das velocidades de microssegundos encontradas em muitos microcontroladores.

