XMEGA ADC Fragen zu den Kanälen

Gast #3796067
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?
Gast #3796220
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!

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