Taula de continguts:

Sistema de desenvolupament de Ghetto Programmable Logic (CPLD): 13 passos
Sistema de desenvolupament de Ghetto Programmable Logic (CPLD): 13 passos

Vídeo: Sistema de desenvolupament de Ghetto Programmable Logic (CPLD): 13 passos

Vídeo: Sistema de desenvolupament de Ghetto Programmable Logic (CPLD): 13 passos
Vídeo: J. Alvarez - Actua (Remix) ft. De La Ghetto, Zion 2024, Juliol
Anonim
Sistema de desenvolupament de Ghetto Programmable Logic (CPLD)
Sistema de desenvolupament de Ghetto Programmable Logic (CPLD)

Durant els darrers mesos he gaudit del sistema de desenvolupament de guets per als processadors AVR. De fet, aquesta eina gairebé nul·la s’ha demostrat tan fascinant i útil que em va fer preguntar-me si seria possible estendre el concepte també al desenvolupament de FPGA / CPLD. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Així que vaig fer una petita excavació a la web i vaig crear un sistema de desenvolupament per a CPLD Atmel. La comparació amb els dispositius Altera mostra que el seu pinout és el mateix (dins de les restriccions que detallem a continuació), de manera que també funcionaran. Construint la placa de desenvolupament i el cable d’interfície que presentaré, i després descarregant les eines, podreu desenvolupar les vostres pròpies aplicacions CPLD. Tingueu en compte les limitacions i restriccions següents. He intentat equilibrar la capacitat i la simplicitat perquè pugueu crear quelcom que gaudiu i apreneu només dels dispositius de 5 V. Ampliar el sistema per cobrir tensions addicionals (els dispositius Atmel de la mateixa família admeten 3.3V, 2.5V, 1.8V) no és difícil, però complica tant la placa de desenvolupament com el cable de programació. Saltem-ho per ara. Tingueu en compte que haureu de subministrar un subministrament de 5V a la placa. Concretament, he programat l'Atmel ATF1504AS. El concepte Ghetto CPLD es pot ampliar fàcilment a altres dispositius Atmel, però aquest dispositiu semblava un bon compromís entre preu, facilitat d’ús i capacitat. El concepte també s’hauria d’estendre a altres dispositius com els d’Altera, Xilinx, Actel, etc. Fins ara només he utilitzat el cable de programació Atmel, però l’Altera Byte-Blaster és compatible amb el programari Atmel i també hauria de funcionar bé. En realitat, és un disseny una mica més senzill que el cable Atmel. (He construït la versió Atmel i funciona, de manera que no he provat la versió Altera.) SparkFun ofereix una versió del cable Altera de 15 dòlars. Com que això funcionarà tant per a Atmel com per a Altera, el recomano. Si aneu a desenvolupar amb peces Altera, també voldreu obtenir el programari Altera. En realitat no ho he provat, però no hi ha cap raó per pensar que no funcionaria. La velocitat és limitada. Com que el sistema de desenvolupament Ghetto CPLD està construït amb cablejat manual i sense pla de terra, no espereu un funcionament fiable a velocitats de pocs megahertzs. Fins i tot això no està garantit, el vostre quilometratge pot variar. Per descomptat, si creeu un prototip de maquinari que tingui un pla de terra, és possible que el vostre CPLD funcioni bé a velocitats més altes. No espereu que vagi muntat ràpidament al sistema de desenvolupament Ghetto.

Pas 1: aneu a la comanda de peces

Aneu a la comanda de peces
Aneu a la comanda de peces

Necessitareu un endoll plcc de 44 pins, alguns taps de desacoblament, alguns CPLD no programats, endolls per a connexions de taulers de panells, una resistència de tracció i potser alguna placa de perfecció per construir-lo. Si teniu alguna cosa a la vostra escombrera, podeu estalviar uns quants dòlars. Per a la vostra comoditat, aquí teniu els números de part de Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Quantitat: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Quantitat: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Quantitat: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Quantitat: 4, C2-C5RES FILM METÀLIC 5.10K OHM 1 / 4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Algunes peces poden tenir quantitats mínimes, però encara haurien de ser bastant econòmiques. Si voleu crear uns llums intermitents (pas 8) o fer un conjunt d’interruptors (pas 9), és possible que vulgueu demanar aquests també. Tingueu en compte que Digikey té un mínim de 25 dòlars per evitar un càrrec de manipulació, de manera que és possible que vulgueu obtenir un parell de CPLD extra no programats o un processador AVR o dos només per diversió. Us recomano comprar el cable de programació Altera de SparkFun. Aquí teniu els números de peça. Obteniu el cable i el connector també. (En cas contrari, demaneu peces per al cable a Digikey si esteu construint el vostre propi.) Programador compatible Altera FPGA PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

Pas 2: Obteniu i instal·leu programari

