This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OPT3004: I2C Read issue (00h)

Part Number: OPT3004

Tool/software:

Hi Team,

We follow the datasheet to set I2C register addr and issue the read cmd, but not sure why we get the 0x0000 data always.

Do we need to issue any other cmd? (In addition, we use the OPT3004 EVM)

Regards,

Roy

  • HI Roy, 

    The guide below explains easy start up for using the OPT3004EVM. You need to choose run continuously. 

    OPT3004EVM User's Guide

    Thank you,

    Joseph Scherphorn 

  • Hey Roy, 

    Seems I deleted your comment when I cleared my double.   

    Can you provide me with your setting for the configuration register?

    Thank you, 

    Joseph Scherphorn

  • Its good to note also that you can utilize the register read function in the GUI to check different register settings during operation.   You can then set the registers the same when using microcontroller as they were in your desired operating mode when using EVM through GUI

  • Hi Joseph,

    Currently, we are developing the OPT3004 with our own MCU. Current issue is that every time we read the 00h, the readback data is always 0x0000h. But the other register are ok.

    01h = C810h 

    02h = 0000h

    03h = BFFFh

    7Eh = 5449h

    7Fh = 3001h

    We tried to modify the 01h from C810h to CC10h(Continuous conversions), but still can't read the correct data from 00h. 

    01h = C810h -> CC10h

    Do you have any idea for the issue? 

    Regards,

    Roy

  • Hi Roy, 

    You are correct to change configuration reg to 0xCC10. 

    Following this, you are saying if you continue to read result reg (0x00) you will keep getting this same 0x0000 result?

    You are operating i2c in standard mode correct?

    Thanks, 

    Joseph Scherphorn

  • Hi Joseph,

    Following this, you are saying if you continue to read result reg (0x00) you will keep getting this same 0x0000 result?

    Yes. We tried to read the value for 1min, but always reported 0x00.

    You are operating i2c in standard mode correct?

    According to the figure that customer provided. (See initial question in E2E) The clk freq is 200kHz. Is it an issue here? 

    But the other registers can be read/written. And the 00h can respond ACK. So I am not sure if anything we missed initially.

    Regards,

    Roy

  • Hello Roy, 

    Could you provide scope shots for results register read attempt now that device is in continuous conversion? I believe previous scope shots were taken while device was in shutdown mode. 

    Just to confirm: on customer microcontroller board are there pullups on the i2c lines?

    Again, quickest way to solve this is to simply scope i2c lines while device is operated by GUI then compare to scope shot for "same" configuration using customer board.   

    Thanks, 

    Joseph Scherphorn