Hallo, ich versuche gerade die VHDL Version des I2C cores von opencores zu nutzen (http://www.opencores.org/projects.cgi/web/i2c/overview). Um zu sehen ob das ganze funktioniert möchte ich eine vhdl Datei erstellen, in welche der core eingebunden wird und der von einem ds1621 die Temperatur liest und auf LEDs ausgibt. In der Dokumentation des cores sind hinten Programmierbeispiele drin, in denen steht was man machen muss um z.B. 1 Byte an einen slave zu senden. Ein Teil davon lautet z.B. write 0xA2 (address + write bit) to transmit register. Meine Fragen ist aber nun wie genau mache ich das, was muss ich an das wishboneinterface übergeben damit genau dieser Schritt geschieht? Mein Vorschlag wäre: s_wb_adr_i <= '011'; -- transmit register wählen indem ich es an die adressschnittstelle anlege s_wb_dat_i <= x"A2"; -- die Daten hex A2 an die Datenschnittstelle anlegen -- bis hier hin denke ich bin ich auf dem richtigen weg, was aber nun tun mit dem write enable, strobe und dem valid cycle signal? s_wb_we_i <= '1'; -- ich setze alles eins weil nur dann der Befehl ausgeführt wird s_wb_stb_i <= '1'; s_wb_cyc_i <= '1'; s_wb_we_i <= '0'; -- ich habe keine Ahnung ob es notwendig ist diese Signale wieder auf null zu setzen oder ob ich die auf eins lassen kann und für das nächste Byte einfach nur die adresse und die daten ändern muss. s_wb_stb_i <= '0'; s_wb_cyc_i <= '0'; wäre schön wenn mir jemand helfen könnte, denn wenn ich diesen speziellen Schritt hinbekomme dann kann ich die gesamte notwendige sequenz aufbauen, als state machine oder so. Danke Robert
Schau dir mal die Dokumentation zum Wishbone Bus an, ist da eigentlich ganz verständlich erklärt: http://www.opencores.org/projects.cgi/web/wishbone/wbspec_b3.pdf
Hallo Andreas, Danke für Deine Antwort. Ich hatte dummerweise nur grob in der Doku geschaut und anscheinend Kapitel 3 übersehen. Ich denke jetzt müsste ich es hinbekommen :) Robert
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.