Forum: Mikrocontroller und Digitale Elektronik Maximalgeschwindigkeit ADC an ARM


von Luky S. (luky)


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?

von Clemens H. (sum)


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

von Luky S. (luky)


Lesenswert?

Ich hätte gerne > 1MSPS.
Wie schnell kann man die Eingangsregister auslesen?

von Jürgen Schuhmacher (Gast)


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.

von Luky S. (luky)


Lesenswert?

Mikrocontroller = AT91SAM7S64 mit 48MHz
Mich interessiert die Maximal mögliche Geschwindigkeit eines externen
parallelen ADCs direkt am Controller.
CPLD sollte keines verwendet werden.

von Robert Teufel (Gast)


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

von Luky S. (luky)


Lesenswert?

Das Teil habe ich shcon gesehen, ich brauche aber USB. Also verwende ich
einen AT91SAM7 und dazu einen externen ADC.

von gerhard (Gast)


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

von Luky S. (luky)


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.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Was ist Billig für dich? von TI gibs Wandler 60mhz/80Mhz mit parrallelem 
Interface vieleicht wären die was?

von Luky S. (luky)


Lesenswert?

6-10€ wäre akzeptabel.
Ich möchte aber keinen den mein ARM nicht voll ausnutzen kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.