Índice:
- Etapa 1: Peça peças para ir
- Etapa 2: Obtenha e instale o software
- Etapa 3: Faça o cabo de programação
- Etapa 4: Faça o Programmer Cradle
- Etapa 5: Construindo o berço - Parte 1
- Etapa 6: Construindo o berço - Parte 2
- Etapa 7: Construindo o Berço - Conclusão
- Etapa 8: Faça Blinkenlights (versão TTL)
- Etapa 9: Faça as trocas
- Etapa 10: Crie seu primeiro circuito
- Etapa 11: programe seu primeiro CPLD
- Etapa 12: Teste sua parte programada
- Etapa 13: Fim e alguns recursos da web
Vídeo: Sistema de desenvolvimento de lógica programável do gueto (CPLD): 13 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:40
Nos últimos meses, tenho aproveitado o Ghetto Development System para os processadores AVR. Na verdade, essa ferramenta quase zero dólar se mostrou tão fascinante e útil que me fez pensar se seria possível estender o conceito para o desenvolvimento de FPGA / CPLD também. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Então eu fiz algumas pesquisas na web e encontrei um sistema de desenvolvimento para CPLDs da Atmel. A comparação com dispositivos Altera mostra que sua pinagem é a mesma (dentro das restrições que detalho abaixo), então eles funcionarão também. Construindo a placa de desenvolvimento e o cabo de interface que apresentarei e, em seguida, baixando as ferramentas, você pode desenvolver seus próprios aplicativos CPLD. Observe as seguintes limitações e restrições. Tentei equilibrar capacidade e simplicidade para que você possa construir algo que goste e aprenda apenas com dispositivos.5V. Estender o sistema para cobrir tensões adicionais (3,3 V, 2,5 V, 1,8 V são suportados por dispositivos Atmel da mesma família) não é difícil, mas complica a placa de desenvolvimento e o cabo de programação. Vamos pular por enquanto. Observe que você deve fornecer uma alimentação de 5 V para a placa. PLCC de 44 pinos apenas. Especificamente, programei o Atmel ATF1504AS. O conceito Ghetto CPLD pode ser facilmente estendido a outros dispositivos Atmel, mas esse dispositivo parecia um bom meio-termo entre preço, facilidade de uso e capacidade. O conceito também deve se estender a outros dispositivos, como os da Altera, Xilinx, Actel, etc. Na verdade, a família Max7000 EPM7032 e EPM7064 funcionará no mesmo soquete, desde que você use as versões PLCC de 44 pinos. Até agora, usei apenas o cabo de programação Atmel, mas o Altera Byte-Blaster é compatível com o software Atmel e também deve funcionar bem. Na verdade, é um design um pouco mais simples do que o cabo Atmel. (Eu construí a versão Atmel e ela funciona, então não experimentei a versão Altera.) SparkFun oferece uma versão de $ 15 do cabo Altera. Uma vez que isso funcionará tanto para Atmel quanto para Altera, eu o recomendo. Se você vai desenvolver com peças Altera, você também vai querer obter o software Altera. Na verdade, não tentei fazer isso, mas não consigo pensar em nenhuma razão para que não funcionasse. A velocidade é limitada. Como o Sistema de Desenvolvimento Ghetto CPLD é construído com fiação manual e sem plano de aterramento, não espere uma operação confiável em velocidades acima de alguns megahertz. Mesmo que isso não seja garantido, sua milhagem pode variar! Obviamente, se você construir um protótipo de hardware que tenha um plano de aterramento, seu CPLD poderá funcionar bem em velocidades mais altas. Só não espere que ele vá rapidamente montado no Ghetto Development System.
Etapa 1: Peça peças para ir
Você precisará de um soquete plcc de 44 pinos, algumas tampas de desacoplamento, alguns CPLDs não programados, soquetes para conexões de protoboard, um resistor pull-up e talvez alguma placa perf para construí-lo. Se você tiver algum desses itens em sua caixa de lixo, você pode economizar alguns dólares. Para sua conveniência, aqui estão os números de peça da Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Qtd: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Qtd: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qtd: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Qty: 4, C2-C5RES METAL FILM 5,10K OHM 1 / 4W 1% PN: P5.10KCACT-ND PLACA PC FR4 1-LADO PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Algumas peças podem ter quantidades mínimas, mas ainda assim devem ser muito baratas. Se você deseja construir algumas luzes piscantes (Etapa 8) ou fazer um conjunto de interruptores (etapa 9), você pode pedir estes também. Lembre-se de que a Digikey tem um mínimo de $ 25 para evitar custos de manuseio, então você pode querer obter alguns CPLDs extras não programados ou um processador AVR ou dois apenas por diversão. Recomendo que você compre o cabo de programação Altera da SparkFun. Aqui estão os números das peças. Pegue o cabo e o conector também. (Caso contrário, peça peças para o cabo da Digikey se você estiver construindo o seu próprio.) Altera FPGA Programador compatível PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Encoberto PN: PRT-08506
Etapa 2: Obtenha e instale o software
Atualmente, estou usando a cadeia de ferramentas Atmel Prochip Designer 5.0. Essa ferramenta requer que você se registre na Atmel e preencha o formulário de solicitação oficial. Eu disse a eles que era um engenheiro de design, atualmente desempregado, e meu objetivo principal era aprender seus dispositivos e VHDL (tudo verdade, BTW). Eles aprovaram o pedido de licença. O único problema é que a licença é válida por apenas 6 meses. Espero encontrar uma cadeia de ferramentas de domínio público quando ela expirar. Altera também tem uma corrente de ferramentas que posso verificar. Todas as sugestões serão apreciadas. Veja comentários e links na última etapa. O Atmel Prochip Designer 5.0 está aqui. Se você conseguir, certifique-se de obter o Service Pack 1 também.
Etapa 3: Faça o cabo de programação
A abordagem mais fácil aqui é comprar o Altera Byte-Blaster da Sparkfun (consulte a Etapa 1). Se $ 15 é mais do que você gostaria de gastar, você pode usar o esquema do cabo SparkFun Altera ou usar o esquema do cabo Atmel e criar um. (Se houver muito interesse em criar o cabo em arranhões, posso oferecer algumas sugestões, mas o kit Sparkfun parece ser a resposta certa para mim.)
Etapa 4: Faça o Programmer Cradle
Dê uma olhada no programador Atmel. Isso é muito flexível e é uma ótima opção se você tem dinheiro e planeja fazer muito desenvolvimento de CPLD. Altera oferece algo semelhante, creio eu. Mas optei por uma abordagem mais barata - é disso que se trata! As fotos mostram as vistas frontal e traseira do berço que construí. Observe os soquetes DIP usados como conectores de breadboard. Todos os pinos de um lado de cada conector são conectados ao aterramento; os pinos do outro lado se conectam aos pinos de sinal no CPLD. Incluí algumas conexões de energia também; coloque-os onde caberem. Os diagramas são uma espécie de esquemas pictóricos; apenas as conexões de alimentação extra não são mostradas. Veja as fotos para ter ideias sobre isso.
Etapa 5: Construindo o berço - Parte 1
Comece a construir o berço inserindo os soquetes nos locais onde deseja. Deixe uma ou duas fileiras livres para que haja espaço para as tampas de desacoplamento. Isso também facilita a conexão com os pinos de sinal do CPLD. Encaixe os soquetes com um pouco de solda ou epóxi, dependendo do tipo de placa de desempenho usada. Deixe algum espaço extra na parte superior (acima do pino 1 do soquete CPLD) para o conector JTAG e o conector de alimentação. Consulte as fotos do que eu construí. Direcione um fio desencapado (bitola 20 ou mais) ao redor da parte externa dos soquetes para um barramento de aterramento. Passe o barramento de força também. (O fio vermelho nas fotos.) Consulte as fotos para obter alguma orientação, mas sua placa provavelmente será um pouco diferente - e isso é ótimo. Prenda os pinos externos dos soquetes no barramento de aterramento. Isso ajudará a ancorar o fio do barramento.
Etapa 6: Construindo o berço - Parte 2
Instale as tampas de desacoplamento e conecte-as aos pinos de aterramento e de alimentação em cada lado do soquete CPLD. Eu sugiro direcionar os fios para cima e sobre as fileiras externas de pinos para alcançar as fileiras internas. Consulte os diagramas de número de pinos para obter os pinos corretos - a pinagem do soquete CPLD está longe de ser óbvia. Deixe espaço suficiente para permitir a conexão de todos os pinos pelos quais você passar os fios. Assim que as conexões das tampas forem feitas, conecte o barramento de alimentação e aterramento. Todos os pinos vermelhos nos diagramas são Vcc e devem ser conectados. Os pinos pretos são aterrados e também devem ser conectados. Novamente, direcioná-lo no ar é uma boa abordagem. Olhe as fotos para ter ideias.
Etapa 7: Construindo o Berço - Conclusão
Direcione as conexões JTAG para os pinos corretos. Dê uma olhada em seu cabo de programação para ter certeza de que o conector está orientado corretamente. Não se esqueça do pull-up no pino TDO. Isso é mostrado apenas na imagem e fica entre o pino TDO e o Vcc. A última etapa é conectar cada pino I / O do CPLD a um pino nos soquetes. Use os números nos diagramas para as conexões. Isso leva mais tempo! Se você seguir meu esquema de numeração, poderá usar o diagrama de vista superior como um guia ao conectar seus circuitos. Você realmente não precisa conectar todos esses inicialmente, você pode esperar até precisar deles para os circuitos que você projeta. Verifique seu trabalho com atenção. Certifique-se de que a alimentação e o aterramento não estejam em curto!
Etapa 8: Faça Blinkenlights (versão TTL)
Você vai querer ver seus circuitos funcionando, é claro. Então você vai querer algumas luzes piscantes (que ficaram famosas pelo The Real Elliot). O único problema é que os CPLDs não têm as saídas robustas que os processadores AVR têm. Use LEDs classificados para 10ma e use resistores da série de 1KOhm. Isso fornecerá sinais de saída claros sem sobrecarregar as saídas CPLD.
Etapa 9: Faça as trocas
Para fornecer estímulos para seus circuitos, você precisará de alguns interruptores. Você tem algumas opções aqui, mas os requisitos são diferentes daqueles para processadores AVR. As saídas de CPLD não têm pull-ups embutidos e não é tão fácil fazer debouncing no software. (É possível, mas requer recursos que você provavelmente deseja usar em seus circuitos.) Os interruptores DIP mostrados fornecem vários interruptores em um pacote conveniente, mas devem ser puxados para cima. Usei pull-up de 1K. Os botões de pressão podem ser feitos usando o circuito que a Atmel recomenda para sua placa de demonstração. Os esquemas estão na página 36 ou mais. Outra opção é conectar um processador AVR para fornecer estímulos - e até mesmo verificar as respostas. Mas esse é um exercício deixado para o aluno.
Etapa 10: Crie seu primeiro circuito
A essa altura, você já deve ter obtido e instalado o software. Siga o tutorial completo e detalhado para criar seu primeiro circuito CPLD simples (porta AND de duas entradas; não fica muito mais simples). Certifique-se de selecionar o dispositivo correto (44 Pin PLCC, 5V, 1504AS [detalhes]) e escolha os números dos pinos de I / O que estão disponíveis (usei 14 e 16 como entradas; 28 como uma saída). Esses detalhes diferem um pouco do tutorial, mas não devem causar problemas.
Etapa 11: programe seu primeiro CPLD
Ligue o seu cabo de programação à porta paralela do seu PC, ligue-o ao Programmer Cradle, ligue 5 Volts ao conector Power e siga o tutorial para realmente programar o seu primeiro CPLD. Selecione a versão correta do cabo. Observe que o Altera Byte-Blaster é uma das opções.
Etapa 12: Teste sua parte programada
Desconecte o cabo de programação do berço. Conecte os interruptores e luzes piscantes nos pinos corretos, ligue a energia e experimente. Já que você está começando com um circuito simples, o teste não é um grande desafio. Se funcionar, você está pronto para começar! O diagrama de vista superior irá guiá-lo na conexão de seus interruptores e luzes piscantes para teste.
Etapa 13: Fim e alguns recursos da web
O objetivo deste tutorial não é ensiná-lo a usar o VHDL. (Estou começando a aprender que é por isso que criei o programador, lembra?) Dito isso, encontrei vários tutoriais muito úteis e alguns recursos úteis que posso apontar para você. Comentários e outras sugestões são muito bem-vindos. Observe que você também pode usar o Ghetto CPLD Development System para aprender Verilog e outras técnicas de programação de CPLD para as quais o hardware não se importa. Recursos de HDL na Web: Noções básicas e alguns links aqui e aqui. ferramentas gratuitas. Os tutoriais de que gosto estão aqui e aqui, mas você encontrará muitos outros. Finalmente (por agora), você vai querer verificar o grupo de discussão. Divirta-se, aprenda muito e compartilhe o que sabe.
Recomendado:
Sistema de rega programável fácil com Arduino: 4 etapas
Sistema de rega programável fácil com Arduino: Este projeto manterá suas plantas vivas, sem qualquer intervenção por vários dias ou até semanas. Para resumir, é um sistema de rega programável fácil, movido por Arduino. Se você gosta de eletrônicos e plantas, este projeto foi feito para você. É aime
Sistema de placa de desenvolvimento de microcontrolador PIC: 3 etapas
Sistema de placa de desenvolvimento de microcontrolador PIC: Este projeto é para o design e uso de uma ferramenta de desenvolvimento de PIC que é flexível para se adequar a uma ampla gama de projetos eletrônicos baseados em PIC. Muitas vezes é mais fácil desenvolver projetos de microcontrolador com o uso de ferramentas de desenvolvimento; que permitem com base no usuário
Alto-falante de travesseiro DIY do gueto: 6 etapas
Ghetto DIY Pillow Speaker: uma substituição DIY de $ 2 de um brinquedo de radio shack de $ 8. Ouça música na cama sem fones de ouvido desconfortáveis! Menta grátis também! Peças necessárias: Sour Altoid pode ser uma porcaria de fones de ouvido Pedaço de espuma macia Alto-falante interno antigo do computador
Portátil / gueto Digital / eletrônico Drum Set-up Slash / slash: 7 etapas
Portátil / gueto Digital / eletrônico Drum Set-up Slash / slash: ATUALIZAÇÃO! Recentemente refiz este projeto de uma forma MUITO mais profissional .https: //www.instructables.com/id/less_ghettodiycrappy_electronic_drumset/check it out! Vídeo na última página … ok então geekboxjockey já fez um ótimo instrutível para um
Ambiente de desenvolvimento do gueto: 5 etapas
Ambiente de desenvolvimento do gueto: Um tempo atrás, postei um rápido e sujo " el cheapo " método para começar a programar os chips da série Atmel AVR: Ghetto Programmer (versão 1.0) Desde então, eu modifiquei, reformulei e, de outra forma, melhorei minha configuração. Achei que seria