Avrò problemi?

Ciao,

ho fatto una schedina con su parecchi "bus" che corrono paralleli e attraversano buona parte del pcb.

Qui vedete un esempio:

formatting link

Alcune considerazioni:

  • la lunghezza di queste autostrade arriva anche a 100 mm
  • le piste più piccole sono di 6 mil di spessore distanziate di 12.5 mil (quindi con una clearance > 6 mil)
  • la corrente che ci circola è nel peggiore dei casi di 10-15 mA, normalmente siamo sui 2-3 mA
  • la tensione di lavoro è di 3.3V o 5V
  • La stragrande maggioranza dei segnali "digitali" sono praticamente in continua: una commutazione ogni 10 secondi di media o anche meno
  • I segnali analogici hanno una banda infima, nel peggiore dei casi < 1 Hz, quindi quasi DC anche qui
  • Le linee seriali le ho ispessite a 12 mil
  • Ho 8 linee di PWM, forse le uniche critiche in tutta la scheda: però a valle ci sarà un'altra schedina con dei buffer a trigger di schmitt per squadrarle per bene
  • non ho inserito grandi piani di massa se non in zone circoscritte (es. quarzo del micro) e lo sbroglio della line di GND l'ho fatto "ad albero" evitando cioè qualsiasi tipo di anello

So che è difficile dare indicazioni precise senza conoscere perfettamente lo schema e il funzionamento. Ma a naso potrei avere problemi con una siffatta scheda? Per problemi mi riferisco a cross-talk esagerato tra le linee digitali, piste troppo sottili, ecc..?

Ciao! Marco / iw2nzm

Reply to
Marco Trapanese
Loading thread data ...

Marco Trapanese ha scritto:

Dimenticavo:

  • i bus che corrono paralleli portano lo stesso tipo di segnale (analogico o digitale).
  • bus con segnali diversi sono separati da più spazio e dove possibile da una pista di 0V bella larga.
  • in quei casi in cui ho dovuto incrociare segnali di diversa natura l'ho fatto in modo ortogonale in modo da minimizzare eventuali accoppiamenti.

Ri-ciao Marco / iw2nzm

Reply to
Marco Trapanese

Secondo me non dovresti avere problemi di funzionamento, magari sulle linee analogiche qualche problema di performance, perchè immagino che siano ad alta impedenza.

A mio parere se ci tieni molto dovresti bufferizzarle quanto prima, specie se non ti rompe aggiungere qualche operazionale in ingresso (occhio all'offset / offset drift). Non ci hai detto che ADC hai messo e che tipo di segnali stai trattando..... (immagino temperature), la precisione in continua richiesta ed il range termico di funzionamento.....

p.s. NO curve a 90° please!!! . Ok hai cercato di farle a 45° ma quando possibile allarga il raccordo!!! p.p.s. ARGH .... odio il through-hole .... e per un prototipo trovo più agevole saldare SMD :) p.p.p.s le vias collegate al piano di massa (blu) non farle con il pad "termico"....mica le devi saldare :-) Ed in linea di massima io le farei sempre isolate, a meno che non siano test-point (il verde immagino siano i pad saldabili....cos'è? Eagle?) p.p.p.p.s. I piani di massa non devono essere interrotti...se proprio non puoi farne a meno cerca di farlo per i più brevi tratti possibili. Per questo spesso si usano layer interni nel caso di schede multistrato!! Per esempio, nel mezzo della foto ci sono 6 piazzole che sembrano 3 resistori messi in verticale affiancati. Perchè usi il piano blu quando sulla pista (sembra un'alimentazione) puoi arrivarci senza andando sotto e risparmiando

1 via? Inoltre, porta lo zero volt a quel piano di massa cercando di collegarti nel punto più sensibile a disturbi e offset, così da ottimizzarne le performance.

Ciao CG

Reply to
CG Audio Laboratories

CG Audio Laboratories ha scritto:

Sulla scheda non ci sta più nulla... se mai dovrò prevedere a monte una schedina di buffer per gli ingressi analogici, come probabilmente ci sarà quella per le uscite (anche digitali).

