Forum: Mikrocontroller und Digitale Elektronik Frage zu AVR -> RS-232 -> PC


von L. K. (Firma: evoid.de) (thevoid)


Lesenswert?

Ich suche nach einer Möglichkeit, Daten von einem AVMega8 per seriellen 
Anschluss (RS-232) an meinen Rechner zu senden. So weit ich 
Informationen dazu finden konnte, verstehe ich es so, dass ich erst 
einmal die Pegel umwandeln muss:

  0 bis 0.8 V wird zu -3 bis -15 V
  mehr als 2 V wird zu 3 bis 15 V

So weit kein Problem. Was ich jedoch garnicht verstehe ist, in was für 
Abständen ich die Pegel senden muss. Kann mir das jemand beantworten 
oder einen nützlichen Link geben, wo dies gut dokumentiert ist?

Danke im Voraus!

von Falk B. (falk)


Lesenswert?


von L. K. (Firma: evoid.de) (thevoid)


Lesenswert?

Ich möchte weder UART noch MAX232 benutzen. Ich will alles nötige 
aufbauen. Den Artikel zu RS-232 habe ich mir bereits angesehen, jedoch 
geht aus ihm für mich keine Antwort auf meine Frage hervor.

Ist es etwa so, dass ich theoretisch beliebig schnell die Daten 
versenden kann, solange der Empfänger mit dem Lesen mithalten kann?

von Falk B. (falk)


Lesenswert?

@ L. Kostrykin (Firma evoid.de) (thevoid)

>Den UART möchte ich nicht benutzen. Ich will das ganze selber
>implementieren und aufbauen.

Warum? lange Weile? ist der UART zu einfach und sicher in der Anwendung?

Was du suchst ist ein Soft-UART.

AVR Bootloader FastBoot von Peter Dannegger

Dazu gibt es auch ne Application Note von Atmel.

http://www.atmel.com

>Ist es etwa so, dass ich theoretisch beliebig schnell die Daten
>versenden kann, solange der Empfänger mit dem Lesen mithalten kann?

Ja. Aber das kann auch ein UART. Ich versteh dein "Problem" nicht 
wirklich.

MFG
Falk

von crazy horse (Gast)


Lesenswert?

UART ist Sch..., macht viel zu viel allein, entlastet den MC, vermeidet 
das Taktezählen in einem MC.
MAX232 ist auch Sch..., liefert saubere Pegel, erzeugt die negative 
Spannung selbst, ist kurzschlussfest und verkraftet einiges an den 
Eingängen.
Das braucht man alles nicht. Ich will meine MC-Zeit verschwenden, ich 
liebe Transistorgräber, die ab und zu kaputtgehen und dann auch gleich 
noch den MC himmeln. Und ich will Netzteile, die mir auch -12V liefern, 
ist doch alles viel einfacher.

von L. K. (Firma: evoid.de) (thevoid)


Lesenswert?

Ich will das ganze nicht, um es auch am Ende einzusetzen, sondern um die 
ganze Geschichte besser kennen zu lernen.

von Falk B. (falk)


Lesenswert?

@ L. Kostrykin (Firma evoid.de) (thevoid)

>Ich will das ganze nicht, um es auch am Ende einzusetzen, sondern um die
>ganze Geschichte besser kennen zu lernen.

Warum wills du es dann kennenlernen?!?

MfG
Falk

von L. K. (Firma: evoid.de) (thevoid)


Lesenswert?

Naja, wie dem auch sei, für den Anfang will ich mich dann wohl lieber
doch mit dem UART beschäftigen :)

Jedenfalls habe ich das entspechende Tutorial hier durchgearbeitet und
versuche jetzt das Programm auszuführen, dass mir an den PC einfach nur
Zeichen sendet. Ich verwende ein MyAVR 2 USB Board.

Das Problem, das ich habe, ist folgendes: Standardmäßig ist meine 
COM-Anschluss (eigentlich USB, aber emuliert) auf eine Baudrate von 
115200 gesetzt. Mit dieser Baudrate kann ich den ATmega8 programmieren. 
Im Datenmodus kommt bei dieser Baudrate aber nur Mist raus, ich muss sie 
niedriger setzen. Nun ist es etwas umständlich, zwischen Programmierung 
und Versuch immer wieder die Baudrate meiner COM-Schnittstelle ändern zu 
müssen. Gibt es eine Möglichkeit, das MyAVR-Board dazu zu bringen, auch 
zum Programmieren eine niedrigere Baudrate zu verwenden?

Was mache ich falsch?
Danke im Voraus!

von yalu (Gast)


Lesenswert?

@Falk Brunner:

>> Ich will das ganze nicht, um es auch am Ende einzusetzen, sondern
>> um die ganze Geschichte besser kennen zu lernen.
>
> Warum wills du es dann kennenlernen?!?

Es ist doch nicht schlimm, wenn jemand  auch einmal etwas tiefer in
die Materie einsteigen möchte. Im Gegenteil: Würden sich bspw. mehr
Leute den Aufbau und die Funktionsweise der Delay-Funktionen in der
AVR-Libc anschauen, kämen weniger Fragen der Art "Mein Miniprogramm
braucht über 3KB, woran liegt das?" ;-)

@L. Kostrykin:

Gibt es irgendwo einen Schaltplan zum USB-Aufsatzboard des MyAVR 2
USB? Ich frage mich gerade, wie dieses im UART-Bridge-Modus
funktioniert. Wird dort der USB-Seriell-Konverter direkt mit dem
Ziel-Controller auf der Grundplatine verbunden, oder werden die Daten
über den auf dem Aufsatzboard befindlichen Controller geschleust? Ist
letzteres der Fall, ist die Baudrate der Übetragung zwischen den
beiden Controllern nicht unbedingt die gleiche wie zwischen dem PC und
dem Controller des Aufsatzboards.

Ich selbst habe noch nie Probleme mit USB-Seriell-Konvertern
(allerdings von FTDI, nicht von Silabs, sollte aber keinen großen
Unterschied machen) gehabt, insbesondere dann nicht, wenn der
Konverter über kurze Leitungen direkt mit dem Controller verbunden
ist, was ja auch beim MyAVR-Board der Fall ist. Normalerweise verwende
ich dann 230400 Baud, weil das die höchste Geschwindigkeit ist, die
PC-seitig von den meisten Betriebssystemen und Anwendungen
out-of-the-box unterstützt wird. Wahrscheinlich würden aber auch
wesentlich höhere Baudraten noch funktionieren.

von Falk B. (falk)


Lesenswert?

@ yalu (Gast)

>
> Warum wills du es dann kennenlernen?!?

>Es ist doch nicht schlimm, wenn jemand  auch einmal etwas tiefer in
>die Materie einsteigen möchte.

Überhaupt nicht. Aber es sich genauer anzuschauen, um es dann NICHT 
einzusetzen ist meist recht sinnfrei.

"Ich will das ganze nicht, um es auch am Ende einzusetzen, sondern um 
die ganze Geschichte besser kennen zu lernen."

MfG
Falk

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.