Forum: Mikrocontroller und Digitale Elektronik SAMD21, alternate pin function und pull-up/-down


von Wilhelm M. (wimalopaan)


Lesenswert?

Hallo zusammen,

wenn ich bei einem Atmel/Microchip SAMD21 für einen Pin eine alternative 
Funktion aktiviere, d.h. PINCFGx.PMUXEN und entsprechend 
PMUXx.PMUXO/PMUXE setze (etwa SerCom als Uart), kann ich dann weiterhin 
den PullUp/Down-Widerstand verwenden, also PINCFGx.PULLEN setzen und via 
OUT mit 0/1 zwischen up/down wählen?

Im Text zum PORT und im Blockdiagramm kann ich es nicht zweifelsfrei 
erkennen.

Aber wahrscheinlich steht es woanders und ich habe es im Datenblatt
übersehen ;-(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wilhelm M. schrieb:
> Im Text zum PORT und im Blockdiagramm kann ich es nicht zweifelsfrei
> erkennen.

Zumal sie mal PADx, mal PINx verwenden, ziemlich verwirrend.

Ich kann es auch nicht zweifelsfrei erkennen und würde es mit dem
Multimeter beispielhaft nachmessen.  Einene Pullup oder -down sollte
man ja ganz gut erkennen können.

Indirekter Hinweis, bspw. bei der SERCOM im UART-Modus:

"Using the USART’s I/O lines requires the I/O pins to be configured 
using port configuration (PORT)."

Das legt nahe, dass die alternate function eben nicht die via PORT
vorgenommene Konfiguration überschreibt, sondern dass man diese dort
passend vornehmen muss.

von Wilhelm M. (wimalopaan)


Lesenswert?

Jörg W. schrieb:
> Wilhelm M. schrieb:
>> Im Text zum PORT und im Blockdiagramm kann ich es nicht zweifelsfrei
>> erkennen.
>
> Zumal sie mal PADx, mal PINx verwenden, ziemlich verwirrend.
>
> Ich kann es auch nicht zweifelsfrei erkennen und würde es mit dem
> Multimeter beispielhaft nachmessen.  Einene Pullup oder -down sollte
> man ja ganz gut erkennen können.

Ja, das werde ich natürlich machen, wenn das Board mal wieder bei mir 
auf dem Tisch ist ... (meine Hoffnung war, dass das schon jemand gemacht 
hätte).

> Indirekter Hinweis, bspw. bei der SERCOM im UART-Modus:
>
> "Using the USART’s I/O lines requires the I/O pins to be configured
> using port configuration (PORT)."
>
> Das legt nahe, dass die alternate function eben nicht die via PORT
> vorgenommene Konfiguration überschreibt, sondern dass man diese dort
> passend vornehmen muss.

Das hatte ich erst einmal nur auf den Multiplexer (einschalten und 
altern. Funktion auswählen) bezogen.

In Figure 23-2 taucht auch noch ein DRIVEx auf, was ich nicht einordnen 
kann,

Figure 23-3 legt wiederum nahe, dass Data + Config beim Umschalten auf 
den Multiplexer komplett inaktiv werden.

von Wilhelm M. (wimalopaan)


Lesenswert?

Antwort steht In Abschnitt 26.5.1:

"When the SERCOM is used in USART mode, the SERCOM controls the 
direction and value of the I/O
pins according to the table below. Both PORT control bits PINCFGn.PULLEN 
and PINCFGn.DRVSTR are
still effective. If the receiver or transmitter is disabled, these pins 
can be used for other purposes."

Sorry, hatte es anfänglich überlesen ...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Wilhelm M. schrieb:
> Sorry, hatte es anfänglich überlesen ...

Das ist wenig verwunderlich. ;-)  Die Komplexität heutiger Controller
widerspiegelt sich in der Komplexität ihrer Datenblätter.

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.