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


von Bobo (Gast)


Angehängte Dateien:

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

von Bobo (Gast)


Angehängte Dateien:

Lesenswert?

Das Datenblatt zum Codec

von Bobo (Gast)


Lesenswert?

Hat denn noch keiner mit dem Audiocodec bzw. ED1 Board gearbeitet?

von FPGAINGENIEUR (Gast)


Lesenswert?

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

von Bobo (Gast)


Lesenswert?

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

von Bobo (Gast)


Angehängte Dateien:

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?

von xeniter (Gast)


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.

von Klaus (Gast)


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

von xeniter (Gast)


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.

von Duke Scarring (Gast)


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

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.