Forum: Mikrocontroller und Digitale Elektronik 9-bit zu 8+1 Bit in zwei Zyklen und mit doppelter Transferra


von Steven (Gast)


Lesenswert?

Guten Tag.

Ich bin mehr als verzweifelt auf der Suche nach jemanden, der hier
weiterhelfen kann:

http://amigahardware.mariomisic.de/include.php?path=forum/showthread.php&threadid=365
http://eab.abime.net/showthread.php?t=15091&highlight=9-bit

Es geht darum (da der UART 16550 am PC keine 9 Datenbits pro Zyklus
versteht) die 9 Datenbits vom Amiga auf zuspalten in 8 + 1[+ 7 stets
gleiche "Auffüllbits"] und dann somit in zwei Zyklen aber
logischerweise mit doppelter Transferrrate an den PC zu senden.
So dass WinUAE[Amiga Emulator] sich mit dem reellen Amiga nun auch im
9-bit Modus verständigen kann.

Denn (leider) laufen viele Games und Anwendungen im 9-bit Modus...dies
versteht der UART 16550 am PC(im Chipsatz desPCs) leider nicht.

Die einzigste Lösung scheint ein Microkontroller dessen Inhalt(das
Programm) zwei Zyklen mit Datenbits
(Zyklus eins: 8 Datenbits, Zyklus zwei: 1 Datenbit [+7"Auffüllbits"])
einsammelt und in einem Zyklus, aber logischerweise mit halber
Transferrrate die 9 bits zum Amiga sendet...und vice versa.

von Benedikt (Gast)


Lesenswert?

Dasselbe Problem hatte ich auch, aber nur wenige uC haben 2 UARTs (es
gibt ein paar AVRs die das haben). Damit ist das ganze kein Problem.
Ansonsten einen AVR mit einem UART + 16450 nehmen, geht auch
einwandfrei.

von Peter D. (peda)


Lesenswert?

Die PC-UART kann doch 9 Bits und zwar als 8 Bit + Parity.

Du mußt also nur das Datenbyte lesen und das Parity-Error-Bit.
Daraus dann einfach wieder das 9 Bit zurückrechen.

Das Senden ist etwas komplizierter, da die Parity automatisch erzeugt
wird. Man muß dann also immer zwischen ODD/EVEN Parity umschalten,
damit das gewünschte 9. Bit entsteht.


Peter

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.