Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage zu Begrifflichkeiten


von Sascha (Gast)


Lesenswert?

Hallo,

ich bin mir bei den Begriffen aus der MC-Welt noch nicht so ganz sicher, 
ob ich aller richtig verstanden habe. Wir arbeiten im Studium mit einem 
MC8051, die Fragen sind aber eher allgemeiner Natur. Ich geb mir meine 
Antworte teilweise mal gleich selber, vielleicht kann mir jemand sagen, 
ob ich es richtig verstanden habe ;)

Quarztakt/Zyklen
-----------------

Der 8051 arbeitet mit einem Quarztakt von 11.0592 MHz und hat pro 
Quarztakt 12 Zyklen, dh 11059200/12 = 921600 Zyklen pro Sekunde

Was mir noch nicht so ganz klar ist, ist der Begriff Zyklus. Ist ein 
Zyklis die Pegeländerung von Low auf High oder ist ein Zyklus von 
low->high->low

BAUD/BAUD-Rate
----------------

Mir ist noch nicht ganz klar, was in diesem Zusammenhang mit Symbol 
gemeint ist:
1 Baud ist die Geschwindigkeit, wenn 1 Symbol pro Sekunde übertragen 
wird

Soweit ich verstanden habe, kann ein Symbol aus x Bits bestehen. Aber wo 
ist festgelegt, wie viele Bits das sind?

Ein einfaches Beispiel wäre ja die Übertragung von ASCII-Codes (7 Bit) 
mit einem Prüfbit (Odd Parity) sind dann diese 7 bit oder 8 bit das 
Symbol?

In unserem Beispiel haben wir über Timer1 eine Baudrate von 1200Bd 
generiert. Da ist mir auch noch nicht ganz klar, welche Bedeutung der 
Timer für die Serielle Schnittstelle hat. wird beim Timerüberlauf 
automatisch der Interrupt für die Schnittstelle ausgelöst? Oder gibt 
diese der Schnittstelle einen Takt vor, wann er ein anliegendes Signal 
in den nächsten Buffer-Platz legen soll

Fragen über Fragen ;)

Vielen Dank erstmal.

von Karl-heinz S. (cletus)


Lesenswert?

Sascha wrote:

> BAUD/BAUD-Rate
> ----------------
>
> Mir ist noch nicht ganz klar, was in diesem Zusammenhang mit Symbol
> gemeint ist:
> 1 Baud ist die Geschwindigkeit, wenn 1 Symbol pro Sekunde übertragen
> wird
>
> Soweit ich verstanden habe, kann ein Symbol aus x Bits bestehen. Aber wo
> ist festgelegt, wie viele Bits das sind?

Im Protokoll.

Schau mal in der Wikipedia nach RS-232, da wird beschrieben, dass es 
zwei Pegel gibt. Der eine steht für 1, der andere für 0.

Bei GBit-Ethernet ist das anders. Aber das steht immer im jeweiligen 
Standard.


> Ein einfaches Beispiel wäre ja die Übertragung von ASCII-Codes (7 Bit)
> mit einem Prüfbit (Odd Parity) sind dann diese 7 bit oder 8 bit das
> Symbol?

Symbol != Buchstabe.

Ein Symbol ist die kleinste Information:

Beim RS-232 ist also ein Symbol ein Bit.

Zusätzlich zur Parity kommen noch Start- und Stopbit hinzu. Oft brauchst 
du also 11 Bit pro Charakter, den du übertragen willst.

Beim GBit können mehrere Bit pro Symbol übertragen werden, siehe WP.

von Sascha (Gast)


Lesenswert?

Ok, also kommt es auf die schnittstelle bzw das jeweilige Protokoll an, 
aus wie vielen wie Bits (High-Pegel) ein Symbol besteht. Bei der RS-232 
also 1 Bit / Signal, d.h. mit Start- und Stoppbit brauche ich 11 Symbole 
um einen ASCII-Zeichen / s übertragen zu können. Bei 1200Bd wären das 
also 1200/11 = 109 Zeichen / s

Und der Timer? Gibt der an, in welchen Zyklen nach wie viel Zyklen das 
nächste BIT gelesen wird?

Achja, und da war noch die Frage nach dem Zyklus ;)

Danke!!

von Karl-heinz S. (cletus)


Lesenswert?

Bei dem "Zyklus" bin ich mir nicht sicher.

