Millefori ed CPLD EPM3064 su socket PLCC

Sezione dedicata alle logiche programmabili

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 12 May 2012, 17:21

Prima di cimentarmi con la costruzione su millefori della mia "dev-board" volevo qualche dritta più che altro per supporta al meglio le "alte frequenze":

Ho abbozzato un pochino quello che vorrei fare, non sono disegnati tutti i collegamenti ma è tanto per farmi capire su alcuni concetti:

Image

1) E' una buona idea tracciare delle linee principali di VCC e GND che non si chiudono però ad anello (sul lato basso non passano) o è meglio chiudere ad anello?

2) Su GND e VCC ogni componente ha il suo percorso che si aggancia alla "linea principale", questo può causare loop di massa? E' meglio che tutti i componenti di ogni lato siano collegati in un solo punto?

3) A frequenze un pochino elevate è meglio utilizzare cavi di diametro grosso o fine per portare i segnali? Ho letto che più grosso è il filo più induttanza ha ad elevate frequenze, è giusto?

Ciao e grazie a tutti
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 14 May 2012, 13:36

Da quello che ho capito chiedendo in giro (lo scrivo per eventuali lettori):

1) Meglio non chiudere ad anello per evitare "ground loop"
2) Meglio collegare a stella le masse (al limite due stelle e poi si uniscono)
3) Cavi schermati se possibile e corti, non ho avuto conferme sull'influenza del diametro con l'induttanza

Per alte frequenze è consigliata la costruzione "Manhattan", brutta ma molto funzionale, troppo brutta e non penso che la farò mai
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 23 May 2012, 23:07

Qualche immagine, la schedina è "work in progress"..

Image
Image

Mancano ancora molti collegamenti e qualche pin header e componente, l'aspetto più o meno è però questo.

In alto due socket DIP8 e DIP14 per l'inserimento di due cristalli oscillatori di diverse dimensioni

Condensatori elettrolitici: 3 x 47uF
Condensatori ceramici: 7 x 6.8nF (3 vicini al socket, 4 più lontani)
Resistenze Pull-Up/Down: 5 x 10K

Molto è stato dettato dalla disposizione dei pin nel socket, ad esempio i socket dei cristalli e il pulsante di reset sono vicini ai relativi pin per semplificare le connessioni e la saldatura. La cosa che mi dispiace di più sono i condensatori ceramici "lontanini" dal chip che diventano delle belle induttanze al salire della frequenza, ma nei 50 Mhz dovrebbero migliorare invece che peggiorare la situazione, anche questo è dovuto alla semplificazione delle connessioni, in alternativa avrei dovuto montarli sul lato ramo della millefori..

Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 24 May 2012, 21:18

La schedina ultimata:

Image

Image

Sul lato rame usando un pò di immaginazione è possibile vedere qualche forma strana.

Molto comoda per sperimentare senza il patema d'animo di rompere qualcosa di costoso, progettarla (con carta e penna!) è stato diciamo abbastanza divertente.

I limiti in frequenza sono minori rispetto alla breadboard ed è sicuramente più comodo, con header JTag e quant'altro, ecco qualche misurazione:

Ripple VRms: 15mV (immagine non mostrata)

Onda quadra generata a 16 MHz, in giallo il segnalo preso dalla sonda con molla per la massa e in blu la sonda col coccodrillo per il segnale di massa. La differenza è abbastanza evidente, il segnale
Image

Onda quadra generata a 4 MHz misurata su un pin header maschio, si nota l'overshoot elevato
Image

Onda quadra generata a 4 MHz misurata direttamente sul pin del socket PLCC, overshoot ridotto
Image

Stasera proverò a fare qualche altro test ma sembra promettere bene per essere una millefori fatta in casa ;)
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 06 Jul 2012, 22:34

legacy wrote:Ma un momento, chi dei due scalda ? Il micro o il buffer ? E parliamo di 5V o 3.3V sul circuito ?

Tu non hai esattamente su un level shifter hai su un buffer che lavora sia a 3.3V che 5V.


Scalda il micro, probabilmente per risparmiare ne hanno messo su uno che ha qualche transistor sempre accesso e che magari ha qualche porta non usata che non funziona.. oggi ho provato a fare una programmazione e l'ha fatta solo dopo aver scollegato tutti i pin dalla CPLD anche se non avevo usato quelli necessari alla programmazione...
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 09 Sep 2012, 20:30

Tanto per curiosità visto che in questo topic si parlava del programmatore JTAG implementato su 8051. Il protocollo JTAG è stato pubblicato da http://ixo-jtag.sourceforge.net/
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 29 Aug 2013, 23:14

Non so in quanti di voi si ricordano del programmatore che si surriscalda..

Visto il periodo prolungato di utilizzo di questi giorni la soluzione trovata è stata questa:

Image

Ho aperto il case ed incollato un dissipatore con un poco di pasta termica :D sicuramente non è la soluzione migliore ma la più veloce per rallentare la rottura del dispositivo di programmazione
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby legacy » 30 Aug 2013, 10:54

Pare che dai cinesi ora vada di moda proporre "3-in-1 programmers"
accrocchi che servono {Altera, Lattice, Xilinx}
l'idea e' spendere 1/3 ed avere a che fare con un solo dispositivo
che carica da solo un firwmare diverso a seconda dei casi.


io dico bah ... perche' nello specifico Altera

usb-blaster originale: 10X volte piu' veloce!
Image
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 30 Aug 2013, 13:03

La soluzione di migliore qualità se non si ha un budget per comprare il programmatore ufficiale Altera è l'USB Blaster Download Cable di Terasic, dal costo di 50$. A questo punto però il MAX II Micro Kit, sempre di Terasic, purtroppo discontinuato, offriva un ambiente di sviluppo per CPLD oltre che la funzionalità di programmatore JTAG per circa lo stesso prezzo. Se non fosse stato abbandonato sarebbe stato una valida alternativa al programmatore Terasic.

@legacy: la foto non è del programmatore originale che include un pratico case ma è di un programmatore compatibile solamente con Altera ma di qualità maggiore del mio in quanto basato, come l'originale mi sembra, sulla CPLD 3064.
Ora non so se ha veramente prestazioni 10 volte inferiore all'originale.. hai fatto qualche test a proposito?

Sarebbe interessante però trovare uno schema da poter integrare sul proprio PCB con FPGA per programmare il tutto tramite USB, un po' come la DE0-Nano.
Al momento ho trovato:

http://dangerousprototypes.com/forum/viewtopic.php?f=56&t=3029 ma non mi convince molto..

http://ixo-jtag.sourceforge.net/ contiene un implementazione tramite CPLD del programmatore, non contiene però uno schema elettrico completo (un abbozzo senza level-shifting, etc..) ne il codice della CPLD garantisce le solite prestazioni, si legge:

Please note that this CPLD code is NOT the same as in an Altera USB-Blaster, it just behaves very similar. It's very probable that logic of real USB-Blaster performs better than this design.


E dal punto di vista della compatibilità con Quartus:

To the host PC, the only really noticeable difference are vendor and product ID and the product description string (0x16C0/0x06AD/USB-JTAG-IF instead of 0x9FB/0x6001/USB-Blaster).


Magari quando avrò un po' di tempo proverò a fare un PCB integrante questo programmatore
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby legacy » 30 Aug 2013, 13:35

Quello postato lo uso ed 10X rispetto alle normali schifezze cinesi. Se lo dico e' ovviamente perche' lo uso, e non per hobby ma per lavoro. E' originale Altera, nel senso non e' un reversing, e' stato autorizzato. Le differenze vere non sono solo circuitali ma fw.


Reputo una totale perdita di tempo e di denaro ripiegare su roba cinese e ancora peggio il volersi fare da soli il jtag. Gia' gli originali hanno una fraccata di rogne, significa impegolarsi in guai e non venirne piu' fuori. Per hobby ci sta, solo in parte, per lavoro assolutamente non e' accettabile.

p.s.
tra l'altro, in rete scrivono un sacco di stupidaggini.
Last edited by legacy on 30 Aug 2013, 13:50, edited 1 time in total.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 30 Aug 2013, 13:50

Volevo sapere se l'avevi letto da qualche parte o se avevi provato l'effettiva differenza di prestazioni.

Sono d'accordo quando dici che o le cose si fanno bene o meglio lasciare perdere, il programmatore cinese economico che ho provato è veramente pessimo con seri problemi di surriscaldamento.

Non ho mai provato un programmatore originale ma dalle foto del prodotto l'USB Blaster originale sembra avere un case bianco.
Quello postato che dici essere uguale a quello autorizzato da Altera ma non l'originale è per caso quello di Terasic o è di altra marca?
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Re: Millefori ed CPLD EPM3064 su socket PLCC

Postby flz47655 » 30 Aug 2013, 22:18

Ok, è come il programmatore Terasic, autorizzato ma non prodotto direttamente da Altera.

Naturalmente avevo preso il programmatore per hobby per programmare più che altro CPLD da pochi euro dove una spesa maggiore non era giustificata in tale contesto, per lavoro consiglio anch'io un programmatore approvato da Altera (ma in generale dispositivi originali e non solamente compatibili).

Più che farsi da soli il programmatore mi chiedevo se c'era qualcosa già pronto da inglobare nel proprio PCB per riprogrammare tramite USB la CPLD/FPGA

Ad ogni modo il thread sta uscendo dal suo contesto e direi di fermarci qui
Ciao
flz47655
 
Posts: 639
Joined: 19 Jan 2012, 21:16

Previous

Return to FPGA & CPLD

Who is online

Users browsing this forum: No registered users and 9 guests

cron