Forum: Mikrocontroller und Digitale Elektronik SPI / Master mit 13 MHz und slave mit 8MHz


von Fred (Gast)


Lesenswert?

Hallo zusammen,

wie sicher ist es einen SPI Master mit einem 13MHz externen Quarz zu 
takten und den SPI Slave mit dem internen Oszillator von 8MHz?

Kann es da zu Problemen bei der Datenübertragung kommen?


Gruß

von Benedikt K. (benedikt)


Lesenswert?

Fred wrote:

> wie sicher ist es einen SPI Master mit einem 13MHz externen Quarz zu
> takten und den SPI Slave mit dem internen Oszillator von 8MHz?

Ich gehe jetzt mal davon aus, der Master verwendet 13MHz/2 also 7,5MHz 
SPI Takt:
Sehr unsicher, bzw. es geht garnichts

> Kann es da zu Problemen bei der Datenübertragung kommen?

Sehr warscheinlich, bzw. es geht garnicht

von Andreas K. (a-k)


Lesenswert?

Sachte. Wenn mit den 13MHz und 8MHz die Takte der jeweiligen Controller 
oder Periphiebausteine gemeint sind: die sind unwichtig.

Entscheidend ist nur der SPI-Takt. Und da muss der Slave den vom Master 
erzeugten Takt verdauen können, d.h. darf nicht zu schnell konfiguriert 
sein. Synchron zu irgendeinem CPU-Takt muss er nicht sein.

von Fred (Gast)


Lesenswert?

Ok, also die Einstellung beim Master ist f_osc/16 => 13,824MHz / 16 = 
864KHz.

Das dürfte der Controller mit 8MHz internem Osz. doch eigentlich ohne 
Probleme schaffen. Nur hab ich öfter gehört, dass der interne Osz. nicht 
so genau ist.

Aber das dürfte beim SPI doch nicht so tragisch sein, eher beim UART 
oder?

von Benedikt K. (benedikt)


Lesenswert?

Fred wrote:
> Ok, also die Einstellung beim Master ist f_osc/16 => 13,824MHz / 16 =
> 864KHz.

Sag das doch gleich !

> Das dürfte der Controller mit 8MHz internem Osz. doch eigentlich ohne
> Probleme schaffen.

Ja. Der SPI Takt beim Slave muss nur kleiner als fcpu/4 sein, was es ja 
auch ist.

> Nur hab ich öfter gehört, dass der interne Osz. nicht so genau ist.
> Aber das dürfte beim SPI doch nicht so tragisch sein, eher beim UART
> oder?

So ist es. Denn SPI ist (im Gegensatz zum UART) eine synchrone 
Schnittstelle, die ihren Takt mitliefert.

von Andreas K. (a-k)


Lesenswert?

Es ist völlig egal wie genau der Oszillator ist. Entscheindend ist, was 
das Handbuch zu den 8MHz-Teil sagt. Wenn der in diesem Fall einen 
SPI-Takt von Clock/8 als Slave verdauen kann, langt das.

Es gibt natürlich Einzelfälle, wie beispielsweise irgendwelche 
Chipversionen vom ENC28J60, wo fehlerbedingt Taktabhängigkeiten 
bestehen. Aber das ist die Ausnahme.

von Fred (Gast)


Lesenswert?

Danke für die Hilfe!

Wie sieht es eigentlich grundsätzlich mit der Übertragung per SPI 
zwischen zwei unterschiedlichen Controllern aus, z.B. AVR zu PIC? Kann 
man das machen oder ist das nicht so zu empfehlen?

von Falk B. (falk)


Lesenswert?

@ Fred (Gast)

>Wie sieht es eigentlich grundsätzlich mit der Übertragung per SPI
>zwischen zwei unterschiedlichen Controllern aus, z.B. AVR zu PIC? Kann
>man das machen oder ist das nicht so zu empfehlen?

Das kann man IMMER machen, wenn die maximale SPI-Frequenz der Bausteine 
nicht überschritten wird. Einfache ICs, Schieberegister etc. haben eine 
feste obere Frequenz. Bei uCs ist es meist abhängig vom Quarztakt, typ. 
1/4 f_Quarz. Die genauen Frequenzen speilen keine Rolle, weil SPI 
synchron arbeitet.

MFG
Falk

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.