ADIS16201Silicon AnomalyAUTONULL FUNCTION RESULTS FAILS UNDER NEGATIVE ACCELERATION [er004] Background The autonull function simply measures the output of each acceleration and inclinometer register and then loads an equal but opposite value into the user-configurable offset nul registers. This restores the outputs to zero. Issue When a negative acceleration acts upon the device during the auto nul , it can return a positive output, rather than zero. Workaround Date Code 0750 and older can exhibit this behavior. Firmware Revision 1.5 fixed this issue. Verify this by reading the contents of 0x52 (lower byte) which is 0x15, if the fix is in place. If it is equal to 0x14 or lower, this issue exists on the part. If this issue is encountered, manual calibration adjustment is a better option. Related Issues None. ALM_SMPL1/ALM_SMPL2 WRITES CAUSE DEVICE FAILURE [er005] Background The ALM_SMPL1 and ALM_SMPL2 registers provide critical timing configuration data for rate-of-change alarm settings limited to one byte. The upper bytes of this register are documented as not used. Issue Writing to the upper byte of these registers causes a device failure. Workaround Date Code 0750 and older can exhibit this behavior. Firmware Revision 1.5 fixed this issue. Verify this by reading the contents of 0x52 (lower byte) which is 0x15, if the fix is in place. If it is equal to 0x14 or lower, this issue exists on the part. Do not attempt to write to the upper bytes of these registers, which are located at Address 0x25 and Address 0x27. Related Issues None. START-UP BEHAVIOR [er006] Background The ADIS16201 uses a number of internal functions (accelerometer, ADC, DAC, I/O, clock, voltage reference) to produce the accelerometer/inclination outputs with respect to gravity. Once the power supply to the ADIS16201 reaches 2.35 V, the ADIS16201 begins its power-on sequence to initialize and start each of these functions. The ADIS16201 uses an internal processor core and firmware to facilitate this power-on sequence. Issue On a small percentage of units that have Date Code 1333 (or lower), the start-up process occasionally exhibits behaviors that preclude correct initialization of the internal ADC. The observable symptoms include (but not limited to) the following: • SUPPLY_OUT register will return a value ~120 mV lower than the supply voltage to the part. • TEMP_OUT register will return a value ~20°C greater than expected. • XACCL_OUT, YACCL_OUT will return a value ~120 mG lower than expected. • XINCL_OUT, YINCL_OUT will return a value 6° to 7° off from the expected value. Investigation of this phenomenon has found that the anomalous start-up behavior only occurs on a very small percentage of ADIS16201 units. On units that show this phenomenon, there appears to be a very small window of temperature that may cause the problem to occur. For example, some devices that show this power-on issue occur when the ADIS16201 temperature is within a 1° to 2°C window between the −40°C to +105°C operating temperature. Workaround For those with unused material (not solder-attached to a PCB), use units that have Date Code 1333 (or higher). These units have a firmware Revision 1.6, which modifies the power-on initialization sequence in a manner that helps to prevent the microcontroller for initializing incorrectly during initial power-on. Note that the firmware revision resides in an undocumented register location, at Address 0x52 and uses and 8-bit, 2-digit binary-coded decimal (BCD) format. Reading Address 0x52 returns a 16-bit number, which represents Address 0x52 and Address 0x53. Mask off the upper 8-bits to eliminate contents from Address 0x53 and use the remaining 8-bits to determine the firmware revision of the ADIS16201. The lower nibble represents the ones digit. For example, 0x15 would represent firmware Revision 1.5, which indicates that the unit does not employ the updated power-on sequence. If the location contains the hexadecimal number of 0x16, then the unit uses firmware Revision 1.6, which employs the updated power-on sequence. For those who are observing this issue in existing systems, develop a detection routine that leverages one or more of the six register-specific symptoms, depending on the specific application. Systems that start-up in the same orientation can leverage historical information on the xINCL_OUT and xACCL_OUT and check to see if the values are within ±5°, because this behavior causes an angle error of 6° to 7°. When that is not practical, checking for negative changes in SUPPLY_OUT, which exceed 100 mV in magnitude offer another opportunity for detecting this condition. When this condition is detected, cycle the power to the device and check for the same conditions after the start-up process completes. While one power cycle is typically sufficient, some cases may require additional power cycles. Related Issues None. Rev. A | Page 2 of 4 Document Outline ADIS16201 Anomalies ADIS16201 Functionality Issues Manual Flash Memory Update Failures [er001] Scale Calibration Register Math Error [er002] STATUS Register Not Clearing When Read [er003] Autonull Function Results Fails Under Negative Acceleration [er004] ALM_SMPL1/ALM_SMPL2 Writes Cause Device Failure [er005] Start-Up Behavior [er006] Functionality Issues