PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schiebregister



Furtion
13.01.2006, 20:58
hi, ich habe mit neulich das Schiebregister HEF 4094 BP gekauft. da das
für micht völliges neuland ist wollte ich fragen wie das uberbaupt funtzt.
Ich will damit nur LED für ein bild ansteurn.
wer hat erfahrung mit so was ?

kalledom
13.01.2006, 21:35
Am Daten-Eingang wird Low oder High angelegt und dann am Clock-Eingang ein Takt gegeben. Das nächste Bit am Daten-Eingang anlegen, Takt, nächstes Bit, Takt, .... die Bits erscheinen an den 8 Parallel-Ausgängen und werden bei jedem Takt um ein Bit verschoben.
Der 4094 wandelt also ein serielles Signal mit Takt in parallele Daten.

Furtion
14.01.2006, 09:27
kann ich damit led ansteuern oder nicht

ich brauch das eigenddlich nur zur portvergrößerung
geht das damit?

kalledom
14.01.2006, 12:09
Der 4094 hat einen Zwischenspeicher; Du kannst also 8 Bits seriell 'reinschieben' und dann mit dem Strobe-Eingang an den Parallel-Ausgängen speichern.
Der 4094 ist kaskadierbar und hat TriState-Ausgänge.
Mit geeigneten Vorwiderständen können auch LED's angeschlossen werden; ich würde den LED-Strom auf ca. 10 mA begrenzen.

Furtion
14.01.2006, 12:12
also ich habe 5 von den dingern da wie viele led kann ich da dranhängen
und wieviele ports brauch ich dazu?

Andree-HB
14.01.2006, 12:37
Halt je nachdem, wieviele Ausgänge (schätze mal acht) die SR haben, dann kannst Du also 40 Stck. ansteuern. Und Du brauchst 3 Ports -> Data, Takt, Strobe.

Das Ganze wird aber schnell ein bisschen langsam, weil Du für jede Änderung von nur einer LED das komplette Muster für alle LED neu einspielen musst.

PicNick
14.01.2006, 13:06
...wird aber schnell ein bisschen langsam..
*rofl* Das gefällt mir O:)

