www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere Schieberegister an SPI Bus über 74HCT259 auswählen


Autor: Neb N. (bluemorph)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe ein Problem mit dem oben genannten IC (... 259). Das IC soll 
angeblich ein Multiplexer, ein adressierbares Latch und ein normaler 
Speicher sein. Ich hab das Datenblatt mit in den Anhang gepackt.

Also nun zu meinem Problem. Ich möchte mit der SPI Schnittstelle des 
8051 (AT89C5131) mehrere Schieberegister über das 74HCT259 ansteuern. 
Das Latch verfügt über 8 Ausgänge, von denen ich 3 nutzen möchte. An 
diese Ausänge sollen Schieberegister angeschlossen werden. Ein 
Schieberegister (Seriel in, parallel out)ist für ein DA - Wandler, die 
anderen beiden jeweils für eine 7-Segment-Anzeige.

Nun habe ich mit Hilfe der Steuereingänge des 74HCT259 den ersten 
Ausgang ausgewählt, an den der DA - Wandler angeschlossen ist. Ich sende 
die Daten über den SPI Bus. Der DA - Wandler stellt die gewünschte 
Spannung ein. Nun möchte ich den nächsten Ausgang einschalten und wähle 
in durch die Steuereingänge an. Jetzt passiert folgendes, die erste 
Siebensegmentanzeige zeigt den richtigen Wert an (der ja über den SPI 
Bus übermittelt worden ist) und der Ausgang des DA Wandlers folgt ebenso 
dem gesendeten Datenwort.

Ich bin nun davon ausgegangen, dass der 74HCT259 im "adressierbaren 
Latchmodus" einfach den nächsten Ausgang anschaltet, die vorher belegten 
Ausgänge jedoch einfach so belässt. Anscheinend ist dem aber nicht so. 
Vielleicht habe ich das Datenblatt ja auch falsch verstanden.

Ich habe euch eine kleine Zeichnung mit SwitcherCad gemacht und mein 
betreffenden Programmcode auch noch in den Anhang gepackt.

Ich hoffe ihr könnt mir helfen. MFG BlueMorph

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was machst Du mit SCLK? Das ist doch das interessante dabei.
Die Daten können ja auch an allen Schieberegistern anliegen, solange nur 
das ausgewählte den Takt bekommt.

Gruß aus Berlin
Michael

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der 259 ist ein schöner Baustein, aber für diesen Zweck wäre vielleicht 
ein 139 besser geeignet, oder?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benny Nestler wrote:

> diese Ausänge sollen Schieberegister angeschlossen werden. Ein
> Schieberegister (Seriel in, parallel out)ist für ein DA - Wandler, die
> anderen beiden jeweils für eine 7-Segment-Anzeige.


Warum schaltest Du nicht einfach alle 3 74HC595 hintereinander und gibst 
immer 3 Bytes aus?

Bzw. nimm auch gleich einen seriellen DA-Wandler.


Peter

Autor: Kobaltchlorid (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schliesse mich Michael an. Du solltest die Taktleitung multiplexen 
und die Datenleitung parallel an alle Schieberegister anlegen. Solange 
die Taktleitung den Pegel nicht wechselt, ist dem Schieberegister die 
Datenleitung völlig egal.

Was hat dich ausserdem gerade zum 74HCT259 bewogen? Du brauchst doch 
bloss einen Multiplexer und kein Latch. Ich hätte eher den 74HC4051 
genommen und je einen Pull-Down-(Pull-Up*)Widerstand an die Takteingänge 
der Schieberegister angeschlossen.

*Pull-Up oder Pull-Down je nach Ruhezustand der Taktleitung, abhängig 
vom SPI-Modus bzw. dem Schieberegister.

Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Kobaltchlorid und @Michael

okay, dann versuch ich erstmal den Baustein wie ein Demultiplexer zu 
betreiben und dann einfach den Takt zu multiplexen. Das ist ne gute 
Idee! Und Mosi schließe ich einfach parallel an jedes Schieberegister 
an. Ich hoffe so klappt das! Ich mach mich gleich dran!

@Peter Dannegger
leider gab es bei Conrad in Hannover nur dieses DAC sonst hätte ich 
einen mit seriellem Eingang genommen!

Also danke erstmal!
MFG BlueMorph

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benny Nestler wrote:
> okay, dann versuch ich erstmal den Baustein wie ein Demultiplexer zu
> betreiben und dann einfach den Takt zu multiplexen.

Die Frage bleibt, warum nicht einfach alle in Reihe?

Was ist der Reiz daran, noch nen zusätzlichen IC und einige IO-Pin mehr 
zu benutzen.


Peter

Autor: Neb N. (bluemorph)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre wahrscheinlich die einfachste Variante. Für einen Anfänger aber 
wahrscheinlich nicht die ersichtlichste smile. Genau wie die Sache mit 
dem Takt, den man besser multiplexen sollte als die MOSI Leitung.

Klappt jetzt alles wunderbar!! Ich danke euch!!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benny Nestler wrote:
> Das wäre wahrscheinlich die einfachste Variante. Für einen Anfänger aber
> wahrscheinlich nicht die ersichtlichste smile.

Wenn man vorher etwas googled, dann schon:

http://www.mikrocontroller.net/articles/Porterweit...
http://www.mikrocontroller.net/articles/AVR-Tutori...
http://www.mikrocontroller.net/articles/Porterweiterungen


Mit Multiplexern habe ich dagegen nichts gefunden.


Peter

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.