sòcol zif de 14 pins

Un dispositiu lògic programable complex (CPLD) és una peça essencial de maquinari del vostre repertori. Com el seu nom indica, podeu programar aquests xips per proporcionar les funcions lògiques que necessiteu. Això pot substituir xips obsolets o simplement una manera d'aprendre i provar diferents tecnologies. Quina millor manera d'aprendre que utilitzant CPLD i provant-ho?
Vaig crear un mòdul CPLD per poder connectar-lo a moltes coses, incloses plaques de proves sense soldadura, però vaig fer una pallissa. Sembla que l'espai disponible per connectar-lo a la placa de proves sense soldadura és d'1,1 polzades. He fet que la petjada sigui d'1 polzada d'amplada, sense deixar espai per a una filera de cables a banda i banda. Eh.
Però permeteu-me que torni enrere i us mostri més sobre el que estic fent. Vull crear una lògica programable que es pugui construir com un kit, es pugui soldar fàcilment a casa, es pugui programar en un circuit i que pugui funcionar a 3,3 o 5 volts.
Per tal de realitzar un kit fàcil de soldar, vaig utilitzar un component CPLD antic, que també està disponible en versions de 3.3v i 5v, i mantindrà la seva programació independentment de la font d'alimentació. La lògica en si és un circuit integrat CPLD de la sèrie Altera Max, disponible en dues versions, adequat per a plaques de circuit amb 32 o 64 macrocel·les. Les macrocel·les són els blocs de construcció lògics bàsics que es programen mitjançant "termes" lògics i després s'interconnecten amb altres macrocel·les mitjançant interconnexions programables.
Mirant l'esquema, podeu veure que no té gaire contingut: bàsicament el CPLD, el circuit de programació en circuit i l'oscil·lador que impulsa la lògica CPLD.
Aquesta peça s'anomena EPM7032 i EPM7064, i utilitza un portaxips de plàstic de 44 pins (PLCC), de vegades anomenat plom en J per la forma de J del plom. Aquest paquet es pot inserir en un sòcol passant o soldar directament a la placa de circuit imprès.
Conté un oscil·lador integrat, de manera que el CPLD pot realitzar operacions amb estat i crear comptadors ràpids pel seu compte sense necessitat d'un rellotge extern. Si hi ha un rellotge extern disponible, el rellotge d'alta velocitat del mòdul es pot utilitzar per crear un esdeveniment de rellotge a cada flanc ascendent o descendent del rellotge extern i, tot i així, seguir les directrius CPLD/FPGA, és a dir, realment hauríeu d'utilitzar la xarxa de rellotge global interna en lloc de controlar l'entrada de rellotge de manera "asíncrona". La tensió d'alimentació nominal d'aquest oscil·lador és d'entre 1,8 i 5,5 volts.
Si mireu el vídeo, veureu que comento les meves preferències personals sobre com gestionar el pin "INH" de l'oscil·lador; en poques paraules, després de comprovar que la fitxa tècnica sigui legal, tendeixo a deixar-lo surar.
Quan treballava amb aquestes funcions, entre les raons que em van venir al cap hi havia la meva aversió a connectar els pins d'entrada directament als rails d'alimentació (si és possible). És a dir, prefereixo utilitzar resistències en sèrie per limitar el corrent durant els transitoris, fins i tot si no hauria de ser necessari.
Amb els anys, he vist alguns problemes en la producció (grans lots), i ocasionalment coses com el cicle d'alimentació permeten que els pins connectats directament al rail d'alimentació tinguin un voltatge més alt que el propi xip, cosa que és dolenta. Finalment, connecteu el pin al rail d'alimentació a través d'una resistència (ja sigui d'alimentació o de terra) i la gent podrà canviar d'opinió i utilitzar el pin més tard. Això és especialment cert en la meva experiència amb portes no utilitzades, probablement sabeu que aquestes portes mai s'han de deixar flotant o desconnectades. Si utilitzeu una resistència de pull-up, podeu connectar el senyal i utilitzar la porta sense tallar les pistes de coure.
El connector de 10 pins i unes quantes resistències formen el circuit de programació. Si totes les resistències fossin resistències de pull-up, faria servir una xarxa de resistències, però malauradament, una està connectada a terra.
Per programar un CPLD independent d'aquest tipus, cal un programador dedicat. Això és fàcil de dir per a mi, perquè normalment en tinc uns quants al meu costat, però si no en tens cap, no serà massa dolorós entrar al joc. L'"Altera USB Blaster" aprovat es ven per 50 dòlars i es pot comprar a Digikey i altres llocs. Tinc diversos clons a Ebay, un dels quals és un clon que admet Altera, Xilinx i Lattice alhora. Hi ha un projecte i un codi a Internet que es pot utilitzar per fer el vostre propi clon, l'enumeraré a la meva llista de possibles vídeos per al projecte de fer clons de programadors. També mostraré un disseny de shield en el qual es pot programar la placa base, Arduino, PIC, etc.
El programari necessari per compilar i programar el CPLD està disponible gratuïtament a Altera, però aquesta part antiga requereix la versió antiga 9.1. La bona notícia és que era la meva versió antiga preferida. Tenia un analitzador de temps intuïtiu, però es va eliminar en una versió posterior.
La placa de circuit imprès (PCB) té un disseny simple de doble cara, sempre que la placa de circuit hi càpiga, tendeixo a utilitzar coure per a la connexió a terra i, de vegades, per a l'alimentació. De vegades, el vessament es trenca tant que pot causar problemes o resultats finals descuidats, per la qual cosa el vessament de coure és una eina, però cal gestionar-lo.
Avui dia, molts paquets de programari CAD (si no la majoria) contenen vistes en 3D del producte final, tot i que la precisió de les imatges només és tan precisa com els models 3D utilitzats per representar les peces. Aquí podeu veure on vaig triar el model 3D per al sòcol de 44 pins, el connector de programació i l'oscil·lador. Aquests són alguns paquets 3D que m'agrada utilitzar:
Moltes empreses també tenen models 3D dels seus components. Molex és només un exemple d'una empresa que ha fet una bona feina en aquest àmbit.
L'error que vaig cometre no afecta la funció com l'estètica, i no és el problema principal, és a dir, no és adequat per a una sola placa de proves sense soldadura.
Quan vaig pensar que podria compartir el disseny amb algú, immediatament em vaig quedar insatisfet amb els símbols esquemàtics del CPLD i la distribució de pins del connector de 40 pins, que és la seva superfície total. Vaig agafar un símbol de connector de doble fila de 40 pins i el vaig ajustar a una superfície d'1 polzada, però els números de pins no són 1, 2, 3, 4... sinó que estan numerats amb l'1 al lateral com un paquet DIP 3, 5, 7... igual que els connectors de cable pla. Per tant, no és una superfície intuïtiva per determinar com connectar-se al mòdul i solucionar problemes.
De la mateixa manera, les assignacions de pins de CPLD són una mica confuses, i vaig utilitzar un conjunt d'utilitats que es basen en el llenguatge de descripció d'escaneig de límits (BSDL) per crear símbols. La majoria dels principals proveïdors tenen fitxers BSDL disponibles per als seus components principals, que permeten crear símbols i paquets de manera (semi)automàtica. Com qualsevol automatització, s'ha de veure com una eina i pot requerir més modificacions per obtenir els millors resultats. En aquest cas, vaig deixar que llistés els pins per ordre alfabètic, cosa que és gairebé aleatòria quan es rastregen els pins a la placa. Només puc dir que estava molt ansiós aquell dia.
Aquestes dreceres es paguen en algun moment. Quan modifiqui aquest mòdul, determinaré i li donaré una col·locació de pins que coincideixi amb la peça en si, de manera que saber on posar la sonda de l'oscil·loscopi sigui tan fàcil com mirar el símbol de l'esquema.
Quan s'utilitzen plaques de circuits, hi ha altres millores que són principalment estètiques o útils. L'indicador del pin 1 ha de ser més comú en diversos paquets, i sempre prefereixo un punt de terra simple per connectar la terra de l'oscil·loscopi o el cable VOM. Podria afegir-ho afegint un connector de dos pins perquè l'alimentació i la terra es puguin aplicar directament a la placa en lloc de fixar-les als pins inferiors.
Abans de modificar la placa de circuit, vull assegurar-me que funciona correctament pel que fa a qüestions físiques i estètiques. Després d'encendre l'oscil·lador i confirmar que funciona correctament, vaig connectar el programador. Tot i que la versió de 3.3v és més recent que el programari de programació, va detectar el CPLD i el va mostrar com un dispositiu "desconegut".
A continuació, vaig crear un comptador a Quartus i li vaig assignar números de pin. La compilació i descàrrega ràpides i la funció de comptador que veu l'oscil·loscopi verifiquen que el disseny és factible.
El circuit de prova ràpida a Verilog és molt senzill. El codi es mostra a continuació. Podeu descarregar un fitxer ZIP que conté l'esquema i el circuit de prova de Verilog com a projecte de Quartus II (requereix la versió 9.1).
Com ja he esmentat, faré una segona revisió de la placa de circuit per prestar més atenció als detalls necessaris a l'hora de compartir el disseny o fer qualsevol tipus de resolució de problemes. Com que he de configurar l'amplada del connector inferior a 0,9 polzades o menys, puc continuar configurant-la a 0,6 polzades, que és un paquet DIP "ample" estàndard. Fer això significa deixar que els pins inferiors sobresurtin de la petjada del sòcol CPLD. No ho faria en una situació de producció perquè es va muntar a mà en aquell moment, però un dels objectius era fer un kit de soldadura manual. El compromís de la soldadura manual és que l'oscil·lador ha d'estar en una carcassa de muntatge superficial SMD, la versió de forat passant és molt gran i normalment no admet el rang de voltatge que vull.
És possible utilitzar aquests mòduls per construir un ordinador simple complet? Crec que he d'afegir memòria.
Lol... sí, depèn de quin tipus d'ordinador. Tanmateix, els microcontroladors/microordinadors "reals" es veuen afectats per la "connexió de pins" del mòdul, cosa que significa que no pots obtenir prou terminologia del mòdul per fer res massa útil.
Vaig fer un controlador de mode i sincronització de càmera NTSC complet amb una mida de 64, de manera que no cal cap processador.
El Verilog estructural i l'HDL utilitzats al llibre Nand to Tetris són més o menys els mateixos.
Per què les peces són de forat passant? Soldar 0805 és fàcil! Ara és el moment que tot aficionat aprengui aquesta habilitat.
Si faig que el sòcol superior se superposi amb els pins soldats des de la part inferior, aleshores puc utilitzar "6 centres" (simulant un xip de 40 pins) o diagonal, etc. Això serà components de soldadura estrictament manual per soldar els cables inferiors. El sòcol superior està darrere dels peus.
Però és difícil per als principiants soldar-ho des de baix. Quan soldo els headers per a la placa de circuit imprès de la placa de proves (aquestes plaques adaptadores SMD barates que podeu utilitzar a eBay es poden utilitzar per a prototips), inseriu els headers a la placa de proves, després hi poso la placa de circuit imprès i després puc soldar fàcilment. És molt adequat per a plaques de proves. Si cal soldar-ho des de baix, és encara més difícil.
Si el CPLD és al mig (pot ser més fàcil de cablejar), es pot instal·lar en diagonal sense solapar-se, hi ha 4 files o el CPLD pot estar en un costat:
Gràcies pel consell d'inserir el connector a la placa de proves abans de soldar-lo. El meu és una mica inestable.
Què passa amb els pins de la placa de proves en format DIP en un extrem i el tipus "dongle" del sòcol del xip a l'altre extrem? El xip es pot penjar a l'extrem de la placa de proves. El cablejat serà ajustat.
|####### ******************** |. Sí, vaig decidir utilitzar la versió "gratuïta" d'Altera, igual que Xilinx i Lattice tenen versions "gratuïtes". He d'acabar el cicle amb Al Williams per entendre què admet tot el suport obert, que ha d'incloure els atributs específics de la sèrie de dispositius. Dit això, he fet molt amb la versió gratuïta.
Sí, estàs demostrant que el CPLD se superposa amb els pins, crec. Si ho segueixo correctament, això podria semblar la rev 2. Quan dissenyo per a la producció (en massa), sempre sóc al·lèrgic al pas de "muntatge de soldadura manual" perquè se superposen (en realitat, els pins de soldadura del costat que no és el component). ) Ja és un component soldat a mà) però això només és un kit petit, no un disseny orientat a la producció. Simplement tinc alguns hàbits que són difícils de deixar de banda a la meva edat. :)
Crec que una placa de circuit en forma de T amb CPLD i components passius amb una part ampla en forma de T serà molt útil quan es pengi a la vora de la placa de proves. Quelcom similar a l'Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Això farà que la major part de l'àrea de la placa de proves estigui disponible.
Malauradament, la discontinuació limitarà severament el seu ús en projectes secundaris, igual que tots aquells generadors de funcions basats en XR2206 i ICL8038.
Idea interessant. M'agraden aquests dos xips. El CPLD no està desfasat, és només una manera més barata de comprar-lo a 3.3v.
Quant a les teves "bajanades"... realment no has fet un nou disseny per posar-lo a la placa de proves. Només has de posar primer el cable a la placa i després posar el CPLD al cable. O, si pots treure les regletes d'alimentació i de terra d'una d'elles, fes servir dues plaques de proves.
Sobre Altium i Eagle. Has considerat KiCad? No té cap limitació que et faci preferir Altium a Eagle, i per defecte genera errors DRC per a tots els pins no connectats. Si realment vols obrir un pin, li has de dir. (Potser només per a l'entrada, no per a la sortida, i encara no s'ha comprovat). Una altra gran característica és que és molt fàcil d'aprendre. Només va trigar una tarda, i l'excel·lent manual introductori em va ajudar a començar.
Prefereixo el SMD (la part més gran) per sobre del forat passant. Són més fàcils d'utilitzar. No cal girar la PCB tot el temps. (Es van cometre alguns errors estúpids a causa del mirall...). I no cal tallar el cable de la resistència. Quan es comparteix un disseny, es poden col·locar diversos paquets convenientment en una PCB o en una sola peça. Resistència SMD TH. (Fa que el disseny sigui una mica més complicat).
Vaig fer servir "KiCad Getting Started" en format PDF. La versió antiga que feia servir té 29 pàgines i l'última versió en té 52. El podeu trobar en altres tutorials (inclosos enllaços de vídeo): http://kicad-pcb.org/help/tutorials/
Sé que [Chris Gemmell] de Hackaday i The Amp Hour va fer una sèrie sobre Kicad http://kicad-pcb.org/help/tutorials/
El Kicad pot ser útil, deixa'm veure què passa a la Rev 2. Gràcies pels teus suggeriments. Les entrades no connectades són una bona cosa per al DRC (ERC), i per als connectors i altres coses que els mantenen suaus o E/S, normalment es poden evitar la majoria dels missatges de desconnexió del CAD.
Executa una prova ràpida i posa el connector en una taula buida, executa anotacions i DRC. Em va donar errors de drc per a cada pin. Tanmateix, marcar els pins desconnectats coneguts és molt senzill.
Establert en passiu. He de cercar (Edita component -> Edita amb l'editor de biblioteques). L'editor de biblioteques s'obre i carrega el component en una finestra separada, podeu comprovar o canviar qualsevol part del component. El component modificat es pot desar o actualitzar al vostre esquema. Això fa que sigui molt fàcil canviar components. No m'importa gaire la biblioteca. Per exemple, si feu servir cpld, voleu assignar noms significatius als pins. El més important és que hi ha una bona interfície per dissenyar els vostres propis components.
A l'ERC de KiCad, els pins "no connectats" són un tipus de pin diferent dels "pins passius", i tots els pins "no connectats" generaran errors. El funcionament de l'ERC es pot ajustar fàcilment a les vostres preferències: Eines -> Verificador de regles elèctriques -> Opcions.


Data de publicació: 18 de novembre de 2021