Post Go back to editing

ADIS16223 - Reading Registers through the SPI


I am using ADIS16223 for my project,firstly i tried to read product id from 0x56,0x57,i got 5F from 0x57 and 00 from 0x56,and im getting  different values like 58,88,21,23,and please help me to convert that to g value.

please reply as soon as possible

  • Thank you for posting.  We are trying to keep each discussion focused on one topic, associated with one product.  In the future, can you please start a new discussion, unless your question is directly related to another discussion?  Thank you! I will respond to your message.

  • First, I think that you might be misunderstanding the coding associated with read requests.  You DO NOT request a register's contents, one byte at a time.  In the 16-bit read request, you present either byte's address, in order to receive all 16-bits of that register on the next 16-bit sequence.  So, DIN = 0x5600 or DIN = 0x5700 will give you access to all 16 bits in the PROD_ID register.  When you use DIN = 0x5657, the "57" is complete ignored.  In order to illustrate this, try DIN = 0x5756, instead of 0x5657 and see if the result changes.  You should received 0x3F5F, in either case.  I would make sure that you can execute this correctly before you do anything else

  • NOTE: When you write to a register, you use a 16-bit sequence to write to one byte at a time.  So to summarize, you read 16-bits of a register at one time, but write to 8-bits at a time.  Hope that helps.

  • Once you can read the PROD_ID correctly, then you will need to trigger a data capture, before you can read the data.  If you use the factory-default setting for CAPT_CTRL, you can trigger a capture event by setting GLOB_CMD[11] = 1. After the capture is complete (busy signal will change to indicate completion), then you can use the CAPT_BUFFx registers to read data from the buffers. I hope that helps.

  • NOTE: We commonly see cases where our customers have accidentally written to registers, when they are working on getting their SPI routines in place.  It happens to all of us.   So, don't assume that CAPT_CTRL or GPIO_CTRL have their factory default settings.  Read these registers and make sure that they contain the settings that you think they do.

  • By the way, after reading you initial question again, I fear that I may have misunderstood what you were saying and hence, drawn the wrong conclusion. If I did misunderstand what you were saying, I am sorry about that!