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.

ADC12D1600 default register values not as expected

Other Parts Discussed in Thread: ADC12D1600RB, ADC12D1600

Hi,

I was wondering what would happen if the reserved register (addr 0x8)  does not come up with the power on default value of 0x0.  For some reason, the power on default value is coming up as 0xFFFF.  I am able to write 0x0 and change it to the default.  This is the first time I've seen this issue.  All other cards built with this chip have behaved as expected reserved register 0x8 = 0x0.  All other registers are showing the correct power on reset values.

Has anyone else reported this as a problem?  Will it be safe to just write 0x0 to this reserved register on power up and use it as normal?

Thanks for any advice.

Rob

  • Hi Rob,

    This is unexpected behavior; Register 0x08 should have POR value of 0x00, as advertised in the datasheet.  Is that board demonstrating any other strange behavior?

    Which board do you observe this on?  Is it one of our ADC12D1600RB or your own design?

    If it's yours, can you briefly describe the power-up sequence including application of power to the ADC, how/when is the ECEb pin driven and any other relevant start-up information which may be relevant?

    Kind regards,

    Marjorie

  • Hi Marjorie,

    Thanks for your quick reply.

    This is a board of our own design.  It's a new board fresh from the assembly line.  I haven't been able to fully evaluate this board, but while checking communications to the ADC I noticed the POR value was incorrect.  I've done some initial probing, however all other parameters appear as normal.  We've built a number of these boards and I've not seen this issue before.

    There is no controlled sequence to power-up.  A 2V2 rail powers 4 separate LDOs which in turn provides a 1V8 rail to the ADC DDR2, Track and Hold, Analog and Digital Encoder supplies.  Any control option pins are set by resistors pulled up to ADC Analog 1V8 rail, pulled to ground or left floating.

    We are using ECM  mode (ECEb pin pulled to ground).

    All other tested cards have had the same results up to this stage of testing (with the exception of the incorrect POR value for reg 0x08).  I hope to get some more results soon, and see if there are any differences between this card and the others.

    Can you comment on any side effects from leaving this register (0x08) at 0xFFFF?

    Thanks,

    Rob

  • Hi Rob,

    You're welcome!  Debug is always fun; I hope your system works as designed.

    When is the clock applied to the ADC, relative to the power?  The power rails (VA, VTC, VENC, etc.) should come up first.  This might be messing up the control registers.  I have seen it happen before - if the clock is applied before power, then the ESD diodes activate and dump the power into the rails.  Since they are powered up a bit, some unpredictable content can get programmed into the control registers.

    To check whether the POR is happening properly, you can set the ADC into Non-ECM and back again.  You can do this by setting ECEb high - and then low again.  Upon entering ECM, the control registers should be set to their defaults again.  So try the following:

    1. Power your system up and read the registers.  If you read FFFFh on Reg 8h, then your bug is still there.

    2. Cycle ECEb HI then LO again.  Read the registers again.  If you read 000h, then at least the POR feature is working.

    Another detail... you mention that the power rails are 1V8, but for the ADC, all rails should be 1V9.  Can you confirm the power supply? 

    Is this your first design with the ADC12D1600?  If you want to double-check for a board spin, we are happy to do a schematics / layout review of the ADC, clock drive, and analog input.  Please just allow 1 week for review.

    Register 8h is labeled as 'Reserved' in the datasheet.  It does have some internal test purposes, so it would be best that it is at the recommended default value as you evaluate. 

    Kind regards,

    Marjorie

     

     

  • Hi Marjorie,

    The clock is not applied until I manually enable it, well after power up.  To double check, I removed the AC coupling caps on the clock inputs and powered the card again.  Good thought though.  Same behaviour with or without AC coupling.

    Measured voltage on rails is 1.88-1.91V.  Our schematic is labelled 1V8 but it is actually 1V9 (or very close), sorry about the confusion.

    It does look like the POR is happening properly.  Following your steps: Step 1, I read 0xFFFF,  Step 2, cycle ECEb HI then LO, I read 0x0000.  This is very repeatable. Out of twenty restarts, it worked every time.  

    I did notice a potential clue... the power on calibration didn't run for two of the restarts.  I have a LED attached to the CalRun pin and can see the LED light up briefly on startup, indicating calibration had started/finished.  The step 1, 2 process still worked in both of these instances.

    Do you have any other ideas about what could be happening?  

    This is our first design with this ADC.  It is the third build of boards, and as mentioned, all previous builds have behaved as expected.  They've been running for over a year now with no issues.

    Thanks for your continued support.

    Rob

  • Hi Rob,

    How goes the debug?  The one good thing is that the error you observe is repeatable, not intermittent.  Those kind are pretty tricky to chase down...

    Clearly, something is not happening correctly with the initial start-up sequence since you are seeing two symptoms which have to do with the start-up.  A couple more things to try:

    1.  What happens if you power-cycle the board?  It sound like the register comes up incorrect 100% of the time; is that true?  However power-on CAL only ran for 18 / 20 power-cycles.

    2. How is ECEb set in the schematics / layout?  I understand that you pull it to GND - is that a direct tie to GND, via a 0 ohm resistor or another value resistor?

    Kind regards,

    Marjorie

     

  • Hi Marjorie,

    Debug was put on hold, then vacation plans took over.  I've had a quick look again after some time and have seen increased intermittent behaviour.

    During startups, register 0x8 is normally reading the correct default value. I'm having a harder time making it consistently come up with an incorrect value.  Side note: We have an LVDS buffer which connects to DCLK RESET.  I noticed that the supply voltage for the buffer was noisy (~300-350mV ripple).  After replacing the supply, the ripple is gone, and it seems to have changed the behaviour of the ADC startup...(not completely sure why since it's an independant supply not directly used by ADC). Since changing the supply, if the card comes up with incorrect default values on register 0x8, a power cycle usually sets it back to default.  Power-on CAL seems to be random, not the 18/20 noticed before.  When I say power-on CAL did not run, I mean to say the LED attached to CALRUN does not light up.  I checked this output on a scope as well to verify.

    I also checked the sequencing of the 1V9 rails.  I can see no difference in turn-on sequence between a good card and the bad card.  I was hoping for something more definite with that, but unfortunately not.

    So to answer:

    1. Register comes up incorrect 10% of time.  Power cycling seems to fix issue.  Power-on CAL runs randomly upon startup.

    2. ECEb is tied to ground through a 1k resistor.

    I'm really stumped on this one... 

    Thanks,

    Rob

  • Hi Rob

    Have you made any additional progress on this issue?

    Has this behavior still only been seen on a single board?

    Thanks,

    Jim B

  • Hi Rob

    Let me know if this issue is still open. I would like to help resolve it if possible.

    Best regards,

    Jim B