SPI und 2 "Bausteine"

Gast #3624547
Lesenswert?

Hallo,

hoffentlich finde ich hier fachkundigen Rat.
Ich habe einen Atmega32 bei 4MHz zum Laufen gebracht *ich weiß ... 
herzlichen Glühstrumpf :P*.
SD-Karte oder ein DOGM-Display von reichelt.de bekomme ich unter LunaAVR 
prima zum Laufen. Nun wollte ich beides zusammenfassen und Display UND 
SD-Karte auf einer Trägerplatine (selbstbau) zum Laufen zu bringen. Aber 
irgendwie stören sich die beiden Baugruppen.

Ich hänge mal sowohl eine assembler-Datei sowie einen Schaltplan der 
Platine bei. Für hilfreiche Tipps oder konstruktive Vorschläge wäre ich 
dankbar.

Gruß
Fusel
Angehängte Dateien:
Gast #3624581
Lesenswert?

Du kannst über den CS Pin der beiden Slaves das Display und die SD-Karte 
aktiv schalten. Du spricht zu jedem Zeitpunkt immer nur mit einem Slave. 
Dannach schaltest du wieder HIGH, da der CS Pin meist Low-Active ist.
Gast #3624714
Lesenswert?

Moin.

danke für die Antworten ... aber ich seh immer noch vor lauter Wald die 
Bäume nicht mehr.
Ich habe SCL bzw. SCK (Clock) ... parallel auf beides beschaltet. Miso 
(MasterIn) wird nur von der SD-Karte benötigt und ist auch so 
angeschlossen. Mosi (SlaveIn) geht parallel auf beide. SS (SlaveSelect) 
wählt das Display aus ... für die SD-Karte nehme ich PortB.3. A0 (keine 
Ahnung wofür) geht von PortB.2 direkt zum Display.
Oder liegt es daran, das die beiden "Auswähler"-Leitungen nicht das 
gleiche Level führen? Also SS ist ja eigentlich negiert (Strich über dem 
SS) und beim PortB nicht?
Sonst sehe ich echt keinen möglichen Fehler mehr.

Gruß
Fusel
Gast #3625015
Lesenswert?

Fusel schrieb:
> Also SS ist ja eigentlich negiert (Strich über dem
> SS) und beim PortB nicht?

Mit PORTB3 legst du ja in deiner SOFTWARE fest, wann die SD-Karte 
selektiert ist und wann nicht.
Wenn es zuvor funktioniert hat schau lieber mal ob nicht wirklich beide 
zur gleichen Zeit ausgewählt sind und ob die Betriebsspannung deiner 
SD-Karte auch wirklich sauber ist. SD-Karten sind sehr empfindlich 
hier...
Gast #3625028
Lesenswert?

> SS (SlaveSelect) wählt das Display aus ...

Ganz schlechte Idee. Datenplatt lesen!

> A0 (keine Ahnung wofür)

∗hüstel∗ das solltest Du dringend in Erfahrung bringen!

> Oder liegt es daran, das die beiden "Auswähler"-Leitungen nicht das
> gleiche Level führen? Also SS ist ja eigentlich negiert (Strich über dem
> SS) und beim PortB nicht?

∗hüstel∗ Datenplätter lesen!

HTH

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