Forum: Mikrocontroller und Digitale Elektronik Frage zu SPI bei PIC18F


von Ruud Gullit (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe ein Problem mit der SPI Ansteuerung meines RFID Reader IC's 
(TRF7960). Laut Datenblatt des Readers soll SPI wie folgt konfiguriert 
werden (siehe Anhang):

MOSI (write): Daten werden mit fallender Flanke ausgegeben, mit 
steigender Flanke eingelesen

MISO (read): Daten werden mit steigender Flanke ausgegeben, mit 
fallender Flanke eingelesen

d.h. SPI muss vor dem Lesen umkonfiguriert werden.

Wenn ich das richtig verstehe muss ich zum Schreiben die Konfiguration

SSPSTAT.CKE = 1
SSPCON1.CKP = 0

und zum Lesen

SSPSTAT.CKE = 0
SSPCON1.CKP = 0

verwenden.

Wenn ich das so mache kann ich problemlos Daten senden und der Reader 
macht was er soll. Beim Lesen erhalte ich aber nur Müll. Benutze ich 
aber zum Lesen die selbe Konfiguration wie zum Schreiben (CKE=1, CKP=0, 
und ignoriere damit die Anweisungen aus dem Datenblatt) klappt alles. 
Das verwirrt mich weil sowohl im Datenblatt als auch in einem separaten 
Errata Sheet des RFID Readers darauf hingewiesen wird, dass zum Leser 
der andere SPI Mode zu benutzen ist. Jetzt bin ich verwirrt. Weiß jemand 
Rat?

von Frank K. (fchk)


Lesenswert?

Ich hatte diesen Chip mal an einem AVR. Bei mir ging es erst dann, als 
ich die Hardware-SPI-Einheit nicht mehr verwendet und alles per Software 
gemacht hatte. Das Umschalten des SPI-Modus im Betrieb hat irgendwie 
nicht richtig funktioniert. Mit dem Software-SPI konnte der Kunde leben.

fchk

von Ruud Gullit (Gast)


Lesenswert?

Sollte das dem Kunden nicht egal sein?  :)

Bei welcher Flanke sampled der PIC eigentlich das MISO Signal? Ich hab 
im Datenblatt keine Möglichkeit gefunden das explizit vorzugeben.

von Volker S. (vloki)


Lesenswert?

Ruud Gullit schrieb:
> Bei welcher Flanke sampled der PIC eigentlich das MISO Signal?

Welcher PIC???????????????
Gibt es im Datenblatt eine Abbildung "SPI MODE WAVEFORM (MASTER MODE)"
Der Samplezeitpunkt hängt von SMP im SSPxSTAT ab, falls es das gibt...

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.