Post Go back to editing

ADIS16223 Rev0 Data sheet typos?

Are these typos? The Rev 0 Data sheet for ADIS16223 as downloaded from AD website has a couple of important typos.

Page 14 of 20

Alarm Indicator states "Set GLOB_CMD[4]=1 (DIN = 0xBF10)"

The DIN should be 0xBE10 not 0xBF10 ?

 

Page 15 of 20

Self-Test states "Set GLOB_CMD[2] = 1 (DIN = 0xBE02)"

The DIN should be 0xBE04 not 0xBE02 ?

 

I have drawn up a table based on Table 27 but with the addition of the DIN commands as I understand them.

Please can you check the above observations and the table below for accuracy / errors.

Are the observations above due to typos or have I misunderstood the GLOB_CMD[x] commands?

Bits Din command Description
15 0xBF80 Reserved
14 0xBF40 Reserved
13 0xBF20

Restore capture data and settings

12 0xBF10

from flash memory

11 0xBF08

to flash memory

10 0xBF04 Set CAPT_PNTR = 0x0000
9 0xBF02 Reserved
8 0xBF01 Clear capture buffers
7 0xBE80 Software reset
6 0xBE40 Reserved
5 0xBE20

Flash test, compare sum of flash

4 0xBE10

memory with factory value

3 0xBE08

Restore factory register settings

2 0xBE04

and clear the capture buffers

