Maximalgeschwindigkeit ADC an ARM

OP #421544
Lesenswert?

Ich bin gerade am herumexperimentieren mit einem AT91SAM7.
Mich würde interessieren, welche Abtastrate eines 12Bit ADC (paralleles
Interface) der ARM noch problemlos einlesen könnte.
Welches ADC Modell wäre empfehlenswert? (preiswert!)
Ich möchte von einigen Messwerten den Mittelwrt bilden und das Ergebnis
über USB versenden. Bis welcher Übertragungsrate kan man den virtuellen
Com-Port verwenden?
Oder soll ich gleich einen anderen Übertragungsmodus verwenden?
#421545
Lesenswert?

Hallo Lukas,

der angesprochene µC hat doch einen internen ADC der immerhin 386kSPS
schafft (oder sowas in der Größenordnung). Wenns noch schneller sein
soll, liegts an der Geschwindigkeit mit der du das PIO-Register
auslesen kannst, welches die Eingangsdaten repräsentiert.

Grüße, Clemens
Gast #421547
Lesenswert?

1Msps ist schon zu schaffen, wenn Du einen Timer/Interrupt nutzt und der
uc sonst nicht viel zu tun hat. Für diese Aufgabe würde ich aber gfs ein
CPLD vorschalten, sonst brauchst Du einen dicken uc.
Gast #421549
Lesenswert?

@ Lukas,

mal angenommen der Code wird aus dem SRAM ausgefuehrt und der Micro
macht nichts anderes, dann ist sogar pollen angesagt, nicht mehr
Interrupt gesteuert. Die 1MSPS gehen locker aber sonst geht dann nichts
mehr ;-)
Alle 1 usec kommt ein neuer Wert also hat der Micro 48 Zyklen zur
Verfuegung. Da ein ARM7 im Durchschnitt 1.9 Zyklen pro Befehl benoetigt
sind das dann ca. 25 ASM Befehle.
In diesen Befehlen musst Du im Prinzip den AD-Wandler auslesen, ggf.
auf einen Wert testen, in Zielbereich schreiben, das Ende Kriterium
bearbeiten (z.B. Schluss nach 100 Werten) und dann wieder in die Loop
zurueck.
So ein klein wenig Performance bleibt noch uebrig. Falls Du ueber
Interrupt nachdenkst, unbedingt den FIQ dafuer verwenden und nichts
anderes auf dieselbe Prioritaet legen.

Im Prinzip ist es leicht moeglich aber waehrend des Sampling ist nichts
anderes mehr drin.

Uebrigens gibts von Analog Devices einen ARM7 der 12-bit ADC mit 1 MSPS
integriert hat. Ist ansonsten eher ein duerftiger Micro aber die ADCs
sind Spitze!

Robert
Gast #423565
Lesenswert?

hallo lukas,
ich würde dir empfehlen, die pdc des at91sam7s zu nutzen da damit keine 
cpu-leistung benötigt wird.
um die pdc benutzen zu können muß der adc über eine schnittstelle 
angeschaltet sein welche den pdc unterstützt, z.b. spi oder ssc.


gruss
gerhard
OP #423691
Lesenswert?

SPI ist leider schon belegt (ich verwende dort auch schon PDC, deshalb 
habe ich Atmel gewählt)
Mit SSC kann man doch einen SPI ADC ansteuern.
Ich habe aber weder bei Analog, noch bei TI oder Maxim seielle ADCs mit 
12Bit und >1.5MSPS und 5V Input Range gefunden.
Also bleibe ich bei den parallelen.
Die Frage bleibt, wie schnell ich diese ansteuern/auslesen kann, wen der 
ARM in der Messzeit nichts anderes zu tun hat.

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