Forum: FPGA, VHDL & Co. IC2 von Opencores


von Peter (Gast)


Lesenswert?

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.

von P. K. (pek)


Lesenswert?

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.

von Peter (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.