Forum: FPGA, VHDL & Co. Nios II UART / Parity, Data bits und Stop bits ändern


von Matthias G. (mgottke)


Lesenswert?

Aus der Altera Megacore Library benutze ich die UART (RS232 Serial 
Port). Ich muss per Software nicht nur die Baudrate ändern, sondern auch 
die Parity, die Anzahl Datenbits und die Stopbits ändern können.
Hat jemand einen Lösungsansatz für das Problem?

von Luggi S. (mmpls)


Lesenswert?

Hallo Matthias,

klingt so als hättest Du die Baudrate schonmal geändert, wie hast Du das 
gemacht?

Daten- und Stopbits habe ich SW-seitig noch nicht geändert ich denke 
auch, dass das gar nicht möglich ist:

Quartus II Handbook Version 8.1 Volume 5: Page 6-5:
Data Bits, Stop Bits, Parity
"The UART core’s parity, data bits and stop bits are configurable. These 
settings are fixed at system generation time; they cannot be altered 
via the register file."

Sollte ich das falsch verstehen und es doch gehen, dann wohl nur über 
die ioctl()-Funktion gehen. Schau dir das mal an:

http://forum.niosforum.com/forum/index.php?showtopic=3191&pid=12196&mode=threaded&show=&st=#entry12196

da wird zwar nur die Baudrate geändert, aber vielleicht hilfts um das 
Schema zu erkennen.

Viel Glück
und laß hören, wenns doch geht!

Grüße,
Luggi.

von SeriousSam (Gast)


Lesenswert?

> Hat jemand einen Lösungsansatz für das Problem?

Die UART selber schreiben. So schwer ist das nun auch wieder nicht und 
du weisst dann genau wie die funktioniert. Ein Avalon- oder 
Custom-Instruction-Interface ist nicht so schwer zu erstellen.

von Matthias G. (mgottke)


Lesenswert?

Danke für die Antworten, da werde ich dann wohl eine open-core Variante 
laden und ein Avalon-Interface dran stricken.

von Franki C. (Gast)


Lesenswert?

Schau msal in die system.h in der nios ide, da müsste es eigentlich 
unter define stehen, hab momentan leider keins bei mir...

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.