Per un'applicazione a segnale misto di media precisione e bassa frequenza di campionamento come la vostra, i problemi principali che si incontrano sono avere un riferimento sufficientemente accurato e mantenere il rumore di commutazione digitale fuori dall'ADC. Ci sono diversi passaggi per questo, a partire dalla fase di progettazione e proseguendo attraverso il layout della scheda.
Durante la progettazione del circuito
Innanzitutto, in fase di progettazione, è necessario fornire all'ADC un riferimento adeguato, un corretto disaccoppiamento e un'unità di segnale a bassa impedenza affinché si verifichino le conversioni corrette. Inoltre, il segnale deve essere filtrato (filtro passa-basso in un'app di strumentazione come la tua) per impedire all'ADC di convertire in modo efficace le frequenze più alte in banda base (le app RF possono utilizzare un filtro frontend ADC + passa-banda lento in Nyquist-down-convertire un segnale, salvando su un mixer dedicato e LO).
Stabilizzare il tuo riferimento
I riferimenti vanno dal banale e patetico (un discreto Zener gelatinoso, buono a oh, 4 bit) al folle (Zeners sepolti in circuiti integrati, usato in applicazioni di strumentazione ad alte prestazioni) - e le specifiche spesso non sono chiare, mescolando unità in modi che confondono i principianti. Il grafico in LTC AN82 è un antidoto utile per questo - data la tua applicazione, in cui il tuo ADC è un'unità a 12 bit in grado di 11+ ENOB dato un riferimento stabile e un'alimentazione a 5 V, specificherei che il riferimento deve essere accurato allo 0,02% o meglio nell'intervallo di temperatura di interesse e il rumore RMS non è un problema in quanto si tratta di un ordine di grandezza inferiore alle specifiche di precisione.
Sfortunatamente, la precisione iniziale dello 0,02% senza un trim riguarda il punto in cui le cose iniziano a diventare piuttosto ... difficili. L'uso di un riferimento a 4.096 V dato che le prestazioni ENOB desiderate significano che voglio eseguire l'ADC su un alimentatore a 5 V silenzioso con un traduttore a livello logico sul 3.3VI / O del Pi e che 4.096 V ti danno un piacevole, pratico Rapporto 1mV / conteggio, siamo limitati a ADR4540 , X60003 , MAX6126AASA o forse LTC6655Banche se l'ultima parte la chiude in quanto ha un'accuratezza iniziale dello 0,025%. Mentre tempco e isteresi non sono problemi in quanto si tratta di un'applicazione da banco, presumo, e la regolazione della linea e del carico non sono problemi importanti in quanto è alimentata dalla stessa alimentazione a 5 V regolata dell'ADC e guida solo il pin Vref dell'ADC, deriva a lungo termine è anche una preoccupazione qui a causa della mancanza di un trim - per questo, ADR4540 e MAX6126AASA sono i chiari vincitori a 25ppm / root-khr e 20ppm / root-khr tipici, rispettivamente - circa al rapporto 10-1 necessario considerare insignificante la deriva a lungo termine. (Le altre due parti hanno una deriva a lungo termine intorno a 50-60 ppm / radice-khr tipica).
Disaccoppiare tutto
Il datasheet MCP3208 raccomanda un condensatore da 1 µF minimo per il disaccoppiamento, collegato da Vdd al sistema di terra: anche AGND e DGND devono essere collegati allo stesso sistema di terra. Sul binario da 5 V della scheda deve essere usato anche un disaccoppiatore di massa al tantalio in ceramica o polimero da 10µF / 10V minimo.
Inoltre, il riferimento dovrebbe essere disaccoppiato secondo il foglio dati - questo è spesso 100nF sull'uscita con 100nF sull'ingresso oltre a qualsiasi capacità di disaccoppiamento di massa presente, ma l'LTC6655 richiede un condensatore di uscita molto più grande (usando lo stesso P / N come funziona il disaccoppiatore di massa) e X60003 è schizzinoso nella direzione opposta a causa del suo design a bassa potenza.
Ingresso unità / buffering / filtro
Questo, per fortuna, non è difficile: l'accuratezza dello 0,02% si traduce in 800 µV dell'offset massimo in ingresso e posso ottenere un paio di ordini di grandezza meglio di quello con GBW nella gamma MHz mentre sono in esecuzione sulla singola alimentazione a 5 V disponibile con lo zero di oggi - amplificatori di deriva e assettati internamente. L' AD8630 offre un'opzione di zero automatico a basso rumore, mentre gli amplificatori a basso offset con taglio interno veloce includono OPA4350 e OPA4192 . In entrambi i casi, è possibile utilizzare il filtro antialiasing Sallen a due poli e chiave passa-basso chiave dal foglio dati MCP3208, con la frequenza dell'angolo impostata a circa 5kHz o giù di lì - possono funzionare anche altri modelli di filtro.
Alimentatore e interfaccia digitale
La specifica ENOB (numero effettivo di bit) dell'MCP3208 dipende dall'alimentazione - funziona meglio con un'alimentazione a 5 V rispetto a una 2,7-3,3 V; deve anche essere a corto di 5V per usare un riferimento a 4.096V. Ciò solleva il problema che il Pi utilizza una logica a 3,3 V e non è tollerante a 5 V, richiedendo un IC di traduzione a livello logico come TXB0104 - il lato A va al Pi mentre il lato B va all'ADC.
Inoltre, l'alimentazione a 5 V dovrebbe essere ragionevolmente pulita: dovrebbe essere utilizzato un regolatore lineare per generarlo a bordo da una tensione di alimentazione più elevata. Se non è disponibile una tensione di alimentazione superiore nell'applicazione, è possibile utilizzare una guida a 5 V esistente a condizione che venga utilizzata una rete di disaccoppiamento LC per mantenere grandi quantità di rumore digitale dall'ADC e dalla guida di alimentazione dell'amplificatore operazionale.
Tempo di layout
Esistono due chiavi per un efficace layout a segnali misti: partizionamento e layout di fornitura / ritorno . Toccerò quelli a loro volta.
Innanzitutto, dividerei ordinatamente il layout della scheda in due lati: un lato digitale e un lato analogico. Tutte le tracce digitali (l'interfaccia SPI, nel caso dell'MCP3208 che si sta utilizzando) vanno sul lato digitale della scheda: questo lato della scheda contiene anche il chip traduttore a livello logico e il connettore I / O sul Pi. Il lato analogico della scheda contiene tutte le tracce e i circuiti analogici: il riferimento di tensione va qui, così come i filtri di ingresso, la protezione di ingresso e i connettori di ingresso analogico. L'ADC (e l'induttore di filtro se si utilizza 5 V dal Pi) è l'unico componente che colma questa lacuna - in effetti,
Si noti, inoltre, che tutte le parti che ho collegato sono disponibili in pacchetti SMT a passo grosso - si consiglia vivamente un layout a un lato con la parte posteriore come piano GND continuo se si desidera utilizzare qui una scheda a doppia faccia. Se il costo non è un'obiezione, una scheda a quattro strati fornirà un piano Vdd analogico continuo oltre al piano di massa, nonché spazio per una "pozza di potenza" per il lato logico 3.3V del traduttore IC di livello logico. Tuttavia, non è necessario dividere il piano di massa in questa applicazione: il corretto instradamento delle tracce del segnale manterrà le correnti di ritorno a cui appartengono .