mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 krumme UART Baudraten in einem µC ?


Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

ich muss mir ein kleines MIDI / Seriell Tool bauen, d.h. ich brauche
einen Controller mit 2 UARTS (z.B. MEGA128). Soweit kein Problem,
allerdings hat die Midischnittstelle 31250 Baud und die serielle soll
eben eine Standardbaudrate verwenden. Wie soll ich das nun mit den
Quarzen lösen, es gibt keinen Quarz mit dem ich für beide Ports an
Baudratenabweichungen um die 0% hinkomme ?!
Kann man vielleicht einen 2. Quarz(oszillator) noch irgendwie anhängen
? Im Datenblatt ist das bei "synchronous mode" angedeutet, bin mit
aber nicht sicher ob's das ist...

MfG
Stefan

Autor: Jürgen Schuhmacher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht denn das nicht über einen externen Timer, der einen Port-In füttert
und durchgeschleift wird? Das einzige, was dort dann jittert wäre die
Reaktion des Prozzis auf den Port, was bei dem 128er von der
Geschwindigkeit kein Thema sein sosllte, oder?
Die MIDI-Uart wäre dann halt in Software ...

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

bei 8,0000 MHz kriegt man die 31250 glatt hin und zum Beispiel 38400
mit einem Fehler von 0,17%. Das funktioniert schon noch :)

Viele Grüße


PS: Kein Gewähr und so...

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Thomas,

jo, darauf wirds wohl hinauslaufen müssen... Ist nur die Frage ob ein
Fehler von 0,17% wahnsinnig schlimm oder wahnsinnig Banane ist. Naja,
bleibt nur testen. Vom Gefühl her sollts aber noch ok sein...

Danke,

Stefan

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Fehler <3% funktioniert zwar, für die Endlösung sollte der Fehler
aber <1% liegen, dann hat man eigentlich nie Fehler bei der
Übertragung.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll denn dieses Adapter nichts anderes machen, als nur PC-Signale auf
Midi umsetzen? Dann wäre auch eine Software-UART möglich. Das heißt: Du
kannst einen kleineren Controller benutzen, nimmst die eingebaute UART
für das MIDI und die Software-UART für den PC.

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uäha, Software UART, genau das wollte ich vermeiden. Von sowas hab ich
eine Phobie seit ich auf einem ATTiny26 einen I2C Slave programmieren
musste ;-)

Und wie gut ist die Ganggenauigkeiten von Software UARTs ?

Stefan

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also alles unter 1% ist voll O.K.

Brauchst also keine Soft-UART.

Ein ATMega162 tuts.


Peter

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Software-UART ist doch überhaupt nicht tragisch. Wenn man das Ganze
Timer-basiert macht, ist er genauso genau wie das Quarz.

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, aber wenn man das so "gut" machen will wie die Hardware UART
(siehe Datenblatt, da wird jedes bit 3x gesampelt und so Störspitzen
unterdrückt) isses doch ziemliches gewurstel. Werd mir warscheinlich
dann einen Mega162 greifen, 8MHz dran, dann stimmt die Midibaudrate
haargenau, und die 38k4 gehen um 0,17% daneben. Viel lieber wäre mir
57k6, aber da ist dann der Fehler zu groß, aber 38k4 ist auch ok...

Stefan

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch ne Möglichkeit: die SPI-UART von Maxim. Leider etwas teuer, hat mir
aber mal ein Design gerettet (Zusatzplatine auf den ISP-Stecker des
MC-Boards :-)), nachdem nachträglich weitere Anforderungen kamen. 400
Platinen waren schon komplett bestückt, Kunde war froh, dass die
Platinen mit erträglichem Aufwand nutzbar blieben.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm doch ein 12MHz Quarz, dann ist der Fehler bei 57600 Baud 0,16%.


Peter

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grummel, Rechnen sollte man können, hatte in meinem Excel Datasheet
viele Quarze getestet, aber kurz vor 12 MHz ist was dazwischengekommen
;-)

Danke Peter, so isses dann optimal für mich !

Stefan

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.