Forum: Mikrocontroller und Digitale Elektronik unterschiedliche SPI-Speeds


von Buntfalke (Gast)


Lesenswert?

Hi, ich kann an meinem Slave und meinem SPI-Master die Clockspeed 
einstellen.

Was passiert, wenn ich die Clockspeed beim Slave größer mache als beim 
Master? Gibt das Probleme? Eigentlich duerfte es keine Probleme geben, 
weil doch Clock vom Master vorgegeben wird, und wenn der Master halt 
langsamer ist, ist das dann egal?

von Cyblord -. (cyblord)


Lesenswert?

Buntfalke schrieb:
> Hi, ich kann an meinem Slave und meinem SPI-Master die Clockspeed
> einstellen.
>
> Was passiert, wenn ich die Clockspeed beim Slave größer mache als beim
> Master? Gibt das Probleme? Eigentlich duerfte es keine Probleme geben,
> weil doch Clock vom Master vorgegeben wird, und wenn der Master halt
> langsamer ist, ist das dann egal?

Wie du erkannt hast: Die Clock kommt vom Master, somit kann man bei 
einem Slave keinen Clock-Speed einstellen. Was soll der bewirken?

von Buntfalke (Gast)


Lesenswert?

Ich kann bei mir im Slave die Clockfrequenz auch einstellen, es gibt die 
Funktion:

SpiSlave myslave;

myslave.frequency( WERT );

Also kann ich da die Geschwindigkeit auch beim Slave einstellen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Buntfalke schrieb:
> Also kann ich da die Geschwindigkeit auch beim Slave einstellen.
"Können" != "Müssen"...

Du könntest aber einfach mal sagen, WELCHEN Slave du da hast. Evtl. 
musst du da einen Oversampling-Faktor angeben, damit der IO-Pin /oft 
genug/ abgetastet wird.

von Jim M. (turboj)


Lesenswert?

Buntfalke schrieb:
> SpiSlave myslave;
>
> myslave.frequency( WERT );
>
> Also kann ich da die Geschwindigkeit auch beim Slave einstellen.

Klar kannste das, aber es ändert IMO nix. Der Master bestimmt bei SPI 
die Geschwindigkeit, denn er steuert das CLK Signal.

von Christian K. (the_kirsch)


Lesenswert?

Vielleicht können wir dir mehr helfen wenn du uns verrätst, welche 
Plattform und welche Library du verwendest.

von Oldi (Gast)


Lesenswert?

Lothar Miller schrieb:
> Du könntest aber einfach mal sagen, WELCHEN Slave du da hast. Evtl.
> musst du da einen Oversampling-Faktor angeben, damit der IO-Pin /oft
> genug/ abgetastet wird.

Was ist denn der Oversamplingfaktor?

von Christian K. (the_kirsch)


Lesenswert?

Wenn man einen SPI-Slave rein in Software baut, also keine 
Hardware-Funktionen das Controllers (also Interrupts)verwendet, muss man 
den CLK-Pin regelmäßig abfragen ob sich der Wert geändert hat.

Die Abfragerate muss dann aber ein vielfaches höher sein als die 
maximale Frequenz die der Master vorgibt, das nennt man Oversampling.

http://de.wikipedia.org/wiki/%C3%9Cberabtastung


Aber sag uns doch einfach aus welcher Library deine SpiSlave-Klasse 
stammt.

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.