gibt es UARTs mit MSB first?

Gast #2612672
Lesenswert?

Hallo,


ich programmiere gerade einen "full-featured" UART in VHDL und bin nun 
auf die Idee gebracht worden das dieser eventuell ein 
"Bit-Reverse"-Feature in Hardware, also das man wählen kann ob die 
empfangenen/gesendeten Daten im LSB-First (wie üblich) oder MSB-First 
kommen, unterstützen sollte.

Da stellte sich mir dann die Frage ob es überhaupt Gegenstellen gibt die 
MSB-First senden/empfangen. Ich muss ja kein Feature unterstützen (das 
Logik im FPGA kostet) für das es gar keine Gegenstellen gibt.

Es geht um normale RS232-Daten mit Start-Bit und Stop-Bit (letzteres in 
flexibler Länge) und etwa 8 Nutzdatenbits dazwischen.


Kennt jemand für sowas Gegenstellen die MSB-First arbeiten könn(t)en?
Oder einen anderen guten Grund warum mein UART sowas unterstützen 
sollte?


Grüße
Erik
Gast #2612693
Lesenswert?

Bei RS232 ist die Reihenfolge genormt. Ein guter Grund wäre, wenn Du so 
programmieren sollst, dass man auch SPI damit machen kann, aber dazu 
brauchte es wieder wesentlich mehr als nur die Reihenfolge umzudrehen..

Vielleciht wollte Dir da jemand eine Programmierübung geben :-)
Gast #2612735
Lesenswert?

sowas schrieb:
> Bei RS232 ist die Reihenfolge genormt.

Also nur LSB-First, richtig?
Auch sonnst keine Anwendungen üblich in denen die Daten schon 
Bit-Reversed am UART ankommen?

SPI ist hier nicht gefragt, eher so Dinge wie das man das 9te-Bit auch 
als Call-Bit o.ä. einsetzen können möchte, die Steuerleitungen sollen 
komplett frei programmierbar sein, bei 8N1 sollen bis zu 2% 
Baud-Rate-Toleranz verfügbar sein und allerlei andere Spielereien sollen 
auch möglich sein.


sowas schrieb:
> Vielleciht wollte Dir da jemand eine Programmierübung geben :-)

Ich denke das war diesem Jemand schon Ernst. Wäre für mich auch absolut 
keine Schwierigkeit sowas zu machen, kostet nur ein wenig Tipp-Arbeit 
und eben etwas Logik im FPGA.


Grüße
Erik
Gast #2612801
Lesenswert?

Rainer Unsinn schrieb:
> UART ist allerdings allgemeiner, RS232 ist
> ein (wenn auch sehr oft benutzter) Spezialfall.

Gibt es denn für die anderen Anwendungsfälle von "UART" reale Beispiele 
für MSB-First?
Ich denke da auch an RS422/RS485 und sicher gibt es noch andere 
Situationen serieller Kommunikation in denen Daten-Worte mit Start-Bit 
und Stop-Bit verpackt werden.


Grüße
Erik
Gast #2613115
Lesenswert?

Ein kleiner Mux beim Register, welcher entweder das LSB oder MSB für
die Datenausgabe hernimmt ist nicht gerade viel Logik, bei einem 8 bit 
Schieberegister (rotation). Nach 8 clocks wird das register gelöscht 
(clr)
und dann werden und nach x stop bits wird das done bit gesetzt.
Normalerweise ist das Ausgaberegister ein shadow register und kann nur
geladen werden, wenn das done bit gesetzt ist, oder auch nicht wenn 
resourcen gespart werden müssen.
Der einzige Grund den ich kenne wäre security by obscuration, MSB und 
LSB zu vertauchen
ist ein einfacher Weg, um das Senden von gültigen Daten zu erschweren, 
welche CRC oder eine Checksum haben. Aber es kann schon sein, daß es
entsprechende Prototcolle gibt, die MSB zuerst brauchen. Jeder kocht ja
sein eigenes Süppchen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren