Forum: Mikrocontroller und Digitale Elektronik Noop-Frage zum Multiplexing - SIPO vs Counter


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter S. (petershaw)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich suche eine Antwort von einem der "Besserwisser" dieses Forums :-) 
Auf Grund der Frage auch gerne brutal auf die Fresse!

Ich beschäftige mich gerade mit Multiplexen, Art-Net, Matrix, etc... 
Soll dieses Jahr wohl mein Projekt werden, nachdem mein TWB-Decoder nun 
wirklich abgeschlossen ist.
Ich hab nun zum testen ein kleines Bett aufgebaut, 64 LED's in einer 8x8 
Matrix verlötet, und einen Tiny am Start, das C-makefile auf und hoch 
motiviert.

Nun zu meiner Frage: in den ganzen Beschreibungen und Tutorials finde 
ich zum Schalten der Reihen die Verwendung eines SIPO- Shift-Array's. 
Mir ist schon klar warum und wie das geht: ich schiebe die 1 immer eine 
Stelle weiter, bis sie hinten raus fällt, dann schiebe ich eine neue 1 
rein. (so mal in sehr dünner Sprache). Warum aber verwendet keiner 
meiner gelesenen Ressourcen dafür einen Decade-Counter? So ein 4017 
macht doch eigentlich genau das was man von dem SIPO sonst abverlangt, 
oder?

Ist es eine Geschwindigkeitsfrage, oder Preisfrage? Gibt es andere 
Gründe ein Shift-Array zu verwenden statt eines Counters?

Danke!
ps

von Dennis (Gast)


Bewertung
0 lesenswert
nicht lesenswert
:-) nun ja, kleiner Denkfehler. Aber du wirst darauf kommen...

Mal als Denkanstoss: Wie sieht deine Ansteuerung für den 4017 aus, wenn 
du z.b. eine 1 hin- und zurücklaufend haben möchtest???

von Peter S. (petershaw)


Bewertung
0 lesenswert
nicht lesenswert
Hm.
Dennis, Jetzt verwirrst du mich.
Ich ging immer davon aus, das die Zeilen IMMER nacheinander geschaltet 
werden. Dadurch gebe ich jeder Zeile die selbe Zeit "on".
Wann benötige ich dort den Rücklauf? Der optische Rücklauf ist doch 
durch die Ansteuerung der entsprechenden Reihen zur rechten Zeit dem 
Auge vorgegaukelt.

(Vielleicht sollte ich auch nochmals eine drüber rauchen...)

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Peter Shaw (petershaw)

>meiner gelesenen Ressourcen dafür einen Decade-Counter? So ein 4017
>macht doch eigentlich genau das was man von dem SIPO sonst abverlangt,
>oder?

Im Falles des Multpiplexens ist das Richtig.

>Ist es eine Geschwindigkeitsfrage, oder Preisfrage?

Weder noch. Es ist eher Gewohnheit und Geschmack.

von Guido C. (guidoanalog)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in einem "Serial-in, parallel-out (SIPO) Shift register" können mehrere 
Ausgänge gleizeitig auf logisch "1" stehen.
http://en.wikipedia.org/wiki/Shift_register#Serial-in.2C_parallel-out_.28SIPO.29
Wenn Du in einem SIPO eine "1" im Kreis durchschiebst "verschwendest" du 
Fliplops, da es in diesem Fall weniger als 2^Anzahl_FlipFlops 
Ausgangszustände gibt. Wenn Du für diesen Fall die Logiktablle 
aufstellst und die Schaltung vereinfachst kommst Du vielleicht sogar auf 
eine ähnliche Schaltung wie im Datenblatt des 4017. Auf die Gleiche 
sicher nicht, da im Datenblatt ein FlipFlop zu viel verwendet wird ;-)

Mit freundlichen Grüßen
Guido

von Axel S. (a-za-z0-9)


Bewertung
0 lesenswert
nicht lesenswert
Peter Shaw schrieb:
> Nun zu meiner Frage: in den ganzen Beschreibungen und Tutorials finde
> ich zum Schalten der Reihen die Verwendung eines SIPO- Shift-Array's.

Dann hast du dir aber eine recht eigenwillige Auswahl angesehen. 
Eigentlich verwendet man dafür Portpins. Und für die eine 
Matrixdimension wo immer nur ein Strang an ist, evtl. weniger Portpins 
und einen Binär-zu-1-aus-N Decoder.

> Warum aber verwendet keiner
> meiner gelesenen Ressourcen dafür einen Decade-Counter? So ein 4017
> macht doch eigentlich genau das was man von dem SIPO sonst abverlangt,
> oder?

In dieser speziellen Anordnung ja. Allerdings ist der 4017 ein echter 
Exot (als nativen 74er gibts die Funktion praktisch gar nicht). Und 
statt mit 2 Pins eine von 10 Zeilen zu aktivieren, kann man auch mit 3 
Pins und einem 74x138 eine von 8 Zeilen aktivieren. Und hat dann noch 
einen separaten CS Anschluß, wo man bspw. ein PWM Signal anlegen könnte.

Schieberegister sind andererseits die kanonische Porterweiterung, weil 
man mit ihnen (in gewissen zeitlichen Grenzen) jeden Ausgangspin 
unabhängig wackeln lassen kann. Außerdem lassen sich Schieberegister 
fast beliebig kaskadieren, 4017 nicht. OK, falls man das überhaupt 
wöllte. Praktisch macht man einen Mutiplex seltenst breiter als 1:8


XL

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.