Forum: FPGA, VHDL & Co. [Xilinx] axi_spi + Slave


von Thomas (Gast)


Lesenswert?

Hallo Zusammen,

ich muss zur Zeit mit einem Microblaze mit AXI_SPI Modul mehrere Slaves 
ansprechen. Die Slaves haben das "Lese"-Verhalten wie im angehängtem 
Bild gezeigt (Datenblatt: 
http://www.hittite.com/content/documents/data_sheet/hmc701lp6c.pdf, 
Seite 28).

Das Modul von Xilinx interpretiert die Daten ebenfalls wie im Anhang 
gezeigt (Slave). Das Datenblatt des AXI_SPI Cores: 
http://www.xilinx.com/support/documentation/ip_documentation/axi_spi_ds742.pdf 
- Seite 23.

Wenn ich das nun richtig sehe, sind die beiden nicht miteinander 
kompatibel, da mein Slave beim Senden zum Master hin die Daten auf der 
steigenden Flanke hin anlegt und diese deshalb bei der fallenden Flanke 
gelesen werden sollten.

Nun bin ich ein wenig überfragt, ich hatte nicht damit gerechnet dass es 
hier solche Unterschiede gibt. Kann ich das AXI_SPI Modul von Xilinx nun 
vergessen?

Viele Grüße,
  Thomas

von Duke Scarring (Gast)


Lesenswert?

Genau dafür gibt es ja die Möglichkeit mittels CPHA = 1 die Phase zu 
konfigurieren (Xilinx-Datenblatt, Seite 24).

Für die verschiedenen SPI Modes kannst Du z.B. auf Wikipedia gucken:
http://de.wikipedia.org/wiki/Serial_Peripheral_Interface

Duke

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hey,

vielen Dank für die Antwort. Ich habe ganz vergessen den Anhang mit zu 
senden. Hier nochmals.

Mit der Clock-Phase löst sich, denke ich zumindest - mein Problem auch 
nicht. Denn ich kann das AXI_SPI Modul damit nicht so einstellen, dass 
das Modul zum senden die Daten an der fallenden Flanke anlegt, und zum 
empfangen die Daten auch an der fallenden Flanke einließt.

Oder verstehe ich das falsch?

Viele Grüße,
  Thomas

von Thomas (Gast)


Lesenswert?

Ich frage einfach nochmals erneut nach, vielleicht hatte ich mich etwas 
undeutlich ausgedrückt.

Mein Problem ist, dass ich erwartet hatte, dass alle Daten z.B. auf der 
steigenden Flanke gültig sind (beim "Senden" und "Empfangen").

Hier ist es jedoch nicht so. Denn beim "Senden" sind die Daten auf der 
steigenden Flanke gültig, beim "Empfangen" jedoch auf der fallenden 
Flanke.

Verstehe ich das richtig, dass das axi_SPI Modul dies so nicht 
unterstützt? Muss ich hier also ein eigenes SPI-Modul erstellen?

Viele Grüße,
  Thomas

von Duke Scarring (Gast)


Lesenswert?

Thomas schrieb:
> Verstehe ich das richtig, dass das axi_SPI Modul dies so nicht
> unterstützt? Muss ich hier also ein eigenes SPI-Modul erstellen?
Sieht ganz danach aus.

Duke

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.