L'ADC è quello della Rabbit 4100 (11-bit single ended). La maggior parte dei segnali - potenziometri - saranno segati a 8 bit. Solo un paio di linee richiederanno la massima risoluzione possibile (un accelerometro e un profondimetro).

Ho usato un miter di 12.5 mil, lo raddoppio :) Dici che usare un arco come raccordo è meglio? Esteticamente fa schifo!

Concordo perfettamente, ma per una serie di ragioni il cliente ha

*imposto* l'uso di tecnologia through-hole.

Nella foto non ci sono via connessi al piano di massa: quelli sono i fori per i componenti (integrati a 8 pin e condensatori di by-pass in alto a dx). In altri punti del circuito in cui ho messo via tra piani di massa non ho usato le thermal (o i thermal?).

Si è Eagle. Spesso non isolo i via perché ho letto che ci potrebbero essere problemi in fase di deposizione del solder mask. Di solito chiedo prima di inviare a chi fa il master se ci sono controindicazioni.

Ad ogni modo i via *sono* isolati, semplicemente non avevo attivo il livello della stop mask altrimenti non si capiva nulla :)

Qui il multistrato è stato bandito dal cliente... prevedendo anche una semplice modifica al circuito il multistrato rende impossibile la cosa.

In realtà il piano di 0V l'ho usato solo qui e sotto il quarzo di un microcontroller. Per il resto ho evitato appunto perché sarebbe stato troppo spezzettato dal momento che ho dovuto fare largo uso di entrambi i layer.

Yes sir, ottimo occhio.

E' proprio un'alimentazione, +5V.

Perché in questo caso ho scelto la soluzione più elegante invece di quella più efficiente :( Rimedio subito e cerco situazioni simili.

Subito a sinistra di quello che si vede c'è un DCDC converter (un NME0505) che mi serve per isolare quella zona. L'alimentazione al DCDC la prendo vicinissima al connettore principale, dopodiché gli 0V isolati sono quel piano di massa che si vede e i +5V isolati la linea grossa (da

16 mil) che corre nel mezzo.

Grazie per i suggerimenti!

Marco / io speriamo che me la cavo

Reply to
Marco Trapanese

Sono pigro e non mi sono messo a valutare con attenzione tutti i punti, ma vedo che parli della *frequenza* dei segnali ma non della "ripidita' dei fronti*. Mi ha fatto tornare in mente un errore di gioventu', quando riuscii ad avere problemi su di un bus I2C a 400 kHz poiche', per risparmiare un componente, lo "bufferizzai" col primo componente libero che c'era nel circuito col risultato di avere dei fronti da 1 ns o poco piu'... Questo per dire che per la diafonia e'piu'importante la ripidita'dei fronti che la frequenza; se i tuoi segnali che commutano ogni 10 secondi lo fanno molto rapidamente potresti avere degli "spikes" dovuti agli accoppiamenti tra le piste e se i circuiti a valle sono sensibili ai fronti invece che al livello... Per farti un'idea del crosstalk potresti calcolarti (a mano) la capacita'tra le piste e note le impedenze di carico e sorgente vedere cosa ne esce...

Saluti, LaCar.

Marco Trapanese wrote:

Reply to
LaCariatide

LaCariatide ha scritto:

[cut]

Si, ho afferrato il concetto. In realtà sono dei semplici pulsanti, ho previsto una rete RC + buffer come semplice antirimbalzo. Il buffer è vicino al micro, quindi lì non dovrebbero esserci grossi problemi (spero). Le piste più lunghe portano il segnale direttamente dal pulsante quindi lato "RC". A occhio quindi i fronti che vi viaggiano non sono poi così ripidi.

Grazie anche a te dell'intervento Marco / iw2nzm

Reply to
Marco Trapanese

Sottoscrivo. Il risultato di un accoppiamento capacitivo pu=F2 essere quello di ritrovarti con un impulso positivo o negativo sulle piste analogiche in corrispondenza di ogni transizione sulle piste logiche adiacenti. Isola le piste analogiche intercalandole con una pista di massa, se possibile.

Reply to
Darwin

Darwin ha scritto:

Ottimo, allora non era insensato quello che stavo facendo! In alcuni casi ho già fatto così, vedo di aggiungerle dove possibile.

Ciao! Marco / iw2nzm

Reply to
Marco Trapanese

se il rabbit garantisce 11 bit effettivi, forse puoi sperare di averne 9-10 con tutto l'hardware di condizionamento intorno

Beh sarebbe meglio, però se riesci ad allargare i tuoi raccordi va bene lo stesso... e magari per i segnali un po' più "uggiosi" dai un occhio anche alle curve a 90° che crei per passare dal layer superiore a quello inferiore.

Già, a volte capita anche a me....anche se cerco di convincerli, anche per il solo semplice fatto che per molti integrati non esistono componenti DIP equivalenti agli SMD (trovami un microcontrollore TQFP80 standard in equivalente DIP :) )

