mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warum gibts Probleme mit USB <-> RS232?


Autor: öhm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, wollt nur mal fragen warum es bei vielen Konvertern immer zu 
Problemen bei der Erkennung / Programmierung der µC kommt?

Gibt es keine Konverter die 100% funktionieren?

Treten diese Probleme nur beim Programmieren des µC auf oder auch in der 
normalen Kommunikation zwischen Eigenentwicklung und PC?

Würde ja dem Endanwender schon gern eine sichere Schnittstelle bei den 
Geräten liefern wollen...

Danke schonmal für die Antworten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
öhm schrieb:
> Hi, wollt nur mal fragen warum es bei vielen Konvertern immer zu
> Problemen bei der Erkennung / Programmierung der µC kommt?

Weil viele 'Brennprogramme' die serielle Schnittstelle nicht als 
serielle Schnittstelle verwenden, sondern als einfache Möglichkeit 
benutzen um vom PC-Programm aus mit ein paar Ausgängen zu wackeln.

Im Grunde ist es ja auch wirklich einfach: Um einen AVR zu 
programmieren, musst du nur ein paar Pins in der richtigen Reihenfolge 
und mit dem richtigen Timing von 0 auf 1 und umgekehrt schalten.

Das hat aber nichts mehr mit dem ursprünglichen Verwendungszwck der 
seriellen Schnittstelle zu tun. Und demensprechend tun sich die 
RS232-USB Umsetzer schwer damit, diese Bitwacklerei über die 
'Zwischenschicht' USB zu transportieren.

Dort wo ein externer Programmer existiert, der über RS232 Kommandos und 
Daten in Form einer ganz normalen seriellen Datenübertragung bekommt, 
gibt es auch keine Schwierigkeiten mit einem USB Umsetzer dazwischen.

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dort wo ein externer Programmer existiert, der über RS232 Kommandos und
>Daten in Form einer ganz normalen seriellen Datenübertragung bekommt,
>gibt es auch keine Schwierigkeiten mit einem USB Umsetzer dazwischen.

Wenn man grottig langsam nicht als "Schwierigkeiten" bezeichnet, dann
stimmt das. Einzelne Bytes über einen USB-Seriell Wandler zu schicken
kann sehr lange dauern. Bei USB nimmt man am besten größere Pakete.
Der Sender sollte also auf jeden Fall an die USB Gemeinheiten angepasst
sein.

Autor: öhm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also liegen die Probleme nicht an den Konverten sondern an den 
Programmen die die µC Programmieren?

Gibt es denn keine zeitgemäßere Lösung um eigene Entwicklungen mit dem 
PC zu verbinden und kommunizieren zu lassen?

Wie wäre es mit einem echten USB Anschluss an der Eigenentwicklung?

Ist USB denn so ein Hexenwerk, dass man das erst studiert haben muß um 
es ordentlich zu verwenden?

Autor: Björn R. (sushi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt z.B. V-USB, das ist eine Bibliothek, mit der du deine eigenen 
USB-geräte mittels AVR realisieren kannst.
Ob das nun einfach ist, kann ich nicht sagen, habe es selbst noch nicht 
ausprobiert.(Steht aber noch an)
LG, Björn

Autor: Diensthabender Troll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es denn keine zeitgemäßere Lösung um eigene Entwicklungen mit dem
> PC zu verbinden und kommunizieren zu lassen?

Dazu (für die Kommunikation zwischen PC und MC-Software) sind die 
USB-Seriell-Adapter bestens geeignet. Nicht bzw. schlecht geeignet sind 
sie, wenn die serielle Schnittstelle außerhalb der RS232-Norm für 
Bitbanging missbraucht wird, wie das z.B. Ponyprog macht.

Zeitgemäße Programmer haben einen eigenen Mikrocontroller, der das 
Timing zum Target selbst macht und mit dem PC per RS232 oder über USB 
kommuniziert (Datenblöcke tauscht).

Geiz (beim Programmer) ist eben geil...

Autor: öhm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es denn nicht sowas wie einen programmierbaren USB Controller. Dem 
man nur noch mit den Eckdaten einrichten muß und dann über den von 
seinem µC mit dem PC kommunizieren kann?

Der also das ganze Timing u.s.w. übernimmt. Man sag ihm als was er sich 
beim PC melden soll, und man selbst schickt nur noch Daten zum USB 
Controller.

Auf dem PC müßte dann sowas wie ein standart Treiber sein der einfache 
Funktionen wie Rx / Tx u.s.w. zur verfügung stellt um dann in der 
eigentlichen Software leicht angesprochen zu werden...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst einen Bootloader draufmachen auf dein Controller dann kannst 
du ihn anschließend per Rs232 direkt programmieren dann gibts auch keine 
Probleme.

Du kannst aber auch ein Programmer mit integriertem Controller verwenden 
dann hast du auch keine Probleme mit USB-Serial Wandlern. Bsp: STK500, 
USB-ASP, USB-ISP,...

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
öhm schrieb:
> Hi, wollt nur mal fragen warum es bei vielen Konvertern immer zu
> Problemen bei der Erkennung / Programmierung der µC kommt?
>
> Gibt es keine Konverter die 100% funktionieren?

Ich kann nicht klagen, alle Konverter, deren ich habhaft werden konnte, 
funktionieren zu 100%.

Sowohl im AVRStudio am STK500, als auch am AVR direkt, als auch mit 
meinem Bootloader.
Und an meinem I2C-Sniffer erreiche ich sogar 460800Baud (mit der echten 
RS-232 nur 115200Baud).

Ich weiß also nicht, wie Du darauf kommst, daß es Probleme geben sollte.


Peter

Autor: Diensthabender Troll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich weiß also nicht, wie Du darauf kommst, daß es Probleme geben sollte.

Er meint wohl Ponyprog-Bitbanging-Probleme.

MfG

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit einem USB Serial Adapter und einem AVR ISP der alten generation 
(mit COM halt) klappt das Programmieren sehr schnell und zuverlässig. Es 
kommt auf die Intelligenz im Programmer an. Aber das haben wir ja hier 
jede Woche mindestens 2 Mal ausgiebig erörtert. Das Bitgewackel geht an 
USB ohne extra Controller nicht.

> Gibt es denn nicht sowas wie einen programmierbaren USB Controller. Dem
> man nur noch mit den Eckdaten einrichten muß und dann über den von
> seinem µC mit dem PC kommunizieren kann?

Klar gibts das. Nennt sich zum Beispiel AVRISP oder auch die AN910 
Programmer oder die ganzen Nachbauten mit dem Soft-USB, also AVR-Lab 
oder oder oder

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.