Furtion
14.01.2006, 14:36
ok ich habe hier mal den beschaltplan kann ich an data clock und strope
ein I/O hängen oder brauch ich was anderes dafür?
was ist mit den led`s sol ich die einfach mit nem wiederstan an ausgang
hängen?
und noch was was meint ihr mit dem, dass es langsam sei (wie langsam)

kalledom
14.01.2006, 14:53
Alle Output-Enable-Eingänge an High-Pegel
Alle Strobe-Eingänge zusammen an Port-Ausgang, High-Pegel = Daten speichern
Alle Clock-Eingänge zusammen an Port-Ausgang, steigende Flanke = Bits schieben
1. IC Daten-Eingang an Port-Ausgang, Bit-Zustand high oder low
1. IC Qs an nächstes IC Data .....
Ausgänge Q1...Q8 über Vorwiderstände an LED's
Ablauf: Bit-Zustand an Data setzen, steigende Flanke an Clock, n * 8 * wiederholen, abschließend am Strobe die Daten speichern.

Furtion
14.01.2006, 15:14
Und :
Vss = +5v
Vdd = -5v
output enable auch an + 5V

So weit ist das richtig oder aber was passiert mit den beiden Qs

@edit Was ist eine Flanke?

kalledom
14.01.2006, 15:25
-5 V gibt's hier nicht !
Vdd = Pin 16 = +3...+15 Volt
Vss = Pin 8 = GND
Output-Enable an High-Pegel = Plus (+3...+15 Volt)
Qs an Data des folgenden IC's, Q's bleibt frei.
Bei den +3...+15 Volt mußt Du Dich für eine Spannung entscheiden, z.B. 9...10 Volt, damit die Vorwiderstände für die LED's bestimmt werden können.
Sieh Dir die Seiten 'Leuchtdioden-Infos' für die LED-Vorwiderstände und 'Logik-Bausteine' für die Regeln mit CMOS-Bausteinen an: http://www.domnick-elektronik.de/elek.htm

@Edit: Eine Flanke ist, wenn ein Signal plötzlich von Plus nach GND abfällt oder von GND nach Plus ansteigt (fallende oder steigende Flanke); hat also sehr wenig mit Fußball zu tun :-)

Furtion
14.01.2006, 16:37
ok, so das bedeutet das ich nur einmal data brauch, oder
So da ich das ganze mit dem µc steuere nehme ich die 5Volt der
spannungsversordung.
Auf der angegebenen Internetseite steht, dass ich vor jeden eingang ein
pull up bzw. pull down anschließen soll. das bedeutet einen 1kohm
wiederstand zwischen zb. date und 5volt das ist richtig,oder

so nur mal so ne rechnung durch dei 5 SR bekomme ich 40 ledausgänge
dafür brauche ich nur 11 ports. wie schnell ist das ganze dann?

Andree-HB
14.01.2006, 16:39
Und Du brauchst 3 Ports -> Data, Takt, Strobe.


Liest Du Dir die Antworten denn auch durch ? Denn wie kommst Du auf 11 Ports ?

kalledom
14.01.2006, 16:56
Du brauchst nicht 11 sondern 3 Ports:
1. Daten-Bit 0 oder 1 (Low oder High) = Data
2. 1 Bit weiter schieben = Clock
3. Daten speichern = Strobe
Du mußt dann 5 * 8 = 40 mal ein Daten-Bit anlegen und einen Takt-Impuls liefern. Nach den 40 mal noch einen Impuls für den Strobe.
Zur Geschwindigkeit: wenn Du in C programmierst, würde ich schätzen, daß für das Daten-Bit irgend-wo-her-laden und am Port ausgeben, sowie ein weiteres Port für ein Takt-Signal kurz auf 0 und wieder auf 1 setzen etwa 20 Befehls-Zyklen erforderlich sind, das Ganze 40 mal, macht 800 Zyklen, bei einer Quarz-Frequenz von 4 MHz = 800 * 1 Mikro-Sekunden = 800 Mikro-Sekunden. MIKRO, nicht MILLI !
Für die PullUp-Widerstände empfehle ich 4,7 ... 10 k, da es sich um CMOS-Eingänge handelt, oder die internen PullUps enablen.

Felix.
14.01.2006, 17:05
Vllt hilft das weiter: (vllt will ja noch jemand sowas bauen) http://www.jalcds.de/blinkenleds/

kalledom
14.01.2006, 17:15
Ich habe die passende Schaltung mit dem 4094 durch Zufall entdeckt (statt der COM-Schnittstelle natürlich den Controller):
http://www.skilltronics.de/versuch/elektronik_pc/4094.html

Genesis-Zeby
22.03.2006, 15:01
Ich habe die passende Schaltung mit dem 4094 durch Zufall entdeckt (statt der COM-Schnittstelle natürlich den Controller):
http://www.skilltronics.de/versuch/elektronik_pc/4094.html

nice page muss man sagen :)

hab mir den 4094 jetzt ma genauer angeschaut mit den seiten:

http://www.skilltronics.de/versuch/elektronik_pc/4094.html
http://www.modding-faq.de/index.php?artid=353&page=4
http://www.jalcds.de/blinkenleds/hardware.php

weiß jetzt wie ich 144 ausgänge schalte (bzw löten muss) usw ..

aber hab trozdem ma noch paar Frage die unklar sind ..

Was is wenn ich PC aus mache? was passiert dann mit dem Schieberegister? schaltet der alle auf low? oder wie? oder werden die daten gespeichert so lang der Schieberegister Strom bekommt?

und da ich ned programmieren kann .. habt ihr da ein programm um die ausgänge anzusteuern? oder wie mach ich das dann am besten? :(

löten usw hab ich drauf .. von der Hardware her is das denke ich ma kein Problem.

kalledom
22.03.2006, 15:15
Wenn der PC aus geht, sollten auch die Schieberegister mit aus gehen.
Was passiert, wenn die Schnittstellen-Ausgänge während dem Ausschalten von Plus nach GND schalten, ist schlecht vorhersagbar.
Bei der Software für den PC kann ich Dir nicht helfen.

SprinterSB
22.03.2006, 16:36
Ein Programmbeispiel in C gibt's in https://www.roboternetz.de/wissen/index.php/Portexpander_am_AVR
Das Beispiel ist zwar für AVR, aber der C-Code geht auch auf einem PC. Was fehlt ist die Ansteuerung der Ports selbst. Wie das aussehen muss hängt von deiner Programmierumgebung und der API ab, die du verwendest.

Genesis-Zeby
23.03.2006, 21:02
kann man die Bit reihe ned irgendwie speichern?? dat wäre praktisch :)

so das des ganze Elektro Zeugs halt noch nach dem ausschalten vom PC so bleibt wies war als der PC an war ^^

Hankey
17.08.2006, 18:23
hi, ich schreibs mal hier dazu weils vom Thema und der Hardware her auch bei mir zutrifft.

Hab das Schieberegister angeschlossen allerdings passiert etwas seltsames. Ich hab nichmal den Mikrocontroller im Sockel aber sobald Strom anliegt leuchten die LED's die an den Ausgängen des SR hängen. Nur weiss ich nicht warum.

Hoffe mir kann jemand helfen.


P.S.: Wenn ihr das Schieberegister über den PC ansteuert sollte der Zustand erhalten bleiben wenn der PC runtergefahren wird, solange Strom anliegt.

Andree-HB
17.08.2006, 18:29
Tja, sie werden nach dem Einschalten ja irgendeinen Zustand haben...halt entweder 1 oder 0...und je nachdem, wie Du jetzt Deine LED´s angeschlossen hast, leuchten sie jetzt eben...andersherum angeschlossen würden sie nicht leuchten sondern auf Ansteuerung/Daten warten.

sara
17.08.2006, 18:34
Tja, sie werden nach dem Einschalten ja irgendeinen Zustand haben...halt entweder 1 oder 0...und je nachdem, wie Du jetzt Deine LED´s angeschlossen hast, leuchten sie jetzt eben...andersherum angeschlossen würden sie nicht leuchten sondern auf Ansteuerung/Daten warten.

binärer code eben-Strom an/Strom aus



www.der-zyniker.de

Hankey
17.08.2006, 18:35
Was meinst du mit "andersherum angeschlossen" ?

//Edit Hab ja nix zum senden, da nichtmal der Mikrocontroller angeschlossen ist ;).


//Edit2 Thema hat sich erledigt. Hab zwischen Strobe und GND nen Pullup-Widerstand geklemmt. Jetzt gehts, hätte ich auch früher drauf kommen können *g*.