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.

ADS4449: Setting CLOCKOUT DELAY

Part Number: ADS4449
Other Parts Discussed in Thread: ADS4149

I am setting registers 0xA9 and 0xAC on an ADS4449 to play with the CLOCKOUT DELAY settings.  It seems to have zero effect on the data being received.

Is there any other setting that needs to be enabled for the CLOCKOUT DELAY to take effect?  I couldn't see anything in the datasheet.

Background: we have some data errors on a product with a custom ADS4149 board installed.  Changing the CLKOUT DELAY for that device fixed our data errors.  it requires an EN_CLKOUT_FALL and EN_CLKOUT_RISE to be set.  Just wondering if there is something similar required for ADS4449, given no observable effect when a custom ADS4449 board is installed.

Thanks, Brendan.

  • Brendan,

    There are several registers that require a "1" to be written to certain bit locations. Register 0xAC bit 0 is one of these locations. Are you doing this for all of these registers? Can you send your register settings? Are you issuing a hard or soft reset after power up?

    Regards,

    Jim

  • Hi Jim,

    A hardware reset is issued before configuring the ADS4449.

    Yes, all `ALWAYS WRITE 1` bits are being written with `1`.

    All settings, with default clkout

    read-all: settings = ['0x00=0x00', '0x01=0x00', '0x25=0x00', '0x2B=0x00', '0x31=0x00', '0x37=0x00', '0x3D=0x00', '0x3F=0x00', '0x40=0x00', '0x42=0x00', '0x45=0x10', '0x4A=0x20', '0x62=0x20', '0x7A=0x80', '0x92=0x20', '0xA9=0x00', '0xAC=0x01', '0xC3=0xE6', '0xC4=0x00', '0xCF=0x00', '0xD6=0x80', '0xD7=0x0C', '0xF1=0x00', '0x58=0x00', '0x59=0x80', '0x70=0x00', '0x71=0x80', '0x88=0x00', '0x89=0x80', '0xA0=0x00', '0xA1=0x80', '0xFE=0x00']

    All settings, with clkout set to +170ps

    read-all: settings = ['0x00=0xFF', '0x01=0x00', '0x25=0x00', '0x2B=0x00', '0x31=0x00', '0x37=0x00', '0x3D=0x00', '0x3F=0x00', '0x40=0x00', '0x42=0x00', '0x45=0x10', '0x4A=0x20', '0x62=0x20', '0x7A=0x80', '0x92=0x20', '0xA9=0x0F', '0xAC=0x79', '0xC3=0xE6', '0xC4=0x00', '0xCF=0x00', '0xD6=0x80', '0xD7=0x0C', '0xF1=0x00', '0x58=0x00', '0x59=0x80', '0x70=0x00', '0x71=0x80', '0x88=0x00', '0x89=0x80', '0xA0=0x00', '0xA1=0x80', '0xFE=0x00']

  • Hi Brendan,

    Thank you for your patience. I initialized the device with the registers below:

    0x00 0x00,0x01 0x00,0x25 0x00,0x2B 0x00,0x31 0x00,0x37 0x00,0x3D 0x00,0x3F 0x00,0x40 0x00,0x42 0x00,0x45 0x00,0xA9 0x00,0xAC 0x00,0xC3 0xE6,0xC4 0x00,0xCF 0x00,0xF1 0x00,0x58 0x00,0x70 0x00,0x88 0x00,0xA0 0x00,0xFE 0x00,0xAC 0x00,0xD6 0x00,0x59 0x78,0x71 0x78,0x89 0x7A,0xA1 0x7A,

    Then I executed the following writes individually '0xA9=0x0F', '0xAC=0x79' and I was able to see CLKOUT be delayed for each of them.

    Also, are you writing 0xFF to the register address 0x00? Or is that a typo? because you should always write 0 to bits 7-2 at least according to the datasheet.

    Hopefully this answers your question.

    Best,

    Camilo

  • Hi Camilo,

    OK.

    No, I am not writing 0xFF to register 0x00.  I'm not sure why the readout provided that output?  The line is just a copy-n-paste from the terminal output.  Good pickup ;-)

    I will need to go back and retest, but it sounds like no extra steps are required to what I have already done.

    Thanks, Brendan.

  • Hi Brendan,

    There are no other steps required, that should be all you need.

    Best,

    Camilo

  • No problem. Have a nice day!

    Best,

    Camilo.