74HC595 mit anderen am SPI

OP #1606833
Lesenswert?

Hallo,

ich möchte einen 74HC595 an den SPI Port meines ATMega8 hängen, da ich 
nichtmehr genug ausgangspins zur Verfügung habe. Soweit in Ordnung.

Allerdings habe ich am SPI Bus schon einen 10bit DAC. Von den 
Ausgabetimings her wären beide gleichzeitig dran kein problem, 
allerdings hab der 74HC595 ja keine ChipSelect Leitung. Ich könnte SRCLR 
dazu verwenden, nur würden dann die Registerinhalte gelöscht, was aber 
nicht sein darf. Die Stati sollten bis zum nächsten 'schieben' gehalten 
werden.

Spontan würde ich das mit einem Transistor lösen, der die beiden 
Taktleitungen als CS einfach abtrennt (SRCLK und RCLK wollte ich sowieso 
zusammennehmen an SCK).

Kriege ich das aber evtl. irgendwie ohne zusätzliche Hardware hin?
#1606847
Lesenswert?

@  Ephraim Hahn (ephi)

>allerdings hab der 74HC595 ja keine ChipSelect Leitung.

Indirekt doch. Die RCLK LEitung.

> Ich könnte SRCLR
>dazu verwenden,

nein.

>Taktleitungen als CS einfach abtrennt (SRCLK und RCLK wollte ich sowieso
>zusammennehmen an SCK).

Nicht serh sinnvoll. SRCLK wird normal mit SCK verbunden, RCLK ist dein 
CS.

>Kriege ich das aber evtl. irgendwie ohne zusätzliche Hardware hin?

Siehe oben und AVR-Tutorial: Schieberegister

MFG
Falk
OP #1609821
Lesenswert?

nungut, dann hab ich da wohl was falsch verstanden.

Ich mache es nun so:
1
void sw_output(uint8_t data)
2
{
3
  SW_PORT |= (1<<SW_CS);
4
  spi_send(data);
5
  SW_PORT &= ~(1<<SW_CS);
6
}

SW_CS ist die RCLK Leitung. spi_send sendet einfach ein byte mit 2Mhz 
SPI Clock raus. Irgendwie tut sich aber nix an den Ausgängen des '595. 
Ist das noch ein verständnisfehler, oder sonstwas?
So wie ich das datenblatt verstehe, übernimmt der die anliegenden Daten 
ja blos bei steigender RCLK flanke, also kann obiges ja nicht gehen, 
aber wie mach ich das dann?

OE hab ich auf GND und SRCLR auf Vcc gelegt. SER an MOSI und SRCLK an 
SCK. STromversorgung ist ebenfalls korrekt.
Gast #1609823
Lesenswert?

Ephraim Hahn schrieb:
> So wie ich das datenblatt verstehe, übernimmt der die anliegenden Daten
> ja blos bei steigender RCLK flanke, also kann obiges ja nicht gehen,
die frage ist, welches wohin du meinst. es gibt 2...
#1609827
Lesenswert?

@  Ephraim Hahn (ephi)

>SPI Clock raus. Irgendwie tut sich aber nix an den Ausgängen des '595.

Was logisch ist. CS muss am ANFANG LOW und nach der Übertragung HIGH 
sein.

>OE hab ich auf GND und SRCLR auf Vcc gelegt. SER an MOSI und SRCLK an
>SCK. STromversorgung ist ebenfalls korrekt.

Siehe auch

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Aufbau

MfG
Falk
Gast #1609831
Lesenswert?

mein beitrag oben gibt recht wenig sinn...
daher: die frage ist, wohin die daten übernommen werden. und dafür 
gibt es 2 möglichkeiten.
der von falk (erneut) verlinkte artikel beschreibt es echt gut.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren