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ß
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
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.
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?
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.
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.
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?
@ 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.