Internen Pullup ausschalten bei AT91SAM7S

Gast #2043446
Lesenswert?

Hallo,

ich habe folgende Schaltung (ist bereits soweit reduziert):
1M Ohm Widerstand von IO-Pin zu GND.

Da der AT91SAM7S interne Pullups hat, habe ich diese ausgeschaltet:
1
AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, USB_SELECT, 0);
2
AT91C_BASE_PIOA->PIO_PPUDR = USB_SELECT;

Wenn ich jetzt aber die Spannung am Beinchen messe, so ist diese 1,6V 
bei 3,3V Vcc. Meiner Meinung nach sollte es aber 0V sein.

Hat jemand eine Ahnung warum das so ist, bzw. warum es nicht so 
funktioniert, wie ich es mir denke.

Schönen Gruß,
Johannes
Gast #2043672
Lesenswert?

Hallo,

also: Dran hängen tut nichts mehr. Der Spannungsteiler kann also 
ausgeschlossen werden. Die Spannung sieht zwar wie Vcc/2 aus, ist es 
aber nicht.
Ich habe jetzt auch den Unterschied zwischen Pullup an und Pullup aus: 
3,0V (an) und 1,69V (aus).

Sieht irgendwie komisch aus. Kann es sein, dass der Mikrokontroller 
kaputt ist?

Servus,
Johannes
#2044246
Lesenswert?

Hi
war heute ein schwere Tag, also kann sein das ich falsch liege, aber du 
kannst die Pins mit "PIO_OPENDRAIN" initialisieren. Oder schon versucht?

Schau dir mal das Kapitel "15.4.6 Multi Drive Control (Open Drain)" im 
DB an.

Schau dir auch nochmal die Beispiele von ATMEL an.
Du willst irgend was mit "USB..." machen?
ATMEL macht das bei den Ports so:
1
/// USB VBus monitoring pin definition (PA13).
2
#define PIN_USB_VBUS    {1 << 13, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_INPUT, PIO_DEFAULT}
3
/// USB pull-up control pin definition (PA16).
4
#define PIN_USB_PULLUP  {1 << 16, AT91C_BASE_PIOA, AT91C_ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}

ich weiß nicht ob es dir weiter hilft.

Stephan
Gast #2049406
Lesenswert?

Hallo Stephan,

danke für deine Hilfe.
Aber so viel ich sehe, sind das zwei Paar Schuh. Im Beispiel von Atmel 
werden externe Pullups für D+ von USB geschaltet. Mir geht es eher um 
den VBUS. Und der wird einfach nur als Input deklariert.
Der interne Pullup wird gar nicht beachtet.

Schönen Gruß,
Johannes

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