Zu wenige Portpins Atmel Mega 128

OP #222632
Lesenswert?

Hallo!

Ich bin gerade dabei eine kleine Schaltung zu entwerfen. Dabei bin ich
aber an die grenzen der vorhandenen Portpins meines Atmel Mega 128
gestoßen.

Gibt es einfache Möglichkeiten mit 3 freien Portpins ein LCD und eine
Matrixtastatur oder zumindest 4 Taster anzuschließen?

Danke euch schon mal.

gruß
AiM
Gast #222635
Lesenswert?

>Gibts ev. noch andere Möglichkeiten?

Vielleicht kannst Du bei den schon in Benutzung befindlichen Portpins
Resourcen freimachen (z. B. Ausgabepins auch zur Eingabe nutzen)?  Was
hast Du denn sonst alles an Deinem Mega128 dranhängen?
#222640
Lesenswert?

Tag

Ich bin zwar neu hier aber eventuell kann ich weiterhelfen.

Wie wäre es mit einem Mux / Demux?
(Multiplexer / Demultiplexer)

Damit kann man Viele Eingänge Zusammenfassen oder wenige Ausgänge
Auffächern.

Da alles einen Nachteil hat, hat diese Metode auch einen.

Sie Verlangsamt die Port's und ist ist nicht immer einsetzbar.
Gast #222641
Lesenswert?

@Michael


Anderer Ansatz:

Ports sortieren nach Funktion.

zb. alle Ports die einfach nur etwas Schalten und nicht "Megaschnell"
sein müssen zusammen über ein Schieberegister Schalten.
Selbst da kommste noch auf einige Mhz. wenn es ein muß.

I2C ist auch sehr gut.

Ich hab LCD und Tastatur (Auch Relais) meist am I2C (Relais auch per
Schieberegister) hängen,so spar ich ne Menge Pinns ein.

Überlegs mal.
Oder gib mal Info was explizit an deinem Controller hängt.
OP #222649
Lesenswert?

>>Was spricht dagegen, das Ethernet auch über den Memory-Bus laufen zu
lassen ?

Du meinst also AD0-7 mit PA0-7 verbinden und dadurch die Ports PF0-7 am
AVR frei zu bekommen?

Und wie soll man dann Verhindern, dass Ethernet und Memory-Bus sich
gegenseitig stören?
So weit ich weiß ist der RTL1890 nicht Tri State Fähig?
Gast #222650
Lesenswert?

Beim RTL1890 sind wohl ein paar Ziffern verdreht und es handelt sich um
den üblichen RTL8019. Wobei der als ISA-Bus-Device natürlich sehr wohl
Tristate-fähig ist - wie sollte das auf dem ISA (oder PC104) Bus denn
sonst funktionieren?
#222651
Lesenswert?

"Du meinst also AD0-7 mit PA0-7 verbinden und dadurch die Ports PF0-7
am
AVR frei zu bekommen?"

Nicht nur die, sondern auch die Adressen und /WR, /RD-Leitungen.
Nur Chip-Select muß auf eine andere Adresse als SRAM und USB gelegt
werden.

Der Datenbus ist ja bidirektional und damit muß er auch tristate
können, anders geht es nicht. Nur Read-Only-ICs (z.B. ADCs) dürfen auch
nicht tristate sein.

Ich kenne den RTL8019 nicht, ich verwende den LAN91C96 und der geht
prima als memory mapped IO. Und wenn man keinen externen SRAM hat,
braucht man nicht mal ein Adreßlatch, das hat der intern.


Peter

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