Analog.com Analog Dialogue Wiki English 简体中文 日本語
$EngineerZone
EngineerZone
  • Log In
  • Site
  • Search
  • User
  • Forums

    Popular Forums

    • RF and Microwave
    • Power Management
    • Video
    • FPGA Reference Designs
    • Precision ADCs
    • Linux Software Drivers
    • SigmaDSP Processors & SigmaStudio Dev. Tool

    Product Forums

    • A2B
    • Amplifiers
    • Analog Microcontrollers
    • Clock and Timing
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy Monitoring and Metering
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Processors and DSP
    • Switches/Multiplexers
    • Temperature Sensors
    • Voltage References
    View All

    Application Forums

    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Optical Sensing
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools and Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Reference Designs
    • Signal Chain Power (SCP)
    • Software Interface Tools
    • System Demonstration Platform (SDP) Support
  • Learn

    Highlighted Webinar

    Digital Isolator Working Voltage Considerations for End Application Optimization

    Recent Discussions

    • ADALM-2000 SET A STATIC IP
    • Error in compiling program using libad9361 and libiio
    • Inconsistent receiver power between 2 transmissions of the same signal
    • DMA (from PS to PL) unexpected behavior
    • ADALM-PLUTO firmware upgrade crash

    Places

    • ADI Education Home
    • ADI Webinars
    • StudentZone (Analog Dialogue)
    • Video Annex
    • Virtual Classroom

    Latest Webinars

    • Digital Isolator Working Voltage Considerations for End Application Optimization
    • In-vehicle Networking Simplified with 10BASE-T1S
    • Design of Multi-Band Phased Array Systems for Space Applications
    • Designing Optimized Power Solutions for Precision Signal Chains (2023)
    • One Size Fits All - Power Your Applications with an Integrated Power IC
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quizzes AQQ248 about a funny function
    View All

    Places

    • Community Help
    • Logic Lounge
    • The Weekly Brew

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • Blogs

    Highlighted Blogs

    Rediscovering Signal Chain µModule®︎

     

    Why AI Assisted/Enabled Buildings Need Intelligent Edge Devices

    Latest Blogs

    • Mastering Precision: A Guide to Setup Your Laboratory for IPn Measurement
    • A Visit to the EMC Lab: Radiated Vs. Conducted Emissions and Immunity
    • Finally, Batteries You Can Believe
    • Powering Your Drive - It's More Than Just Plugging It In
    • How Old Wires Are Bringing New Efficiencies to Building Retrofits
    Read All Blogs

    ADI Blogs

    • EZ Spotlight
    • The Engineering Mind
  • Partners

    Electronic Design Services - PartnerZone

    • Boston Engineering
    • Calian, Advanced Technologies
    • Colorado Engineering Inc. (DBA CAES AT&E)
    • Clockworks Signal Processing
    • Epiq Solutions
    • Fidus
    • PalmSens
    • Richardson RFPD
    • Tri-Star Design, Inc.
    • VadaTech
    • Vanteon
    • X-Microwave
    View All