-cut-

Quello che ho potuto notare io è che se fai via isolate, il soldermask verde tende a diventare giallognolo....ma nella maggior parte dei casi mantiene il suo potere isolante. Piuttosto ho notato che, nonostante problemi di deposizione del solder, conviene praticamente sempre isolarle per problemi di ossido. Per alcune schede dove ho dovuto prevedere la saldatura di componenti diversi (per eseguire funzioni diverse), le piazzole lasciate libere senza componente saldato dopo un po' "peggioravano" le performance del dispositivo a causa di problemi di ossido, risolti con la doratura (chimica) delle piazzole.

Sì, ma quello che volevo dire io è che (tra i vari motivi) si usano layer interni proprio per evitare interruzioni del piano dovute a piazzole SMD !

In linea di massima io lo uso sempre :) Nel caso di produzione del pcb per mezzo di frese diminuisce il prezzo (metti il filler con l'isolamento impostato con l'utensile che puoi usare)....e nel caso di produzione artigianale ti fa risparmiare cloruro ferrico :)

Eh purtroppo non sempre la soluzione più elegante è la migliore, a meno che non sia un apparecchio hi-fi, dove conta molto più l'estetica delle performance :-D In un alimentatore switching bello pepato, invece, devi proprio dimenticarla l'estetica .... eheh

Uh ? Isolatore? Se devi garantire l'isolamento, dove crei la barriera fallo proprio "fisicamente", al punto di poterla vedere chiaramente controluce (in certi casi è anche necessario tagliare fisicamente il PCB! specie quando vengono chiesti più di 2000Vrms di isolamento) ... e guarda se riesci a proteggere i segnali che passano vicini (riferiti ad un'altra massa), perchè di solito quegli oggetti sono moooolto rumorosi....

Altri consigli sono i soliti che si trovano su molti datasheet : evitare di passare piste sotto a bobine, trasformatori & co, in particolare quelle di controreazione; prendere il segnale di uscita (per la reazione) esattamente da dove viene distribuito il segnale da trattare; ecc.ecc. (si potrebbe continuare per anni :-D)

Happy routing :)

Ciao CG

Reply to
CG Audio Laboratories

CG Audio Laboratories ha scritto:

[Piani di GND]

Alcuni amici e colleghi che progettano pcb da anni (>20) non lo usano praticamente mai, sostenendo che è spesso fonte di disturbi e malfunzionamenti vari. Addirittura fanno una cosa che io ho sempre ritenuto da evitare: una bella pista di massa che fa un *giro* completo attorno alla scheda, da cui poi partono i collegamenti verso il centro. Un vero e proprio loop. Eppure le loro schede han sempre funzionato (e alcune sono molto complesse e critiche).

Boh?

Mah, io ancora non sono tanto addentro per cui per alcune cose mi devo fidare di quanto mi viene detto. Quell' "isolatore" serve per generare i

+5V e gli 0V che alimentano il front-end della seriale 485. Seguono poi 3 optoisolatori per interfacciarsi con il micro (tx, rx, enable). Due schede accoppiate formano la connessione punto-punto. In pratica l'alimentazione della linea 485 è da entrambi i lati "isolata" da quel DCDC converter.

