Hi, ich habe ein USB Gerät, dass einen virtuellen COM Port am Rechner erstellt. Nun möchte ich dieses Gerät an einem µC über eine UART Schnittstelle ansprechen. Dafür bräuchte ich allerdings einen Wandler, der mir echtes UART oder meinetwegen RS232 bereit stellt. Gibt es so ein device? Viele Grüße Adrian
Adrian F. schrieb: > Gibt es so ein > device? Einfach wird es nicht. USB OTG z.B. ist dafür meines Wissens nach nicht vorgesehen - also müsste man dafür einen kompletten Host implementieren. (Bitte korrigiert mich, wenn ich etwas übersehen habe.) Unter Umständen ist es einfacher, einen echten UART auf der Leiterplatte abzugreifen - wenn der nicht existiert, siehe oben.
Adrian F. schrieb: > Nun möchte ich dieses Gerät an einem µC über eine UART > Schnittstelle ansprechen. Müsste das heißen "... von einem µC über ..." > Dafür bräuchte ich allerdings einen Wandler, > der mir echtes UART oder meinetwegen RS232 bereit stellt. Nein, du brauchst einen USB-Host, der einen Treiber für diesen virtuellen Comport hat. Jetzt ist die Frage, welcher µC das sein soll. Manche können das: https://www.google.com/search?q=cdc+usb+host > Gibt es so ein device? Das könnte was sein: https://www.hobbytronics.co.uk/usb-host-serial Auf jeden Fall müsste deine Suche in diese Richtung gehen.
:
Bearbeitet durch Moderator
Was mir noch einfällt: Wenn nur eine temporäte Lösung gebraucht wird, ist es unter Umständen am einfachsten, den virtuellen COM über einen PC mit COM0COM auch einen echten COM zu tunneln.
Hallo Walter! Ich möchte so ein Gerät nicht bauen, sondern am besten fertig kaufen. Einen USB Host zu implementieren ist wohl echt viel Arbeit. Gerade wenn man es noch nicht gemacht hat.
Verstehe das Problem nicht. USB zu RS232 gibt es doch wie Sand am Meer. Einzige Problem. Man muss aufpassen das der Richtige Chip drin ist bei Windows 10. Da gabs wegen Fälschungen einigen Stress. Ich habe vor einigen Monaten noch so ein Teil installiert um die Elektronik einen alten Motorrad auslesen zu können. Nein ich verstehe nix davon. Ich musste nur die Hardware und Software ans laufen bringen. Den Rest hat der Werkstandinhaber selbst gemacht. ;)
Nachtrag : https://www.amazon.de/DIGITUS-70156-Typ-Konverter-Verl%C3%A4ngerungskabel/dp/B0030IT780?th=1
Adrian F. schrieb: > > ich habe ein USB Gerät, dass einen virtuellen COM Port am Rechner > erstellt. Was für ein "Gerät" soll das sein? > Nun möchte ich dieses Gerät an einem µC über eine UART > Schnittstelle ansprechen. Ja und? Machen > Dafür bräuchte ich allerdings einen Wandler, > der mir echtes UART oder meinetwegen RS232 bereit stellt. Was nennst du "echtes" UART? Hast du jetzt "unechtes"? Typischerweise gibt es diese USB-Adapter, die an einem Ende USB sprechen und am anderen UART. Und davon gibt es wieder zwei Sorten. Welche die echtes RS-232 sprechen (mit 12V Pegeln). Die erkennt man daran, daß sie den genormten DB9-Stecker haben. Oder alternativ welche, die 5V oder 3.3V Logikpegel auf der UART-Seite haben (oft fälschlich als "TTL" bezeichnet). Für den Anschluß an einen µC brauchst du für erstere einen Pegelwandler. Z.B. den Klassiker MAX232. Für letztere brauchst du gar nichts.
Der Host Teil von USB ist ziemlich kompliziert, ich würde da einen Raspberry Pi (Zero) benutzen - und dem Linux Kernel die USB Steuerung überlassen. Der hätte auch einen 3,3V Uart an GPIO verfügbar. Wenn man nur ein Gerät hat lohnt es sich eventuall mal reinszuschauen - oft ist da nämlich ein USB2UART Wandler Chip drin, den man einfach auslöten könnte.
Lothar M. schrieb: >> Gibt es so ein device? > Das könnte was sein: https://www.hobbytronics.co.uk/usb-host-serial > Auf jeden Fall müsste deine Suche in diese Richtung gehen. Das klingt sehr vielversprechend. Und auch noch offen zum Nachbauen. Danke für den Hinweis. Da schau ich mal genauer rein. Axel S. schrieb: >> >> ich habe ein USB Gerät, dass einen virtuellen COM Port am Rechner >> erstellt. > >Was für ein "Gerät" soll das sein? Es ist ein Kartenleser, den es nur mit USB-Anschluss gibt.
Walter T. schrieb: > Schlaumaier schrieb: >> Nein ich verstehe nix davon. > > Das übliche Problem. Wenn er nichts dazu schreiben würde, wäre es keines.
Adrian F. schrieb: > Es ist ein Kartenleser, den es nur mit USB-Anschluss gibt. nun bei einem Kartenleser würde ich jetzt aber eher MSD vermuten da wirst du mit einem Serial Host (CDC) nicht sehr weit kommen. Einen einfachen Host zu implementieren ist gar nicht so schwer. Kritisch ist es eigentlich nur wenn das halbwegs universell werden muss, weil man dann eben die Deskriptoren auch interpretieren muss. Aus der Hostperspektive reicht es nacheinender folgende Requests abzusetzen: - UsbReset - UsbSetAddress - UsbGetDescriptor (Device und Config) - USBSetConfiguration Danach ist das Gerät betriebsbereit und kann die entsprechenden CLASS spezifische Dinge tun.
Thomas Z. schrieb: > Adrian F. schrieb: >> Es ist ein Kartenleser, den es nur mit USB-Anschluss gibt. > nun bei einem Kartenleser würde ich jetzt aber eher MSD vermuten Und wenn das ein Magentkartenleser ist? Oder ein RFID-Kartenleser? > da wirst du mit einem Serial Host (CDC) nicht sehr weit kommen. Aber der Kartenleser meldet sich laut erstem Post eben doch als virtuelles serielles Gerät an. Schlaumaier schrieb: > USB zu RS232 gibt es doch wie Sand am Meer. Dann schließ mal diese "Sand am Meer"-Adapter doch mal so zusammen, dass du RS232 zu RS232 bekommst...
:
Bearbeitet durch Moderator
es gibt noch MAX3421E, USB Host über SPI: https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX3421E.html habe ich noch nicht benutzt, den gibt es aber auch auf Adapterplatinchen bei vielen Händlern.
Adrian F. schrieb: > ich habe ein USB Gerät, dass einen virtuellen COM Port am Rechner > erstellt. Nun möchte ich dieses Gerät an einem µC über eine UART > Schnittstelle ansprechen. Dafür bräuchte ich allerdings einen Wandler, > der mir echtes UART oder meinetwegen RS232 bereit stellt. Gibt es so ein > device? Was für ein Gerät ist das GENAU? Möglicherweise ist in dem Gerät ein USB-UART Umsetzer verbaut. Dann ist es eventuell einfacher, diesen Umsetzer-Chip zu entfernen und direkt per MAX3232 u.ä. auf den internen UART zu gehen. Wird der USB-UART direkt im Mikrocontroller in Firmware realisiert, funktioniert das natürlich nicht. Aber das wäre eben zu prüfen. fchk
Was für ein Zufall ich habe aktuell das gleiche Thema. Ich möchte zwar kein Kartenleser anschließen aber einen Bluetooth USB Dongle. Und bevor schlaue Leutz drauf kommen das es diese auch direkt als UART variante gibt sage ich nur soviel dazu: "Das weiß ich selbst" @ Adrian F.: Die Lösung die wir beide Suchen könnte im VNC2 Modul von FTDI liegen. Dieser Implementiert einen USB-Host to UART Umsetzer. https://ftdichip.com/products/vnc2-48q1c/ Ich habe bis dato diverse Umsetzer versucht aber die sind alle untauglich für diese Aufgabe. FTDI habe ich zu dem Thema bereits angesprochen und die haben mir bestätigt das es mit dem Chip eine Lösung ist. Aktuell kämpfe ich noch mit dem Updaten der FW auf dem Demo Board mit fertigen VNC2 FW mit diveresen Grundaufgaben. Findest du Hier https://ftdichip.com/firmware/vnc2-tools/ Zum Programmieren benötigst du VNC2 Debug Modul siehe https://www.mouser.de/ProductDetail/FTDI/VNC2-DEBUG-MODULE?qs=jyocFDpMvsj9w%252BToZISyJg==&mgh=1&vip=1&gclid=EAIaIQobChMI9KieyLLF9AIVjeJ3Ch2j2Q9XEAQYASABEgL0ufD_BwE und als Testumgebung z.b. diese https://ftdichip.com/products/v2dip1-48/ Demo Board. Wäre interessant für mich wenn ich einen Mitstreiter wüsste eine Lösung für das Problem mit dem VNC2 oder auch anderem CHIP aufzubauen. Wenn ich einen Schritt weiter komme gebe ich gerne weitere Infos bin aber auch nicht abgeneigt wenn jemand Erfahrungen mit dem VNC2 hat da mit der FTDI Programmier Software wie gesagt aktuell Probleme habe und auch nicht sicher bin ob eine der Sample FW schon die richtige Basis für den HOST - UART Konverter bietet => da auch hier ein Virtueller COM auf der USB Peripherie (Dongle)emuliert wird.
TB schrieb: > Was für ein Zufall ich habe aktuell das gleiche Thema. Ich möchte zwar > kein Kartenleser anschließen aber einen Bluetooth USB Dongle. Und bevor > schlaue Leutz drauf kommen das es diese auch direkt als UART variante > gibt sage ich nur soviel dazu: "Das weiß ich selbst" Ist das ein spezieller BT USB-Dongle? Die üblichen Teile, die Du für PCs bekommst, implementieren nur HCI. Die ganzen High-Level Protokolle und Profile sind nicht im Dongle, sondern im Softwarestack auf dem PC implementiert. HCI gibts nicht nur über USB, sondern auch über UART, und passende Module kann man kaufen. Wenn Dein USB-Dongle ein spezielles Profil (HID oder so) implementiert, dann müsste man anderweitig weiter sehen. Wichtig wäre eben an dieser Stelle zu wissen, was das USB-Interface genau implementiert. Und wenn es HCI ist, Du aber am anderen Ende keinen BT-Stack hast, dann brauchst Du gar nicht erst weiterzumachen. fchk
Hallo, ich stand auch vor dem Problem, ein USB-Gerät, welches ein virtuellen COM-Port erstellt mittels µC anzusprechen. Ich habe das mit diesem Modul https://www.hobbytronics.co.uk/usb-host-board-v24 verwendet. Gruß Holger
:
Bearbeitet durch User
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.