Xilinx Spartan FPGA: SPI chip select geht nicht

Gast #1309145
Lesenswert?
• ▲
▼
Hallo miteinander,

ich habe Probleme das chip/slave select Signal (SS) für das SPI-Flash zu 
steuern. Ich habe es mit folgendem Code abschnitt probiert.
1
XSpi spi;
2
XSpi_Initialize(&spi, XPAR_SPI_FLASH_DEVICE_ID);
3
XSpi_SetOptions(&spi, XSP_MANUAL_SSELECT_OPTION | XSP_MASTER_OPTION);
4
XSpi_SetSlaveSelect(&spi, 1);

Die Leitung CS0_B bleibt aber HIGH.

Das Board ist ein Spartan-3AN Starter Kit von Digilent.
Jumperung dürfte richtig sein, da flashen funktioniert.

Ideen?

Viele Grüße
Gast #1309326
Lesenswert?
• ▲
▼
Teilweise gelöst, die Leitung wird nur für die Dauer einer Übertragung 
auf LOW gehalten. Aber Übertragen wird trotzdem nichts ("in" schreint 
unverändert - alle Werte 0x00)...
1
u8 out[4];
2
u8 in[4];
3

4
out[0] = 0x9F;
5
out[1] = 0xFF;
6
out[2] = 0xFF;
7
out[3] = 0xFF;
8

9
in[0] = 0x00;
10
in[1] = 0x00;
11
in[2] = 0x00;
12
in[3] = 0x00;
13

14
XSpi spi;
15
XSpi_Initialize(&spi, XPAR_SPI_FLASH_DEVICE_ID);
16
XSpi_SetOptions(&spi, XSP_MANUAL_SSELECT_OPTION | XSP_MASTER_OPTION);
17
XSpi_SetSlaveSelect(&spi, 1);
18
XSpi_Transfer(&spi, out, in, 4);
Gast #1309558
Lesenswert?
• ▲
▼
Puh, geschafft.
Das hier funktioniert:


1
u8 out[4];
2
u8 in[4];
3

4
out[0] = 0x9F;
5
out[1] = 0xFF;
6
out[2] = 0xFF;
7
out[3] = 0xFF;
8

9
in[0] = 0x00;
10
in[1] = 0x00;
11
in[2] = 0x00;
12
in[3] = 0x00;
13

14
XSpi spi;
15
XSpi_Initialize(&spi, XPAR_SPI_FLASH_DEVICE_ID);
16
XSpi_SetOptions(&spi, XSP_MANUAL_SSELECT_OPTION | XSP_MASTER_OPTION);
17
XSpi_Start(&spi);
18
XSpi_mIntrGlobalDisable(&spi);
19
XSpi_SetSlaveSelect(&spi, 1);
20
XSpi_Transfer(&spi, out, in, 4);

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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.