www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega8, SPI


Autor: Manuel P. (manuelpet)
Datum:
Angehängte Dateien:

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

Autor: Manuel P. (manuelpet)
Datum:
Angehängte Dateien:

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> SS ist aber bei A6278 auf 1
Damit ist das Latch transparent...
Das DB dazu:
Data present in any register is transferred to the respective 
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

Autor: Manuel P. (manuelpet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lothar!

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

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.