Forum: Mikrocontroller und Digitale Elektronik Warum ist das so?


von thomas (Gast)


Lesenswert?

Hallo,

folgende Situation:
Ich habe für meine Hauptplatine schnell eine "Slave-Platine" gemacht. 
Alles soweit ok nur habe ich (wie ich jetzt festgestellt habe) am /RST 
einen Pull-Up vergessen nach 3.3V (LPC2101 MCU).

Ich wollte das Slave Bord dann per SPI an den Master hängen. Der Slave 
(also hier der LPC2101) hat auch schön alles empfangen, Ports High/Low 
geschaltet (also wirklich auf 3.3V/0V). Hat ordentlich gearbeitet. Nur 
habe ich keine Daten von Slave zurückbekommen. ich habe immer 0x00 als 
Antwort gelesen. Also gut, Oscar rausgepackt und gemerkt auf der MISO 
Leitung tut sich was, aber Low-Pegel ist 0V, "High"-Pegel lag bei 500mV. 
Ansonsten schienen die "Daten" Ok zu sein die da drüber wandern.

Dann irgendwann festgestellt, wenn Debugger angeschlossen, dann 
High-Pegel auf MISO 3.3V .. dann alles angeschaut und gemerkt das ein 
Pull-Up fehlt. Ok, jetzt dran gelötet und es läuft.

Jetzt stelle ich mir aber die Frage, warum arbeitet die MCU scheinbar 
ohne Probleme, JTAG klappt, PIN schalten auf High-Pegel klappt auch auf 
3.3V (gemessen). Nur auf der MISO Leitung kommen keine ordentlichen 
Pegel hin? Und das nur wegen dem Pull-Up an /RST?
Für mich sehr merkwürdig ..

Grüße

von Thomas M. (thomas1123) Benutzerseite


Lesenswert?

ich bin mir nicht sicher weil ich aus der pic ecke komme und dort gibt 
es "ausgänge" welche intern als open collector verschaltet sind.
das heisst das die ausgänge vom µc nur auf low gezogen werden können 
aber keinen highpegel treiben können und für high einen pullup 
wiederstand benötigen

um jetzt darauf zu kommen warum das mit dem programmieradapter 
funktioniert währe das der pin in einen anderen "modus" geschaltet wird 
und dann intern als push pull arbeitet und somit einen highpegel treiben 
kann
oder ist vieleicht der programmieradapter an diesen pin angeschlossen 
und besitzt für diesen einen pullup

wie gesagt alles rein spekulativ aber mit dem stichwort open collector 
bin ich mir ziemlich sicher.

mfg und ein frohes fest
Thomas1123

von Andreas K. (a-k)


Lesenswert?

Programm wäre hilfreich.
An PINSEL gedacht?

von thomas (Gast)


Lesenswert?

Hi,

wie gesagt, jetzt läuft alles einwandfrei. PINSEL habe ich gedacht. Ich 
habe ja zum Spaß an den Pin, an dem normalerweise SPI0 MISO ist, ne LED 
dran gemacht, den als GPIO Ausgang konfiguriert und dann auf High 
gesetzt. Da liegt der wunderbar bei 3.3V. Nur eben bei SPI nicht, da 
sind nur 500mV drin.. mich würde nur der Zusammenhang zum /RST 
interessieren..

Grüße

von Marco S. (masterof)


Lesenswert?

mit was hast du die 500mV?
Multimeter oder Osziloscope?

von André W. (sefiroth)


Lesenswert?

Hi,

beim nächsten Mal bitte den Betreff des Beitrags sinnvoller wählen. 
"Warum ist das so?" wird niemandem später helfen den Beitrag zu finden, 
wenn er mal eine ähnliche Frage hat... "PIC: Pull-Up an Reset 
beeinflusst MISO?" wäre z.B. besser, weil dann der Beitrag bei suchen 
nach PIC, Reset oder MISO mit angezeigt würde.

Frohe Weihanchten!

von thomas (Gast)


Lesenswert?

Ok, sorry für den blöden Betreff.. Ändern geht jetzt wohl nicht mehr.

Gemessen habe ich die mit nem Oscilloskop (Takt rund 1Mhz)

von thomas (Gast)


Lesenswert?

Also SPI Takt rund 1MHz

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.