Forum: Mikrocontroller und Digitale Elektronik ATmega32: Große Zahl von Ausgangs-Ports


von Markus D. (markusd112)


Lesenswert?

Hallo!

Ich möchte mit meinem ATmega32 eine große Zahl an Ausgängen (255) und 
auch Eingängen ansteuern.

Wie kann ich sowas klassischerweise machen? Ich kenne noch von alten 
Zeiten die 8255er, die für die Erhöhung der I/O-Ports klassischerweise 
genommen wurden.

Ich möchte aber ungerne mit Daten- und Adressbus arbeiten. Vielleicht 
gibt es ja Bausteine, die per I2C / SPI angebunden werden?

Wie kann ich sowas am sinnvollsten machen?

Danke für jeden Tipp!

Viele Grüße

Markus

von A. N. (netbandit)


Lesenswert?

Es gibt I2C Port Expander z.B. den hier: PCF8574. Guck dir mal den 
dazugehörigen Artikel in der Wiki hier an.

von Holger T. (holgert)


Lesenswert?

Das wurde schon mehrfach hier diskutiert. Verwende mal die Suchfunktion 
mit dem Stichwort "Porterweiterung".

von Thomas W. (wagneth)


Lesenswert?


von Daniel K. (lostsoul)


Lesenswert?

Hallo!

Hast du dir das hier 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister 
schonmal angeschaut?
Allerdings wird es mit 255 Ausgängen relativ aufwändig.
Es gibt dann z.B. noch die PCF 8574.
Wozu brauchst du so viele Ausgänge?

von Markus D. (markusd112)


Lesenswert?

Hallo,

danke für die Tipps! Ich hatte schon mit diversen Suchbegriffen im Forum 
gesucht, aber nichts adäquates gefunden. Auf den Begriff 
"Porterweiterung" bin ich natürlich nicht gekommen ;-). Danke für den 
Hinweis!

Ich möchte eine Ansteuerung von Ausgängen via MIDI realisieren. Dafür 
brauche ich ca. 167 Ausgänge.

Zusätzlich brauche ich 167 Eingänge, um eine Konvertierung in 
MIDI-Befehle zu machen.

Viele Grüße

Markus

von JaaWaa (Gast)


Lesenswert?

Man koennte sich je nach Geschwindigkeit einen Parallelbus mit 74HC574, 
oder einen Seriellbus mit 74HC595 vorstellen.

von Markus D. (markusd112)


Lesenswert?

Hallo,

wenn ich den Wiki-Artikel über den 74HC595 richtig verstehe, so ändern 
sich die Ausgänge beim Befüllen des Schiebregisters kurzzeitig, was für 
meinen Fall nicht sein darf. Da müsste ich wohl noch ein Latch 
dahinterschalten und nach dem Befüllen das Latch zum Übernehmen der Bits 
ansteuern.

Viele Grüße

Markus

von Simon K. (simon) Benutzerseite


Lesenswert?

Markus Drexelius wrote:
> Hallo,
>
> wenn ich den Wiki-Artikel über den 74HC595 richtig verstehe, so ändern
> sich die Ausgänge beim Befüllen des Schiebregisters kurzzeitig, was für
> meinen Fall nicht sein darf. Da müsste ich wohl noch ein Latch
> dahinterschalten und nach dem Befüllen das Latch zum Übernehmen der Bits
> ansteuern.

So wie ich das seh, schiebst du die Daten in das Schieberegister und 
wenn du alles reingeschoben hast, pulst du alles ins 8 Bit Storage 
Register (CP_ST Pin), dann erst sieht man die Bits am Ausgang. 
Alternativ gibt es auch ein 74HC/T4094.

Das PCF wäre mir (besonders bei vielen Pins) viel zu teuer.

von Falk B. (falk)


Lesenswert?

@  Markus Drexelius (markusd112)

>wenn ich den Wiki-Artikel über den 74HC595 richtig verstehe, so ändern
>sich die Ausgänge beim Befüllen des Schiebregisters kurzzeitig,

Dann hast du es falsch verstanden. Die Ausgänge ändern sich beim 
Schieben NICHT!

>meinen Fall nicht sein darf. Da müsste ich wohl noch ein Latch
>dahinterschalten und nach dem Befüllen das Latch zum Übernehmen der Bits
>ansteuern.

Augen auf! Das ist schon drin!

MFG
Falk

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.