Verständnisfrage ATmega128 + SPI + SPOL-Bit

Gast #1263994
Hallo,

ich habe hier einen 16-Bit-ADC, der laut Datenblatt folgendermaßen 
ausgelesen werden will (während der Wandlung sollen SS und SCK beide 
high sein).

* SS auf low
* SCK auf low (soll High wenn inaktiv sein). Dann legt der ADC sein Bit 
15 auf MISO.
* SCK auf high und dabei Bit 15 samplen
* SCK auf low, damit gibt der ADC Bit 14 aus.
* SCK auf high und dabei Bit 14 samplen
usw.
* anschließend SCK und SS auf high "parken"

Programmier ich das Ganze per Bitgewackel, funktionierts, sprich ich 
bekomme sinnvolle Werte raus.

Nutze ich die Hardware-SPI vom ATmega128, ist nach meinem Verständnis 
des Datenblatts CPOL = 1 und CPHA = 0 die richtige Einstellung für das 
oben beschriebene Timing. Damit funktionierts aber nicht: Werte bis 32k 
kommen halbiert raus, Werte ab 32k halbiert aber dafür +32k. Anscheinend 
wird das MSB doppelt gesampelt und das LSB gar nicht.

Was kann das sein? Sampelt der ATmega evtl. schon direkt nach dem 
Beschreiben von SPDR, also vor dem ersten Clockzyklus? Wie muß ich die 
SPI konfigurieren?

Grüße, Sebastian
Gast
Ah ich bin mittlerweile auch drauf gekommen nach nochmaligem Studieren 
des ATmega-Datenblatts.

CPOL = 1 und CPHA = 0 ergibt Leading Edge = Sample (Falling), Trailing 
Edge = Setup (Rising). Das ist natürlich genau falschrum...

Werds demnächst nochmal probieren...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.