Mahlzeit zusammen, gesucht ist eine _Minimallösung_, um 3v3 bis 5v Seriell auf I2C bidirektional umzusetzen. Hintergrund ist die Ansteuerung vom Raspi. Gibt es hierzu eine gängige Lösung? Danke und schönes Wochenende Dan
Minimallösung: Zwei Widerstände. Erfordert eine Echte RS232 (mit Schnellem DTR/RTS/CTS, nix USB)& Bitbanging.
Mal so als näherer Hintergrund: Ich habe hier ein Modul, das mir 3v3-5v Rx/Tx liefert. Die Serielle am Raspi ist nicht mehr frei. Am schönsten wäre natürlich eine Lösung, wo ich beliebige GPIOs des Raspi verwenden könnte. Suche ich eventuell nach der falschen Lösung und es geht tatsächlich recht einfach von der Bühne?
:
Bearbeitet durch User
Es gibt UARTs, die per I2C an ein I2C-fähiges Gerät angeschlossen werden können. http://www.nxp.com/products/interface_and_connectivity/bridges/i2c_spi_slave_to_uart_irda_gpio_bridges/series/SC16IS740_750_760.html Einfacher (und wegen der bereits vorhandenen Treiberunterstützung auch zu bevorzugen) dürfte aber eine USB-Seriell-Bridge sein; der Pi hat nun mal USB-Anschlüsse und darauf läuft ein Linux, das weiß, wie es mit einer USB-Seriell-Bridge umzugehen hat. Würdest Du eine UART per I2C ansteuern, müsstest Du die Ansteuerung komplett selber übernehmen und obendrein damit zurechtkommen, daß das I2C-Interface des Pi kein "clock stretching" auf dem I2C-Bus unterstützt.
Ich habe fast befürchtet, dass es auf USB hinausläuft ;) Mir würde sogar so eine Art "SoftwareSerial", wie man sie vom Arduino her kennt vollkommen ausreichen.
Dan N. schrieb: > Ich habe fast befürchtet, dass es auf USB hinausläuft ;) Wieso "befürchtet"? Einfacher gehts nicht und um die 5€ für ein USB-Kabel mit integriertem TTL-Wandler ist doch wohl keine grosse Sache. > Mir würde sogar so eine Art "SoftwareSerial", wie man sie vom Arduino > her kennt vollkommen ausreichen. Echtzeitanwendungen sind nicht die starke Seite eines RasPi.
Gibt doch i2c <-> uart bridges. https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3107.html Auch als Breakout-Board, falls du dir keinen Kopf machen willst: https://www.sparkfun.com/products/9981 Vermutlich reicht aber auch ein PIC12 mit UART und I2C auf verschiedenen Pins.
Dan N. schrieb: > gesucht ist eine Minimallösung, um 3v3 bis 5v Seriell auf I2C > bidirektional umzusetzen. Irgendein MC, der ne UART und I2C hat + Software zur Protokollumsetzung. Im Prinzip so ähnlich, wie kriege ich eine CD mit dem Kassettenrekorder abgespielt.
Ok, "befürchtet" in Anführungszeichen :) Irgendwie bleibt bei der USB-Variante so ein Quick&Dirty-G'schmäckle über, weil das Ganze dann wie ein Kloß am USB-Port hängt und nicht sehr kompakt ist/wirkt. Aber hey, da sind doch schon einige Anregungen zusammengekommen. Ganz recht herzlichen Dank schonmal. Ich nehme das mal mit ins Wochenende.
Peter D. schrieb: > Irgendein MC, der ne UART und I2C hat + Software zur Protokollumsetzung. Genau da kriegt man allzu leicht die Probleme mit clock stretching. Der oben verlinkte I2C/SPI-UART Chip verwendet das nicht, aber bei µCs ist das verfahrensbedingt oft notwendig. Mit dem LPC810 täts reichen.
:
Bearbeitet durch User
Wieso das ganze über USB, der Raspi kann es doch über GPIOs siehe: http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_I2C.html https://developer-blog.net/hardware/raspberrypi/raspberry-pi-i2c-aktivieren/
IIC schrieb: > Wieso das ganze über USB, der Raspi kann es doch über GPIOs Eine zweite UART? Dan N. schrieb: > Ich habe hier ein Modul, das mir 3v3-5v Rx/Tx liefert.
Die FTDI Chips mit MPSSE (FT2232 und FT232R IIRC) würden auch I²C 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.