Hallo, ich will an einem Raspberry PI insgesamt 3 Geräte mit serieller Schnittstelle ansteuern. Eine serielle hat der RPI an Bord (über Pegelwandler an der GPIO). 2 weitere könnte ich über USB-auf-RS232-Adapter realisieren. Da das ganze in einem Gehäuse eingebaut werden soll wären die Adapter nicht ideal. Hat jemand eine Idee wie man das besser lösen könnte. Es wäre auch eine Art "Umschalter" möglich, da nicht alle Schnittstellen gleichzeitig, sondern nacheinander angesprochen werden. Von Vorteil wäre eine Betriebsfertige Platine. Übe rIdeen wäre ich dankbar, habe bisher noch nichts passendes gefunden. Die bisher gefundenen RS232-Umschalter waren einfach zu gross.
Kaufe Dir für 2 Euro ein Blue-Pill Board (aka STM32F103C8T6 Minimum System Development Board) und lade da dieses Programmbeispiel von Niklas Gürtler drauf: http://stefanfrings.de/stm32/vcp_test.zip Dann hast du einen 3-Fach USB-UART für ganz keines Geld. Um die Firmware auf das Board zu laden, brauchst du einen ST-Link Adapter oder einen USB-UART Adapter. Anleitung: http://stefanfrings.de/stm32/index.html#proginterfaces Nachtrag: Oder soll es wirklich RS232, also mit +/- 12V Pegeln sein? Dann sind zwei gewöhnliche USB Adapter wohl doch besser.
Wenn die 3 Geräte sebst programiert sind ginge Daisy Chaining. Ansonsten diverse Möglichkeiten zum selber basteln: https://www.raspberrypi.org/forums/viewtopic.php?t=2006 Oder fertig z.B.: https://www.tindie.com/products/aauer1/raspberry-pi-dual-serial-port-extension/ https://www.waveshare.com/serial-expansion-hat.htm Wenn die 3 Geräte sebst programiert sind ginge auch Daisy Chaining.
R. F. schrieb: > Es wäre auch eine > Art "Umschalter" möglich, da nicht alle Schnittstellen gleichzeitig, > sondern nacheinander angesprochen werden Kann man machen, aber das wird nicht annähernd so billig wie 2 USB-Adapter aus China. Die kann man mit Kabelbindern auf einer Lochrasterplatine befestigen und mit einem 9pol Flachbandkabel bis zur Gehäusewand verlängern. Georg
Schau Dir mal die SC16IS750 von NXP an. Die kannst Du per I2C oder SPI an den 40-Pin-Header des RasPi hängen und damit mehr UART-Schnittstellen bekommen. Fertige Treiber für die Dinger sind im Kernel vorhanden, Du musst einfach nur den DeviceTree erweitern. Wenn Du RS232 statt TTL-Level brauchst, dann halt noch die entsprechenden Wandler dazu.
:
Bearbeitet durch User
Gerd E. schrieb: > Schau Dir mal die SC16IS750 von NXP an. Besser den SC16IS752 oder SC16IS762, dann braucht man auch nur einen Chip. Fertige Module hab ich oben schon verlinkt
Noch 'ne Möglichkeit wäre ein FT4232H, der stellt als ein USB-Device gleich vier Schnittstellen zur Verfügung, die dann auch eindeutig zugeordnet werden können. "China-Module" damit sind allerdings rar.
Danke für die vielen Vorschläge. Die werde ich mir die nächsten Tage in Ruhe anschauen und überlegen, wie ich es realisiere. Werde mich dann nochmals melden.
Beim Arduino würde man es mit sog. "Soft Serial" versuchen. Das sollte der Raspi eigentlich auch können. Wenn man in Google als Suchbegriff "softserial raspberry" eingibt, kommen viel Treffer. SoftSerial macht beliebige GPIO-Pärchen per Software zu RX/TX. Evtl. geht nicht gleichzeitg Senden u. Empfangen (Interrupt-Konflikte, zumindest beim Arduino), aber so anspruchsvoll scheint das Projekt der TO nicht zu sein.
Softserial setzt schnelles Interrupthandling und präzises Timing voraus. Das übliche Linux auf dem Rasberry Pi ist dazu eher schlecht geeignet.
Stefanus F. schrieb: > Softserial setzt schnelles Interrupthandling und präzises Timing > voraus. > Das übliche Linux auf dem Rasberry Pi ist dazu eher schlecht geeignet. Sicher auch ne Frage der Bitrate. Wenn dem TO z.B. 9600 genügen ...
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.