Forum: Mikrocontroller und Digitale Elektronik SPI auf Parallel wandeln, um Pins zu sparen !?


von Robert Theiss (Gast)


Lesenswert?

Servus Jungs,
ich suche krampfhaft nach nem Chip der die serielle SPI-Schnittstelle
auf eine parallel 2x8 oder 1x16 (1x8 auch zur Not) wandelt.

Das Hauptproblem ist der Bauraum. Es gibt ne uC-Platine, die mit ner
Steppertreiberplatine(beide 35x35mm) verbunden werden soll.
Um Platz zu sparen, sollen da möglichst wenig Pins von Platine A auf
Platine B weitergeleitet werden, weil Pins = Stecker und Stecker =
Platzdieb.
Nun beinhaltet die Stepperplatine 2 Mikroschritt-Treiber mit je 6
Inputs; Naja zusammenfassen wollt ich ausdrücken, dass da zu viele
Leitungen von Platine zu Platine übergeben werden müssen.
Nu dacht ich man könnt doch SPI(3-Wire) seriell mim Chip auf Parallel
modeln. Gibts da n Chip für? Zur not auch RS232 auf parallel (SPI is
schnella!)
Dankschon schonmal,
Robert

von peter dannegger (Gast)


Lesenswert?

74hc595

Peter

von Jörn (Gast)


Lesenswert?

Vielleicht hilft der Thread:

http://www.mikrocontroller.net/forum/read-1-42356.html

Gruß Jörn

von Robert Theiss (Gast)


Lesenswert?

der 595 macht nen feinen Eindruck - Wenn ich das Datasheet richtig
gelesen hab, kann man auch erst den Buffer füllen und dann mit Enable
den Ausgang aktivieren. Aber was mach ich in der Zwischenzeit. Der
Steppertreiber brauch um instabile Motor-Positionen halten zu können,
konstant eine Pinkonfiguration. Wenn ich nu den Buffer neu fülle und
währenddessen den OutputEnable "G"-Pin ausschalte, ist wahrscheinlich
alles Null am Ausgang!??
Man bräuchte also einen "aktualisieren"-Pin. Das Datasheet, das ich
gefunden hab is recht kurz und ich bin in der Logic noch auf der
1.Hälfte der 2.Treppenstufe :)

Wenn der Chip zwischenzeitlich undefiniertes ausgibt, dann wäre er für
die meisten Anwendungen unbrauchbar. <-- Das lässt mich denken, dass es
dann doch den "aktualisieren"-Button gibt.

Was noch super wär, wenns den in 16bit oder 2fach in einem Gehäuse
gäbe??

Ich sag mal Dankschön für die prompten Antworten und werd mal nach
Tutorials zu dem Baustein googeln,
Robert

von Mark H. (haemi)


Lesenswert?

Salve,

für die 74er Serie hol ich mir die Datenblätter gern von
http://www.semiconductors.philips.com . Die sind recht übersichtlich.

Der 595 hat ein Latch, also 8 Flip-Flops, die den Ausgang festhalten,
während neue Daten eingeschoben werden. Die Version ohne Latch heißt
164 (als Pendant zum 165, der als Parallel-In-Serial-Out um ein
Shift-Latch nicht herumkommt und somit auch noch zum 595 das passende
Gegenstück ist).

Die von Dir erwähnte Enable-Leitung schaltet die Ausgänge überhaupt
erst. Im inaktiven Zustand sollten die Ausgänge hochohmig sein. Sowas
macht z.B. Sinn wenn Du eine 7-Segment-Anzeige dimmen möchtest. Dann
kannst Du an den Enable Deine PWM anschließen.
Die Flip-Flops werden mit der Parallel Load (oder wie auch immer die im
Datenblatt genannt wird) Leitung getriggert. Kannst Du ja den
Blockschaltbildern entnehmen. Typischerweise nimmt man hierfür die
freie Slave Select Leitung vom SPI.

Die 595 sind für Serial-In-Parallel-Out hervorragend geeignet. Ich nehm
die für alles, was nicht superschnell sein muß und fest auf Ausgang
steht, wenn es drum geht, Pins zu sparen oder ein User-Interface über
wenige Leitungen woanders zu plazieren (HD44780, 7-Segment, LEDs...
etc.)

Mark

von Robert Theiss (Gast)


Lesenswert?

