Gast
#622790
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