Welchen Unterschied macht die Uhr bei synchroner und asynchroner Kommunikation?

Ich bin neu in der eingebetteten Programmierung und habe sehr wenig Wissen darüber, wie digitale/elektronische Systeme funktionieren, aber mir wurde die Aufgabe übertragen, die USART-Kommunikation zwischen zwei Chips herzustellen. Dafür habe ich angefangen, von den Grundlagen der seriellen Kommunikation usw. zu lernen. Was ich beim seriellen Protokoll nicht verstehe, ist, was der Unterschied zwischen synchroner und asynchroner Kommunikation ist? Nehmen wir an, ich habe zwei Geräte d1 und d2. Beide kennen ihre Baudraten. d1 sendet Daten mit einer Baudrate von 9600 und d2 empfängt Daten mit der gleichen Rate. Dann ist meine Frage, welche Rolle die Uhr bei der synchronen Kommunikation spielt. Mittels Baudrate haben wir glaube ich alle Informationen des Kommunikationskanals. Mit dieser Verwirrung kann ich den genauen Unterschied zwischen synchroner und synchroner Kommunikation nicht klar verstehen.

Antworten (3)

Wenn bei der asynchronen Datenübertragung keine Nutzdaten zu senden sind, wird die Datenleitung frei und der Empfänger wartet daher auf einen Übergang, der den Beginn neuer eingehender Daten markiert. Insofern gibt es keine eindeutige Phasenbeziehung zwischen zuvor empfangenen Daten und den neu eintreffenden Daten.

Deshalb heißt es "asynchron"

Geben Sie hier die Bildbeschreibung ein

Bei synchronen Daten ist entweder ein Takt als separates Signal permanent vorhanden oder der Takt wird in die Daten eingebettet (per Manchester-Encoding oder Scrambling), sodass der Empfänger immer weiß, wann echte Nutzdaten vorhanden sein könnten. Wenn keine Nutzlastdaten vorhanden sind, ist die Uhr immer noch vorhanden. Manchester-codierte Daten: -

Geben Sie hier die Bildbeschreibung ein

Welche Rolle spielt die Uhr bei der synchronen Kommunikation?

Unabhängig davon, ob Sie die Uhr aus den Daten extrahieren (oder eine dedizierte Uhrleitung haben), benötigen Sie eine Uhr; das ist grundlegend für jede Datenübertragung. Die asynchrone Übertragung erstellt intern eine Uhr basierend auf der vereinbarten Baudrate und dem ersten Datenübergang nach einer Leerlaufzeit. Ab diesem Zeitpunkt bis zum Ende des Datenblocks generiert er intern einen Takt für die gesamte Übertragung.

Die Uhr spielt also sowohl in der asynchronen als auch in der synchronen Datenkommunikation eine entscheidende Rolle.

mit baud-rate haben wir glaube ich alle informationen des kommunikationskanals

Nicht ganz - die Baudrate an beiden Enden zu kennen ist nützlich, sagt Ihnen aber nicht, wann Bits tatsächlich den Zustand in den Daten ändern - diese "Synchronisierung" mit den Daten wird durch die Idle-to-Start-Bitübertragung in asynchronen Daten durchgeführt und ist allgegenwärtig in der synchronen Datenkommunikation.

Gibt es irgendwelche Vorteile des einen oder anderen in Bezug auf die Übertragungsgeschwindigkeit?
Die Manchester-Codierung (und manchmal die Verschlüsselung) leidet immer unter einem zusätzlichen Overhead, der die Bitrate der Nutzlast reduziert.

Im synchronen Modus wird die Uhr zwischen den 2 Geräten geteilt. Beispiel SPI --> Bei jedem Taktzyklus tastet der Slave die vom Master gesendeten Daten ab.

Im asynchronen Modus; Es gibt keine gemeinsame Taktung und die 2 Geräte müssen mit der gleichen Frequenz arbeiten. Die asynchrone Herausforderung besteht darin, sicherzustellen, dass beide Geräte auf der gleichen Frequenz sind (unabhängig von Spannung, Temperatur, Drift ...).

In General Digital Systems benötigen wir für die serielle Kommunikation zwischen zwei oder mehr Geräten eine Referenz, nämlich Clock. Basierend auf der Clock-Referenz gibt es zwei Modi der seriellen Kommunikation.

Synchrone serielle Kommunikation

Siehe Bild: Die Uhr ist separat und die Daten sind separat und es fehlen Start- und Stoppbits

Bei der synchronen Kommunikation sollten die kommunizierenden Geräte mindestens zwei Leitungen benötigen, um die Daten zu senden. Eine Zeile für Uhr ist die Referenz und eine andere Zeile sind die zu sendenden Daten. Grundsätzlich wird der Takt von jedem System- oder On-Chip-Takt gegeben. Seine Frequenz basiert auf der Baudrate.

Siehe Bild: Die Uhr ist separat und die Daten sind separat und es fehlen Start- und Stoppbits

Asynchrone serielle Kommunikation

Siehe Bild: Uhr fehlt, aber Start, Stopp und andere unterstützende Bits sind vorhanden

Bei der asynchronen seriellen Kommunikation mit einer einzigen Leitung können Daten zwischen den Geräten übertragen werden. Hier ist keine gesonderte Taktleitung erforderlich, dies wird durch einige Start- und Stoppbits im Datenblock selbst gehandhabt.

Siehe Bild: Uhr fehlt, aber Start, Stopp und andere unterstützende Bits sind vorhanden

Hinweis: Synchrone Kommunikation, die für die Massendatenübertragung geeignet ist. Sie überträgt die Daten meistens Rahmen für Rahmen

Synchrone serielle Kommunikation, geeignet für Byte-Übertragung. Sie überträgt die Daten meist Byte für Byte.