1 0xBE02 Power-down
0 0xBE01 Autonull
  • Thank you for your post! Unfortunately, I am tied up until near the end of the day on Monday. I will get back to this as soon as possible.

  • Thanks!

    The copy and paste of my table is wrong. Please see below the updated Table (Bit 4 in my old table is not labelled correctly)

    Also please Note: The possible typos could be the “bit number” rather than the “command” or I could be misunderstanding the logic of GLOB_CMD[x] commands.

     

    Bits

    Din command

    Description

    15

    0xBF80

    Reserved

    14

    0xBF40

    Reserved

    13

    0xBF20

    Restore capture data and settings

    12

    0xBF10

    from flash memory

    11

    0xBF08

    to flash memory

    10

    0xBF04

    Set CAPT_PNTR = 0x0000

    9

    0xBF02

    Reserved

    8

    0xBF01

    Clear capture buffers

    7

    0xBE80

    Software reset

    6

    0xBE40

    Reserved

    5

    0xBE20

    Flash test, compare sum of flash memory with factory value

    4

    0xBE10

    Clear DIAG_STAT register

    3

    0xBE08

    Restore factory register settings

    2

    0xBE04

    and clear the capture buffers

    1

    0xBE02

    Power-down

    0

    0xBE01

    Autonull

  • Had some unexpected time today, so let me start with your Table.  Here is how I would approach this; using Table 27 in the ADIS16223 datasheet as our starting point.  Does this clarify the commands for you?  If you have any questions or see any typos, please do let me know. While this may be a bit redundant, I will answer each of your questions in separate responses.

    Bits

    Command (Hexadecimal)

    Description

    Execution Time1

    [15:14]

    N/A

    Reserved

    Not applicable

    [13]

    0xBF20

    Restore capture data and settings from flash memory

    0.98 ms (no capture), 7.0 ms (with capture)

    [12]

    0xBF10

    Copy capture data and settings to flash memory

    339 ms (no capture), 509 (with capture)

    [11]

    0xBF08

    Capture mode start/stop

    Not applicable

    [10]

    0xBF04

    Set CAPT_PNTR = 0x0000

    0.035 ms

    [9]

    N/A

    Reserved

    Not applicable

    [8]

    0xBF01

    Clear capture buffers

    0.84 ms

    [7]

    0xBE80

    Software reset

    54 ms

    [6]

    N/A

    Reserved

    Not applicable

    [5]

    0xBE20

    Flash test, compare sum of flash memory with factory value

    10.5 ms

    [4]

    0xBE10

    Clear DIAG_STAT register

    0.035 ms

    [3]

    0xBE08

    Restore factory register settings and clear the capture buffers

    339 ms

    [2]

    0xBE04

    Self-test, result in DIAG_STAT[5]

    33 ms

    [1]

    0xBE02

    Power-down

    Not applicable

    [0]

    0xBE01

    Autonull

    936 ms

  • ORIGINAL

    Page 14 of 20

    Alarm Indicator states "Set GLOB_CMD[4]=1 (DIN = 0xBF10)"

    The DIN should be 0xBE10 not 0xBF10 ?

    ANSWER

    You are correct. The command for this should be DIN = 0xBE10

  • ORIGINAL QUESTION

    Page 15 of 20

    Self-Test states "Set GLOB_CMD[2] = 1 (DIN = 0xBE02)"

    The DIN should be 0xBE04 not 0xBE02 ?

    ANSWER

    You are correct. The command for this should be DIN = 0xBE04

  • Thanks again for this feedback. I have posted an acknowledge of these errors in the following post, which I tagged you in. 

    https://ez.analog.com/docs/DOC-17347

    I will be submitting an update request for our Technical Documentation team. Since we are near their peak demand time, this might take 2-3 months to show up online, which is why I created this acknowledgement post. 

  • Can you re-check BE02 / BE04 GLOB commands.

    Logic based on bit positions as published in table 27 would make

    Self-Test states "Set GLOB_CMD[2] = 1 (DIN = 0xBE04)

    But I and others use 0xBE02 for self test. Could the error be the bit position stated in Table 27, rather than the DIN?

    So it could say Self-Test states "Set GLOB_CMD[1] = 1 (DIN = 0xBE02)"

    This would mean it clashes with bit position for Power-down so that would need to be looked at too.

  • If you are going to say something is "Logic based" or refer to what "others use," I would encourage a bit more support for such claims. Who else is saying that bits 1 and 2 need to be flipped?  What logic is this based on?  Just to make sure, I did review the internal firmware specifications and found that its definitions for the GLOB_CMD[1] and GLOB_CMD[2] bits are consistent with what is in Table 27 in the datasheet, and in the post that I made on Sep 10, 2017, at 12:47PM. Perhaps our internal design documentation is wrong, but I need more supporting information, to take that idea any further.

  • Logic

    The logic is taking the GLOB_CMD DINs that are mentioned in various places on the data sheet and finding the rule/logic that matches them to the bit positions. Your table above shows the logic between bit positions and DIN commands. The typos on the Data Sheet made it hard to find the rule / logic to match positions to DIN Commands. Your table does this well and makes it much easier for developers to follow.

    GLOB_CMD[1] and GLOB_CMD[2] bits and DINs

    The data sheets says “Set GLOB_CMD[2] = 1 (DIN = 0xBE02) to run an automatic self-test routine”. My observation was:

    “The DIN should be 0xBE04 not 0xBE02 ?”

    This was to fit in with table 27 and assumes table 27 bit positions are correct. The concern with this is the fact that  0xBE02 is used for self-test and does seem to work that way. On an email from AD support staff this week, “Valeria” says:

    “3. Could you please perform the self-test function?  DIN = 0xBE02”

    I tried this and it worked. If instead of doing a self-test it did a Power-down, as per our new table, then I would have noticed. No power down happened and it looked to me that  DIN = 0xBE02 does perform the self-test.

    When I say others use it this way I am refereing to a topic on this forum:

    “Arduino/ Esp8266 and ADIS16223 - SPI and wiring issue”.

    The user “Sille” publishes his code and one line says:-


    "write_reg(0xBE02)  --in case an error occures doing a self test"


    I am sure that worked for him and that 0xBE02 did not perform a power-down as suggested by our new table.
    On page 12 of the Data sheet it says:

    “When data is extracted after a capture, the user can command the device to go back to sleep by setting GLOB_CMD[1] = 1 (DIN = 0xBE02).“

    So there is a clear clash between Power down and self-test.

    Our new table needs to look at “self-test” and “power down” and not only look at the DIN commands but also check the bit positions. I know you have already done this, but current use of 0xBE02 as self-test means we need to investigate in more depth.