AD1941 I2C Reading Problems

Hi.

I have developed the micom control program using AD1941 Sigma DSP.

I developed a custumized AD1941 board and it is working very well.

But, the only one problem is the I2C data read. (There is no problem when I2C data writing.)

I tried to read Data Capture Register using I2C, the reading data is wrong values. (and core register, serial audio control register too.)

I checked I2C communication wave using osciloscope, I found that there is no ack signal when I2C read chip address value send to AD1941.

When micom sent to AD1941 I2C read chip address (0x29), AD1941 replied no ack (High status).

I tested to read data another ic(ADC and DAC) if my I2C Read/Write function source codes are wrong, but it read correct data.

I checked AD1941 datasheet, I programed following datasheet page 18 and 26.

How can I solve this ploblem? Reading data capture register is very important function for my applications.

  • 0
    •  Analog Employees 
    on Feb 9, 2010 1:22 AM

    The first byte of your I2C read communication should include the 7-byte IC address and the read/write bit. If pin ADR_SEL is set low, then your first byte sent should be 0x29 (b00101001), after which the AD1941 should acknowledge the communication. Can you confirm that what you're sending matches this data here? Is the AD1941 sending an ack when you send a write command with byte 0x28 (b00101000)?

  • Thank you, JeradL.

    I retried to test my custom designed board.

    And I retest I2C data reading with my EVAL-1941ED board. But USB serial converter had some problem, I couldn't test that.

    Anyway, I attach two image I2C read wave form which is captured the osciloscope.

    I tried to read values of the Data Capture Register1. (0x0A4B)

    One is the I2C read sequence in the datasheet page 18.

    (Start),(0x28),(AS),(0x0A),(AS),(0x4B),(AS),(Start),(0x29),(AS),(DataRead1),(AM),(DataRead2),(AM),(DataRead3)(AM),(End)

    (AS: Ack by Slave, AM: Ack by Master)

    The RED marked Ack signal is High(No Ack status).

    The other is the I2C read sequence in the datasheet page 26.

    (Start),(0x29),(AS),(0x0A),(AS),(0x4B),(AS),(DataRead1),(AM),(DataRead2),(AM),(DataRead3)(AM),(End)

    I will be trying to solve this problem.

    And I will wait some help. 

    Thank you for reading my poor english article.

  • No one can help me.

    The privious I2C control program is GPIO port control of the microcontroller(ATMega2561).

    I am trying to change program using I2C control register in ATmega2561.

  • 0
    •  Analog Employees 
    on Aug 2, 2018 4:09 PM
    This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin