Forum: Mikrocontroller und Digitale Elektronik 8085 - Software UART (SIO)


von Matthias I. (matze5)


Lesenswert?

Hi,

ich suche nach Beispielen wie SIO PINs des 8085 als Software UART 
anzuwenden sind, hat da jemand konkrete Beispiele ? Code Schnipsel ?

Grüsse

Matthias

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Google nach "sid sod 8085".

Eine UART wirst Du ohne zusätzlichen Hardwaretimer damit aber nicht 
implementieren können.

von oszi40 (Gast)


Lesenswert?

Evtl. bei Kieser-Meder im Buch nachlesen?
WENN Du den PIO schon beherrschst, dann ist der SIO nicht mehr weit.
Beitrag "Retro Fieber: Z80 oder 68000 ?"
http://www.robotrontechnik.de/index.htm?/html/standards/u880-2.htm

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

oszi40 schrieb:
> WENN Du den PIO schon beherrschst, dann ist der SIO nicht mehr weit.

Es scheinen die "seriellen" I/O-Pins SID und SOD am 8085 selbst gemeint 
zu sein, nicht der Peripheriebaustein.

von Matthias I. (matze5)


Lesenswert?

Wies aussieht brauch ich dafür also mindestens noch einen 8155 dazu.
Oder gleich ein Z80SIO/8250.. 8255 hab ich auch liegen.

Im Moment hab ich nur 32Kb SRAM, 32Kb ROM und den 8085.
Und an SOD eine LED.

Nächster Schritt für mich wäre erstmal Serieller I/O damit ich eine Art 
Monitor basteln kann.

von Soul E. (Gast)


Lesenswert?

8255 ist doch gut. Da hast Du 2x 8 Pins zum Debuggen.

von spontan (Gast)


Lesenswert?

Es gab doch extra Bausteine für serielle Übertragung: 8251, 8274 über 
SID oder SOD ists eher mühsam.

von User (Gast)


Lesenswert?

SID und SOD sind nicht mehr als ein GPI und ein GPO

von Karl H. (kbuchegg)


Lesenswert?

User schrieb:
> SID und SOD sind nicht mehr als ein GPI und ein GPO

Wusste gar nicht, dass er 8085 so was hat.
Aber - Tatsache.

Die Instruktionen SIM bzw. RIM übertragen das Bit 7 aus dem Akku an 
genau diese Pins.

D.h. das ganze ist im grunde eine reine Timing Sache, wieviel Zeit man 
vergehen lässt, bis man im Akku 1 Byte um 1 Stelle nach links weiter 
schiebt und mit einem SIM auf den GPI I/O legt.

Senden ist daher einfach. Empfangen ist schon schwieriger. Da muss 
ständig auf eine entsprechende Flanke gepollt werden (von einem 
Interrupt hab ich auf die Schnelle nix gelesen).


-> ein externer SIO Baustein ist um Welten einfacher.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

... und 8250 ist weitverbreitet und hat einen für damalige Verhältnisse 
guten Baudratengenerator. In der XT- und AT-Zeit konnte man den nebst 
des erforderlichen 1.8432-MHz-Quarzoszillators oft aus alten 
Schnittstellenkarten ausschlachten ...

von Georg (Gast)


Lesenswert?

Matthias I. schrieb:
> gleich ein Z80SIO

Damit kannst du an einem 8085 nichts anfangen, der gehört zum Z80.

Georg

von Helmut L. (helmi1)


Lesenswert?

Georg schrieb:
> Damit kannst du an einem 8085 nichts anfangen, der gehört zum Z80.

Kann man schon, braucht aber ein paar Gatter zusaetzlich. Es wurden 
damals auch 68xx Peripferiebausteine am 80xx eingesetzt. Bestes Beispiel 
der im jedem damaligen PC eingesetzte 6845 CRT Controller.

von Helmut L. (helmi1)


Lesenswert?

Karl Heinz schrieb:
> Senden ist daher einfach. Empfangen ist schon schwieriger. Da muss
> ständig auf eine entsprechende Flanke gepollt werden (von einem
> Interrupt hab ich auf die Schnelle nix gelesen).

Man kann einen der RSTx.5 Interrupts dafuer ranziehen und die SID damit 
verbinden. Bei der ersten negativen Flanke loest man den Interrupt aus 
und hat damit das Startbit. Ab dann muss man halt mit Delayfunktionen 
arbeiten.
Fuer eine primitive Debugschnittstelle sollte es reichen.

von (prx) A. K. (prx)


Lesenswert?

Manche 65/6800er Peripheriebausteine leiten ihren internen Takt vom E 
Signal ab. Diese sind mit 80er CPUs nur eingeschränkt verträglich.

: Bearbeitet durch User
von Helmut L. (helmi1)


Lesenswert?

@A.K.

6845 und 6551 wurden auch in 80xx Schaltung haeufig verwendet.
Der 6845 war ja der meist verbaute CRT Controller in den 80er Jahren. 
Die Teile von Intel waren da nicht so beruehmt. Der 6551 Uart hatte den 
Vorteil schon den Baudrategenerator auf dem Chip zu haben im gegensatzt 
zum Intelkollegen 8251.

von (prx) A. K. (prx)


Lesenswert?

Bekannt. Deshalb schrieb ich "manche". Nicht "alle". Verwendbar sind 
Bausteine, deren interne Statemachine massgeblich von externem Takt 
bestimmt wird, und das ist bei 6845, 6850, 6551 der Fall. Spielt E eine 
dominante Rolle wirds problematisch.

: Bearbeitet durch User
von Helmut L. (helmi1)


Lesenswert?

A. K. schrieb:
> Zu den
> interessanteren Parallelbausteinen dieser Ära gehörten 6522 und 6532.
> Damit gehts nicht.

OK, die habe ich auch nie an 80xx eingesetzt. 6845 war dagegen kein 
Problem.
Hatte mit dem Teil mal ein Videoterminal gebaut.

von (prx) A. K. (prx)


Lesenswert?

Manche Z8000 Peripherie hat eine ähnliche Falle. Die gab es meist in 2 
Varianten, als Z80xx mit Multiplexbus und als Z85xx ohne. Manche Z80xx 
Teile verwendeten ein Bussteuersignal nebenbei als Takt, ohne 
Busaktivität blieben die mindestens partiell stehen.

: Bearbeitet durch User
von Helmut L. (helmi1)


Lesenswert?

Z8000 Peripherie habe ich nie eingesetzt. Das Zeugs war auch nicht so 
verbreitet wie 80xx,68xx,65xx.

Ich seh schon du hast damals auch viel von dem Zeugs verbaut. Da waren 
die Platinen auch noch groesser.

von (prx) A. K. (prx)


Lesenswert?

Helmut Lenzen schrieb:
> Ich seh schon du hast damals auch viel von dem Zeugs verbaut. Da waren
> die Platinen auch noch groesser.

68000 System in tiefem Doppeleuroformat mit Bus für mehrere Karten. 
Zilog hatte eine wenig imponierende CPU, aber die Peripherie war 
Spitzenklasse, während es bei Motorola umgekehrt war. Und da die Z85xx 
Chips an Adresspinmangel litten und daher indirekt adressiert wurden, 
bauten wir eben Z80xx Peripherie mit Multiplexbus ans 68000 System. Mit 
einem ebenfalls recht neuartigen PAL für die Busanpassung. Und genau in 
obige Falle mit dem als Takt verwendeten Strobe-Signal bin ich natürlich 
reingetappt.

: Bearbeitet durch User
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.