Quali sono alcuni 'gotchas' del design della scheda ad alta frequenza?


13

Vorrei progettare un PCB per un controller di loop analogico ... qualcosa con un A / D, D / A e un processore a bordo. (O DSP o FPGA, non ho deciso.) Dato che questo dovrebbe modulare i segnali analogici a 10 kHz, deve essere un processore abbastanza veloce.

Da quello che ho capito, progettare una scheda per processori con una velocità superiore a 150 MHz o giù di lì può essere molto impegnativo a causa di problemi RF. Quali sono alcuni consigli che puoi fornire nella progettazione di una simile scheda? Quali problemi possono verificarsi a causa del layout? Ci sono buone risorse online che hanno basi di conoscenza per questo?

Grazie.


2
Sei sicuro di aver bisogno di tanta velocità di elaborazione? 10 kHz non suona troppo velocemente. Forse qualcosa come un ARM7 o un dsPic sarà sufficiente.
Clint Lawrence,

dipende dai dettagli e dai requisiti del circuito di controllo: il margine di fase è influenzato dalla latenza dall'input all'output dell'algoritmo di controllo. Se l'elaborazione del segnale è complicata, ciò richiederà più cicli che se fosse semplice. Se i requisiti del margine di fase sono rigorosi, avrai meno tempo disponibile. Meglio progettare una scheda con un po 'di surplus di potenza della CPU, piuttosto che progettare una scheda con un po' di deficit, poiché puoi sempre rallentare le cose.
Jason S,

grazie, è vero, il tempismo è fondamentale in questa applicazione. non volevo entrarci, ma in realtà l'output dovrebbe essere calcolato nel tempo di un campione, quindi la latenza è la chiave.
Steve,

Steve: È abbastanza difficile non calcolare l'output nel tempo di un campione poiché ciò significa che non sei più in tempo reale e non sarai in grado di controllare nulla.
jpc,

Risposte:


14

Se sei interessato al digitale ad alta velocità, ottieni una copia del Design digitale ad alta velocità .

Punti chiave:

  • Il principale fattore determinante del tuo circuito è il tempo di salita della logica. Anche se si opera a una frequenza di clock bassa, i bordi rapidi possono creare problemi.
  • Il tempo di salita massimo del tuo sistema ti fornisce quindi la lunghezza critica del tuo circuito. In sostanza, se il ritardo di propagazione del segnale sulla lunghezza del circuito è più lungo del tempo di salita del segnale, è necessario preoccuparsi dell'aspetto ad alta frequenza del progetto.
  • Se risulta che la lunghezza critica è inferiore al layout del circuito, è necessario utilizzare il layout di impedenza controllata. Ciò comprende:
    • Traccia la geometria (larghezza del binario e altezza sopra un piano di massa) per dare al circuito un'impedenza caratteristica definita.
    • Terminare i driver e / o i ricevitori con l'impedenza caratteristica della linea.

Ho ottenuto questo libro, è assolutamente fantastico. Sono solo al capitolo 3, ma i primi tre capitoli mi hanno entrambi insegnato nuovo materiale e mi hanno fatto pensare al materiale che conosco in modi diversi.
Kortuk,

Quasi un quarto di secolo dopo, un manuale di magia nera è ancora il pezzo definitivo di letteratura sull'argomento.
Cort Ammon,

7

Usa un piano completo e un piano di potenza. I limiti di bypass sono limitati dall'induttanza, che è principalmente determinata dalla dimensione del pacchetto, dalle tracce e dai via. Quindi scegli la dimensione del pacchetto più piccola con cui puoi lavorare, quindi scegli la capacità più grande che non rompe il tuo budget. Se hai bisogno di più bypass, vai su una dimensione del pacchetto o due e ottieni la massima capacità in quel pacchetto. Quando si collega il cappuccio a terra / piani di potenza, utilizzare due vie su ciascun lato di ciascun pad; vias + cap apparirà come un H.

