Forum: Mikrocontroller und Digitale Elektronik MHz = Mbps ?


von Berti (Gast)


Lesenswert?

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?

von Matthias (Gast)


Lesenswert?

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

von Kai Markus Tegtmeier (Gast)


Lesenswert?

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

von Philipp B. (philipp_burch)


Lesenswert?

@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.

von Punktrichter (Gast)


Lesenswert?

Der Kai hat schon recht!

von Tobias S. (tobias)


Lesenswert?

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

von Kai Markus Tegtmeier (Gast)


Lesenswert?

@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

von Daniel M. (usul27)


Lesenswert?

@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.

von Simon K. (simon) Benutzerseite


Lesenswert?

Ä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.

von chippy (Gast)


Lesenswert?

@ 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.

von Kai Markus Tegtmeier (Gast)


Lesenswert?

@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

von Tilo (Gast)


Lesenswert?

Aber auch nur bei binärer Übertragung, wenn ein Symbol einem Bit 
entspricht.

von Punktrichter (Gast)


Lesenswert?

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.

von Philipp B. (philipp_burch)


Lesenswert?

@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.

von Punktrichter (Gast)


Lesenswert?

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.

von Philipp B. (philipp_burch)


Lesenswert?

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.

von Punktrichter (Gast)


Lesenswert?

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.

von Philipp B. (philipp_burch)


Lesenswert?

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!

von ---- (Gast)


Lesenswert?

> 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).

von Philipp B. (philipp_burch)


Lesenswert?

---- 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.

von Simon K. (simon) Benutzerseite


Lesenswert?

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.

von Christian F. (fasti)


Lesenswert?

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

von Marco S. (masterof)


Lesenswert?

Mbps bin ich der meinung das sind marketing-angabe daher nutzloss.

von Punktrichter (Gast)


Lesenswert?

>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...

von Heiko (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.