-
-
Erfahrener Benutzer
Robotik Einstein
UART vs SPI kann UART auch "echt" bidirektional üb
mir ist grad in nem anderen topic ne frage aufgekommen ... bei SPI ist es üblich, dass gleichzeitig daten gesendet UND empfangen werden ... ist es defakto möglich mit einem UART anschluss dasselbe zu machen !?
genauso wie SPI hat UART ein datenregister zum lesen und schreiben, aber was passiert wenn cih gerade ein byte empfange und dann mittendrin das senden einleite !? ist ja alles asynchron!
-
Erfahrener Benutzer
Roboter Genie
Siehe Datenblatt
Bei allen U(S)ARTs kann vollduplex gearbeitet werden, das "Synchronous" bedeutet nur, dass dir ein Takt zur Verfügung steht (via XCK).
Im übrigen muss beim U(S)ART nicht gleichzeitig das Antwortbyte überagen werden, wogegen bei SPI immer mit jedem geschriebenen Byte auch eins gelesen wird.
mfG
Markus
-
Erfahrener Benutzer
Robotik Einstein
das mit dem "kann vollduplex" glaub ich aber nicht ganz ... technisch gesehen hat die schnittstelle 1 datenregister, 1 pufferregister und 1 schieberegister ... und puffer und schieberegister können ... soweit ich das erfahren habe ... nicht gleichzeitig verwendet werden ... bzw. die werden irgendwie immer durchgewechselt, und dadurch kann nur eines gleichzeitig verwendet werden ... erfahrung oder tiefenwissen wäre mir da schon lieber ... beim SPI ist es eben der TAKT der das gleichzeitige senden und empfangen ermöglicht!
-
Erfahrener Benutzer
Roboter Genie
Du musst es nicht glauben, nur das Datasheet lesen ...
Das UDR wird beim Schreiben auf das Ausgangsregister gemapped, beim Lesen auf das Eingangsregister.
Der Takt wird beim Empfangen aus dem Signal selbst regeneriert, beim Senden wird ein eigener Sendetakt in das Signal hineinmoduliert.
SPI ist dagegen einfach nur extrem simpel, weil es Ein- und Ausgangsstufe aneinander koppelt, Empfänger und Sender beim UART sind dagegen weitestgehend unabhängig.
mfG
Markus
-
Erfahrener Benutzer
Roboter-Spezialist
Da stelle ich mir doch gerade die Frage welches Datenblatt man lesen soll.
Nehme ich mir das Datenblatt vom Mega8, lese ich zwar was von full duplex, aber das bezieht sich auf die unabhängigen Sende/Empfangs-Register.
Für full duplex braucht man mindestens 4 Leitungen, da für Sende- und Empfangsleitung je auch eine Clockleitung vorhanden sein muss.
Betreibe ich die USART-Schnittstelle im SPI-Modus, so habe ich auch 3 Leitungen, somit ist hier full duplex möglich.
also bitte nicht verwechseln, die USART-Schnittstelle kann sowohl über 2-Draht (RS232) im half duplex-Mode betrieben werden, als auch im SPI-Modus mit full duplex.
-
Erfahrener Benutzer
Roboter Genie
? Sag mir bitte wo beim Mega8 steht, dass ich NICHT gleichzeitig senden und empfangen kann, wenn ich den U(S)ART im ganz normalen asynchronen Modus betreibe?
Asynchron bedeutet (zumindest hier) genau eine Leitung je Richtung, der Takt wird aus dem Signal rückgewonnen (und aus der Baudrateneinstellung ...).
Du wirfst hier gerade Vollduplex mit synchronem Empfang durcheinander, bitte nicht verwechseln
Nochmal in kurz: Zwei Strippen, eine je Richtung, beide unabhängig voneinander. An beiden hängen unterschiedliche Hardware-Komponenten, die Senden/Empfangen.
Bei jedem UART kann gleichzeitig gesendet und empfangen werden, die Übertragung ist aber nicht synchron!
Beim USART kann die Übertragung synchron erfolgen, dann gibt es eine Taktleitung, die Funktionalität ist dann SPI recht ähnlich (oder sogar gleich?)
mfG
Markus
PS: Seite 133 des Datenblatts des Mega8 - Dort sieht man wunderbar, dass Sender und Empfänger getrennt arbeiten
-
Erfahrener Benutzer
Robotik Einstein
verdammt .. ich hab das schaltbild total ignoriert XD da sind ja separate sende und empfangsregister ... ich muss beim lesen irgendwo was übersehen haben ... naja danke jedenfalls der hilfen .. vll. find ich die passage nochmal und melde mcih nochmal
-
Erfahrener Benutzer
Roboter-Spezialist
stimmt, das mit dem Asynchron hatte ich vergessen.
Da hätte ich wohl deinen 2. Post genauer lesen müssen
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen