USB-Board mit externer Versorgung und 5V-Kompatiblität

OP #4915825
Lesenswert?

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
Gast #4915887
Lesenswert?

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
OP #4915922
Lesenswert?

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.
Gast #4916286
Lesenswert?

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.
OP #4916297
Lesenswert?

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.
Gast #4916304
Lesenswert?

> 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.
OP #4916342
Lesenswert?

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. :-)
Gast #4916385
Lesenswert?

> 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).
OP #4916450
Lesenswert?

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?
#4916634
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren