www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Altera DE1 Board: Frage zu I2C Bus Adresse vom Audiocodec.


Autor: Bobo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Frage zum Audicodec der auf dem Altera DE1 Board verbaut 
ist.

Wie lautet die Adresse mit der ich den Codec (nicht seine Register) 
anspreche?

Im Datenblatt ist auf Seite 43 Tabelle 25, die Adresse 0011010 
angegeben, da laut DE1 Manual CSB auf GND liegt.
Jetzt ist aber im Manual auf Seite im Schaltplan eine Adresse für Read 
und eine für Write angegeben, die aber überhaupt nicht mit der aus dem 
Datenbaltt übereinstimmt!?

Was ist nun die richtige Adresse?

Danke

Autor: Bobo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt zum Codec

Autor: Bobo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat denn noch keiner mit dem Audiocodec bzw. ED1 Board gearbeitet?

Autor: FPGAINGENIEUR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, ich! Aber auswendig kann ich dir das nicht sagen ...

Autor: Bobo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, wenn du so freundlich wärst und mal nachsehen könntest...

Autor: Bobo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So ich habe jetzt herausgefunden welche Adresse die richtige ist:

0011010 =7Bit + 1Bit R/W (W=0)
--> es muss 0011010 zuerst gesendet werden um ein Register zu 
beschreiben.

Ich habe das ganze herausgefunden in dem ich ein "Beispielprogramm" 
I2CSound, das bei dem Board dabei gewesen ist, auf den FPGA geladen und 
mir das Bustimming angesehen habe. Das ganze ist in Verilog geschrieben, 
welches ich nicht verstehe, sondern nur VHDL. Deshalb kann ich auch 
nichts weiteres aus dem Code erkennen, was mit hilfreich sein könnte. 
:-(

Allerdings funktioniert mein Buscontroller mit der richtigen Adresse 
immer noch nicht so richtig, ich bekomme einfach kein Acknowledge vom 
Codec!
Das Bustiming ist innerhalb der Spezifikation, die Zeiten sind im Limit 
(siehe Anhang). Nach dem achten Takt müsste der Codec eigentlich den Bus 
auf 0 ziehen, macht er aber nicht. wieso?

Jetzt stellt sich die Frage welche Pins MÜSSEN noch beschaltet werden?
Ich habe
SDIN : I2C Data
SCLK : I2C Clock
MCLK : Master Clock (mit 12,5MHz beschaltet)
belegt. Fehlt noch etwas ohne das der Codec (also sein I2C Interface) 
nicht funktioniert?

Autor: xeniter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon ne Lösung gefunden? Will zwar keine Leichen schänden, 
stecke aber grad vor selben Problem...

Hab es zwar noch nicht mit dem Oszi kontrolliert, aber ich bekomme auch 
kein ACK.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
xeniter schrieb:
> Hab es zwar noch nicht mit dem Oszi kontrolliert, aber ich bekomme auch
> kein ACK.

Bezüglich I2C Adressen gibts lange Threads.

Beitrag "I2C Bus Adressierung"

MfG Klaus

Autor: xeniter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wer lesen kann ist klar im vorteil...

ich bekam bei der read funktion kein ack, weil der codec nur schreiben 
unterstützt.

Auszug aus Datenblatt:

The WM8731/L is a write only device and will only respond to the R/W bit 
indicating a write. If the address is not recognised the device will 
return to the idle condition and wait for a new start condition and 
valid address.

Die Angabe der READ Adresse aus dem Altera DE1 schematics ist schon fast 
ne vera****.

Vielleicht schreib ich Ihnen noch ne Mail das sie die Adresse entfernen 
bevor sich noch mehr User ägern und fast Tage vergeuden deswegen.

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
xeniter schrieb:
> write only device
Gut zu wissen, das es soetwas gibt.

Ich scanne meine I2C-Busse, in dem ich auf allen Adressen versuche zu 
lesen. Am ACK erkenne ich normalerweise, ob was dranhängt. Mit solchen 
Devices würde das dann zuverlässig schief gehen.

Duke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.