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ß
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.