UART Pegel invertieren ATTINY2313

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  19:46:04      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
UART Pegel invertieren ATTINY2313

    







BID = 593124

ffeichtinger

Schreibmaschine



Beiträge: 1050
Wohnort: Traunkirchen im Salzkammergut
 

  


Hallo

Ich habe eine serielle Verbindung zwischen 2 Mikrocontrollern, die funktioniert auch.

Das Problem: Wenn gerade nichts geschickt wird ist die Spannung am Kanal high also nahe Vcc. Das Startbit ist dann low also fast 0 un dann kommen die Daten. Das schmeckt mir aber nicht, wenn nichts verschickt wird soll auch die Spannung am Kanal 0 sein! Man könnte das natürlich ganz einfach elektrisch lösen und beim Sender und Empänger jeweils einen Invertierer vorschalten. Das geht aber leider nicht mehr, die Platinen sind schon fertig, zum neu machen ist es zu spät.

Kann man das nicht per Software invertieren?

mfg Fritz

_________________

BID = 593142

ElektroNicki

Inventar



Beiträge: 6429
Wohnort: Ugobangowangohousen

 

  

Nanu? Die nicht vorhandene Invertierung hebt sich doch auf?
minus mal minus....

_________________

BID = 593173

ffeichtinger

Schreibmaschine



Beiträge: 1050
Wohnort: Traunkirchen im Salzkammergut

Ja ich weiß schon dass 2 mal invertiert nichts bringt! Aber ich will ja nur den Kanal selbst invertieren, der Empfänger soll dann wieder das originale Signal empfangen.

Ich skizzier das mal:

Sender--------Invertierer-------Kanal--------Invertierer-----Empfänger


Nur soll das invertieren jetzt der Sender und Empfänger selber können.

_________________

BID = 593179

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Nur soll das invertieren jetzt der Sender und Empfänger selber können.
Kann er aber nicht.
Es sei denn, du hast genug Rechenleistung übrig und schreibst dir einen Software UART.

Wenn du lange Pausen zwischen den Übertragungen hast, kannst du den Sender abschalten und einen normalen Portpin draus machen, in den du eine 0 programmierst.

Ein normaler UART-Empfänger sieht dann ein nicht endendes Startbit und produziert daraus einen Framing Error. Das entspricht der Break-Condition und davon erholt er sich recht schnell wenn du den Sender wieder einschaltest. Teilweise interessieren sich die UARTs auch nicht für das was auf RxD vorsichgeht, wenn sie mittels Handshakeleitung abgeschaltet sind.
Wie das genau beim 2313 geregelt ist, musst du mal nachlesen.



_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 593186

ffeichtinger

Schreibmaschine



Beiträge: 1050
Wohnort: Traunkirchen im Salzkammergut


Zitat :
Wenn du lange Pausen zwischen den Übertragungen hast, kannst du den Sender abschalten und einen normalen Portpin draus machen, in den du eine 0 programmierst.


Das hab ich mir auch schon überlegt, aber ist halt nicht so elegant nach jedem übertragenen Datensatz ganz bewusst einen Frame Error zu erzeugen.


Zitat :

Es sei denn, du hast genug Rechenleistung übrig und schreibst dir einen Software UART.


Nein hab ich leider nicht.


Zitat :

Teilweise interessieren sich die UARTs auch nicht für das was auf RxD vorsichgeht, wenn sie mittels Handshakeleitung abgeschaltet sind.


Das geht leider auch nicht, da ich nur einen Kanal zur Verfügung habe. Ich kann nur die Daten selbst übertragen und zwar asynchron.


Wozu ist das generel gut das bei diversen ICs immer wieder irgendwelche PINs invertiert sind? Wozu ist zb. der Reset Pin invertiert, es wär doch viel logischer ihn mit einem Widerstand auf Masse zu ziehen und nur bei Bedarf auf Vcc zu bringen.

Beim UART seh ich das überhaupt nicht ein, das heißt doch wenn ich keinen Sender angeschlossen habe empfängt der Empfänger in einer Tour nur Frame Errors!

Pflanzerei

mfg Fritz

_________________

BID = 593193

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Wozu ist zb. der Reset Pin invertiert, es wär doch viel logischer ihn mit einem Widerstand auf Masse zu ziehen und nur bei Bedarf auf Vcc zu bringen.
Das gibt es auch.
Im Falle der elektrisch programmierbaren Mikrocontroller, dient der Reset-Eingang aber oft auch als Eingang für eine hohe Programmierspannung. Ausserdem muss während der Programmierung die interne Maschinerie meist arbeiten.
Dann wäre es fatal, wenn sie durch eine positive Spannung in Nullstellung festgehalten würde.

Die Vorliebe für die negative Logik liegt sonst meist daran, dass npn-Transistoren und N-Kanal-FETs bessere elektrische Eigenschaften haben, als die entsprechenden Komplementärypen.
Deshalb setzt man sie bevorzugt in Wired-OR und Open-Drain oder Open-Collector Ausgängen ein.

Zitat :
Beim UART seh ich das überhaupt nicht ein, das heißt doch wenn ich keinen Sender angeschlossen habe empfängt der Empfänger in einer Tour nur Frame Errors!
Nein, denn die UART-Pins gehen so gut wie nie direkt auf die Leitung, sondern immer über invertierende Treiber wie 1488 und 1489 (Später dann entsprechende MAXe).
Das beschert dem UART ein längeres Leben und ermöglicht auch unterschiedliche Übertragungstechniken wie z.B. RS232, RS488, Current-Loop.
Der einfachste Leitungstreiber oder -empfänger ist aber eben ein simpler Transistor und der invertiert nun mal.
Eine offene Leitung liefert dann folgerichtig auch HIGH am UART ab.


BID = 593247

Nukeman

Schriftsteller



Beiträge: 754
Wohnort: bei Kleve

Hallo ffeichtinger

Was genau passt Dir an dem Ruhe-High-Pegel denn nicht? Ist es rein ästhestisch,
oder soll der Portpin noch für was anderes benutzt werden?

Wenn Dich die Frame-Errors bei offenem Pin stören, löte doch lokal einen 20k
Pullup rein ( wenn das IC nicht schon von selbst in Richtung High floated ).
Platz für einen SMD-Wid sollte eigentlich immer sein.

Oder vielleicht kannst Du auch auf normalen Portbetrieb umschalten und die
internen Pullups aktivieren.

Gruß
Stefan




BID = 593287

ffeichtinger

Schreibmaschine



Beiträge: 1050
Wohnort: Traunkirchen im Salzkammergut

Die Verbindung soll dann später via Funk passieren, mit einfacher OOK Modulation. Da ist es schlecht wenn im Leerlauf ständig Leistung verbraten wird.

_________________

BID = 593312

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Verbindung soll dann später via Funk passieren, mit einfacher OOK Modulation.
Ist das zulässig ?
Meist nur noch FM oder ähnliche Verfahren weil intensitätsveränderliche Träger Störungen verursachen können.
Handys sind das beste schlechte Beispiel dafür.


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 20 Beiträge im Durchschnitt pro Tag       heute wurden bisher 29 Beiträge verfasst
© x sparkkelsputz        Besucher : 182425072   Heute : 4117    Gestern : 5459    Online : 362        29.11.2024    19:46
5 Besucher in den letzten 60 Sekunden        alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0386772155762