Aber da schau doch einfach mal genau ins Datenblatt deines Prozessors. 
Oft steht da, für welche Maschinenbefehle wieviele Zyklen benutzt 
werden.

von Karl-heinz S. (cletus)


Lesenswert?

Sascha wrote:

> Und der Timer? Gibt der an, in welchen Zyklen nach wie viel Zyklen das
> nächste BIT gelesen wird?

Bei den UARTS wird oft sogar mit einem Vielfachen der Geschwindigkeit 
gemessen.

Z.B. pro Bit dreimal abgetastet. Wenn wenigstens zweimal eine 1 gemeldet 
wird, wirds wohl eine gewesen sein.

Bei RS-232 sind Sende und Empfänger ja nicht synchron.

Bei Synchronen Protokollen reicht auch einmal messen.

von Sascha (Gast)


Lesenswert?

ok, also prinzipiell ist es schon so, dass pro "Timer-Überlauf" 1 Bit 
gelesen wird

von Karl-heinz S. (cletus)


Lesenswert?

Die Mikroprozessoren haben UARTS als Peripherie; wie die genau intern 
arbeiten, weiß ich nicht.

Aber um die Timer brauch man sich ja auch nicht zu kümmern. Man stellt 
die Einstellung richtig ein und gut ist.

Ab dann bekommt man fertige Chars raus.

von Ralf (Gast)


Angehängte Dateien:

Lesenswert?

Zyklus:

1 Befehlszyklus = 12 Oszillator- oder Maschinen-Zyklen

Ein Zyklus ist eine sich wiederholende Abfolge, d.h. in diesem Fall von 
dem Moment an, ab der das Signal low wird bis es wieder low wird:

LLHHLLHHLL
    ^   ^

Du kannst auch sagen, dass es die Periodendauer einer Frequenz ist, also 
so, wie man es in der Schule gelernt hat :)

Mittlerweile gibt es natürlich neue Technologien, so dass die 
12er-Teilung bei neueren 8051-Derivaten nicht mehr gegeben ist, sondern 
eine 6er, 4er und bisweilen sogar eine 1er-Teilung möglich ist!

Der Timer gibt den Takt für den UART vor, wobei der Takt normalerweise 
das 16-fache der Baudrate ist.
Wie weiter oben bereits gesagt wurde, wird eine 2-aus-3 Auswertung 
vorgenommen, um Störeinflüsse zu ver(h/m)indern.

Somit stimmt es also nicht, dass pro Timer-Überlauf 1 Bit gelesen wird!

Guck mal in den Anhang, da steht alles beschrieben, auch die Zyklen 
usw., und wenn noch Fragen sind, kannst ja nochmal schreiben.

Ralf

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


Lesenswert?

> Wir arbeiten im Studium mit einem MC8051...
Und das Skript wird auf Steintafeln gemeißelt... ;-)

> Was mir noch nicht so ganz klar ist, ist der Begriff Zyklus.
Ein Zyklus ist ein kompletter, nicht unterbrechbarer Durchlauf der 
internen Statemachine. Bestehend aus Befehl holen, Befehl 
interpretieren, Befehl ausführen, Ergebnis ablegen. Damit kann ein 
"Elementarbefehl" (z.B. Akku löschen) ausgeführt werden. Wenn aber 
Operanden aus bestimmten Speicherbereichen (z.B. RAM) benötigt werden, 
sind zusätzliche Zyklen nötig.

von Sascha (Gast)


Lesenswert?

Ok, dann danke ich erstmal soweit und danke für die Datei, werd mir das 
auf jeden Fall mal durchlesen !

[quote]Und das Skript wird auf Steintafeln gemeißelt... ;-)[/quote]
Nein, das Skript ist an und für sich auch ganz gut, aber das stand halt 
nicht drin.
Manchmal ist es so, dass die Profs Dinge stillschweigend voraussetzen 
oder nur in der Vorlesung kurz erwähnen. Leider habe ich aus 
gesundheitlichen Gründen aber die ersten beiden Vorlesungen zu dem Thema 
verpasst und stieß im Rahmen der Prüfungsvorbereitung wieder darauf. 
Vielleicht ist es für die Prüfung auch eher nicht wirklich wichtig, weil 
man im Prinzip wirklich nur den Timer einstellen muss und die Baud-Rate 
im Falle einer entsprechenden Aufgabe gegeben hat.Aber ich versuche 
lieber die Dinge auch halbwegs zu verstehen ;)

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.