0
\$\begingroup\$

So I'm working with this part the ADAU1761 it's a little dsp codec from Analog. I'm trying to get I2C communication up between it and my PIC32. I spent a good part of today trying to get this to work, thinking I would verify it by reading a register. I was getting ACKs but no data returned. Finally I tried manually programming the ADAU1761 and then reading registers worked fine. I'm suspicious that maybe I need to write some clock values to it first, but so far it's not too clear from the datasheet.

I am reading the datasheet and I did read their document on how to program the whole device. I was trying to take baby steps by verifying my i2c first before trying something more advanced though.

Anyone have an experience with these parts, who might know what I need to do?

\$\endgroup\$
4
  • \$\begingroup\$ Perhaps if you showed us what you've already tried we can tell you what you've done wrong. \$\endgroup\$ Commented Dec 21, 2014 at 22:39
  • \$\begingroup\$ Well I wrote routines to read and write I2C using the PIC. Then I mucked around for hours trying to get read data back from the ADAU1761 control registers that matched a default setting. When I manually program the ADAU1761 first using sigmadsp, the dsp comes up and works. Now after that I get valid data back when I use the same routines to read the config registers. So I was just wondering if anyone knew if you have to program the DSP first, maybe to get clocks and enable processor, for it to work. I can see the transactions one my scope. \$\endgroup\$
    – confused
    Commented Dec 21, 2014 at 22:49
  • \$\begingroup\$ Do you have pullup resistors on your I2C lines? \$\endgroup\$
    – Majenko
    Commented Dec 21, 2014 at 23:08
  • \$\begingroup\$ Yes 2K on both lines, reads work fine after dsp is configured. They are acked before the dsp is configured, but data is all zeros. \$\endgroup\$
    – confused
    Commented Dec 21, 2014 at 23:18

1 Answer 1

1
\$\begingroup\$

For future folks, it turns out that you do have to program the ADAU1761 completely first before you can read registers. I got it working after talking to some people at Analog and borrowing a Logic Analyzer.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.