Hallo Ihr lieben und hilfsbereiten Menschen hier! Folgende Situtaion: Ich möchte eine SPI Schnittstelle zwischen einen uC und einem FPGA herstellen. Das FPGA (Virtex 4, Ev.-Board ML402,) soll von einem uC Daten über SPI erhalten. Programmiert werden soll dies über die Simulink Xilinx Blocksets. So jetzt habe ich mir die Grundlagen für die SPI angelesen und wollte nur noch mal nachfrage, ob ich es soweit richtig verstanden habe. Mein uC ist Master, mein FPGA= Slave. Es werden 4 Datenleitungen benötigt. 1. MOSI =Daten vom uC zum FPGA 2. MIS0 = Daten aus FPGA zum uC (brauch ich den überhaupt, wenn das FPGA eh nur Daten empfangen soll??) 3. SCK = Die Clock zur synchronisierung der Datenleitungnen usw. 4. SS oder CS = Chip Select. WEnn SS = --|___ (fallende Flanke) Begin der Datenübertragung. So, jetzt muss ich doch eigentlich immer den Takt vom SCK übernehmen, die DAten lesen, ablegen... und dass alles wenn bei SS/CS eine fallende Flanke ankommt!? Korrekt! Mehr muss ich doch eigentlich nicht beachten!? Die Snchronistation erfolgt durch SCK und das war es doch?! DANKE
Wie schnell, wie oft und wie viele Daten möchtest Du denn übertragen? zu 2.: Nein, brauchst Du nicht. Ansonsten fast richtig: > So, jetzt muss ich doch eigentlich immer den Takt vom SCK übernehmen, Ja, aber am besten Einsynchronisieren und auf die Flanke detektieren (VHDL Flankenerkennung). > die DAten lesen, ablegen... und dass alles wenn bei SS/CS eine fallende > Flanke ankommt!? Korrekt! Was meinst Du? Bit oder Byte? > Mehr muss ich doch eigentlich nicht beachten!? Die Snchronistation > erfolgt durch SCK und das war es doch?! Achtung. SS/CS nicht SCK ist Deine Synchronisation. Damit weiß der FPGA wann das erste Datum kommt. Wenn Du es komplizierter machen willst, kannst Du auch auf ein entsprechendes Syncwort im Datenstrom detektieren. Rick
Alles klar, dann habe ich es ja soweit. Wie schnell ich die Datenübertragen möchte? Gute Frage? Ein Datenpaket beinhlatet eine 17Bit Adresse + 6Bit Data. Es soll ein 320x240 RGB-Bild übertragen werden. Die Farbwerte für R:G:B sind auf 6 Bit (2:2:2) begrenzt worden. eventuell wird das noch erweitert. Wie errechne ich denn die möglich SPI-Geschwindigkeit??? Der uC hat einen System Clock von 40MHz. Ich habe gelesen, dass es auch möglich ist, nicht nur 8 Bit sondern bis zu 32 Bit aufeinmal zu übertragen! Wie wirkt sich das denn auf die BAudrate aus????? DANKE
you2 wrote: > Ein Datenpaket beinhlatet eine 17Bit Adresse + 6Bit Data. Es soll ein > 320x240 RGB-Bild übertragen werden. Die Farbwerte für R:G:B sind auf 6 > Bit (2:2:2) begrenzt worden. eventuell wird das noch erweitert. Du koenntest, falls die Daten mehrheitlich linear uebertragen werden, ein auto-increment einfuehren und so entweder an Geschwindigkeit oder Farben gewinnen. Cheers, Roger
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.