Forum: Mikrocontroller und Digitale Elektronik Atmega8, SPI


von Manuel P. (manuelpet)


Angehängte Dateien:

Lesenswert?

Hallo an alle!

Habe ein kleines Problem mit dem SPI-Bus auf genanntem uC, bin neu was 
die Programmierung von Datenbus angeht und komme hier einfach nicht 
weiter.

Habe am SPI des Atmega zwei Schieberegister hängen, einmal einen ADG738 
(Analog Devices) einmal einen A6278 (Allegro). Die zwei hängen parallel 
am SPI, bekommen also extra MOSI, SCK und jeweils einen eigenen SS. MISO 
ist bei keinem verbunden (weil keine Rückmeldung und kein daisy chain).
Der Unterschied zwischen den ICs besteht aber im SPI-Mode auf den sie 
hören: A6278 braucht CPHA=0, ADG738 aber CPHA=1, CPOL=0 für beide 
gleich.

Ich habe jetzt folgendes Problem:
Der A6278 lässt sich ansteuern und macht was er soll, wenn ich aber den 
ADG738 was schicke, flippen die Ports des A6278 genauso wie die des 
ADG738. SS ist aber bei A6278 auf 1 und bei ADG738 auf 0.

Im Anhang habe ich ein paar Codebrocken aus meinem Programm 
zusammengefasst die den Bus betreffen.

Hab übrigens auch versucht mich an die Application Note "AVR151" von 
Atmel zu halten, die mir fürs Einrichten vom SPI recht hilfreich 
erschien.

Danke schonmal für jede Hilfe!

von Manuel P. (manuelpet)


Angehängte Dateien:

Lesenswert?

Hier noch der Schaltplan angehängt (beinhaltet nur den Teil der SPI 
betrifft, der Rest läuft ja)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> SS ist aber bei A6278 auf 1
Damit ist das Latch transparent...
Das DB dazu:
1
Data present in any register is transferred to the respective 
2
latch when the LATCH ENABLE input is high.
Das LE sollte laut Timing-Diagramm nur ganz kurz aktiv sein. Ruhepegel 
von LE ist 0    :-o

von Manuel P. (manuelpet)


Lesenswert?

Hallo Lothar!

Das war der Fehler! Danke für die Hilfe!

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.