mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 über USB


Autor: Heinz B. (hez)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hello,

angeblich soll es möglich sein, eine RS232 über einen USB-Port zu 
simulieren.

PC USB --- USB-RS232-Adapter --- uC-Board RS232

Dazu braucht man nur auf dem PC einen Treiber installieren. Allerdings 
frage ich mich, was hier genau abläuft.

Auf dem PC gibt es einige USB-Stecker. An einem hängt die Tastatur, an 
der nächsten die Maus. An einem der restlichen freien USB-Stecker soll 
dann via USB-RS232-Adapter das uC-Board angeschlossen werden.

Wie entscheidet der PC, über welchen USB-Bus dann die RS232-Verbindung 
simuliert werden soll? Könnte dann plötzlich meine Tastatur nicht mehr 
funktionieren? Und wie finde ich unter Windows heraus, an welchen 
USB-Port ich dann das uC-Board anschließen muss?

Autor: Daniel F. (df311)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz B. schrieb:
> Wie entscheidet der PC, über welchen USB-Bus dann die RS232-Verbindung
> simuliert werden soll? Könnte dann plötzlich meine Tastatur nicht mehr
> funktionieren?
das entscheidet die kiste gleich wie sie zwischen maus und tastatur 
unterscheidet: über die geräte-id

> Und wie finde ich unter Windows heraus, an welchen
> USB-Port ich dann das uC-Board anschließen muss?
das ist einfach: ist ein usb-port frei? dann nimm ihn ;-)
und wenn du in die lage kommen solltest, dass keiner mehr frei ist, dann 
kauf dir einfach ein usb-hub.

es kommt aber auch darauf an, was du mit dem usb-rs232 anschluss machen 
möchtest: programmieren über z.b. ponyprog geht damit nur ganz langsam, 
da ist das geld besser in z.b. ein stk500 investiert. wenn du dich nur 
mit dem controller "unterhalten" willst, kannst du auch einen 
billig-adapter aus der schütte beim blödmarkt o.ä. nehmen...

Autor: Julian O. (juliano)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube, du hast das Prinzip hinter einem Bus (USB = 
UniversalSerialBus) noch nicht ganz verstanden:
http://de.wikipedia.org/wiki/Bus_(Datenverarbeitung)

Autor: ... ... (docean) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz B. schrieb:
> Und wie finde ich unter Windows heraus, an welchen
> USB-Port ich dann das uC-Board anschließen muss?

Du siehst in Win eine ganz normale ser. Schnittstelle wie ein "echter" 
COM Port auch.

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Julian O. schrieb:
> das Prinzip hinter einem Bus (USB = UniversalSerialBus)

Wobei USB entgegen des Namens keine Bus-, sondern eine Baumstruktur hat.

Autor: Heinz B. (hez)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>über die geräte-id

Hat der USB-RS232-Adapter so eine ID? Weil das uC-Board wird ja nicht so 
eine ID haben, wenn sie für eine echte RS232-Verbindung ausgelegt ist.
Dann muss der auf dem PC zu installierende Treiber auf den 
USB-RS232-Adapter abgestimmt sein?

>>dann nimm ihn

OK. Den Adapter kann ich also an einen beliebigen USB-Port anschließen. 
Jetzt möchte ich aber von Keil das kostenlose uVision verwenden. Das 
soll ja so supertoll sein. Habe ich auch schon installiert.

Unter
-> Options for Target (dieser komische Button)
-> Debug
-> Settings
muss man einen Port auswählen. Woher weiß ich, welchen ich auswählen 
muss??

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz B. schrieb:

> Hat der USB-RS232-Adapter so eine ID?

Ja, so eine ID (bestehend aus Hersteller und Gerätenummer) ist für jedes 
USB-Gerät zwingend notwendig und für alle Geräte eines Typs gleich.

> Weil das uC-Board wird ja nicht so eine ID haben, wenn sie für eine
> echte RS232-Verbindung ausgelegt ist.

Diese Adapter simulieren die serielle Schnittstelle nicht, sondern sie 
enthalten einen seriellen Schnittstellenbaustein, der nicht wie früher 
per ISA oder PCI, sondern eben per USB an den PC angeschlossen ist. Für 
das Gerät, das auf der seriellen Seite des Adapters angeschlossen wird, 
ist es eine echte serielle Schnittstelle.

> Dann muss der auf dem PC zu installierende Treiber auf den
> USB-RS232-Adapter abgestimmt sein?

Ja. Bei USB-Seriell-Adaptern kocht jeder Chiphersteller sein eigenes 
Süppchen, weil es anders als bei z.B. Tastaturen und Mäusen dafür keine 
generische USB-Geräteklasse mit entsprechenden universellen Treibern 
gibt.

> muss man einen Port auswählen. Woher weiß ich, welchen ich auswählen
> muss??

