UART Verständnisproblem

Gast #29391
Hi!
Ich habe ne mehr oder weniger Anfängerfrage, aber leider keine Antowrt 
dazu im Web gefunden! Welche Pegel nutzt der Atmel UART für logisch "0" 
und logisch "1"? Soweit ich das bisher las, sollten es 5V für logisch 
"0" und 0V für logisch "1" sein, ist das so richtig?

Gruß

Tobias
Gast #29392
Nein, das ist so nicht richtig.
5V --> 1 (high)
0V --> 0 (low)

Hast du das vielleicht mit RS232 verwechselt. Dort wir nämlich mit 
invertierter Logik gearbeitet +12V --> 0
-12V --> 1

MfG, Niglo.
Gast #29393
Möglicherweise habe ich das verwechselt! Ich bräuchte das ganze leider 
invertiert! Gibt es die Möglichkeit das Softwaremäßig zu machen oder 
muss das Hardwareseitig invertieren?

Tobias
Gast #29394
Brauchst du das Stop und Startbit auch inv. oder nur das Datenbyte.
Also wenn alles inv. sein soll, kannst du es nur hardwaremäßig machen.
Wenn du aber nur das Byte inv. brauchst, dann inv. es einfach 
softwaremäßig.

MfG, niglo.
Gast #29395
Tja leider brauche ich es komplett invertiert, sonst hätte ich ja, wie 
du schriebst, vor Senden einfach das Byte invertiert! Ich muss damit auf 
einen 12V = "0" , 0V="1" Bus kommen! Also auch noch den Pegel irgendwie 
wandeln!

Bis dann

Tobias
Gast #29396
Nicht schwer!
Einfach vom TxD deines µC ein Buffergatter mit OpenCollector-Ausgang 
dranhängen und den Opencollectorwiderstand auf 12V.

Erklärung von Opencollector-Ausgängen hier:
http://www.acroname.com/robotics/info/concepts/opn_clct.html

Im ersten Bild siehst du ein Gatter (aber ein NAND) an dessen Ausgang 
ein Widerstand ist, der auf 5V hängt.
Du nimmst einfach ein Buffergatter (mit OpCo) und tauscht die 5V auf 12V 
(am Wiederstand)
Gast #29397
Vielen Dank erstmal!
Ich schreibe mal eben worum es mir geht! Also ich will in einem auf 
einem sogenannten IBus senden und empfangen! Der Bus ist auf 12 V 
hochgezogen und hat nur eine Leitung, somit muss ich die TXD und RXD des 
µC mit der einen Busleitung verdrahten, den Pegel wandeln und das Signal 
jeweils invertieren! Es gibt dafür fertige Interface-Chips, die sind 
aber nur in Stückzahlen ab 100 zu bekommen, daher der ganze Aufwand! 
Vielleicht hat jemand ne idee, wie man das insgesamt am einfachsten 
realisieren kann, da ich, was das angeht, nicht soviel Ahnung habe!
Gast #29398
Hi.

Man müsste wissen ob dieser IBus auch wie zB beim I2C-Bus am Ausgang mit 
OpenColl. arbeitet. Falls ja, dann mach genau das was ich vorher 
geopsted habe. Und für RxD: einfach direkt von der Busleitung in den 
Eingang eines Puffergatters (mit OpColl.) und den Ausgang auf RxD (µC). 
Um den Pegel auf 5V zu bekommen: einfach den OpColl. auf 5V.

MfG, niglo.
Gast #29399
Mein Problem ist schon anderweitig gelöst worden! Ich habe einen 
Converter-Chip von Motorola gefunden, den ich direkt an den UART klemmen 
kann. Hinten kommt dann mein fertiges Signal raus (schon invertiert und 
gewandelt!) Trotzdem vielen Dank für die Tips!
Btw: Der IBUS wird von BMW unter anderem zur Wechsleransteuerung benutzt 
und ich baue dafür einen Adapter, um einen Sony-Wechsler benutzen zu 
können!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.