ADC richtig auslesen

Gast #4190087
Lesenswert?

Hallo zusammen,

habe nur eine kurze Frage zum richtigen Gebrauch eines ADC's ( Beispiel 
MCP3204):

Der hat ja eine maximale Anzahl an Wandlungen pro Sekunde, welche er 
leisten kann. Muss ich jetzt selber mir mitm Timer-Counter einen Zähler 
bauen, der den ADC immer in der richtigen Frequenz ausliehst? Was 
passiert, wenn ich den ADC öfters auslese, als er eigentlich an 
Wandlungen bereitstellen kann? Gibt es da eine schöne Lösung oder ist 
ein software-seitige Steuerung mittels Counter/Timer der richtige Weg?

Ich will den ADC halt immer sooft es geht auslesen in der Sekunde.

Vielen Dank für die Hilfe.

Gruß
Philipp
#4190096
Lesenswert?

Philipp schrieb:

> Der hat ja eine maximale Anzahl an Wandlungen pro Sekunde, welche er
> leisten kann. Muss ich jetzt selber mir mitm Timer-Counter einen Zähler
> bauen, der den ADC immer in der richtigen Frequenz ausliehst?

"Auslesen" ist nicht dasselbe wie "Wandeln".

> Was
> passiert, wenn ich den ADC öfters auslese, als er eigentlich an
> Wandlungen bereitstellen kann?

Nix. Dann kriegst du eben mehrmals dasselbe (letzte) Ergebnis.

Du kannst ja auch am Fussballplatz öfter auf die Anzeigetafel schauen 
als diese aktualisiert wird.

> Ich will den ADC halt immer sooft es geht auslesen in der Sekunde.

Bei den meisten integrierten ADC kann der ADC einen Interrupt auslösen, 
wenn er wieder ein Ergebnis fertig hat. D.h. der ADC kann dein Programm 
benachrichtigen, wenn ein Ergebnis fertig ist. Gleich danach beginnt der 
ADC dann mit der nächsten Wandlung.
#4190102
Lesenswert?

Wenn du ganz schnell und korrekt sein willst, kannst du das timing 
komplett selber in Timern realisieren. Wenn du ihn zu oft abfragst 
senden, zumindest die, die ich benutze, einfach das letzte korrekte 
Ergebnis also im schlimmsten Fall kriegst du öfters dasselbe Ergebnis 
und merkst es nicht.

Dann haben einige ADCs einen Conversion Ready Ausgang, den man abfragen 
kann. Sobald der eben high ist oder entsprechendes, dann steht ein neues 
Ergebnis zur Verfügung.
#4190107
Lesenswert?

Durch das SPI Interface ist der MCP3204 etwas anders als "übliche" 
Wandler.

Sieh dir mal das Datenblatt an, Seite 16, Bild 5.1. Dort ist der 
zeitliche Ablauf genau dargestellt. Die Wandlung wird durch das SPI 
Interface angestoßen und es kommt das Ergebnis. Nach der Übertragung 
kannst du nach 500ns Wartezeit sofort die nächste Wandlung starten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren