Forum: Mikrocontroller und Digitale Elektronik SPI und ISP an einem Strang (Widerstände?)


von Hermann Mikroc (Gast)


Angehängte Dateien:

Lesenswert?

http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf

Seite 7:


Hier wird empfhohlen, Widerstände an den SPI-Bus zu hängen. Leider geht 
aus der AppNote nicht heraus, wie hoch der Widerstand sein soll. Welche 
Widerstände sind unbedenklich, vorallem in Bezug auf Flankensteilheit, 
wenn ich den SPI Bus mit bis zu 10MHz(F_CPU/2 (SPI_2X)) nutzen möchte.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Hermann Mikroc schrieb:

> Hier wird empfhohlen, Widerstände an den SPI-Bus zu hängen.

Wobei das nicht unbedingt notwendig ist.

Wenn du einen “well behaving” SPI slave hast, der sein MISO erst
dann aktiviert, wenn auch sein /SEL auf low gezogen wird, und du
für seine /SEL-Leitung in der Hardware einen Pullup vorsiehst(*),
dann kannst du beide zusammen dranklemmen.  Der Slave sieht dann
zwar auf dem Bus irgendein „Bitgewackel“, aber solange er nicht
selektiert ist, geht ihn das nichts an.

(*) Pullup in Software genügt natürlich nicht, da ja während der
Programmierung der Controller im Reset ist und daher ein solcher
Pullup nicht aktiv wäre.

Allerdings sollte der Slave den Programmer nicht zu sehr
(kapazitiv) belasten.  Hatte schon mal einen Fall, bei dem es
nur noch ein AVRISPmkII geschafft hat, die ISP-Schnittstelle dann
wirklich zu treiben, andere Programmer nicht mehr.

> Leider geht
> aus der AppNote nicht heraus, wie hoch der Widerstand sein soll.

Groß genug, dass der Querstrom akzeptabel bleibt.

Klein genug, nicht zu starke Verzögerungen reinzubringen.

> Welche
> Widerstände sind unbedenklich, vorallem in Bezug auf Flankensteilheit,
> wenn ich den SPI Bus mit bis zu 10MHz(F_CPU/2 (SPI_2X)) nutzen möchte.

Ein paar Zeitkonstanten wirst du dir ja selbst ausrechnen können.
Ich würde mit 20 pF als parasitären Kapazitäten für Platine und
Pins des Slaves in die Rechnung gehen.

von Hermann Mikroc (Gast)


Lesenswert?

Hallo Jörg, dann schon einmal für die Info. Das mit dem PullUp für CS/SS 
ist ganz sinnvoll, auch wenn ich es bislang noch nicht vorgesehen hab. 
Wir mit eingeplant ;)

Als ISP nutze ich sowieso nur den Atmel AVRISP mkII, evtl. später einmal 
den ICE als Nachfolger und wegen Debugging (nur auf der Wunschliste fürs 
Hobby).

Die ISP Schnittstelle ist auf kürzestens Wege immer mit dem AVR 
verbunden. < 1-2cm. Die SPI Devices hängen hingegen meist mindestens 
10cm entfernt und werden auf beiden Seiten über Wannenstecker verbunden. 
Sollte dann vermutlich der Übergangswiderstand bereits mehr als 
ausreichen.

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.