Come falliscono gli ADC?


12

Sono responsabile del mantenimento di un satellite con un ADC che non funziona in modo insolito. In sostanza ciò che sta accadendo è che alterna avanti e indietro tra due valori, se la tensione grezza rientra in un determinato intervallo. Sto lavorando per ottenere i conteggi grezzi, ma i dati elaborati assomigliano a questo:

Immagine di esempio

Nota che la linea blu significa qualcos'altro (in sostanza, il software sta cercando di far corrispondere la linea rossa alla linea blu).

Normalmente, i passaggi sono piuttosto piccoli, come si può vedere dai piccoli dossi di sinistra sull'onda quadrata più grande. Tuttavia, i passaggi sono piuttosto grandi quando si scende al di sotto del valore. Anche se non ho i dati di conteggio non elaborati, so che si riflettono nei conteggi.

Quello che sto cercando di capire è come questo ADC stia fallendo.

Sto indovinando quanto segue, ma vorrei ottenere alcune analisi di questa idea:

  1. Nella regione lineare, per ogni variazione della tensione analogica in delta v, vi è una variazione nei conteggi di uno.
  2. Nella regione non lineare, per una variazione della tensione analogica in delta v, il salto nei conteggi è molto maggiore.
  3. È possibile che il delta v in 2 sia maggiore di 1, ma è molto più piccolo di quanto normalmente previsto.

Ricorda, questo è un satellite, quindi non posso riportarlo in laboratorio per i test. qualche idea?

EDIT: ecco i conti grezzi per un episodio del genere (campionato a una frequenza più bassa). Inoltre, l'ADC ha uno spazio di circa 15-20 anni, non ho un numero di parte a portata di mano, ma vedrò se riesco a ottenerlo. Probabilmente era nel 1993 e potrebbe essere basato su FPGA. I conteggi sono per quanto posso dire 374-421 come il divario (potrebbe essere fuori da alcuni conteggi). Il binario è il seguente

374 101110110
421 110100101

inserisci qui la descrizione dell'immagine

Parte del motivo per cui penso che potrebbe essere l'ADC è che ci sono più sensori con lacune simili. Sto lavorando ora per quantificarlo meglio, ma ecco un esempio di trama. Notare che i punti sono i valori misurati effettivi e le linee collegano semplicemente due punti dello stesso dato insieme. Tutti questi valori vengono letti dallo stesso ADC.

inserisci qui la descrizione dell'immagine

Inoltre, ecco un elenco di tutti i valori letti dall'ADC nel periodo di circa 24 ore. Ci sono moltissime linee (circa 20 in tutto). Credo che le lacune rappresentino una zona morta nell'ADC o nei relativi circuiti. L'asse y in questo diagramma sono i valori di output letti ADC. Ogni volta che vedi una linea sostanzialmente verticale sembra rappresentare una regione in cui l'ADC non può registrare un valore.

inserisci qui la descrizione dell'immagine

L'ADC è parte ADC0808, il multiplexor analogico è il numero parte è HCF4051BM1, almeno dagli schemi che riesco a trovare ... È possibile che in qualche momento sia stata apportata una modifica.

EDIT- Più di un aggiornamento: ci sono 3 multiplexor analogici che si alimentano nell'ADC. Volevo vedere se forse uno di loro stava avendo questo problema, dove gli altri no. Non ci sono molte prove per questo, tuttavia, vedi sotto. Ci sono molti vuoti come questo, ho appena scelto di mostrarne uno.

Count   #tot    #mux1   #mux2   #mux3
557 3360    1336    68  1956
558 252 128 4   120
577 684 292 4   388
578 964 480 8   476

3
Numero parte e foglio dati per la parte?
Brian Carlton,

1
La pubblicazione dei valori effettivi può essere d'aiuto. Potrebbe essere che in qualche modo il MSB e LSB non vengono letti insieme , nel senso che se il valore sta cambiando ad esempio da 0x00FFal 0x0100(piccolo cambiamento) si può essere sempre 0x01FFo 0x0000(grande cambiamento).
apalopohapa,

