ADIS16209 - FAQ
What are the moisture absorption specifications or considerations for the iSensor products?
Each of the iSensor LGA products has an MSL rating per JEDEC J-STD-033. Per J-STD-033, all iSensor LGAs are stored and shipped from ADI in trays, which are vacuum packed inside antistatic bags with desiccant bags and moisture indicator strips. The MSL rating is clearly labeled on the outside of the antistatic bag, normally with a white stick with blue text.
It's important to check with your manufacturing resources regarding their MSL handing procedures and verify that it gets appropriate consideration. Always inspect incoming materials to verify packaging per
J-STD-033, including the moisture indicator strip, which can alert inspectors to broken seals and potential exposure to moisture. If the integrity of the packaging is in doubt, use a bake-out per J-STD-033 and manage the devices exposure to moisture prior to solder reflow.
What are some of the mechanical stress considerations when mounting iSensor devices?
Packages with small lead structures can be fractured by any process that causes printed circuit board (PCB) tourque. This flexing, or bending of the PCB, can result in fractures and device separation.
Do not assume that the PCB score and snap processes are benign. It is very difficult to quantify the amount of stress it can place on a single lead. The iSensor LGA evaluation boards use a routing bit and clamping system to greatly reduce stress on the lead structure during PCB separation. The use of underfill systems, such as Hysol 4450, can increase the attachment area underneath a device and help prevent lead fracture.
When my ADIS16209 starts up, STATUS = 0x0020, which indicates a self-test failure, but the rest of the operation seems to be fine. Is this real? What should I do?
At the time of this post, the ADIS16209 datasheet (Rev C) contains some errors in this description, which are being addressed in an upcoming revision. In advance of this, update let's use this discussion to describe the self-test function correctly, for those who are having similar experiences. The self-test function applies an electrostatic force to the MEMS structure, inside of the core sensor, which causes the structure to move in a manner that simulates its response to gravity or linear acceleration. This provides an observable response in the accelerometer outputs, that can serve as a validation of “functional operation” throughout the entire signal chain. The MSC_CTRL register provides two different options for using this function: manual (user-command) and automatic (during start-up/reset recovery).
The manual self-test control is an on/off control for the electrostatic force. Set MSC_CTRL = 1 to turn it on and set MSC_CTRL = 0 to turn it off. For normal operation, this will be in the "off" state but this control bit provides an opportunity to activate it at anytime, so that system processors can apply application-relevant pass/fail criteria to the responses. When MSC_CTRL = 1, the automatic self-test process runs the ADIS16209 through on/off states, while observing the difference in accelerometer response, between "self-test on"and "self-test off." This process concludes with a comparison of the differential response in each accelerometer, with internal pass/fail limits and a report of the result to STATUS. Once the ADIS16209 completes is its start-up process, STATUS is available for a SPI-driven read, using DIN = 0x3C00 as the SPI input command (STATUS at address 0x3C). Linear motion during the start-up process, VDD ramp rates/waveform and the tilt of the device can introduce uncertainty into the on/off levels and in some cases, cause a "false failure" report to STATUS (0x0020). While the selection of the pass/fail limits incorporates most conditions, we have seen a few cases of false failures and the recent updates for improving ADIS16209 sensitivity to power supply configuration seem to have increased this sensitivity a small amount.
When presented with a self-test failure indication, where STATUS > 0x0020, use the following process to manually check for basic function in the ADIS16209:
- Starting assumptions:
- No linear motion
- Stable VDD
- Set AVG_CNT = 0x0000 and SMPL_PRD = 0x0008, in order to optimize the response times during the self-test transitions, while keeping the ADIS16209 in low power mode. In this configuration, the self-test response will be similar to a step response of a single-pole, low-pass filter that has a cutoff frequency of 50Hz
- Read XACCL_OUT and YACCL_OUT
- Set MSC_CTRL = 1
- Delay > 20ms, which provides the 50Hz filter (internal to ADIS16209) with at least ~ 6 time constants to settle.
- Read XACCL_OUT and YACCL_OUT
- Calculate difference in measurements:
- D-XACCL_OUT = XACCL_OUT (step 6) - XACCL_OUT (step 3)
- D-YACCL_OUT = YACCL_OUT (step 6) - YACCL_OUT (step 3)
- Set MSC_CTRL = 1
- Restore SMPL_PRD and AVG_CNT registers to their operational values
- Determine "normal operation" by make sure that the D-XACCL_OUT and D-YACCL_OUT produced a change of at least 350LSB.
NOTE: 350 LSB is approximately one-half of the datasheet specification for the "minimum" response time but is well above the noise floor. Since this test is designed to find major issues, like "no response," this should be a safe approach for pass/fail criteria.