Forum: Mikrocontroller und Digitale Elektronik Portverschwendung ATXMega


von Thomas M. (tom_holzwurm)


Lesenswert?

Hallo Kollegen,
ich bin dabei ein Controllerboard für eine Anwendung zu entwickeln, bei 
der ich einige der Besonderheiten des Atxmega nutzen will:
8 x Analog, 1x DAC, 1xSPI, 1xUART
und
ich brauche noch so ca. 16-20 IO-PIN's.

Wenn ich das Datenblatt jetzt richtig verstehe, kann ich pro Port nur 
eine(!) der Funktionen nutzen, Port A --> 8x ADC OK
PORT B 2x DAC --> 6 andere PIN's von 8 nicht nutzbar
usw.
D.h. selbst bei einem Port, bei dem ich nur 2 PIN's für den UART 
brauche,  sind die restlichen 6 verbraten.?!? ( Das ging beim ATMEGA 
aber !)

Daraus folgt, das ich selbst für eine recht simple Anwendung den größten 
ATMega (A1) brauche ( 100Pin Package ) ?!?
Oder hab' ich was übersehen ?
Danke für Eure Rückmeldung,
Gruß Thomas
PS: Ich habe meine IO-Ports schon optimiert, das geht nix mehr .....
Und ein ATMega ist leider keine Alternative ( wegen Datendurchsatz/DMA 
etc.)

von Karl H. (kbuchegg)


Lesenswert?

Auch wenn ich keinen XMega benutze, aber das kann ich mir nicht 
vorstellen.

Aus welchem Abschnitt im Datenblatt schliesst du das?

von H.Joachim S. (crazyhorse)


Lesenswert?

Ich habe zwar keinerlei Ahnung vom XMega, aber ich glaube einfach mal 
nicht, dass das so ist.
Erstens wäre es extrem kontraproduktiv, zweitens macht es auch aus 
Chipsicht keinerlei Sinn. Sicher hast du dich vertan oder noch nicht 
alles gelesen/verstanden.

von Hmm (Gast)


Lesenswert?

>Wenn ich das Datenblatt jetzt richtig verstehe, kann ich pro Port nur
>eine(!) der Funktionen nutzen, Port A --> 8x ADC OK
>PORT B 2x DAC --> 6 andere PIN's von 8 nicht nutzbar

Welche Stelle(n) im Datenblatt meinst Du genau? Bitte einen Link auf das 
Datenblatt, dass Du verwendest, angeben und die Seitenzahl.

von Spess53 (Gast)


Lesenswert?

Hi

>Oder hab' ich was übersehen ?

Mit Sicherheit.

Beispiel USART TX:

When the Transmitter has been enabled, the normal port operation of the 
TxD pin is overridden
by the USART and given the function as the Transmitter's serial output. 
The direction of the pin
must be set as output using the Direction register in the corresponding 
port.

Wo steht da etwas vom ganzen Port?

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Spess53 schrieb:

> Wo steht da etwas vom ganzen Port?

Ganz im Gegenteil.
Ich hab mir gerade das Datenblatt zum XMega128 geholt. An allen Ecken 
und Enden wird Atmel nicht müde zu betonen was man nicht alles auf die 
einzelnen Pins konfigurierern kann. Und zwar für jeden Pin einzeln.

von Coder (Gast)


Lesenswert?

Der Kollege sollte mal das Datenblatt lesen.

von Hmm (Gast)


Lesenswert?

Da fällt mir ein Witz ein:

Es ist alles schon gesagt.
Nur noch nicht von jedem.

von kukuk (Gast)


Lesenswert?

das sagst DU

von Thomas M. (tom_holzwurm)


Lesenswert?

Bevor Ihr mir Legasthenie oder Lesefaulheit unterstellt:
Meine Frage begründet sich auf das Zitat:
" Only one(!) of the alternate pin functions can be used at
time"
s. u.a S. 49 der Doku AtxMega A3 & A4:
Nun, wie sind die Erfahrungen ??
Gruß Thomas

von Justus S. (jussa)


Lesenswert?

Thomas Holz schrieb:
> Bevor Ihr mir Legasthenie oder Lesefaulheit unterstellt:
> Meine Frage begründet sich auf das Zitat:
> " Only one(!) of the alternate pin functions can be used at
> time"
> s. u.a S. 49 der Doku AtxMega A3 & A4:
> Nun, wie sind die Erfahrungen ??

das sollte doch selbstverständlich sein, dass ein Pin nicht zwei (oder 
mehr) der für ihn möglichen Funktionen gleichzeitig erfüllen kann...und 
das war ist/bei den ATmegas auch so, egal was du behauptest...

von Dödel (Gast)


Lesenswert?

Thomas Holz schrieb:
> " Only one(!) of the alternate pin functions can be used at
> time"

Ohne, dass ich das Datenblatt genau gelesen habe, noch dass ich die 
XMegas kenne, schliesse ich aus dem Satz, dass hier ein PIN gemeint ist 
und nicht der PORT. Alles andere mach ja überhaupt keinen Sinn.

Wenn dem wirklich so wäre, wie Du behauptest, würde sich der XMega ja 
gar nicht vernünftig einsetzen lassen...

von Hugo Habicht (Gast)


Lesenswert?

Spielt doch keine Rolle. Der ATXmega ist sowieso total Kacke.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Hugo Habicht schrieb:
> Spielt doch keine Rolle. Der ATXmega ist sowieso total Kacke.

Noch nie mit gearbeitet, was? Sind schon cool, die Teile, eben 
sauschnelle AVRs mit tonnenweise Peripherie. Das einzig wirklich lästige 
ist die fehlende 5-Volt Toleranz bei den I/Os.

Dödel schrieb:
> Ohne, dass ich das Datenblatt genau gelesen habe, noch dass ich die
> XMegas kenne, schliesse ich aus dem Satz, dass hier ein PIN gemeint ist
> und nicht der PORT. Alles andere mach ja überhaupt keinen Sinn.

So ist es. Natürlich ist es völlig unproblematisch, an einem Pin eines 
Ports die 'Alternate Function' zu aktivieren und an anderen Pins 
entweder normale Portfunktionen oder eben die für diese anderen Pins 
spezifische 'Alternate Function' zu benutzen. Ich nehme z.B. die unteren 
3 Pins von Port A für den ADC und die restlichen als normale I/Os, 
ebenso z.B. 2 Pins von Port F für die UART, während die anderen 
irgendwelche LEDs antreiben. 6 Pins von Port C für AWEX und die oberen 2 
Pins für I/O usw.

von Michael (Gast)


Lesenswert?

Thomas Holz schrieb:
> Only one(!) of the alternate pin functions can be used at
> time

Steht schon im Satz drin: Es kann immer nur eine Pin-Funktion 
gleichzeitig genutzt werden, d.h. entweder ADC oder I/O oder AREF oder 
AC0 (Beispiel: Port A Pin 0) zum Zeitpunkt t

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.