www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pullup Widerstand um Pulldown auszugleichen


Autor: Bernd Schuster (mms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

an dem BMS Pin eines AT91SAM9263 Controllers ist ein 10k Pulldown 
Widerstand vorhanden (diesen kann ich leider nicht entfernen, da sich 
dieser auf einer gekauften CPU-Platine befindet).

Auf meinem Target-Board hab ich einfach einen 100k Pullup Widerstand an 
den Pin zusätzlich drangehängt um einen High Zustand zu erhalten.

Das funktioniert leider nicht. Als Ergebnis hab ich eine 0.5V Spannung 
am Pin und wenn ich am 100k Widerstand messe (mit angeschlossener 
CPU-Platine) erhalte ich lediglich 16k.


Gruß
Bernd

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Schuster schrieb:

> an dem BMS Pin eines AT91SAM9263 Controllers ist ein 10k Pulldown
> Widerstand vorhanden (diesen kann ich leider nicht entfernen, da sich
> dieser auf einer gekauften CPU-Platine befindet).

Wieso willst du den Widerstand entfernen, bzw. was willst du sonst an 
den BMS Pin hängen?

Über den BMS Pegel wählt man ja die Bootquelle aus (BMS Low: NOR Boot 
bzw. external memory boot). willst du aus dem internen SRAM booten?

> Auf meinem Target-Board hab ich einfach einen 100k Pullup Widerstand an
> den Pin zusätzlich drangehängt um einen High Zustand zu erhalten.
>
> Das funktioniert leider nicht.

Klar, "durch den 100k Pullup-Widerstand kommt von Vcc 10x weniger Stom 
als durch den 10k Pulldown-Widerstand nach GND wegfliesst."

Du könntest einen Spannungsteiler aufbauen und dem eine so hohe Vcc 
geben, dass der BMS Pin log. HIGH sieht.

Autor: Bernd Schuster (mms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für deine antwort.

Ich möchte die Möglichkeit haben entweder über ein externes NOR Flash 
(BMS: low) oder einem "internen" Dataflash (BMS: high) booten zu können.

Das mit dem 100k hab ich mir grad aufgemalt... man muss ja davon 
ausgehen, dass der Prozessor intern ebenfalls einen 100k Pullup besitzt 
-> dadurch muss der externe ungefähr 1k sein damit man ein High-Level 
erreicht.


Ich werds mal mit einem 1k Pullup ausprobieren.

Gruß
Bernd

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Schuster schrieb:

> Das mit dem 100k hab ich mir grad aufgemalt... man muss ja davon
> ausgehen, dass der Prozessor intern ebenfalls einen 100k Pullup besitzt
> -> dadurch muss der externe ungefähr 1k sein damit man ein High-Level
> erreicht.

1k Pullup sollte funktionieren.

Welchen HIGH Pegel braucht der µC am BMS Pin und welche Spannungen hast 
du zur Verfügung? Aus deinen letzten Daten (R2=10k, R1=100k Uaus=0,5V) 
schätze ich Uein=Vcc=5V ab.

Kannst du den internen Pullup nicht softwaremäßig abschalten?

Autor: Bernd Schuster (mms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs grad mit 1k Pullup ausprobiert und es funktioniert. VCC beträgt 
3.3V.

Den internen Pullup kann ich nicht per Software abschalten, da der 
Bootloader (im ROM) nicht verändert werden kann. Und nur in diesem 
Bootloader wird der BMS Pin auf high oder low level überprüft.

Gruß
Bernd

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich möchte die Möglichkeit haben entweder über ein externes NOR
> Flash (BMS: low) oder einem "internen" Dataflash (BMS: high) booten
> zu können.

Und wie unterscheidest du zwischen den beiden Möglichkeiten?

Du brauchst doch nur eine Brücke vom Pin zu Vcc vorsehen.
Ist die Brücke gesetzt:         BMS high -> Dataflash
Ist die Brücke nicht gesetzt:   BMS low  -> externes Flash

Autor: Bernd Schuster (mms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab einen Jumper der den BMS Pin auf GND zieht

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe das jetzt nicht.

Laut Deiner ersten Beschreibung hat der 9260 einen externen 10k PullDown 
(wer macht sowas??) an seinem Pin. Irgendwann wandelt der sich in einen 
internen PullDown von 10k und dann wird daraus ein steuerbarer PullDown.

Wat-denn-nu? Normalerweise macht man an einen solchen Pin (BMS) einen 
PullUp von 10k..100k gegen Vcc und einen 0R oder einen Jumper gegen GND. 
Alles Andere ist sinnfrei. Eine saubere Lösung wäre, den externen 10k zu 
identifizieren und auszulöten.
Der Bootloader vom 9260er sollte sehr ähnlich dem des RM9200er sein und 
das ist der SAM-BA oder der / das U-Boot. Den SAM-BA bekommt man, glaube 
ich, nur gegen NDA von ATMEL, aber den U-Boot kann man sich als 
Quellcode leicht beschaffen, da Open-Source. Der Initial-Bootloader, der 
SAM-BA oder U-Boot lädt, ist in den Datasheets oder AppNotes von Atmel 
doch als Quellcode drinne, falls man da etwas ändern möchte.

Wäre aber mal interessant zu erfahren, welches 9260er Modul Du da hast, 
das Verbauen von PullDowns wäre glatt ein KO-Kriterium.

Gruß, Ulrich

Autor: Bernd Schuster (mms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Laut Deiner ersten Beschreibung hat der 9260 einen externen 10k PullDown
>(wer macht sowas??) an seinem Pin. Irgendwann wandelt der sich in einen
>internen PullDown von 10k und dann wird daraus ein steuerbarer PullDown.

Das CPU Board CSB737 ist gekauft worden, und auf diesem ist eben ein 
solcher 10k Pulldown widerstand installiert (Schaltplan gibt es nicht 
dazu). Ansonsten kann ich mich aber über das Board nicht beklagen.


Gruß
Bernd

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kurze frage, wenn das ein pull-down ist, wieso legst du nicht einfach 
3V3 an?

dann sieht der µC auch logisch high und das kannst du bequem jumpern

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.