Forum: Mikrocontroller und Digitale Elektronik XMEGA ADC Fragen zu den Kanälen


von Johann (Gast)


Lesenswert?

Hallo @ all,

Ich habe einen XMEGA32A4U Atmel und möchte den internen ADC vom XMEGA 
benutzen. Ich möchte8 Pins (PORTA) digitalisieren. Die Geschwindigkeit 
muss nicht sonderlich hoch sein (zwischen 25Hz und 100Hz). Die Messwerte 
werde ich dann per UART an den PC senden.

Ich habe mir gedanke zu Umsetzung gemacht und 2 Möglichkeiten 
durchdacht. Bei beiden Möglichkeiten benutze ich einen Timerinterrupt 
der dann die Digitalisierung startet.

Möglichkeiten:

1. Ich verwende 4 Kanäle und muss dann bei jedem Kanal 1 mal auf einen 
anderen Pin umschalten

2. Ich verwende nur 1 Kanal und muss 8 mal den Pin umschalten um Port A 
zu digitalisieren.

Ich habe das mit den Kanälen noch ganz verstanden. Werden die 4 Kanäle 
zu gleichen Zeit digitalisiert? Ist im XMEGA ein ADC mit 4 Kanälen 
verbaut oder besitzt der ADC nur 1 Kanal? Falls der ADC nur ein Kanal 
besitzt was für Vorteile würden dann die 4 virtuellen Kanäle haben?

von ich (Gast)


Lesenswert?

Hallo, dir ist bewusst dass du nur EINEN AD-Wandler hast der schon 
intern gemuxt 1:12(?) ist?
MfG
ich

von Johann (Gast)


Lesenswert?

@ ich

So 100% beschrieben ist diese leider nicht im Datenblatt. Wo soll denn 
der Vorteil liegen 4 Kanäle zu verwenden?

Ich kann auch 1 Kanal verwenden und 8 mal zwischen den Pins umschalten.

von Moby (Gast)


Lesenswert?

Johann schrieb:
> So 100% beschrieben ist diese leider nicht im Datenblatt.

Vielleicht schaust Du im falschen. Gibt das speziellere Datasheet zu 
Besonderheiten der xxA4U und das allgemeine "100%ige" XMega AU Manual.

Johann schrieb:
> Ich habe das mit den Kanälen noch ganz verstanden.

Kein Wunder, der Begriff Kanal ist hier etwas doppeldeutig:
Zum einen als 'jeder Pin ein Kanal', den Du als einen von 12 vor 
Digitalisierung im MUXCTRL-Register festlegst. Zum anderen als 
'Umwandlungs'-Kanal, weil Du 4 davon unabhängig voneinander 
konfigurieren kannst und wo jeder sein eigenes MUX-, Result und Control- 
Register hat.
Zwar gibt es nach wie vor nur einen ADC, der kann aber mit diesen bis zu 
4 Aufträgen beaufschlagt werden. Indem diese Aufträge in der 
mehrstufigen ADC Conversion-Pipeline quasi ineinandergeschachtelt 
abgearbeitet werden können kommt man im Ergebnis zu hohen Datenraten 
auch bei niedrigem Systemtakt.

Johann schrieb:
> Die Geschwindigkeit
> muss nicht sonderlich hoch sein (zwischen 25Hz und 100Hz).

Dann brauchst Du nur einen 'Umwandlungs'-Kanal im Free-Running Mode 
konfigurieren- und in Deinem Timer-Interrupt schaltest Du nach Auslesen 
des Result-Registers nur auf den nächsten Deiner 8 'Eingabe'-Kanäle um!

von Johann (Gast)


Lesenswert?

Wenn ich den ADC im Free-Running Mode betreibe kann ich dann einfach den 
MUX von PORTA0 auf PORTA1 umschalten oder muss ich zuvor die 
Digitailierung hanhalten?

von Moby A. (moby-project) Benutzerseite


Lesenswert?

Einfach umschalten! Der Rest läuft von allein ;-)

von Johann (Gast)


Lesenswert?

Danke für die Information

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.