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


von öhm (Gast)


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.

von Karl H. (kbuchegg)


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.

von dummy (Gast)


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.

von öhm (Gast)


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?

von Björn R. (sushi)


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

von Diensthabender Troll (Gast)


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...

von öhm (Gast)


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...

von Gast (Gast)


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,...

von Peter D. (peda)


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

von Diensthabender Troll (Gast)


Lesenswert?

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

Er meint wohl Ponyprog-Bitbanging-Probleme.

MfG

von Christian R. (supachris)


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

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
Noch kein Account? Hier anmelden.