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
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.
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
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.
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
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)
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!
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.
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.