Forum: FPGA, VHDL & Co. SPI Master von Opencores


von pks (Gast)


Lesenswert?

Servus,

ich hatte vor zum Zugriff auf ein SPI-Flash folgenden Master zu 
verwenden:
http://opencores.org/project,spi
Leider habe ich es bisher nichtmal geschafft, die ID auszulesen. Ein 
Blick mit dem Oszi offenbarte mir dann den Grund.
Der Master arbeitet offenbar fix mit CPOL=0, also SPI-Mode 0 oder 1. Man 
kann sparat einstellen, mit welcher Flanke SI und SO gesampled werden 
sollen. Das Flash kann nur Mode 0 und 3, womit mir nur noch ersterer 
bleibt. Ich wähle also die negative Flanke, also CPHA=0. Damit sollte 
laut http://de.wikipedia.org/wiki/Serial_Peripheral_Interface aber bei 
der ersten steigenden Flanke das erste Bit schon auf MOSI zu sehen sein. 
Ist es aber nicht. Ich schicke eigentlich das Kommando 0x9f sehe auf dem 
Oszi aber 0x0f, das erste Bit fehlt also. Wähle ich CPHA=1, sehe ich die 
0x9f, allerdings eben einen halben Takt zu spät.

Kennt jemand diesen Core und weiß ob man das irgendwie beheben kann? 
Leider ist er in Verilog geschrieben und meine Kenntnisse reichen da 
nicht um selbst Hand anzulegen...

Gruß

von Duke Scarring (Gast)


Lesenswert?

Hier findest Du mehrere gut dokumentierte SPI-Master in VHDL, die sich 
einfach anpassen lassen:
http://www.lothar-miller.de/s9y/categories/45-SPI-Master

Und wer nett fragt, bekommt hier auch Support dazu ;-)

Duke

von pks (Gast)


Lesenswert?

Super, danke! Da muss ich dann für meine Zwecke noch eine 
Wishbone-Anbindung implementieren, aber damit kann ich leben :-)

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.