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.