Also ist Parallel-Load der von mir gesuchte Aktualisieren-Knopf?!
Das mit dem Tristate war mir scho bewusst (H/L/Z). Mir war nur nich
klar wo der besagte Button zur Übernahme sich versteckt.
Wo ich grad die Logik-Baustein-Jungs geweckt hab:
2 davon in einem Case scheint noch keiner gesehen zu haben. Wie isses
denn mit parallel auf parallel - Bausteinen? Gibts da FlipFlops die aus
1x8 mit 2 CS leitungen 2x8 machen?
Oder muss man da auch 2x 1x8 nehmen?
Wäre halt für unsre Komponenten wichtig nich soviel Gehüse zu haben
weil wegen Platz.

Ich sag mal Dankschön soweit,
Robert

von lieber anonym (Gast)


Lesenswert?

doofe Frage aber als was bist du im Fraunhofer Institut angestellt? ;-)
Nehmen die jeden ????  duck

von Robert Theiss (Gast)


Lesenswert?

Als Maschinenbau studierender Diplomand, der ein wenig E-Technische
Arbeit vollbringen muss. <- Entschuldigt vielleicht die mail-Adresse
:)
Robert

von Rahul (Gast)


Lesenswert?

so wie ich das sehe (Datenblatt kurz überflogen), kannst du mit Q7' die
Daten durchleiten. Sprich: Du schaltest den Eingang des zweiten
Schieberegisters auf den Ausgang Q7' des ersten und kaskadierst sie
so. Dann musst du halt 16 Bit per SPI verschieben. Würde dir aber eine
Leitung sparen.

von olaf (Gast)


Lesenswert?

Eine weitere Moeglichkeit waere uebrigens ein 74HC4094. Ich verwende
vier Stueck davon in Serie um ein fettes VFD anzusteuern.

Olaf

von Robert Theiss (Gast)


Lesenswert?

@Rahul:
Ich glaub ich habs geblickt. Ein Schieberegister is ne Röhre, in das
ich rote und schwarze Kugeln an einem Ende(Pin14 DS) reinschiebe.
Bei jeder reingeschobenen Kugel fällt hinten (Pin9 Q7') die letzte
raus (weil das Register genau die Länge von 8xKugel-Durchmessern hat).
Wenn ich nun 16 Kugeln platzieren will, kann ich ein 2. Register hinter
das erste schalten und das 2. bekommt dann die Kugeln ab, die aus dem 1.
rausfallen. Pin13(OE) ist der von mir gesuchte Aktualisierungs-Knopf der
dem Baustein sagt, dass er die Kugelinformation, die er gerade in der
Röhre hat, auf die Pins übertragen soll. Doppelbausteine gibts nich,
aber durch den Ende-der-Röhre-Pin, kann ich einen 2. Baustein ohne
weiteren Pin-Aufwand mitspeisen.

@Olaf:
Der 4094 scheint ziemlich identisch zu sein zum 595 nur dass er 2
Serial-Out's hat, die das rausgeshiftete Bit jeweils bei low2high oder
high2low Edge anzeigen - wozu man das feature braucht, is mir nich
klar.

Bedankt, Jungs!

Wir nehmen wahrscheinlich einen Motor-Treiber-Chip mit
SPI-Schnittstelle, sodass wir die SPI2Parallel-Wandlung gar nich mehr
brauchen (der Chip hat feine Vorteile, wie z.B. Lastwechselerkennung).

^^Aber hab das Gefühl, da ich noch mehrere uC's beschalten werde, was
für's Leben gelernt zu haben,
Robert

von Rahul (Gast)


Lesenswert?

Hast du sonst mal bei Trinamic geguckt?
Die Chips wurden bei uns (an der FH) auch für sowas benutzt. Die
verwendeten Chips hatten eine I²C-Schnittstelle und wurden mit dem
IOWarrior betrieben...

von Rahul (Gast)


Lesenswert?

apropos Röhre:
Im Deutschen Museum in München hängt ein Binärzähler, der mit Wasser
funktioniert...

von Robert Theiss (Gast)


Lesenswert?

@Rahul: Et oui,  TMC246 von Trinamic ist der derzeitige Wunschkanditat.
SPI-Schnittstelle, Lasterkennung, Imax=1.5A, stromgeregelt.
Kostet einzeln 8,50€, aber erspart ne Menge Mechanik für die
Anschlagserkennung.
Robert

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.