3
Aspetta, questo è un satellite? Come, è nello spazio adesso ? Spero che tu abbia acquistato parti rinforzate con radiazioni.
Connor Wolf,

2
Ha funzionato in passato, ha iniziato a fallire dopo ~ 10 anni di uso continuo. Ho visto un comportamento simile dai sensori di temperatura e pressione, per non parlare della tensione della batteria, mi è capitato di pubblicare corrente.
PearsonArtPhoto,

2
Hai un bel lavoro.
Ktc,

Risposte:


4

C'è un motivo per sospettare l'ADC su tutto il resto del sistema? Qualunque cosa tra la batteria e la stazione di terra potrebbe causare ciò che vedi. Un buon albero degli errori prenderà in considerazione altre cause oltre all'ADC.

  • Il front-end analogico
    • effetti di radiazione su amplificatori operazionali e interruttori analogici
    • gli amplificatori operazionali rimangono bloccati su valori errati
    • i cancelli di trasmissione non si aprono / chiudono, oppure funziona solo il lato N o P.
    • il ciclo termico provoca aperture intermittenti
    • baffi di metallo che causano pantaloncini intermittenti
  • L'ADC stesso
    • errore a bit singolo
    • dati non sincronizzati con l'orologio (bit saltati / inclinati)
    • qualche altra modalità di errore specifica per il tipo di ADC
  • La logica / microprocessore digitali
    • impossibile configurare i carichi come previsto
    • non sta configurando o leggendo ADC correttamente
    • imballaggio errato dei dati per la trasmissione
  • Altri carichi nel sistema
    • sottosistemi che si accendono quando non viene comandato
    • assorbimento di energia inaspettatamente elevato da carichi danneggiati

Aggiunte ulteriori informazioni sul perché penso che sia l'ADC. In sostanza, tutti i valori letti dallo stesso ADC sembrano avere una regione simile di conteggi mancanti.
PearsonArtPhoto,

Il canale viola viene letto immediatamente dopo il canale rosa? Sembra un po 'come il campione e tenere premuto per il canale viola a volte conduce solo in un modo.
Theran,

Onestamente, non lo so e non so nemmeno se c'è un modo per capirlo ... Ma vedrò cosa posso fare per capirlo. È interessante notare che hanno lo stesso livello di segnale, ma si noti che non viene visualizzato quando il viola si trova al livello più alto.
PearsonArtPhoto,

Immagino che quello che stiamo vedendo sia un gate di trasmissione CMOS mezzo morto dove sta conducendo solo uno dei due transistor. Sta caricando il campione e trattiene il condensatore ma non lo scarica quando il canale viola è attivo.
Theran,

2

Utilizzando le informazioni dettagliate che sto raccogliendo, noto le seguenti tendenze:

  1. Non sembrano esserci vuoti completi nell'intervallo ADC, ad eccezione delle aree in cui sembra che non vi sia alcun segnale di ingresso.
  2. Esistono diverse aree simili ai dati seguenti, in cui sembra che i valori in una piccola finestra non vengano quasi mai letti, con numeri enormi prima e dopo. La prima colonna è l'output dell'ADC, la seconda è il numero di occorrenze, su più tipi di oggetti.

I dati sono:

350 253
351 106
354 1
357 1
359 2
360 183
361 270


375 288
376 188
392 1
409 1
424 762
425 1058
  1. Queste misurazioni misurano un'ampia varietà di ingressi, ma ci sono diversi salti su scala molto piccola, inclusi elementi che non dovrebbero saltare rapidamente, come temperatura, pressione della batteria, tensione della batteria, ecc.

Alla luce di tutto ciò, dovrei dire che l'ADC o i circuiti di supporto possono fallire in modo tale da fornire una capacità limitata di misurare fenomeni su piccola scala. Inoltre, sembra che queste siano solo funzioni step.

Sto ancora cercando di capire come sono collegati questi salti, ma non riesco a ottenere il quadro completo ...

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.