I2C core von open cores nutzen?

Gast #622790
Lesenswert?
• ▲
▼
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.