Hi Ich habe einen Controller bei dem ich nicht gaz verstehe wie groß die maximale SPI Frequenz ist. Im Werbeprospekt steht 4MHz... im Datenblatt 8Mbps. Ist nun das Werbeding falsch oder wie soll man das verstehen?
Mbps = Megabit per Second Wenn man mit jedem Taktschritt 1Bit übertragt (wie bei SPI), ist MHz == Mbps Bei 8 parallenen Bit währe aber Mhz = Mbps/8
Wieso? Die Angabe stimmt doch: Wenn ich von einem Datenstrom "1010101010....." ausgehe, dann habe ich bei einem Datenstrom von 8 Mbps eine Bitlänge von t=125ns. Diese Bitlänge entspricht aber nur EINER Halbwelle der höchsten Frequenz, die über das Kabel geht. Die Frequenz, die ich damit über das Kabel jage, setzt sich aus 2(!) Halbwellen, nämlich "10-10-10-10..." zusammen. Damit ist die Periodendauer T=250ns und daraus errechnet sich eine Frequenz von f=1/T = 4 MHz Das ist die höchste mögliche Rechteckfrequenz, die bei einem Signal von 8Mbps vorkommen kann. Alle anderen Frequenzen (z.B. für die Bitfolge "1111000011110000" liegen tiefer... Greetz kmt
@Kai Markus Tegtmeier: Mbps sind doch eben Megabits pro Sekunde, also 1'000'000 Bits pro Sekunde, das hat doch nix damit zu tun, ob die nun 1 oder 0 sind. Und wenn bei jeder steigenden (oder fallenden) Flanke, sprich bei jeder Periode, ein Bit übertragen wird, dann macht das bei 8MHz doch 8Mbps.
Wenn ich bei SPI 4MHz lese gehe ich aber davon aus, dass das Taktsignal 4MHz hat und dementsprechend auch bei jedem Takt ein Bit in beide Richungen uebertragen wird. Vll. ist die Angabe von 8MBps also als Zusammenfassung von eingehenden und ausgehenden Daten zu verstehen. Gruss Tobias
@Philipp Burch: Dann möchte ich mal eine Gegenfrage stellen: Ich möchte über ein Kabel die Bitfolge "11111111111111....." übertragen mit meinetwegen 10 Bit pro Sekunde. Welche Frequenz muß das Kabel bei einem Signal übertragen, das dauernd 1 ist? Ich würde mal auf 0 Hz tippen. Das ist dann der "best case". Dagegen: Wenn wir von Frequenzen sprechen, müssen wir mit Schwingungsperioden rechnen. Eine Schwingungsperiode besteht immer aus 2 Halbwellen. In der einen Halbwelle ist bei Rechteckschwingungen das Signal konstant 1, in der anderen Halbwelle konstant 0. Die kleinste unteilbare Einheit in unserem Datenstrom ist das Bit. Also kann eine Halbwelle minimal 1 Bit lang sein. Das heißt, eine Schwingungsperiode T kann minimal 2 Bit lang sein. |0,1s|0,1s|0,1s|0,1s..... gesamt: 10 Bits @ 1 Sek. 0 1 0 1 0 1 0 1 0 1 | |----| |----| |----| |----| |----| Daten 10 Bit/Sekunde |----| |----| |----| |----| |----| | |<---T--->| T=0,2s Bei 10 Bit pro Sekunde habe ich eine Bitlänge von 0,1s. D.h. eine Halbwelle T/2 ist minimal 0,1s lang. Damit ist eine Schwingungsperiode T minimal 0,2s lang. Die dazugehörige Frequenz ist f = 1/T = 5 Hz. Das ist die höchste in diesem Signal vorkommende Rechteckfrequenz. Dass da laut Fourier noch höhere Frequenzen eine Rolle spielen, damit das Kabel die Rechteckschwingung sauber übertägt, steht auf einem ganz anderen Blatt... Greetz kmt
@Kai: Deine Demonstration vernachlässigt leider das Taktsignal. Und das hat auch in deinem Beispiel die doppelte Frequenz. Die Frequenz des Datensignals anzugeben macht auch keinen Sinn da diese - wie du selbst demonstriert hast - vom Datenmuster abhängig ist.
Ähm, wenn man die Geschwindigkeit von einer synchronen Schnittstelle angibt, dann meint man damit ja wohl die Takfrequenz, denn alles andere wäre einfach nur unsinnig. Wenn das Taktsignal mit 8MHz zwischen logisch 1 und logisch 0 wechselt, dann lässt sich (im Falle des SPI Busses vom AVR) auf einer Flanke pro Periode ein Bit übermitteln. Und deswegen hat ein 8MHz SPI Bus auch einen Durchsatz von 8Mbps. Die Information muss falsch, oder falsch herausgearbeitet sein. (Die Taktfrequenz kann ja zum Beispiel auch nur maximal 4MHz betragen, wenn die Clksys nur 8MHz aufweist.
@ Berti (Gast): Wieso lässt du das ding nicht einfach mal eine 010101... Folge ausgeben, dann kannst du nachmessen. Falls das ding 8 mbps ausgibt, und du 4mbps brauchst ist das ja kein problem, jedes bit einfach doppelt übertragen, falls du zwingend mehr als 4 mbps brauchst dann empfehle ich dir nach einem anderen chip zu suchen.
@Simon, Daniel: Da können wir uns völlig drauf einigen. Aber wer weiß schon, was die Marketingleute in ihrem Überschwang alles angeben. 4 MHz wäre hier natürlich nicht DIE Frequenz des Datensignals, sondern die maximal erreichbare Frequenz des Datensignals fmax. Aber ihr habt natürlich Recht; diese Frequenz anzugeben, macht nur bedingt Sinn, obwohl sich aus fmax direkt die Taktfrequenz ableiten läßt... Also entweder Dreckpfuhler oder Marketing :-) In diesem Sinne einen schönen 1. Advent! Greetz kmt
Bei einer SPI Schnittstelle ist eindeutig, dass ein Bit durch einen binären Zustand 0 oder 1 üebrtragen wird. Es gibt hier keine Phasenumtastung, QAM oder sonstige mehrwertige Datenübertragung pro Zeiteinheit. Also ist die höchste vorkommende Frequenz bei einem Datensignal 010101010. Die Agabe ist also kein Marketinggag sondern schlichtweg nur logisch.
@Punktrichter: Sie ist eben NICHT logisch. Die Datenleitung mag bei 01010101 ihre maximale Frequenz haben, aber auch wenn du nur 1-Bits überträgst, hast du mit jeder steigenden oder fallenden Flanke des TAKT-Signals ein Bit. Also hast du bei 1MHz eben 1Mbps. Dass sich die Frequenz auf die Datenleitung(en) bezieht wäre ja wohl absolut idiotisch, das ist ja extrem nichtssagend. Oder hast du einen Vorschlag, was man mit der Angabe der maximalen Frequenz einer Datenleitung anfangen sollte? Ausserdem hängt es ja von der Konstruktion der SPI ab, was die Datenleitungen überhaupt machen. Stell dir vor, der Pegel würde jeweils eine kurze Zeit vor der betreffenden Flanke eingestellt und kurz danach wieder zurückgesetzt. Dann hättest du bei lauter 1-Bits deine maximale Frequenz und die würde dann eben der Clockfrequenz entsprechen.
Es ist doch wohl von der DATENrate und nicht von der CLOCKrate die Rede? "...Dann hättest du bei lauter 1-Bits deine maximale Frequenz..." Was soll denn das für ein Argument sein. Du kannst auch eine 10 fach so hohe Frequenz an den Pin anlegen, aber die Baudrate kriegst Du trotzdem nicht höher. Es ist schlichtweg die Definition (und auch logisch, ich wiederhole mich), dass bei reiner binärer Wertigkeit die Baudrate maximal so hoch sein kann, wie die halbe Frequenz.
Dummerweise hast du bei SPI aber keine Baudrate, da dort mithilfe des Clock-Signals übertragen wird und nicht anhand der Pegelwechsel auf der Datenleitung. Und bei SPI ist die DATENrate gleich der CLOCKrate/CLOCKfrequenz.
Die "Clockrate" ist aber nun mal nicht die "Datenrate". Die Clockfrequenz hat mit der Baudrate (welche sich sinnvollerweise auf die Daten bezieht) prinzipiell nichts zu tun. Du kannst auch definieren, das 10 Clockwechsel ein Datenbit repräsentieren. Es geht doch um die Baudrate oder ???? Die SPI-Angabe bezieht sich auf die Nutzdaten, alles andere macht doch keinen Sinn. Ich kann es nicht ändern.
Bei SPI (Es geht doch um SPI, nicht wahr) entspricht die Clockfrequenz eben sehr wohl der Datenrate. Ich denke aber, wir stimmen überein, dass die Angabe einer Frequenz für eine Übertragungsgeschwindigkeit eh sinnlos ist. Wie du selber sagst, können mehrere Zyklen für eine Dateneinheit (Üblicherweise ein Bit oder ein Byte) verwendet werden, oder man überträgt mehr als eine Einheit pro Zyklus. Dann stimmen Clockfrequenz und Datenrate in bps nicht überein. Sobald wir aber von SPI reden, dann ist definiert, dass mit einem MHz Clockfrequenz ein Mb übertragen werden kann. Aber einigen wir uns darauf die Diskussion ruhen zu lassen? Wahrscheinlich reden wir eh nur aneinander vorbei. Oder was meinen die anderen? Allen einen schönen 1. Advent!
> Die "Clockrate" ist aber nun mal nicht die "Datenrate". richtig. > Die Clockfrequenz hat mit der Baudrate (welche sich sinnvollerweise auf > die Daten bezieht) prinzipiell nichts zu tun. richtig. > Du kannst auch definieren, > das 10 Clockwechsel ein Datenbit repräsentieren. richtig. > Es geht doch um die Baudrate oder ???? richtig. > Die SPI-Angabe bezieht sich auf die Nutzdaten, alles andere macht doch > keinen Sinn. Von mir aus auch auf die NutzdatenRATE, aber nicht auf die maximale Frequenz, mit der ein Rechtecksignal übertragen werden kann. Und da die Nutzdatenrate und die Clockdatenrate bei SPI identisch sind, gilt: Mit einem 8MHz Clocksignal/SPI-Taktsignal kann die Datenleitung 8Mio. Datenbits pro Sekunde übertragen, was etwa 8Mbps entspricht. Ob du da jetzt ein 4Mhz Rechteck (mehr geht nicht, wie wir uns alle einig sind) überträgst, ist für die (Nutz)Datenrate egal! Ich glaube auch, dass die im Datenblatt Rx und Tx addiert haben. ----, (QuadDash).
---- wrote: >> Die "Clockrate" ist aber nun mal nicht die "Datenrate". > richtig. s.u. >> Die Clockfrequenz hat mit der Baudrate (welche sich sinnvollerweise auf >> die Daten bezieht) prinzipiell nichts zu tun. > richtig. s.u. >> Du kannst auch definieren, >> das 10 Clockwechsel ein Datenbit repräsentieren. > richtig. Genau das ist der Punkt: Ich bin mit euch vollständig einverstanden, wenn wir allgemein von Datenübertragungen sprechen. Sobald es aber um SPI geht, entspricht die Clockfrequenz der Datenrate und ein Clockwechsel ist ein Datenbit. >> Es geht doch um die Baudrate oder ???? > richtig. > >> Die SPI-Angabe bezieht sich auf die Nutzdaten, alles andere macht doch >> keinen Sinn. > Von mir aus auch auf die NutzdatenRATE, aber nicht auf die maximale > Frequenz, mit der ein Rechtecksignal übertragen werden kann. > Und da die Nutzdatenrate und die Clockdatenrate bei SPI identisch sind, > gilt: Mit einem 8MHz Clocksignal/SPI-Taktsignal kann die Datenleitung > 8Mio. Datenbits pro Sekunde übertragen, was etwa 8Mbps entspricht. Ob du > da jetzt ein 4Mhz Rechteck (mehr geht nicht, wie wir uns alle einig > sind) überträgst, ist für die (Nutz)Datenrate egal! > > Ich glaube auch, dass die im Datenblatt Rx und Tx addiert haben. Da stimme ich mit dir/euch überein.
Ich denke, der springende Punkt ist folgender: >Da können wir uns völlig drauf einigen. Aber wer weiß schon, >was die Marketingleute in ihrem Überschwang alles angeben. >4 MHz wäre hier natürlich nicht DIE Frequenz des Datensignals, >sondern die maximal erreichbare Frequenz des Datensignals fmax. >Aber ihr habt natürlich Recht; diese Frequenz anzugeben, macht nur >bedingt Sinn, obwohl sich aus fmax direkt die Taktfrequenz ableiten >läßt... >Also entweder Dreckpfuhler oder Marketing :-) >In diesem Sinne einen schönen 1. Advent! >Greetz >kmt Wenn man "seriös" die Bandbreite einer SPI Schnittstelle angibt, bezieht man sich auf die Frequenz der Clock, denn nur dies ist sinnig. Wenn man zum Beispiel bei Atmel schaut, dann sieht man das ja auch. Wenn sich irgendwelche Marketing Leute irgndwas ausdenken, was das ganze "schneller" aussehen lässt, dann schreiben sie es auch.
Hi! SPI hat doch bitte zwei Datenleitungen SDI und SDO, somit wird pro Taktperiode 2 Bit übertragen eines vom Master zum Slave und GLEICHZEITIG eines vom Slave zum Master, somit werden bei einer Taktfrequenz von 4 MHz des Clocksignals 8Mbps übertragen. Wenn man die Datenrate nur in eine Richtung betrachtet stimmt natürlich 4Mbps aber SPI ist als Rinpuffer aufgebaute und da gibts im Normalfall immer 2 Datenrichtungen. ciao Fasti
>SPI hat doch bitte zwei Datenleitungen SDI und SDO, somit wird pro >Taktperiode 2 Bit übertragen eines vom Master zum Slave und GLEICHZEITIG >eines vom Slave zum Master, somit werden bei einer Taktfrequenz von 4 >MHz des Clocksignals 8Mbps übertragen. Wenn man die Datenrate nur in >eine Richtung betrachtet stimmt natürlich 4Mbps aber SPI ist als >Rinpuffer aufgebaute und da gibts im Normalfall immer 2 Datenrichtungen. eigentlich war für mich das Thema tot, aber da muss ich doch noch hinzufügen: Da CLK min. die doppelte Taktrate wie jeweils SDI und SDO hat, ist nun eigentlich nicht 2-fach sonder min. 4-fach. Und da es drei Datenleitungen sind, musst Du nochmal 3 Bit dazuzählen, da diese ja an und abklemmbar sind. Vielleicht sogar 6, da es ja an beiden Enden befestigt ist. Aber egal. Wenn das Controllerdatenblatt für SPI eine max. Baudrate von 4MBaud angibt, dann ist das wohl schlichtweg Schwachsinn. Diese blöden Marketingfritzen vor dem datasheet-desktop-publishing-programm! Eigentlich meinen die damit (4Mbaud x 4) + 3 (oder auch 6). Also Berti, glaube den Leuten im Forum und nicht dem Datenblatt. Das ist nur Wichtigtuerei der Hersteller...
Zitat: Oder hast du einen Vorschlag, was man mit der Angabe der maximalen Frequenz einer Datenleitung anfangen sollte? Abschirmung planen oder Einstreuungen in andere Schaltungsteile finden :) Bei SPI allerdings kann die Datenleitung theoretisch beliebig schwingen, solange sie zur richtigen Taktflanke auf einem definierten Pegel ist... MfG, Heiko
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.