Gast
#2003878
Hallo zusammen, in einem neuen FPGA-Design habe ich einen SPI-Slave zu realisieren. Der SPI-Takt liegt bei moderaten 5 MHz. Nun bin ich am überlegen, ob ich die SPI aus SPI-Bus-Sicht synchron umsetze oder aber SCK, MOSI und CS mit dem FPGA-Takt einsynchronisiere und abtaste. Ein einfaches Schieberegister mit SCK getaktet ist sehr schnell. Daten sind schon synchron zum Takt, daher ist kein eintakten nötig und es kommt zu keiner weiteren Verzögerung an dieser Stelle. :-) Hat aber zur Folge, dass ich mehrere Clockdomains benötige. :-( Einsynchronisieren und Abtasten führt zu Verzögerungen. :-( Dafür habe ich aber nur eine Clockdomain. :-) Noch als kleine Zusatzinformation: Der FPGA ließt nicht nur Daten ein, sondern muss auch welche ausgeben. Der Datentransfer ist so aufgebaut, dass der angeschlossene Controller 4 Byte lange Frames schickt. Die ersten 16 Bit enthalten eine Adresse und die letzten 16 Bit sind die Daten die gelesen und/oder geschrieben werden. Daher muss der FPGA unmittelbar auf die Daten liefern die zuvor durch die adressiert worden sind. Die Daten (ca. 100 Byte) können aber nicht in einem Speicher liegen, da sie im FPGA alle gleichzeitig benötigt werden. Sonst wäre ein DPR die ideale Anbindung und Clockdomain-Trennung. Wie würdet Ihr vorgehen? Vor- und Nachteile? Danke