For ADIS16497, each register is byte accessible. If I want to configure the device, do I need to send two commands to write to both the lower byte higher byte of the register for the configuration to take effect?
For example, if I want to toggle a bit in FNCTIO_CTRL, I only need to write to the lower byte, since the bit I want to toggle is in lower byte. Do I have to write to the higher byte as well?
If I need to write to both bytes of FNCTIO_CTRL for configuring the device, do I need to stall for long period of time for both writes? (the datasheet specifics 340us for FNCTIO_CTRL.)
Hi boredeng,Thank you for your post and sorry for the late response. |For your first question. Updating the contents of a register requires writing to both its low and high bytes.
Yes, you would need to…
Sorry for the late reply. It is the second. Write low byte, stall 340 us then write high byte.But please do note that the ADIS16497 can take up to 20 ms to execute a write command to the FNCTIO_CTRL…
Yes, you would need to account for that as shown in the Timing Diagrams (Page 7 of Datasheet):
Hope this helps! Best regards,John
Thanks for the answer. For the second question, if I need to write to both low and high bytes for the command to take effect, do I really need to stall 340us between low and high byte write?
I expected this is how it work:
write low byte, stall 2us (standard stall time between regular command), write high byte, stall 340us.
Could you please confirm if this is correct? Or should it be:
write low byte, stall 340us, write high byte, stall 340us.
Sorry for the late reply. It is the second. Write low byte, stall 340 us then write high byte.But please do note that the ADIS16497 can take up to 20 ms to execute a write command to the FNCTIO_CTRL Register. Hope this helps. Best regards,John