Forum: Mikrocontroller und Digitale Elektronik Sehr viele Ausgänge sehr schnell mit einem Controller steuern??


von matthias.buerkle (Gast)


Lesenswert?

Guten Morge zusammen,
ich bin im Moment an einem Projekt, bei dem (bis jetzt) ca. 250 digitale 
Ausgänge von einem µC gesteuert werden sollen.
Als zentralen Controller würde ich gerne den Atmega32 verwenden. Um die 
hohe Anzahl an Ausgängen zu bekommen, würde ich an einen Ausgange des 
Atmegas jeweils einen Atmega 8 hängen.
Dieser hätte dann 16 Ausgänge, mit denen ich dann Schaltaufgaben 
ausführen kann.
Um 256 Ausgänge zu bekommen, müsste ich also 16 Atmega8 an den Atmega32 
hängen.
Die Datenübertragung zwischen Atmega32 und den Atmega8 geht über einen 
kleinen Bus, den ich selbst implementiere. Einfaches Rechtecksignal, mit 
Startsequenz und dann die Daten(für 16 Ausgang-Bits) und Endsequenz.

Für den Atmega32 heisst das, dass er auf 16 Pins ein unterschiedliches 
Rechtecksignal ausgeben soll, das sich alle 0,5ms wiederholt.

Zusätzlich muss ich noch eine Quelle für die Daten haben. Dabei habe ich 
schon an eine SD-Karte gedacht, aber damit wäre ich ziemlich unflexibel. 
Denn ich müsste damit die Ansteuerungen der Ausgänge zuerst auf der 
Karte hinterlegen. Besser wäre es, wenn ich es im Betrieb von einem 
Rechner über eine serielle Schnittstelle übertragen könnte.

Meint ihr, dass der Atmega32 das schafft?
Bei den Atmega8 habe ich keine Bedenken. Die müssen ja nur das Signal 
aufdröseln und die Ausgänge entsprechend schalten.


Vielen Dank
Matthias

von Purzel H. (hacky)


Lesenswert?

Das sollte mit einem Mega32 alleine machbar sein. Die Ausgaenge lassen 
sich ueber einen Satz 75HC595 kaskadieren. Diese Schieberegister steuert 
man ueber den SPI an. Man benoetigt nur 32 Stueck.

von Gast (Gast)


Lesenswert?

Da brauchst du einen 27us Timer für die Datenausgabe. Das ist wohl kaum 
zu schaffen. Mach doch ein paralleles Interface.

von Peter D. (peda)


Lesenswert?

Du brauchst nen MC mit Memory-Bus, z.B. ATmega162, 4 * 74HC138, 32 * 
74HC574.


Peter

von MaWin (Gast)


Lesenswert?

Warum nur denkt man an LED PWM dabei ?

Wenn du bereits 16 bit seriell rausschiebst und an den ATmega8 16 LEDs 
hängen, wozu dannd er ATmega8 ?
Überflüssiger war die 16 uC kaum, es gibt Schieberegister wie 74HC595 
oder gleich TPIC6B595.

Aber seriell und schnell ist ja wohl ein Widerspruch in sich.

Wenn du schnell shcalten willst, bau 32 parallele Latches wie 74HC273 an 
den ATMega32, und Adressdecoder (74CH138), dann ist die Übertragung so 
einfach und schnell wie als ob man 32 Speicherstellen beschreibt.

Allerdings ist eine SD-Karte auch seriel und langsam, vermutlich 
verwendest du das Wort "sehr schnell" in grober Unkenntnis dessen, was 
schnell bedeutet.

Wenn es wirklcih LED PWM ist, dann solltest du einfach mal die 
Suchfunktion des Forums benutzen, es gibt wohl nichts, was dermassen oft 
schon durchgekaut wurde.

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.