Hallo, ich bin relativ neu im Bereich Psoc. Ziel von mir ist es das Signal eines Barcodescanners(welcher über USB funktioniert) mit dem Psoc einzulesen. Jedoch kann der Psoc nicht als Host fungieren was ein Problem für mich darstellt. Hat hier vielleicht jemand eine Idee oder Vorschlag mit dem er mir weiterhelfen könnte? Z.B. ein Converter-Baustein zu einem anderem Bus o.ä.? Vorab schon einmal Danke!!
Nimm einen µC mit USB-Host-Funktionalität oder einen programmierbaren USB-Host-Controller. Letzteres gibt es von FTDI unter der Bezeichnung "Vinculum". Du musst natürlich (egal für welche Lösung) das genaue Protokoll des Barcodescanners kennen, da ist kein "Signal", das es zu konvertieren gäbe. Wenn Du bei Deinem PSOC bleiben willst, nimm einen PS/2-Barcode-Scanner. Der erzeugt ein SPI-artiges serielles Signal.
Daniel schrieb: > Jedoch kann der Psoc nicht als Host fungieren was ein Problem für mich > darstellt. USB Host Programmierung kann schnell recht aufwändig werden, z.B. wenn man mehr als einen Leser unterstützen müsste oder der Leser mehrere Modi hat (wie USB HID, USB CDC). Fast immer ist es dann weniger aufwändig auf einem "richtigen" Host mit Linux oder gar Windows drunter aufzusetzen. Man schaue sich zum Beispel mal den HID Parser an, den man zum korrekten Auslesen und Ansteuern von HID Geräten bräuchte. USB Barcode-Leser ist HID im Tastaturmodus.
Danke für die Antworten! Bzgl. des USB-Host-Controller: Das bedeutet wenn ich so einen nehmen würde, könnte ich weiterhin den Psoc verwenden? Des Weiteren so wie ich es verstehe, dient der Controller als Host und stellt die Kommunikation zum Psoc bzw. µC über ein anderes Bussystem zur Verfügung. Liege ich damit richtig?
Daniel schrieb: > Das bedeutet wenn ich so einen nehmen würde, könnte ich weiterhin den > Psoc verwenden? Vorausgesetzt, daß Du es hinbekommst, mit Deinem PSOC mit einer der Schnittstellen des Hostcontrollers zu kommunizieren. Beim "Vinculum" geht das mit UART (asynchron seriell), SPI (synchron seriell) und auch parallel. Du musst aber von Deinem PSOC aus aktiv mit dem Hostcontroller "reden"; von sich aus schickt der Dir nichts. https://www.ftdichip.com/Products/ICs/VNC1L.htm https://www.ftdichip.com/Products/ICs/VNC2.htm
alles klar, nochmals danke. Was würdest du denn vorschlagen, wie ich das Projekt am Besten realisieren sollte? Am Psoc fest zu halten, scheint ja nicht all zu vernünftig zu sein. Habe z.B. gelesen, dass es mit dem Arduino und einer zusätzlichen Erweiterung die Möglichkeit besteht ihn als Host ebenfalls anwenden zu können. Bin für jeden Vorschlag dankbar und offen.
Daniel schrieb: > Am Psoc fest zu halten, scheint ja nicht all zu vernünftig zu sein. Wieso? Da ist ein Cortex-M3 drin, der rennt Kreise um einfache Arduinos.
naja wirklich schnell muss der nicht sein. muss nur den Barcode einlesen können den auf einem Flash ablegen und evtl. das File dann an einen PC senden. Also nicht so krass.. Du würdest also den Psoc mit dem Vinculum-Chip bevorzugen? Keinen anderen µC?
An Deiner Stelle würde ich den µC bevorzugen, mit dem ich mich bereits auskenne, den ich verfügbar habe, und bei dem ich idealerweise auch Leute um Hilfe fragen kann, die damit schon arbeiten. Wenn es bei Deiner Aufgabenstellung unumgänglich ist, ein USB-Gerät anzusprechen, dann ist die Verwendung eines USB-Hosts wie dem "Vinculum" eine, aber natürlich nicht die einzige Möglichkeit. Der "Vinculum" bringt halt schon einiges an "Eigenintelligenz" mit sich, die Dinge erledigt, um die man sich bei anderen USB-Host-Lösungen kümmern müsste. Wie bist Du denn zu Deinem µC gekommen? Hast Du Dir den selbst ausgesucht, oder wurde der Dir von jemand anderem im Zusammenhang mit Deiner Aufgabenstellung empfohlen? Du willst/musst(?) also ein Gerät konstruieren, an dem ein USB-Barcodescanner angeschlossen wird, das die Barcodes zwischenspeichert und über eine (noch zu definierende Schnittstelle) später an einen PC übertragen kann. Gibt es nicht mobile Barcodescanner, die genau das schon ab Werk können?
Es gibt von WCH den CH554 Der kann auch usb Host, gibt es bei lcsc für 0,60€ https://lcsc.com/product-detail/USB_CH554E_C111293.html Hier gibt es eine funktionsübersicht: https://www.electrodragon.com/w/WCH#MCU_.2B_USB_CH55x_Series auch gibt es ein Beispiel für die Verbindung mit einem Barcodescanner Basis ist ein 8051 Kern. Programmiert wird entweder mit Keil oder SDCC. Funk Barcodescanner gibt es ja auch zu Hauf auf Ebay http://rover.ebay.com/rover/1/707-53477-19255-0/1?icep_ff3=2&pub=5575152713&toolid=10001&campid=5337805630&customid=&icep_item=172789919033&ipn=psmain&icep_vectorid=229487&kwid=902099&mtid=824&kw=lg
:
Bearbeitet durch User
Der Grund für die Entscheidung des Psoc war, weil ich damit bereits gearbeitet habe und noch einen übrig hatte. Allerdings ist auch noch ein Arduino vorhanden. Die Aufgabenstellung hast du mehr oder weniger richtig erfasst. Es werden noch ein paar dinge hinzukommen, aber die kann ich leider nicht verraten, sie stellen allerdings keine Hürde dar. Das einzige bestehende Problem, ist das bereits hier geschilderte... Danke Aaron. Ich werde es mir mal morgen wenn ich frei habe anschauen!
http://www.hobbytronics.co.uk/usb-host-board-v2 Da musst du nur herausfinden, welches Protokoll du benötigst und kannst das Ding dann über die RS232/UART ansprechen.
Hallo, die Mehrheit der mir bekannten Barcodescanner mit USB sind HID-Geräte und emulieren einfach ein Keyboard. Bei den Handscannern kommt man innen auch oft an die RS232 mit TTL-Pegel ran, ob das Sinn macht hängt vom Scannertyp und der geplanten Verwendung ab.. Nur so als Hinweis. Gruß aus Berlin Michael
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.