Obteniu i instal·leu programari
Obteniu i instal·leu programari

Actualment estic fent servir la cadena d’eines Atmel Prochip Designer 5.0. Aquesta eina requereix que us registreu a Atmel i empleneu el formulari de sol·licitud oficial. Els vaig dir que era un enginyer de disseny, que actualment estava a l'atur, i el meu propòsit principal era aprendre els seus dispositius i el VHDL (tot cert, BTW). Van aprovar la sol·licitud de llicència. L'únic problema és que la llicència és bona durant només 6 mesos. Espero trobar una cadena d’eines de domini públic quan caduqui. Altera també té una cadena d’eines que puc comprovar. Qualsevol suggeriment serà agraït. Consulteu els comentaris i els enllaços de l’últim pas. L’Atmel Prochip Designer 5.0 és aquí. Si ho obteniu, assegureu-vos d’obtenir també el Service Pack 1.

Pas 3: Feu un cable de programació

Feu un cable de programació
Feu un cable de programació

L'enfocament més fàcil aquí és comprar Altera Byte-Blaster de manera similar a Sparkfun (vegeu el pas 1). Si 15 dòlars són més del que us interessa gastar, podeu utilitzar l’esquema SparkFun Altera Cable o utilitzar l’esquema Atmel Cable i un scratch-build. (Si hi ha molt interès a construir el cable per ratllar, puc oferir alguns suggeriments, però el kit Sparkfun em sembla la resposta correcta.)

Pas 4: feu el programador bressol

Feu el bressol del programador
Feu el bressol del programador
Feu el bressol del programador
Feu el bressol del programador
Feu el bressol del programador
Feu el bressol del programador

Mireu el programador Atmel. Això és molt flexible i és una opció fantàstica si teniu la possibilitat de desenvolupar CPLD. Crec que Altera ofereix una cosa similar. Però vaig seguir amb un enfocament més econòmic: d'això es tracta! Les imatges mostren vistes frontals i posteriors del bressol que vaig construir. Tingueu en compte els endolls DIP que s’utilitzen com a connectors de taulers de suport. Tots els pins d'un costat de cada connector estan connectats a terra; els pins de l’altra cara es connecten als pins de senyal del CPLD. També he inclòs algunes connexions d’alimentació; poseu-los allà on encaixin. Els diagrames són una mena d’esquemes pictòrics; només es mostren les connexions d'alimentació addicionals. Mireu les imatges per obtenir idees sobre aquestes.

Pas 5: Construir el bressol: primera part

Construint el bressol: primera part
Construint el bressol: primera part
Construint el bressol: primera part
Construint el bressol: primera part

Comenceu a construir el bressol inserint els endolls a les ubicacions on vulgueu. Permetre una o dues files vacants perquè hi hagi espai per a les tapes de desacoblament. Això també facilita la connexió als pins de senyal CPLD. Ancoreu els endolls amb una mica de soldadura o epoxi en funció del tipus de placa de perfils que utilitzeu. Deixeu espai addicional a la part superior (a sobre del pin 1 del sòcol CPLD) per al connector JTAG i el connector d'alimentació. Consulteu les imatges de la que vaig construir: encaminar un fil nu (calibre 20 més o menys) al voltant de l’exterior dels endolls per obtenir un autobús de terra. Encamineu també el bus elèctric. (El fil vermell de les imatges.) Consulteu les imatges per obtenir una mica d’orientació, però la vostra placa probablement serà una mica diferent, i està bé. Soldeu els passadors exteriors dels endolls cap al bus de terra. Això ajudarà a ancorar el cable del bus.

Pas 6: Construir el bressol: part 2

Construint el bressol - Part 2
Construint el bressol - Part 2
Construint el bressol - Part 2
Construint el bressol - Part 2

Instal·leu els taps de desacoblament i connecteu-los a la terra i als pins d'alimentació de cada costat de la presa CPLD. Suggereixo encaminar els cables cap amunt i per sobre de les files externes de pins per arribar a les files interiors. Consulteu els diagrames de números de pins per obtenir els pins correctes: el pin-out del sòcol CPLD és lluny de ser evident. Deixeu prou espai per permetre la connexió a qualsevol dels pins per on passeu els cables. Un cop fetes les connexions de tap, connecteu el bus d'alimentació i de terra. Tots els pins vermells dels diagrames són Vcc i haurien d’estar connectats. Els passadors negres estan connectats a terra i també s’han de connectar. Una vegada més, enrutar-lo a l'aire és un bon enfocament. Mireu les imatges per obtenir idees.

Pas 7: Construir el bressol: conclusió

Construint el bressol - Conclusió
Construint el bressol - Conclusió
Construint el bressol - Conclusió
Construint el bressol - Conclusió
Construint el bressol - Conclusió
Construint el bressol - Conclusió