Eh lo so :( Proprio per questo motivo sotto di lui ci ho messo il pianerottolo di

0V, spero così di confinare il rumore entro la sua stessa massa.

Davvero, non so se demoralizzarmi subito o tra un po' :)

Facciamo tra un po', così nel frattempo tiro fuori un altro dubbio! Se ho una linea digitale ad esempio una seriale supponiamo tracciata sul lato top, ha senso tracciare in corrispondenza una pista di 0V sul lato bottom che la "segue"? L'idea sarebbe quella di far richiudere la corrente di ritorno lì sotto senza che vaghi per la scheda. Il problema però è che con un doppia faccia significa precludere ogni possibilità di attraversare quella barriera (senza dover interrompere la pista di 0V ovviamente).

for (;;) {grazie(); }

Marco / iw2nzm

Reply to
Marco Trapanese

Al piano di massa potrei preferire una connessione a stella, con la stella delle masse sotto al punto più critico e cercando di richiudere correnti più grandi attraverso percorsi differenti da quelli critici. L'ultima scheda un po' più incasinata, da me progettata e della quale ho fatto anche lo sbroglio (4 layer, fori passanti) ha tutto lo spazio libero dedicato al piano di massa, con vias di collegamento piuttosto fitte (distanti non più di 2 cm l'una dall'altra). Le varie regoline di schermatura dicono, empiricamente, che la frequenza fino alla quale vale la schermatura è dalle parti di 20/lambda (f in Hz, lambda in m) Dimenticavo....sopra ci sta un AD7718 della analog devices, e secondo delle misure riusciamo ad avere più di 17 bit effettivi in condizioni ottimali (numeretto ricavato per metodi statistici)....sopra ci sta un microcontrollore, un'interfaccia ethernet, una 485, una secure digital, un RTC....e isolamenti e alimentatori switching che si sprecano :)

La tecnica dei tuoi amici e colleghi a me non piace, e nel caso di sbrogli audio mi ha sempre causato un sacco di ronzii, cosa non capitata più dall'utilizzo di stelle e piani a bassa impedenza.

Qualche appunto:

1) se vuoi che la tua 485 possa andare a frequenze decenti devi utilizzare optoaccoppiatori molto veloci (tipo PC457 Sharp) e resistenze di pilotaggio/pull-up/down piuttosto basse. Perchè non consideri la soluzione integrata, come gli ADUM1301 della analog devices? Vanno che è una meraviglia e costano una cretinata (2$ per la versione a 1Mbps!), senza contare che gli optoaccoppiatori non gradiscono molto i forni di saldatura, mentre gli ADUM non hanno problemi visto che sono magnetici. 2) se non devi andare a baud rate elevati, prendi in considerazione gli integrati con slew-rate limitato, come per esempio i MAX487 o 483 al posto dei MAX485 (o equivalenti) 3) io utilizzo da tempo l'accoppiata MAX253 e trasformatore Q4470 coilcraft
  • LDO5V, di cui puoi avere anche campioni gratuiti. Probabilmente il convertitore integrato viene a costare meno, ma non ti permette di agire sulla frequenza di switching ed eventualmente sincronizzarlo con altri switcher
4) fai molta attenzione a come piloti gli optoaccoppiatori : quando abiliti la trasmissione il buffer della ricezione va in alta impedenza, e se forzi sulla velocità rischi di avere dei seri problemi di drive e stati inconsistenti dal lato processore 5) ricordati della terminazione della linea 485: il metodo più funzionale è una rete RC serie in parallelo alla linea. C'è una application note della National al proposito

Eventualmente puoi pensare di collegare questa massa per mezzo di 2 condensatori da una decina di nanofarad (e isolamento sufficiente) col tuo piano di massa/alimentazione principale, esattamente come si fa per lo schermo dei connettori RJ45 della 802.3 (ethernet)

Eh sono un po' come le raccomandazioni della mamma : vai piano, non bere, fuma poco, metti il guanto... :-D

