Forum: Mikrocontroller und Digitale Elektronik SPI Interface?


von Andreas Auer (Gast)


Lesenswert?

Hi

Ich hab nen AVR Mikrocontroller. Ich will jetzt an den SPI Bus ein
Device (Transceiver) anschließen (was ja eigentlich kein Problem ist).
Ich muss den Chip aber weiterhin über SPI programmieren können.
Das Problem ist nun... der AVR ist ja im Programmiermodus ein Slave
Device am SPI Bus (MISO ist ein Ausgang). Der Chip, den ich an den SPI
Bus anhänge, ist im Betrieb aber auch ein Slave -> in diesem Fall ist
der MISO Pin am AVR ein Eingang.

Was muss ich tun um eine gute Schaltung bezüglich des SPI Bus zu
machen. Das Problem stellt der MISO Pin dar. Wenn der PC den PIN auf
Low zieht, dann soll der Transceiver nicht darunter leiden (falls
dieser zufällig seinen MISO Pin auf high liegen hat).
Reicht es zwischen AVR und Transceiver einen Widerstand
hineinzuschalten?

mfg
Andreas

von Stefan Kleinwort (Gast)


Lesenswert?

Die meisten SPI-Devices haben einen Chip-Select. Wenn dieser inaktiv
ist, ist der Datenausgang (also Slave-Out, angeschlossen am mc an MISO)
hochohmig. Sicherzustellen ist also eigendlich nur, dass die
Chip-Selects der SPI-Devices während der Resetphase auf inaktiv
terminiert werden (i.d.R. durch Pullups). Vor allem, wenn mehrere
SPI-Devices im Design vorhanden sind, sollte das beachtet werden.

Zur Sicherheit können Serien-R in den Programmierleitungen aber nicht
schaden. Wenn diese im Programmierkabel eingebaut werden, sind keine
Zusatzbauteile im Layout notwendig.

Stefan

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.