Encaminar les connexions JTAG cap als pins correctes. Mireu el cable de programació per assegurar-vos que el connector està orientat correctament. No oblideu el desplegable del passador TDO. Això només es mostra a la imatge i va entre el pin TDO i Vcc. L'últim pas és connectar cada pin d'E / S del CPLD a un pin dels endolls. Utilitzeu els números dels diagrames per a les connexions. Això triga més temps! Si seguiu el meu esquema de numeració, podeu utilitzar el diagrama Vista superior com a guia per connectar els vostres circuits. Realment no cal connectar-los tots inicialment, podeu esperar fins que els necessiteu per als circuits que dissenyeu. Consulteu detingudament el vostre treball. Assegureu-vos que el corrent elèctric i el sòl no són curts.

Pas 8: feu llums intermitents (versió TTL)

Make Blinkenlights (versió TTL)
Make Blinkenlights (versió TTL)

Voleu veure com funcionen els vostres circuits, és clar. Per tant, voldreu algunes llums intermitents (fet famós per The Real Elliot). L'únic problema és que els CPLD no tenen les sortides robustes que tenen els processadors AVR. Utilitzeu LED de 10 mA i utilitzeu resistències de la sèrie 1KOhm. Aquests us proporcionaran senyals de sortida clars sense esforçar les sortides CPLD.

Pas 9: feu canvis

Feu interruptors
Feu interruptors
Feu interruptors
Feu interruptors

Per proporcionar estímuls als vostres circuits, necessitareu alguns commutadors. Aquí teniu algunes opcions, però els requisits són diferents dels processadors AVR. Les sortides de CPLD no tenen els extrems incorporats i no és tan fàcil fer la descàrrega en programari. (És possible, però necessita recursos que probablement vulgueu utilitzar als vostres circuits.) Els commutadors DIP que es mostren proporcionen diversos commutadors en un paquet convenient, però s'han de treure cap amunt. He utilitzat 1K pull-up. Els botons es poden fer mitjançant el circuit que Atmel recomana per a la seva placa de demostració. Els esquemes es troben a la pàgina 36 aproximadament. Una altra opció és connectar un processador AVR per proporcionar estímuls i fins i tot comprovar les respostes. Però això és un exercici que li queda a l’alumne.

Pas 10: creeu el vostre primer circuit

Crea el teu primer circuit
Crea el teu primer circuit
Crea el teu primer circuit
Crea el teu primer circuit

En aquest moment hauríeu d’haver obtingut i instal·lat el programari. Seguiu el tutorial complet i detallat per crear el vostre primer circuit CPLD senzill (porta d'entrada de dues entrades; no és molt més senzill). Assegureu-vos de seleccionar el dispositiu correcte (PLCC de 44 pins, 5V, 1504AS [detalls]) i escollir els números de pin d'E / S disponibles (he utilitzat 14 i 16 com a entrades; 28 com a sortida). Aquests detalls difereixen lleugerament del tutorial, però no us han de suposar cap problema.

Pas 11: programa el vostre primer CPLD

Programa el teu primer CPLD
Programa el teu primer CPLD
Programa el teu primer CPLD
Programa el teu primer CPLD

Connecteu el cable de programació al port paral·lel del vostre PC, enganxeu-lo al programador Cradle, connecteu 5 volts al connector d'alimentació i seguiu el tutorial per programar el vostre primer CPLD. Seleccioneu la versió correcta del cable. Tingueu en compte que l’Altera Byte-Blaster és una de les opcions.

Pas 12: proveu la vostra part programada

Proveu la vostra part programada
Proveu la vostra part programada
Proveu la vostra part programada
Proveu la vostra part programada

Desconnecteu el cable de programació del bressol. Connecteu els interruptors i les llums intermitents als pins correctes, engegueu l’alimentació i proveu-ho. Com que comenceu per un circuit senzill, les proves no són un gran repte. Si funciona, ja estàs en marxa. El diagrama de la vista superior us guiarà per connectar els commutadors i els llums intermitents per provar-los.

Pas 13: el final i alguns recursos web

El final i alguns recursos web
El final i alguns recursos web

El propòsit d’aquest tutorial no és ensenyar-vos a utilitzar VHDL. (Acabo de començar a aprendre per això que he creat el programador, recordeu?) Dit això, he trobat diversos tutorials molt útils i alguns recursos útils cap als quals us puc apuntar. Els comentaris i altres suggeriments són molt apreciats. Tingueu en compte que també podeu utilitzar el Ghetto CPLD Development System per aprendre Verilog i altres tècniques de programació CPLD que no importen al maquinari. eines gratuïtes. Els tutorials que m’agraden són aquí i aquí, però en trobareu molts d’altres. Finalment (per ara), voldreu consultar el grup de discussió. Gaudiu, apreneu molt i compartiu el que sabeu.

Recomanat: