Hallo, ich habe ein Problem mit dem DAC MCP4725. Ich habe mir eine kleine Testschaltung aufgebaut mit der ich Analogwerte von einem Poti mit dem Atmega88 lese und über den I²C-Bus an den DAC4725 (12Bit) sende. Meine Schaltung funktioniert, nur wenn ich mit meinem Analogwert in einen Bereich zwischen 1V und 2V komme blockiert die Kommunikation zwischen Atmega und dem DAC. Ich sende folgende Bytes an den DAC: 1. Startbit 2. Das Adressbyte mit z.B. 11000010 Bit0=0 -> write Command 3. Das ertste Datenbyte mit 0000XXXX (erste 4 Bit's stehen für fast Mode und Power Down Select, letzten 4 Bit's sind die Datenbits D11-D8) 4. Das zweite Datenbyte (D7-D0) 5. Stopbit Ich konnte für dieses Verhalten zwei Bit's isolieren, D10 und D8 im zweiten Byte. Wenn ich diese Bit's ausblende läuft die Sache ohne Probleme, nur das ich dadurch natürlich nicht alle Werte übertragen kann. Hat jemand eine Idee oder Rat warum sich der MCP so verhält ? Danke für Eure Antworten ! Gruß Marcus
Hallo, http://www.sparkfun.com/datasheets/BreakoutBoards/MCP4725.pdf Seite 18 Es sieht so aus, als ob man das erste und zweite Datenbyte nochmal wiederholen sollte. "Repeat bytes of 2nd and 3rd bytes". Denn scheinbar erwaret der MCP4725 beim schreiben >immer< vier zu übertragende Byte, auch wenn sie nicht genutzt werden. Ganz schön tricky. Gruß Horst
Hallo Horst, Danke für Deine Antwort! Das habe ich im Datenblatt (Figure 6-1 Page 24) auch gesehen, das das 2. und 3. Byte wiederholt gesendet wird und danach das Stop-Signal. Ich habe aber keinen Hinweis darüber gefunden das die Bytes wiederholt gesendet werden müssen. Ich habe es auch schon probiert und die Datenbytes wiederholt und danach das Stop-Siganl aber ohne Erfolg. Sobald das Bit D10 & D8 gesetzt ist hängt sich der I2C-Bus bzw. das ganze Programm auf. Gruß Marcus
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.