www.mikrocontroller.net

Forum: PC-Programmierung Kommunikation per USB


Autor: Schntizi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits:
Folgende Thematik:
Ich habe eine Messelektronik, insbesondere einen A/D-Wanlder. Dessen
Daten möchte ich per USB an den Pc schicken.
Mein Problem:
Ich möchte ein C/C++ Programm erstellen (besitze einen recht einfachen
aber guten von bloodshet), mit dem ich in der Lage bin, Daten über USB
zu senden und zu empfangen. Ich habe gelesen, dass ich hierzu eine API
brauche.
Ich blicke bei dieser Thematik jedoch noch nicht ganz durch. Wer kann
mir Tipps, Hilfe oder auch Links geben. Bin für jegliche Hilfe
dankbar.

Gruß Schnitzi

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hängt davon ab, auf welche Art und Weise Deine Hardware per USB mit
dem PC verbunden ist.
Wenn beispielsweise die beliebten FTDI-USB-Chips verwendet werden,
musst Du auf der PC-Seite Dich um nicht sonderlich vieles kümmern - das
verhält sich exakt wie eine serielle Schnittstelle.

Wenn andere USB-Hardware verwendet wird, solltest Du Dich kundig
machen, was für eine das ist und mit was für Devicetreibern die
ausgestattet ist.
Erst mit diesem Wissen kannst Du entscheiden/rausfinden, wie das ganze
mit Deinem C-Compiler anzusprechen ist.

Bloodshed (das Blutvergießen) wird mit 'd' geschrieben.

Autor: Schntizi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus:
@Rufus
Sorry für den blutigen Schreibfehler

Ich habe ein relativ altes Mainboard, bei dem ich den USB selbst per
Steckverbinder aufs Mainboard stecken musste. Ich schau heute abend
mal, was sich für IC´s dort so rumtummeln.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halt, es geht nicht um die USB-Schnittstelle Deines PCs, sondern um
die Art und Weise, mit der Deine andere Hardware mit USB verbunden
wird:

  "Ich habe eine Messelektronik, insbesondere einen A/D-Wanlder."

Wie ist die mit dem USB verbunden?

Autor: Schntizi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also,
die elektronik existiert bisher nur in meinem Kopf. Ich werde einen
schnellen ADC verwenden, der die Daten seriell ausgibt (macht ja auch
sonst keinen Sinn diesen mit USB zu verwenden). Soll dann in etwa so
funktionieren:
z.B. 16 BIT ADC:
PC -> ADC   1.CLK-Takt gleichzeitig enable chip-select
ADC -> PC   1.Datenbit
PC -> ADC   2.CLK
ADC -> PC   2.Datenbit
usw.
PC -> ADC   16.CLK + disable CS

Aber zuerst will ich mich mit der USB Schnittstelle beschäftigen, d.h.
ich möchte z.B. ein einfaches Programm schreiben mit dem ich
feststellen kann, ob die RD-Leitung auf High oder Low-Pegel liegt.
D.h. bevor ich per USB auf meine Elektronik losgehe, möchte ich doch
den ersten Schritt machen und die USB-Schnittstelle kennenlernen.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich werde einen schnellen ADC verwenden, der die Daten seriell ausgibt
(macht ja auch sonst keinen Sinn diesen mit USB zu verwenden)."

Du solltest Dich vorher erst einmal damit beschäftigen, was USB ist.
Mir scheint, daß Du da noch die eine oder andere Wissenslücke* hast.

Das ist keine serielle Schnittstelle, an der Du nach belieben
irgendwelche Signale anlegen könntest.

Aus genau diesem Grund hat es auch überhaupt keinen Sinn, zu versuchen,
per Software auf die von Dir angedachte Art und Weise mit der
USB-Schnittstelle zu "kommunizieren".

Sieh' Dir einfach spaßeshalber mal die Spezifikationen unter
www.usb.org an.

*) klaffend, weit.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was meinst du mit der RD-Leitung, bei USB gibts nur die D+ und D-
Leitung. Ich fürchte, so einfach wird das Programm nicht denn es wird
ein Treiber notwendig sein und den mußt du programmieren.

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Schnitzi !
Mit dem FTDI 245 BM lässt sich dein Problem sehr einfach lösen.
Mit diesem Chip gibt es zwei Möglichkeiten den AD Wandler ueber usb zu
steuern.
Einmal geht es über den sogenannten BitBang Modus mit dem sich die acht
datenbit des 245BM einzeln ansteuern lassen, die zweite möglichkeit
braucht einen microcontroller dazu, mit einem stück software dazu. die
api für die ansteuerung der ftdi-chips sind frei verfügbar.
ich realisiere derzeit ein ähnliches projekt, wenn du mehr wissen
möchtest .> e-mail, würde sonst den rahmen hier sprengen.
du solltest dich allerdings schon mal kurz mit den usb grundlagen
vertraut machen, da ein steuern einzelner leitungen, wie z.B. bei der
seriellen oder parallelen schnittstelle bei usb nicht möglich ist,
infos kannst du auch von mir haben !

ciao
chris

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.