Una seriale (la classica UART?) non dovrebbe generare chissà quale disturbo. Comunque la vicinanza di una pista di un determinato spessore ad una massa permette di creare linee ad impedenza controllata, esattamente come si fa per la radiofrequenza. Vedi un attimo però se è il caso di sbattersi per una cosa del genere :) In genere sulle linee digitali per evitare over/undershoot si mette in serie una resistenza da qualche decina di ohm, così da aumentare lo smorzamento del sottosistema (approssimato ad un sistema del secondo ordine). A mio parere per trarre davvero giovamento, in una situazione del genere, da una linea ad impedenza controllata, dovresti porre in prossimità del circuito "ricevitore" una resistenza di adattamento verso massa del valore dell'impedenza di linea, visto che altrimenti sarebbe "molto alta" e difficile da determinare esattamente. Credo comunque che sia un overkill (problema stra-ammazzato! :) ) feroce....preferirei la soluzione della R in serie anti overshoot !

ma i compilatori C "traducono meglio" un for (;;) oppure un while(1) ? :)

Ciao CG

Reply to
CG Audio Laboratories

CG Audio Laboratories ha scritto:

Il montaggio avverrà a mano, quindi niente forni :) Per i fotoaccoppiatori veloci uso gli HCPL4502. Molto interessanti gli ADUM, non li conoscevo. Però sono tutti SOIC purtroppo, in questo caso non li posso usare.

Se riuscissi ad arrivare a 57600 sarei già soddisfattissimo.

In questo caso basterebbe un pull-down (o pull-up a seconda di dove è connesso il segnale) lato 485?

Si di questo sono al corrente.

[cut]

Concordo :) Non mi riferivo comunque a una pista ad impedenza controllata, intendevo solo dire se il fatto di far tornare la corrente di ritorno per la stessa strada (layer diverso ovviamente) seguita all'andata desse dei vantaggi.

In realtà non mi sono mai posto il problema per i cicli infiniti perché di solito non ce sono sono tantissimi e la differenza non credo sia così rilevante.

Però stavo giusto per aprire un thread su i.h.e.d. per un qualcosa di simile.

Ciao! Marco / iw2nzm

Reply to
Marco Trapanese

57600 è una velocità che si raggiunge bene. Il collo di bottiglia, comunque, rimane quasi sempre l'optoaccoppiatore

Andrebbe visto lo schema. Quello che ho notato io è che gli optoaccoppiatori sono piuttosto lenti a spegnersi se lasciati flottanti. Puoi aiutarli con una resistenza, ma per andare a 57600 deve essere piuttosto bassa (qualche centinaio di ohm), il che richiede molta più corrente del previsto anche al driver stesso. Se dal lato processore, però, hai degli ingressi a trigger di schmitt il problema è più limitato. In una scheda che soffriva di questo problema (doveva andare fino a 115.2 kbit/s) sono stato costretto ad aggiungere un buffer single gate tra il ricevitore e l'optoaccoppiatore, così da evitare stadi Hi-Z critici. Sull'ingresso della single gate ho risolto il problema alta impedenza con un pull up o pull down (non ricordo), ma comunque dell'ordine delle decine di kohm

Sicuramente qualcosa di buono lo fai, perchè sfrutti l'induttanza parassita delle piste e fai annullare il campo magnetico facendolo risultare controfase.....non so però quanto si faccia sentire questa cosa :)

Ti ci vorrebbe qualcuno più esperto di me (ricordati che io ho 24 anni e sono laureato da un anno soltanto :) )

Se vai a meno di 57600, però, non credo cambi molto :) Mentre la limitazione dello slew-rate (e in questo caso è opportuno, visto che un MAX485 ha slew-rate per andare fino a 1Mbps, mentre un MAX487 fino a

250k (se ricordo bene) ) non fa mai male, anche dal punto di vista degli overshoot

eheh lo stesso, almeno per quello che mi riguarda, vale per i delay software.....credo di averli usati solo una volta in vita mia :-D Eppure c'è ancora chi si foga con le routine direttamente in assembly per 'sti delay....

Ciao CG

Reply to
CG Audio Laboratories

CG Audio Laboratories ha scritto:

Ok!

Beh io ne ho 26 e pure sono laureato da un anno e mezzo, ma questo non cambia nulla. Se uno è in gamba lo è a prescindere dal fatto che ha 24 anni!

Ciao! Marco / iw2nzm

Reply to
Marco Trapanese

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.