Hallo, Ich habe zwei FPGA-Boards einmal das DE2-115 Development and Education Board und ein ähnliches welches aber selber (nicht von mir) entworfen wurde. Auf diesen Boards habe ich mittels I2C von Opencores versucht bestimmte Komponenten anzusprechen, auf dem Evalboard einen eeprom und auf dem dem anderen Board eine RTC(Real-Time-Clock). Auf dem Evaluationboard gibt es keine Probleme (Speicher ansprechen, schreiben und auslesen). Das andere Board will dagegen nicht so recht. Das heisst schon beim ansprechen (Chip-Select) bemerkt der FPGA nicht das ACK von dem Slave. Das Interessante ist aber, dass beim Oszilloskop der Slave ein ACK zurücksendet. Der Code bei den beiden Boards ist ziemlich ähnlich, einmal von den pin assignment abgesehen. Hat vielleicht irgend jemand eine Idee woran es liegen könnte? Muss dazu sagen, dass relativer Neuling bin, was FPGA betrifft.
Peter schrieb: > Der Code bei den beiden Boards ist ziemlich ähnlich, einmal von den pin > assignment abgesehen. Schaut ziemlich nach einer "suche die 10 Unterschiede"-Übung aus. Immerhin bist Du schon mal soweit, dass vom Slave das ACK zurückkommt. Will hiessen die Slave-Adressierung scheint zu funktionieren. Hast Du den SDA-Input-Teil sauber an die I2C-Entity verdrahtet? Am besten mal den SignalTap anhängen, und schauen, was ins I2C zurückkommt. Und falls das auch nichts bringt, Deine beiden I2C-Interfaces oder noch besser die beiden Toplevels simulieren und vergleichen.
Ok, vielen Danke für die Antwort! Ich hatte inzwischen auch die Vermutung, dass der SDA nicht ganz richtig angeschlossen ist. Mal schauen. Werd mich mal am SignalTap probieren. Danke
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.