Gast
#1481195
Hallo diese Frage geht an alle aber besonders auch an Lothar, weil ich ein Stück seiner Codepassage noch nicht ganz verstehe. Ich versuche gerade eine SPI Slave in meinem FPGA zu implementieren, aber leider klappt es noch nicht so ganz. Ich hab mich bei meinem Code ziemlich an Falk Brunners Code orientiert. Ich hab dann nur einen Prozess in eine State Machine verändert, da ich für mein weiteres Programm noch ein Rxrdy usw. benötige. Ich hab Verstanden, dass ich die Datenausgabe synchronisieren muss, jedoch verstehe ich nicht ganz wie dieser Codeabschnitt funktioniert: SS_sr <= SS_sr(0) & SS; -- Slave-Select if (SS_sr="10") then -- fallende Flanke Ich hab Ihn in einem anderen SPI Forumeintrag gefunden und Lothar hat ihn geposted. Ich versteh nicht, wie das als ein Schieberegister funktionieren soll. Ich dachte das SS wird immer nur auf das zweite Bit vom SS_sr geschrieben, also wie kann da jemals die Kombination SS_sr="10" zustandekommen? Da mein SPI Master das SS bei Selektion des Slaves von 0 auf 1 geht und bei Deselektion von 1 auf 0 musste ich im Gegensatz zu Falks Code auf eine fallende Flanke schauen, um eine Synchronisation zu bewirken. Vielleicht kannst Du mir ja nochmal helfen Lothar....wäre echt super. Andere Kommentare sind nat. auch erwünscht. mfg Steve