www.mikrocontroller.net

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


Autor: Robert Theiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
74hc595

Peter

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft der Thread:

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

Gruß Jörn

Autor: Robert Theiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mark Hämmerling (haemi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Robert Theiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: lieber anonym (Gast)
Datum:

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

Autor: Robert Theiss (Gast)
Datum:

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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: olaf (Gast)
Datum:

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

Olaf

Autor: Robert Theiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Rahul (Gast)
Datum:

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

Autor: Robert Theiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.