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
Hat denn noch keiner mit dem Audiocodec bzw. ED1 Board gearbeitet?
Doch, ich! Aber auswendig kann ich dir das nicht sagen ...
Hm, wenn du so freundlich wärst und mal nachsehen könntest...
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?
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.