Hi, ich möchte ein existierendes Gerät USB-fähig machen, mir aber die Arbeit ersparen, selbst eine Platine zu bauen. Also suche ich ein Board für kleines Geld, wo ein USB-fähiger Controller (Full-Speed!) drauf ist. Alle Boards, die ich gefunden habe, werden vom USB-Port versorgt, aber das Gerät muss mit einem eigenen Netzteil gespeist werden und spricht bidirektional klassisches TTL (5V) auf knapp 20 Pins. Optimal wäre also, wenn ich das Board nicht über USB versorgen muss, sondern über das externe Netzteil. Dann brauche ich nur USB-seitig eine galvanische Trennung. Kennt jemand ein Board, welches sowas anbietet? Die Geschwindigkeit ist unkritisch, und ob da ein AVR oder ein ARM drauf ist, spielt keine Rolle. Wichtig ist, dass die Inputs 5V-tolerant sind und der USB galvanisch getrenntes Full-Speed anbietet. Oder mache ich mir einfach zu große Sorgen mit der Trennung und suche daher falsch? Nachtrag: Es geht um ein Einzelstück. Gruß, svenska
:
Bearbeitet durch User
S. R. schrieb: > Die Geschwindigkeit ist > unkritisch, und ob da ein AVR oder ein ARM drauf ist, spielt keine > Rolle. Wichtig ist, dass die Inputs 5V-tolerant sind und der USB > galvanisch getrenntes Full-Speed anbietet Du weisst, was Du willst - "Geschwindigkeit unkritisch" oder "Full-Speed"? Du kannst einen USB nach Seriell Adapter einsetzen wie z.B. https://www.aliexpress.com/item/Free-Shipping-CH340-module-USB-to-TTL-CH340G-upgrade-download-a-small-wire-brush-plate/32511531487.html und die zwei Datenleitungen auf 5V-Seite galvanisch trennen mit z.B. https://www.aliexpress.com/item/Magnetic-Isolator-Board-Module-Replace-Optocouplers-CJMCU-1201-ADUM1201-Isolator-ADUM1201ARZ-SOIC-8-Isolator-SPI-Interface/32789240308.html oder Du trennst den USB mit z.B. https://www.aliexpress.com/item/New-USB-Isolator-1500v-Isolator-ADUM4160-USB-To-USB-ADUM4160-ADUM3160-Module/32745353166.html
Das Gerät entspricht im Prinzip einer Standardklasse (kein CDC), deswegen brauche ich Unterstützung für Full Speed. Manfred schrieb: > oder Du trennst den USB mit z.B. > https://www.aliexpress.com/item/New-USB-Isolator-1500v-Isolator-ADUM4160-USB-To-USB-ADUM4160-ADUM3160-Module/32745353166.html Ich hatte gehofft, dass es kleine Boards mit Mikrocontroller gibt, die so einen Isolator schon drauf haben... eine galvanische Trennung auf Geräteseite ist mit viel Aufwand verbunden.
S. R. schrieb: > eine galvanische Trennung auf > Geräteseite ist mit viel Aufwand verbunden. Ist die überhaupt nötig?
Flip B. schrieb: > Ist die überhaupt nötig? Weiß ich nicht. Aber bei dem Gedanken, zwei von verschiedenen Netzteilen versorgte Geräte ohne Trennung direkt mit einem Controller zu verbinden, fühle ich mich nicht so richtig wohl. Oder liege ich da falsch?
Ich würde sagen, dass ein Arduino Nano Board all deine genannten Anforderungen erfüllt. Falls du etwas mehr I/O Pins brauchst, dann ein Crumb644 http://www.chip45.com/products/crumb644-1.1_avr_atmega_module_board_atmega644p_usb_rs485.php > Dann brauche ich nur USB-seitig eine galvanische Trennung. Dafür wiederum verwendet man üblicherweise USB Isolatoren. Alternativ kannst du ein µC Board ohne USB Interface verwenden, dann zwei Optokoppler und dann ein USB-UART Interface. Das bekommst du aber mit Sicherheit nicht an einem Stück als fertiges Produkt. > Oder mache ich mir einfach zu große Sorgen mit der Trennung Warscheinlich ja, aber ohne die Betriebumgebung zu kennen kann niemand diese Frage vernünftgi beantworten. > bei dem Gedanken, zwei von verschiedenen Netzteilen versorgte > Geräte ohne Trennung direkt mit einem Controller zu verbinden, > fühle ich mich nicht so richtig wohl. Dann liegst du falsch. Jedes normale PC Zubehör (Drucker, externe Festplatte, Monitor) und praktisch alle Geräte der Unterhaltungselektronik (Fernseher, Receiver, Spielkonsole, Bluray Player) haben auch keine Potentialtrennung an ihren Schnittstellen.
Stefan U. schrieb: > Alternativ kannst du ein µC Board ohne USB Interface verwenden, > dann zwei Optokoppler und dann ein USB-UART Interface. Dann kriege ich PC-seitig wieder ein CDC, was nicht funktioniert. Stefan U. schrieb: >> Oder mache ich mir einfach zu große Sorgen mit der Trennung > Warscheinlich ja, aber ohne die Betriebumgebung zu kennen kann niemand > diese Frage vernünftgi beantworten. Auf der einen Seite ein normaler PC, der per USB an den Controller angeschlossen ist; auf der anderen Seite ein gewöhnliches PC-Netzteil, welches ein Gerät speist, welches ebenfalls am Controller angeschlossen ist.
> Dann kriege ich PC-seitig wieder ein CDC, was nicht funktioniert. Nein, PC Seitig hast du einen Waschechten USB-UART Chip (FT-232, CP2201, PL2302, CH-340, oder so). Der Optokoppler sitzt an den RxD und TXD Leitungen zwischen dem USB-UART und den Mikrocontroller. > Auf der einen Seite ein normaler PC, der per USB an den Controller > angeschlossen ist; auf der anderen Seite ein gewöhnliches PC-Netzteil, > welches ein Gerät speist, welches ebenfalls am Controller angeschlossen > ist. Das ist doch der Idealfall, wo du gar keine Potentialtrennung benötigst. Potentialtrennung wäre nur dann nötig, wenn die GND Leitungen der Netzteile geerdet wären (was bei PC Netzteilen üblicherweise der Fall ist) und die beiden Netzteile so weit entfernt vorneinander aufgestellt sind, dass ihre GND/Erde Potentiale erheblich voneinander abweichen. Innerhalb eines Gebäudes brauchst Du Dir darum jedenfalls keine Sorgen machen. Und für so lange Strecken, wo es ein Problem wäre, ist USB ohnehin nicht geeignet.
Stefan U. schrieb: >> Dann kriege ich PC-seitig wieder ein CDC, was nicht funktioniert. > Nein, PC Seitig hast du einen Waschechten USB-UART Chip (FT-232, CP2201, > PL2302, CH-340, oder so). Ich brauche aber ein MSC, weil ich mit dem Gerät SCSI sprechen muss (bzw. etwas funktional ähnliches). :-) Stefan U. schrieb: > Das ist doch der Idealfall, wo du gar keine Potentialtrennung benötigst. Gut, dann fühle ich mich beruhigt und hab mal ein Arduino Pro Micro bestellt. Leider haben die AVRs keinen vollständigen Port herausgeführt, aber damit muss ich dann wohl leben. :-)
> Ich brauche aber ein MSC, weil ich mit dem Gerät SCSI sprechen muss > (bzw. etwas funktional ähnliches). :-) Schön, dass du damit erst jetzt raus rückst. Bisher waren ers nur 20 I/O Pins. Was ist ein MSC? > Leider haben die AVRs keinen vollständigen Port herausgeführt Beim Crumb644 Modul hast du 3 ganze Ports (A, B und C).
Stefan U. schrieb: > Was ist ein MSC? USB definiert ein paar Standardklassen, u.a. HID (Human Interface Device), CDC (Communication Device Class) und auch MSC (Mass Storage Class). Stefan U. schrieb: >> Leider haben die AVRs keinen vollständigen Port herausgeführt > Beim Crumb644 Modul hast du 3 ganze Ports (A, B und C). Der kann kein USB. Ich brauche schlicht ein vollwertiges USB Full-Speed Interface, keine serielle Schnittstelle. Warum ignorieren das alle?
Das ignoriert niemand. Du hast nur versäumt, dies als Anforderung zu nennen.
S. R. schrieb: > Also suche ich ein Board für > kleines Geld, wo ein USB-fähiger Controller (Full-Speed!) drauf ist. S. R. schrieb: > Das Gerät entspricht im Prinzip einer Standardklasse (kein CDC), > deswegen brauche ich Unterstützung für Full Speed. S. R. schrieb: > Dann kriege ich PC-seitig wieder ein CDC, was nicht funktioniert. Seufz.
Dann nimm Dir halt eine Lochrasterplatine, bau da einen PIC18F45K50 im DIL-40 drauf, 16 MHz Quarz, die unvermeidlichen 100n Kondensatoren zwischen Vdd und Vss, einen 470n Kondensator zwischen Vusb und GND, und eine USB-B Buchse. Das kann ja nicht so schwer sein. Läuft mit 5V, hat Hardware-USB und genügend IO-Pins. Datenblatt: http://ww1.microchip.com/downloads/en/DeviceDoc/30000684B.pdf Demo-Board: http://ww1.microchip.com/downloads/en/DeviceDoc/51526C.pdf Den fertigen USB-Stack gibts bei Microchip, da ist auch MSD mit dabei. fchk PS: ich vergaß den 5-Pin Header fürs PICKIT3 und den 10k zwischen !MCLR und Vdd
:
Bearbeitet durch User
Frank K. schrieb: > Dann nimm Dir halt eine Lochrasterplatine, bau da einen PIC18F45K50... Genau das wollte ich ja vermeiden, außerdem habe ich keine USB-fähigen Chips rumliegen. Ist inzwischen aber auch egal, denn ich hab mir ein Arduino Pro Micro (die mit ATmega32U4) bestellt. Danke trotzdem.
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.