www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Max Baudrate einen ATMega ?


Autor: Thorsten Lauf (tlauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte ein RS485 Netzwerk aufbauen.Jetzt habe ich gelesen, das ein
Max-485 bis zu 2,5 Mbit laut Datasheet beherscht.

Meine Frage:
Wie hoch kann man mit der Baudrate eines ATMega 32 16Mhz eigentlich
gehen?

Danke im vorraus !
Thorsten

Autor: Sssssss (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht im Datenblatt ;)
Irgendwo hinten is ne Tabelle. Bin grad zu faul zum suchen 8)

Autor: Thorsten Lauf (tlauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahja hab noch nie soweit gesucht :-)

Danke !
Thorsten

Autor: stevko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Torsten,

Seite 163 -> 2400bps ... 250k.
Mit meinem Standardquarz(16MHz) ist aber bei 57.6k Feierabend, die
Fehlerrate ist enorm.

Gruß
  Stevko

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Vorteiler 1, je nach UART-Mode 1MBaud (/16) oder 2MBaud (/8).


Peter

Autor: Thorsten Lauf (tlauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@stevko
Hm versteh ich nicht, da steht doch bei 250k 0,5 und 1 Mbit Error 0%
!?
Verwende einen Quarzosszilator von Reichelt 16,00000Mhz

Thorsten

Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zum Thema Baudraten ein paar Anmerkungen ...
1. Wenn man mit einem geraden Quarz oder Taktgeber (also 2^n*1 MHz)
arbeitet, dann kann man bei bestimmten Baudraten 0% Fehlerrate
erreichen. Diese Baudraten sind aber meist nicht dazu geeignet mit
anderen Geräten serielle Verbindungen wie RS232 aufzubauen, da diese
andere Baudraten verwenden.

2. Für die Kommunikation mit anderen Geräten gibt es
baudratenfreundlichen Taktgeber (z.B. 11,592 Mhz oder so, weiß ich
jetzt nicht genau). Mit denen erreicht man bei den
kommunkationsüblichen Baudraten (z.B. 57,6 kBaud) immer 0% Fehler.

3. Der Fehler am Mikrocontroller wirkt zusätzlich zu einem Fehler des
Baudratengebers im anderen Gerät (z.B. PC) - dieses gehen auch nicht
hundertprozentig genau - ich hatt da schon einige interessante Sachen
gemessen.

4. Wenn man einen geraden Takt verwenden möchte (oder muss), dann kommt
es bei der möglichst schnellen Kommunikation auf die Richtung an. Läuft
beispielsweise der Mikrocontroller mit seiner eingestellten Baudrate
dem Rechner hinterher, dann kommt es beim Empfang von Daten eher zu
Problemen als beim Senden (selbst beobachtet und auch rechnerisch
plausibel). Manchmal kann das Abweichen von den im Datenblatt
angegebenen Einstellungen für den Vorteil etwas bringen - das sind dann
aber Einzelfalllösungen und muss auch für den Einzelfall ausgerechnet
werden.

Zusammenfassend kann man sagen, dass man seine Prioritäten bei der
Auswahl der Baudraten sorgfältig setzen muss. Man muss sich eben die
Frage stellen, ob man die vollen möglichen 16 doer 8 MHz wirklich
braucht (meistens eher nicht). Außerdem muss man such überlegen, wie
wichtig eine schnelle Kommunikation ist - wenn man nicht gerade Dateien
oder große Mengen Messdaten überträgt, dann reichen schon recht niedrige
Datenraten.
Bei einem Entwicklungssystem sollte man berücksichtigen, dass man beim
Einsatz eines Bootloaders mit sehr niedrigen Baudraten unter Umständen
gewisse Wartezeiten in Kauf nehmen muss.


Noch ein Wort zur Messdaten- oder Dateiübertragung via serielle
Schnittstelle. In manchen Fällen ist gar nicht nötig, eine große Menge
Daten üebr die serielle Schnittstelle zu übertragen. Beim Projekt eines
Bekannten wurde das zunächst auch so gelöst (Datenlogger in
Kfz-Umgebung). Es hatten sich da in einem Datenflash-Speicher (war
schon auf der vorgegebenen Hardware integriert) einige MB Daten
angesammelt. Die Übertragung dieser Daten üebr die serielle
Schnittstelle war reglmäßig nervig lang. Da im Programmspeicher eh noch
Platz war und die Hardware schön erweiterbar ausgelegt war, wurde
einfach eine SPI-fähige Speicherkarte integriert und die Daten auf die
Speicherkarte geschrieben - das geht ziemlich fix. Ein weiterer Vorteil
liegt darin, dass der Logger in der Messumgebung verbleiben kann und nur
die Speicherkarte entnommen wird.
Mir ist aber klar, dass es auch andere Anwendungen gibt, in denen ein
Flashmedium oder ähnliche Lösungen inadäquat sind - bei meinem
MP3-Player-Projekt ist das auch so ;-).


MfG, Daniel.

Autor: Thorsten Lauf (tlauf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für diese Anmerkungen, sehe ich auch alles so, aber ich wollte ein
RS485 Netzwerk aufbauen das ca.250 Signale einlesen soll und soweit wie
möglich in Echtzeit wiedergibt.Dachte auch erst an 19200 Baud.
Es war auch eher eine grundsätzliche Frage.

Also kann ich laut Datasheet davon ausgehen, das (30 ATMega's
untereinander Master/Slave) mit max 1Mbit bei 16Mhz theoretisch 0%
Fehler haben !?

Thorsten

Autor: Daniel Braun (khani)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

bei 1MBit oder 500kBit oder so schon. bei 19200Baud nicht ....

Wenn Du ein abgeschlossenes System designst, dann kannst Du aus der von
Dir angesprochenen Tabelle einen Werte öfür die Baudrate aussuchen, die
einen Fehler von 0% (Achtung : Das ist nur der Timing-Fehler - da
kommen noch Signal- und Laufzeitfehler dazu !) erzeugt.

MfG, Daniel.

Autor: hans dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein tip:
anstatt einen 14.7456 MHz Quarz einen 15 MHz Quarz nehmen (weil
einfacher zu beschaffen). Dann ist der Fehler bei 1% die 100ppm des
Quarzes schlagen da nicht mehr so viel dazu.

Der maximale Fehler, bei dem noch eine Kommunikation möglich ist, liegt
bei ca. 3.5%. Wenn man sich im Bereich der Hälfte bewegt ist man immer
noch auf der sicheren seite.

Ausserdem ist man bei rs 485 nicht so sehr an die bei PCs üblichen
baudraten gebunden. Es ist halt immer nur notwendig im gesamten
Netzwerk den kleinsten gemeinsamen nenner als baudrate zu verwenden.

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die RS (EIA) 232 oder auch 485 normen doch nicht irgendwelche festen
Baud-, pardon Bit-Raten sonder eher den elelktrischen Teil der
Schnittstelle. In der PC Technik kann man da wohl nur von üblichen
Geschwindigkeiten im Bereich 1200...115200 Bit/s reden. Bei serieller
Datenübertragung sind durchaus auch andere Bitraten üblich. Kommt halt
immer auf die Anwendung an.

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.