Dividere i piani può aiutare a isolare le sezioni analogiche e digitali. Non attraversare mai un piano diviso con una traccia di segnale !!! Tenere i segnali lontani dal bordo della scheda. Tieni i segnali distanti almeno 2 volte l'ampiezza della traccia per evitare il crosstalk (le simulazioni sono utili qui). Tenere i segnali a una larghezza di traccia 5x lontana da segnali molto rumorosi (ad es. Orologi) o segnali estremamente sensibili (ad es. Ingressi analogici). Se necessario, utilizzare tracce di protezione collegate a terra attorno a segnali rumorosi / sensibili. Evita vie e tronconi con segnali rumorosi / sensibili.

Idealmente, fornire un filo di terra per segnale in un connettore. Terminare i segnali del connettore, perché a loro piace emettere EMI. Anche le perle di ferrite attorno al filo possono aiutare con il rumore del connettore. Evitare che i segnali passino sotto i connettori.

Il piano di massa consente di creare tracce di microstriscia, che hanno un'impedenza ben definita. È inoltre possibile utilizzare resistori di terminazione se la traccia è lunga. Penso che la regola generale sia per ogni nS di tempo di salita, puoi andare 2,5 "senza una resistenza di terminazione.

Utilizzare le simulazioni IBIS per determinare se sono necessarie resistenze di terminazione. I moderni FPGA hanno dei bei trucchi per questo genere di cose; possono controllare la potenza del loro driver di uscita, a volte anche con un "impedenza controllata digitalmente" (termine Xilinx per la tecnologia). Anche qui le simulazioni IBIS aiutano a capire la forza motrice appropriata.

Dai un'occhiata all'enorme elenco del Dr. Howard Johnson di newsletter sul design digitale ad alta velocità. Davvero fantastico. http://www.sigcon.com/pubsAlpha.htm


5

So molto poco sul layout ad alta velocità. Ma le tre cose più comuni che ho sentito sono: evitare gli angoli retti per le tracce del segnale (causano riflessioni), disporre di un piano di massa il più possibile sul circuito e suddividere la scheda in modo da avere segnali simili (basso- velocità digitale, digitale ad alta velocità, analogico) in diverse aree, con "punti di strozzatura" nel piano di massa per ridurre al minimo le interferenze.

Per quanto riguarda le buone risorse online, immaginerei che i fogli dati e le note per il DSP o FPGA che stai prendendo in considerazione forniranno alcuni buoni consigli. Ricordo che Xilinx aveva delle cose buone.


Evitare gli angoli retti --- intendi letteralmente fare degli angoli arrotondati sulle tracce? (A meno che non possa essere una linea retta immagino.)
Steve,

Penso che significhi che puoi avere angoli non solo a 90 gradi. Non vedo angoli arrotondati, beh, da molto tempo. Ma se guardi la scheda madre nel tuo PC vedrai anche che tutti gli angoli sono molto inferiori a <90 gradi. Se la linea deve andare a 90, allora sarà spesso divisa in, beh, forse alcuni angoli di 30 gradi
cyphunk

4
Sono tipici due angoli di 45 gradi. Ma l'uso delle tracce della linea di trasmissione e la terminazione corretta sono più importanti dello stile degli angoli. Se non hai linee di trasmissione terminate, i diversi stili degli angoli non faranno alcuna differenza.
Clint Lawrence,

due angoli di 45 gradi sono molto comuni in quanto in una traccia hanno eccellenti proprietà di abbinamento, troverò una guida che spiegherà quali considerazioni di progettazione prendere in considerazione per farlo correttamente.
Kortuk,

1
Oggi mi sono imbattuto in alcuni software di instradamento automatico che infatti utilizzano curve. eremex.com/products/topor/competitiveadvantages/…
cyphunk

5

Per rispondere alla tua domanda piuttosto che alla domanda che hai posto direttamente (le altre risposte ne hanno parlato):

Il DSP a 10 kHz per un controller di loop non è troppo veloce. (usiamo loop di controllo a 5 o 10kHz per controller di motore) Con un dispositivo decente, suppongo che dovresti essere in grado di gestirlo con una frequenza di clock di 40-80 MHz se necessario, e la cosa bella della nuova serie di DSP e i microcontrollori sono che usano moltiplicatori di clock a fase bloccata (PLL) per aumentare la frequenza di clock internamente, in modo che all'esterno non ci sia realmente bisogno di segnali molto veloci. I DSP della serie TMS320F28xx di TI (vedi 28044 e 28235) hanno un PLL 5x (mezzo passo da 0,5x a 5x), quindi puoi ottenere un clock da 100 MHz con un cristallo da 20 MHz.