Ich nehme an, Du verwendest Windows: Entweder zeigt Windows Dir beim 
Anstecken des Adapters an, welcher COM-Port ihm zugewiesen wurde, oder 
Du kannst es im Gerätemanager nachschauen.

Vorsicht Fallstrick: Wenn der Adapter zusätzlich zur ID noch eine 
Seriennummer hat, bekommt er meines Wissens immer den gleichen COM-Port, 
egal in welchen USB-Port Du ihn steckst. Die meisten Seriell-Adapter 
haben aber keine Seriennummer und bekommen deshalb an jedem USB-Port 
einen anderen COM-Port.

Autor: Heinz B. (hez)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>im Gerätemanager nachschauen

Also im XP unter
-> Start
-> Systemsteuerung
-> System
-> Hardware
-> Geräte-Manager
-> Anschlüsse (COM und LPT)
Unter -> Treiber stehen dann wohl nähere Infos zu dem COM-Port. Anhand 
dieser Infos erkenne ich dann hoffentlich den COM-Port, den ich für 
uVision auswählen muss.?

Das lustige ist, dass ich hier auf meinem PC (auf diesen PC habe ich den 
Treiber noch nicht installiert) nur 1 COM-Port (COM1) aufgelistet 
bekomme. Wenn ich aber im uVision
-> Options for Target (dieser komische Button)
-> Debug
-> Settings
schaue, dass werden mir dort gleich 16 COM-Ports aufgelistet. Strange. 
Aber ich nehme mal an, ich muss dann dort auch nur den COM1 auswählen. 
Alles andere wäre ja irgendwie unlogisch.

P. S. habe eine Grafik gemacht ... wie kann ich die hier anzeigen? 
Hochladen und ..?

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heinz B. schrieb:
>>>im Gerätemanager nachschauen
> Also im XP unter [...]
> Das lustige ist, dass ich hier nur 1 COM-Port (COM1) aufgelistet
> bekomme.

Du siehst hier genau die Ports, die zu dem Zeitpunkt (intern oder 
extern) vorhanden und per Treiber in Windows eingebunden sind.

> Wenn ich aber im uVision [...] schaue, dass werden mir dort
> gleich 16 COM-Ports aufgelistet.

Ich kenne das Programm nicht, aber viele Programme "fragen" Windows 
nicht nach den vorhandenen Ports, sondern zeigen einfach eine feste 
Liste an (was ziemlich nervig sein kann, wenn die Liste nur bis COM4 
geht, der Seriell-Adapter aber COM6 bekommen hat). Wählt man einen an, 
den es nicht gibt, bekommt man eine Fehlermeldung, sobald das Programm 
versucht, den Port zu öffnen.

> Aber ich nehme mal an, ich muss dann dort auch nur den COM1 auswählen.
> Alles andere wäre ja irgendwie unlogisch.

Genau. Du wählst immer den Port an, den Dein USB-Adapter laut 
Gerätemanager bekommen hat.

> P. S. habe eine Grafik gemacht ... wie kann ich die hier anzeigen?
> Hochladen und ..?

Nicht nötig. Eine Liste, die von COM1 bis COM16 geht, kann ich mir 
gerade noch vorstellen. ;)

Autor: Heinz B. (hez)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die (selbst gebastelte) Grafik zeigt einen logischen/physikalischen 
Ablauf vom uVision bis zum uC-Board. Vielleicht interessiert es ja noch 
andere Anfänger ... wie ich auch einer bin :)

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, einfach als Dateiangang hochladen, der Rest geht meines Wissens 
automatisch.

Autor: Heinz B. (hez)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Test ...
EDIT: Mist! Da ist ja noch was falsch!!!

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na die Grafik find ich aber mal höchst verwirrend, wenn ein 
"physikalischer RS232- Port) auf einmal per USB- Kabel verbunden wird.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na die Grafik find ich aber mal höchst verwirrend, wenn ein 
"physikalischer RS232- Port" auf einmal per USB- Kabel verbunden wird.

Autor: Heinz B. (hez)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Versuch 2 :)
@Henk: ja, den Fehler hatte ich vorher auch gerade erkannt. Jetzt passts 
hoffentlich

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ne, denn das ist genau die selbe Grafik wie oben! ;-)

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, die F5 Taste hat Dich gerettet hehe. Jetzt passt es eigentlich.

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ist es besser, ich würde den logischen RS232-Port aber einfach 
COM-Port nennen, denn RS232 ist ja gerade Spezifikation der 
physikalischen Schnittstelle. Außerdem befinden sich zwischen dem 
Adapter-Treiber und dem USB-Port noch der USB-Host-Controller mit den 
dazugehörigen Treibern, was man zur Vereinfachung aber auch weglassen 
kann...

Autor: Heinz B. (hez)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt! Da hat noch der Begriff "COM" gefehlt. Ist wichtig.

Autor: Fritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wäre es mit, einfach nen "FT232R" benutzen? :)

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.