PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konfiguration der I/O-Ports mit Pull-up ???



nabla
02.03.2006, 15:52
Hi ihr, muss für die Uni erklären, wie die Register-Konfiguration bei einem Atmel AVR 8035 funktioniert. Dazu gibt der Prof. das Schaltbild anbei.

Jetzt soll man erlären, wie "ein typischer Port eines AVR Mikrocontrollers mit aktiven Pull-Up koniguriert werden kann. Tragen Sie hierzu Logik-Werte in die Schaltung ein."

Wäre nett wenn mir einer helfen könnte...

DANKE

SprinterSB
02.03.2006, 16:31
Das steht im Datenblatt eigentlich ganz gut beschrieben...

Der PullUp sitzt oben links, entscheidend ist das Gatter rechts daneben.

Es schaltet den PullUp an <=> DDCn=0 AND PORTCn=1
Die Kringel invertieren, also auch zweimal am Ausgang des Gatters (bzw 1x am Ausgang, 1x am Gate des PullUp).
IMHO ist die Schalte unvollständig, es fehlt das SFR-Bit PUD (PullUp Disable oder PullUp Overwrite oder so).

Bei Suche nach nen Datasheet findest du mit 8035 wohl nicht viel. Soll das ein 8535 sein?

nabla
02.03.2006, 16:49
Sorry, ja meinte 8535 (Genau: AT90S8535)...

nabla
02.03.2006, 17:17
Wäre super, wenn mir jemand nochmal genau Hardware-mäßig erklären könnte was jetzt genau geschieht bei DDRx=0xff oder DDRx=0 und wie dann entweder etwas mit PORTx=xyz auf den Port geschrieben wird und wie mit xyz=PINx etwas vom Port gelesen werden kann... DANKE !

SprinterSB
02.03.2006, 17:42
Das Schaltbild ist nicht für den ganzen Port (8 Bits) sondern für einen einzigen Port(-Pin).

Die Dreiecke sind Treiber bzw. Schalter.

Spitze = Ausgang
Stumpfe Seite = Eingang
Seitlich Leitung = Steuerleitung:
0 --> Das Ding ist hochohmig (sperrt)
1 --> Das Ding leitet
ist also so was wie ein digitaler Schalter

Was verstehst du denn nicht. Eigentlich ist ja alles eingemalt, was man wissen muss...

nabla
02.03.2006, 19:05
Erstmal DANKE für deine Antwort, aber das war mir auch alles klar (ist ja auch trivial)...

Also ich versuch es mal, meine Frage etwas näher zu erläutern:

1. Fall DDRx = 1 (Port als Ausgang definiert)

DDCn-Flip-Flop schaltet (am Ausgang also High) --> Also über PORTCn kann man direkt auf PCn "schreiben", da der "Schalter" ja niederohmig ist.

Was macht aber in diesem Fall der MOS Pull-Up? bzw. wofür wird der hier genau benötigt? Muss er High-Potential an den PCn legen?

2. Fall DDRx=0 (Port als Eingang)

DDCn-Flip-Flop sperrt also Low am Ausgang, somit auch der "Schalter" dicht. Also kann ich mit PORTCn schreiben was ich will, es kommt nicht durch. Jetzt kann nur durch den Rot angedeuteten Pfad den Pin-Status (PINx) auslesen, richtig. Verstehe ich das dann jetzt richtig, dass der MOS unterbrochen sein muß, da ja sonst immer High-Potential anliegen würde?

Danke schonmal für Deine Hilfe!!!

SprinterSB
03.03.2006, 14:02
ad 1: Wenn DDCn=1 ist, dann sperrt das Gatter oben links, der PullUp (P) ist also immer aus, wenn ein Port OUT ist

ad 2: Wenn DDC=0 ist, wird PORTCn unter zweimaligem Invertieren zum Gate des P geleitet. Er ist also an, wenn PORTC=1 ist und aus sonst.