Per il lato digitale, ciò di cui devi fare molta attenzione è assicurarti di fornire una buona coppia solida di piani di potenza e di massa per il tuo processore e assicurarti di aggiungere condensatori di bypass il più vicino possibile ai pin di alimentazione del processore. Inoltre, invece di spruzzare un sacco di condensatori da 0,1uF, utilizzare una varietà di condensatori da 0,1uF, 0,01uF e 0,001uF. I condensatori da 0,1uF forniscono più carica ma la loro induttanza parassitaria entra in gioco a una frequenza inferiore rispetto a quella che vedrai su un condensatore da 0,01uF o 0,001uF. Gli ultimi due non forniranno la stessa carica, ma funzioneranno correttamente come i cappucci di bypass a una frequenza più elevata. Avevamo un design della scheda funzionante ma con una moderata quantità di rumore sul convertitore analogico-digitale del DSP.

La conversione da analogico a digitale sarà il punto più debole del tuo sistema. Probabilmente non dovrai lavorare troppo per far funzionare bene il sistema digitale. Ma se non stai attento, otterrai prestazioni di rumore mediocri sul tuo ADC. (Temo di non avere molta esperienza personale nell'affrontare personalmente questo problema; altri ingegneri della nostra azienda gestiscono il layout, quindi quello che ti sto dicendo è di seconda mano.) Il modo in cui gestire i piani di terra è qualcosa che viene sostenuto da due approcci separati: se usare un enorme piano di massa per l'intero sistema, rispetto a due piani di terra separati, uno analogico + uno digitale, collegati insieme all'ADC - il primo va bene per i sistemi a 8-10 bit, e sento la separazione delle aree digitali / analogiche del circuito è più importante quando si arriva a conteggi di bit più alti (16 bit o superiore).

Non lesinare su n. Di livelli della scheda. Gli aerei di terra e di potenza sono i tuoi amici.


Penso che un dsPIC possa facilmente lavorare su una scheda a due strati, richiede solo un layout molto accurato. La tua risposta è stata chiara e concisa.
Kortuk,

Sono d'accordo. 10kHz non è poi così veloce. Abbiamo 10MIPS PIC18 che trascorrono metà del loro tempo a eseguire un loop di controllo a 5 kHz e il resto del tempo a fare altre cose. Hanno solo bisogno di un clock da 10 MHz e quasi nessuna considerazione speciale per la progettazione ad alta velocità.
Rocketmagnet,

4

Leggi su radioamatori o trova un operatore di classe extra per aiutarti. Affrontiamo questi problemi continuamente a frequenze molto più elevate. Utilizziamo anche l'elaborazione DSP in quasi tutte le nostre apparecchiature. Prova il materiale didattico AARL online o QRZ. I problemi non sono così difficili da correggere, ma ci sono molte possibili aree problematiche a cui prestare attenzione.
73, KF7BYU


3

Come già accennato, è possibile utilizzare un processore veloce con un PLL e avere ancora solo i segnali da 10 kHz + un oscillatore al quarzo da 12 MHz (vicino alla CPU) sulla scheda. Disporre questo non sarà un problema.

Molte persone (me incluso) hanno fatto un'uscita audio stereo a 48kHz su un ARM7TDMI (streaming da una scheda SD connessa SPI nel mio caso). Ho anche visto la decodifica mp3 nel software su un ARM7 50MHz in esecuzione dalla RAM (potrebbero esserci stati di attesa quando si lavora da Flash).

Forse comprare una scheda mpc LPC1768 (100 MHz, ADC / DAC e PWM molto veloci su chip, a buon mercato: 50 €) e realizzare un prototipo? Solo se questo non è sufficiente, inizia a giocare con altre cose (più costose e difficili).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.