SPI Problem: 1 Bit Shift

Gast #4362120
Lesenswert?

Hallo,

ich verwende einen Piccolo Mikrocontroller von TI (F28035) und möchte 
über die SPI Schnittstelle A 48 Bits senden und empfangen (Priorität: 
Empfangen).

Ich habe zum Testen MISO und MOSI miteinander verbunden um zu 
überprüfen, ob meine gesendeten Daten wieder richtig eingelesen werden.
1
SpiaRegs.SPITXBUF = 0xFF00;
2
SpiaRegs.SPITXBUF = 0xF0F0;
3
SpiaRegs.SPITXBUF = 0xFFFF;
4

5
RX1 = SpiaRegs.SPIRXBUF;
6
RX2 = SpiaRegs.SPIRXBUF;
7
RX3 = SpiaRegs.SPIRXBUF;

Der oben gezeigte Code führt zu

RX1: 1111111110000000

RX2: 0111100001111000

RX3: 0111111111111111

Wie kann es zu diesem ungewollten Shift von 1 Bit kommen ?

Ich wäre für Tipps und Anregungen sehr dankbar.

- Tom
Gast #4364909
Lesenswert?

Hallo,

nein das ist nicht der Fall, da es sich nicht um zwei unterschiedliche 
Geräte handelt, sondern lediglich den einen Mikrocontroller, welcher mit 
einer Hardware-Loop (MOSI -> MISO) aufgebaut ist.

Ich habe das Problem gefunden. Es besteht in der zu hoch eingestellten 
Taktfrequenz (CLK). Nachdem ich diese auf 8,5 MHz verringert habe, ist 
der Shift verschwunden.

Gruß
Tom
Gast #4366498
Lesenswert?

Da der SCK bei meinem Test nach außen gar nicht angeschlossen ist, 
glaube ich nicht, dass es mit der fehlenden Terminierung des SCK zutun 
hat. Der Aufbau:

SCK -->
CS  -->
MOSI ---|
MISO <--|

SCK und CS offen, MOSI und MISO miteinander verbunden (Loopback Test).

- Tom

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