MEMS Inertial Sensors
MEMS Inertial Sensors
Documents FAQ: ADIS16209 Self-Test Management
  • Forums
  • Files
  • FAQs/ Docs
  • Members
  • Tags
  • More
  • Cancel
  • +Documents
  • +3-D Model/STEP: FAQ
  • +AD22282-A-R2: FAQ
  • +ADIS16000: FAQ
  • +ADIS16003 MTBF: FAQ
  • +ADIS16006: FAQ
  • +ADIS16201: FAQ
  • +ADIS16203: FAQ
  • +ADIS16204: FAQ
  • -ADIS16209: FAQ
    • FAQ: ADIS162xx LGA Assembly Guidelines
    • FAQ: ADIS16209 Evaluation Tool Overview
    • FAQ: ADIS16209 Self-Test Management
    • FAQ: ADIS16209/ADIS16265 Lead Integrity
    • FAQ: ADIS16209/ADIS16265 Pb-free Assembly Tips
    • FAQ: ADIS1620x/21x/22x Power Regulator Suggestion
    • FAQ: ADIS1620x/21x/22x Power Supply Considersations
    • FAQ: Tilt Angle Window Detector
    • FAQ: Tilt Angle Window Detector with Evaluation Tools
    • Bias Stability over 1 Year
    • IMU Evaluation Software Bug: ADIS16209 Data Capture
    • The direction of axis X and axis Y
    • ADIS16201 and ADIS16209 Pins 8 and 10 Grounded - Performance Issues
    • ADIS16209 Datasheet Error: Address code length
    • ADIS16209 Datasheet Error; SPI Address Code Missing MSB
    • ADIS16209 Datecode Revision Change
    • ADIS16209 self-test
    • ADIS16209: How do I connect pins 7,8,10,11? There are contradictions in datasheet.
    • ADIS16209: Stability and sensitivity
    • ADIS1620x Evaluation Board dimensions
  • +ADIS16210: FAQ
  • +ADIS16223: FAQ
  • +ADIS16227: FAQ
  • +ADIS16228: FAQ
  • +ADIS16229: FAQ
  • +ADIS16240: FAQ
  • +ADIS16255: FAQ
  • +ADIS16355: FAQ
  • +ADIS16364: FAQ
  • +ADIS16365: FAQ
  • +ADIS16375: FAQ
  • +ADIS16385: FAQ
  • +ADIS16400: FAQ
  • +ADIS16405: FAQ
  • +ADIS16407: FAQ
  • +ADIS16445: FAQ
  • +ADIS16448: FAQ
  • +ADIS16460: FAQ
  • +ADIS16475: FAQ
  • +ADIS16477: FAQ
  • +ADIS1647x: FAQ
  • +ADIS16480: FAQ
  • +ADISUSB: FAQ
  • +ADXL001: FAQ
  • +ADXL203: FAQ
  • +ADIS16300: FAQ
  • +ADIS16485: FAQ
  • +ADIS16488: FAQ
  • +ADIS16488A: FAQ
  • +ADIS16490: FAQ
  • +ADIS16495: FAQ
  • +ADIS16497: FAQ
  • +ADXL103: FAQ
  • +ADXL150: FAQ
  • +ADxL193: FAQ
  • +ADXL202: FAQ
  • +ADXL206: FAQ
  • +ADXL210: FAQ
  • +ADXL210E: FAQ
  • +ADXL213: FAQ
  • +ADxL230: FAQ
  • +ADXL278: FAQ
  • +ADXL312: FAQ
  • +ADXL313: FAQ
  • +ADXL320: FAQ
  • +ADXL321: FAQ
  • +ADXL322: FAQ
  • +ADXL327: FAQ
  • +ADXL335: FAQ
  • +ADXL337: FAQ
  • +ADXL345: FAQ
  • +AD22290: FAQ
  • +ADIS16003: FAQ
  • +ADIS16133: FAQ
  • +ADIS16135: FAQ
  • +ADIS16265: FAQ
  • +ADIS16305: FAQ
  • +ADXL326: FAQ
  • +ADXL350: FAQ
  • +ADXL362: FAQ
  • +ADXL375: FAQ
  • +ADXL377: FAQ
  • +ADXL78: FAQ
  • +ADXRS150: FAQ
  • +ADXRS290: FAQ
  • +ADXRS300: FAQ
  • +ADXRS401: FAQ
  • +ADXRS453: FAQ
  • +ADXRS610: FAQ
  • +ADxRS614: FAQ
  • +ADXRS623: FAQ
  • +ADXRS646: FAQ
  • +ADXRS652: FAQ
  • +ADXRS800: FAQ
  • +ADIS16136: FAQ
  • +ADIS16137: FAQ
  • +ADIS16266: FAQ
  • +ADIS16334: FAQ
  • +ADIS16362 Evaluation Tool: FAQ
  • +ADIS16364 Evaluation Tool: FAQ
  • +ADIS16367: FAQ
  • +ADIS163xx: FAQ
  • +ADIS16489: FAQ
  • +ADIS1648x: FAQ
  • +ADXL346: FAQ
  • +ADXL363: FAQ
  • +EVAL-ADIS: FAQ
  • +EVAL-ADIS2: FAQ
  • +Filtering Functions: FAQ
  • +General: FAQ
  • +Gyroscope: FAQ
  • +Hard & Soft Iron Correction: FAQ
  • +ISEB USB: FAQ
  • +IMU: FAQ
  • +MEMS: FAQ
  • +Slip Ring Interface: FAQ
  • +SPI Troubleshooting: FAQ
  • +TEMP_OUT Variation: FAQ
  • +Test Procedures: FAQ

FAQ: ADIS16209 Self-Test Management

Q:

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?

----------------------------------------------------------------------------------------------------------------------------------

A:

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[8] = 1 to turn it on and set MSC_CTRL[8] = 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[10] = 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[5].  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[5] (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:

  1. Starting assumptions:
    • No linear motion
    • Stable VDD
  2. 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. 
  3. Read XACCL_OUT and YACCL_OUT
  4. Set MSC_CTRL[8] = 1
  5. Delay > 20ms, which provides the 50Hz filter (internal to ADIS16209) with at least ~ 6 time constants to settle.
  6. Read XACCL_OUT and YACCL_OUT
  7. 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)
  8. Set MSC_CTRL[8] = 0
  9. Restore SMPL_PRD and AVG_CNT registers to their operational values
  10. 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. 

Let me know how this works and please feel free to post any questions you have.

Best regards,

NevadaMark

  • adis16209
  • productpage
  • Share
  • History
  • More
  • Cancel
Related
Recommended
Social
Quick Links
  • About ADI
  • ADI Signals+
  • Analog Dialogue
  • Careers
  • Contact us
  • Investor Relations
  • News Room
  • Quality & Reliability
  • Sales & Distribution
  • Incubators
Languages
  • English
  • 简体中文
  • 日本語
myAnalog

Interested in the latest news and articles about ADI products, design tools, training and events?

Go to myAnalog
Analog Logo
©1995 - 2023 Analog Devices, Inc. All Rights Reserved
沪ICP备09046653号-1
  • Sitemap
  • Legal
  • Privacy & Security
  • Privacy Settings
  • Cookie Settings