This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
resources:eval:user-guides:inertial-mems:evaluation-systems:eval-adis-fx3-developer-resources [07 Dec 2020 22:14] – Moved table Juan Chong | resources:eval:user-guides:inertial-mems:evaluation-systems:eval-adis-fx3-developer-resources [04 Mar 2021 17:42] (current) – Fixed links Juan Chong | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Breakout Board Selection | + | ====== EVAL-ADIS-FX3 and FX3Api Developer Resources ====== |
- | Expand the table below to find the breakout board for your specific IMU. | + | |
+ | |||
- | < | + | ===== EVAL-ADIS-FX3 |
- | ^ MODEL NUMBER ^ BREAKOUT BOARD ^ | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | | [[adi> | + | |
- | </ | + | |
- | + | ||
- | ===== Hardware ===== | + | |
{{ : | {{ : | ||
- | The EVAL-ADIS-FX3 hardware includes many improvements learned from the previous generations of evaluation systems and is designed to be small, flexible, | + | The EVAL-ADIS-FX3 hardware |
* A dedicated, onboard 3.3V, 2A linear regulator designed for high-transient applications | * A dedicated, onboard 3.3V, 2A linear regulator designed for high-transient applications | ||
- | * A USB-C connector (USB 2.0 compatible | + | * A USB-C connector (USB 2.0 compliant |
* An onboard, field-upgradable EEPROM with USB bootloader fallback | * An onboard, field-upgradable EEPROM with USB bootloader fallback | ||
- | * A software-selectable OFF / 3.3V / 5V IMU supply output with overcurrent and short protection | + | * A software-selectable OFF / 3.3V / 5V IMU supply output with overcurrent and short-circuit |
* A JST-XH-2 external supply connector | * A JST-XH-2 external supply connector | ||
- | * Selectable | + | * USB and external supply selection |
- | * Onboard status LEDs for each IMU GPIO pin | + | * Onboard status LEDs for indicating the active supply voltage, data transmission, |
* An iSensor standard, 16-pin, 2mm connector for compatibility with existing iSensor breakout boards and adapters | * An iSensor standard, 16-pin, 2mm connector for compatibility with existing iSensor breakout boards and adapters | ||
- | * An additional 10-pin, 2mm connector for feature expansion. | + | * An additional 10-pin, 2mm connector for feature expansion. |
+ | * | ||
+ | |||
+ | The EVAL-ADIS-FX3 firmware was also redesigned to offer developers | ||
* FX3 UART debugging | * FX3 UART debugging | ||
- | * Four additional GPIO pins for external test equipment triggering and sensing (separate from the IMU GPIOs) | + | * Four additional GPIO pins, separate from the four IMU GPIO pins), |
- | * Separate | + | * A separate |
- | * An extra, “bit-banged” SPI port to allow for “non-standard” SPI configurations and communication with external hardware (ADCs, DACs, protocol interface ICs, etc.) | + | * An extra, highly-configurable, “bit-banged” SPI interface that allows |
* An I2C port meant for interfacing with I2C-compatible inertial sensors | * An I2C port meant for interfacing with I2C-compatible inertial sensors | ||
* Concurrent, multi-board data capture capability. Multiple EVAL-ADIS-FX3 boards can be connected to the same PC and can concurrently capture data independently of each other | * Concurrent, multi-board data capture capability. Multiple EVAL-ADIS-FX3 boards can be connected to the same PC and can concurrently capture data independently of each other | ||
Line 75: | Line 32: | ||
* 1.5" x 1.75" PCB footprint | * 1.5" x 1.75" PCB footprint | ||
- | <note warning> | + | <note warning> |
- | The EVAL-ADIS-FX3 [[https:// | + | The open-source, MIT-licensed design files and resources are located in the iSensor |
The image below outlines the various indicators and connectors available on the EVAL-ADIS-FX3. | The image below outlines the various indicators and connectors available on the EVAL-ADIS-FX3. | ||
Line 83: | Line 40: | ||
{{ : | {{ : | ||
- | The EVAL-ADIS-FX3 interface pinouts are listed below. | + | The EVAL-ADIS-FX3 interface pinouts are also listed below. |
{{ : | {{ : | ||
- | The recommended mating connectors are listed below. | + | The recommended mating connectors are listed |
{{ : | {{ : | ||
Line 99: | Line 56: | ||
- [[https:// | - [[https:// | ||
- | The [[https:// | + | The [[https:// |
- | + | ||
- | The [[https:// | + | |
- | + | ||
- | The [[https:// | + | |
- | + | ||
- | ===== Getting Started ===== | + | |
- | + | ||
- | ==== Downloading and Installing the Drivers and Software ==== | + | |
- | + | ||
- | The EVAL-ADIS-FX3 includes a laundry list of hardware and software features designed to enable in-depth test and characterization of iSensor IMUs. In order to get started, we suggest you first download the [[https:// | + | |
- | + | ||
- | Once downloaded, double click on '' | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Every FX3 Evaluation GUI release is packaged inside of a .zip archive. We recommend extracting the archive somewhere on your PC (like your desktop), where it can easily be accessed. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | ==== Connecting to the FX3 Board ==== | + | |
- | + | ||
- | Once extracted, double click on '' | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Select the product ID/model number of the sensor you're connecting to and click on "Apply Device Settings." | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | If you have several FX3 boards connected to the same PC, another dialog box asking you to select a target FX3 board should pop up. Click on the drop-down menu and select each of the unique serial numbers until you identify the board you’re trying to talk to. The " | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Once you've selected the correct FX3 board, the main screen should like the image below. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Once at the main window, click on “Connect to FX3” to enable all of the GUI features. If the connection to the EVAL-ADIS-FX3 was successful, all of the Evaluation GUI utilities will become active. The iSensor FX3 Eval software attempts to assess DUT Status by writing a randomly-generated number to the sensor module and reading it back. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | <note warning> | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | <note tip>You can find the onboard sensor supply voltage and status on the main window here. | + | |
- | {{: | + | |
- | </ | + | |
- | + | ||
- | ==== Troubleshooting Connection Errors ==== | + | |
- | + | ||
- | The FX3 Evaluation GUI attempts to read and write a random number to a scratch register upon startup or when the user clicks on "Check DUT Connection." | + | |
- | + | ||
- | ==== " | + | |
- | These errors occur when the FX3 Evaluation GUI cannot detect or lose connection with an active EVAL-ADIS-FX3 board. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | === Is the ribbon cable orientation correct? Are the ribbon cable or sensor connections shifted or offset? === | + | |
- | The EVAL-ADIS-FX3 includes short-circuit protection on the sensor supply pins when using the onboard (USB) supply. Even so, it is still possible to overwhelm the USB power supply and force the EVAL-ADIS-FX3 to power off. A connection issue like this can be harmful to both the EVAL-ADIS-FX3 and may permanently damage either if not corrected immediately. | + | |
- | + | ||
- | === Is the USB cable plugged in? === | + | |
- | The EVAL-ADIS-FX3 must be plugged into a USB Type-A port capable of at least USB 2.0 speeds. USB hubs should be avoided since the USB protocol imposes artificial power limits when connecting through one. | + | |
- | + | ||
- | === Is the USB cable capable of transmitting data? === | + | |
- | Many USB cables that ship with mobile phones are **not** capable of transferring USB data and are designed for high-speed charging. We suggest using a high-quality USB C cable (like the one included with the EVAL-ADIS-FX3) to ensure reliable, robust communication. | + | |
- | + | ||
- | === Was the EVAL-ADIS-FX3 exposed to extreme environments? | + | |
- | The EVAL-ADIS-FX3 was designed for bench evaluation, data capture, and characterization. Even though most iSensor portfolio devices are designed and validated to operate in extreme environments, | + | |
- | + | ||
- | ==== " | + | |
- | This error occurs when the register read-back operation fails to return the number that should' | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | === Is the power selection jumper correctly set? === | + | |
- | The EVAL-ADIS-FX3 can either supply power to the sensor using an onboard linear regulator or bypass the onboard regulator and use an external power source. The jumper must be set to " | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | === Is the ribbon cable orientation correct? === | + | |
- | It's common to invert (flip) the ribbon cable orientation when connecting the EVAL-ADIS-FX3 to a sensor coupon or breakout board. The correct cable orientation is shown below. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | === Is the sensor or ribbon cable connection shifted or offset? === | + | |
- | It's possible to shift the sensor or ribbon cable connection by one position or row. An example of a shifted connection is shown below. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | === Was the correct profile for the sensor connected to the EVAL-ADIS-FX3 loaded? Was the correct register map loaded? === | + | |
- | The name of the active profile and register map can always be found on the main form, as shown below. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | If the incorrect profile was accidentally loaded, a new one can be selected by connecting to the FX3 and clicking on the " | + | |
- | + | ||
- | === Is the active SPI configuration valid for the sensor connected to the EVAL-ADIS-FX3? | + | |
- | It's possible to change the EVAL-ADIS-FX3 configuration such that it exceeds the SPI specifications listed on the sensor' | + | |
- | + | ||
- | === Are the SPI pins on the EVAL-ADIS-FX3 forced high/low? === | + | |
- | Some logic analyzers and in-circuit debuggers will hold GPIO lines at specific states such that either the EVAL-ADIS-FX3 or the sensor cannot source/sink enough current to force a transition. | + | |
- | + | ||
- | === Is the ribbon cable connected to the FX3 too long? === | + | |
- | The EVAL-ADIS-FX3 was not designed to drive long cable lengths without adding additional driver circuitry. As cable length increases, the SPI signal integrity will quickly deteriorate. Variables such as SPI SCLK rate and stall time will also influence the overall cable length. A long cable will usually result in zeros intermittently inserted in random registers, and incomplete register writes. | + | |
- | + | ||
- | ==== Configuring the IMU and Logging Sensor Data ==== | + | |
- | + | ||
- | The FX3 Evaluation GUI provides several ways to read and write the IMU’s onboard registers. The “Register Access” tab provides a quick way to modify IMU registers, allowing for manual configuration of the IMU without developing any embedded software. Hex to decimal conversion is also available by checking the “Scale Data” checkbox in the upper-right corner of the screen. The " | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Individual registers can be read by clicking on the corresponding register’s cell in the table. The entire page may also be read by clicking the “Read Page” button in the upper-right part of the screen. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The active register page can be changed by clicking the drop-down shown below. Only valid pages for that particular sensor will be shown. Sensors that do not have register page capabilities will show registers on page zero. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | Registers can be written to in either hexadecimal or decimal format by selecting the target register, typing the new value in the "New Value" text box, and clicking on " | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The " | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The “Register Logging” tab provides a means of continuously streaming IMU registers to the PC and recording them in .csv format. The register list is entirely customizable and can be saved in a file for future use. Register reads can either be synchronized to each data ready strobe or read asynchronously. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The “Data Plotting” form allows you to quickly visualize sensor data and optionally record it to a file. Several registers can be plotted concurrently. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | The “FFT Data Plotting” form allows you to visualize the FFT sensor outputs in near-real-time. Markers and -3dB lines can also be added to the plots to aid in evaluating the frequency response of our high-performance IMUs. | + | |
- | + | ||
- | {{: | + | |
- | + | ||
- | ===== Troubleshooting ===== | + | |
- | + | ||
- | ==== Issues installing FX3 Driver ==== | + | |
- | + | ||
- | If you encounter issues installing the FX3 driver, try running the installer with Administrator privileges. | + | |
- | + | ||
- | ==== Issues with connecting to FX3 ==== | + | |
- | + | ||
- | If you’re having issues connecting to the FX3 initially (first-time setup), the best place to start is by checking whether the Analog Devices FX3 bootloader was correctly loaded into the onboard EEPROM. The Cypress SuperSpeed Explorer Kit ships with a default EEPROM image, which does not include bootloader capabilities. The easiest way to check this is by looking for a device named “Analog Devices FX3 Bootloader” in the Windows Device Manager. | + | |
- | + | ||
- | {{https:// | + | |
- | + | ||
- | If you’re unable to find the device, try resetting the FX3 by either unplugging the USB cable or pressing the reset button on the EVAL-ADIS-FX3. If this still doesn’t solve the issue, try pressing and holding the “BOOTLOADER” button while plugging the board into your PC. This will force the board to connect in recovery mode and should force the FX3 Evaluation GUI to detect it. | + | |
- | + | ||
- | ==== Issues with communicating with the FX3 during long operations ==== | + | |
- | + | ||
- | Certain FX3 API functions can take a very long time to execute. Depending on how the function was called, it may even be possible to force the FX3 to become unresponsive. | + | |
- | + | ||
- | If the board becomes unresponsive, | + | |
- | + | ||
- | ==== Debug Error Logging ==== | + | |
- | + | ||
- | === Firmware error logging === | + | |
- | + | ||
- | The EVAL-ADIS-FX3 firmware includes an error logging feature that stores any exceptions generated during operation. When reaching out to support, it’s helpful to provide this file since it will help diagnose the root cause of the issue. Additional documentation as to how the error logging feature works and what data it records is available in the GitHub repository and code comments. | + | |
- | + | ||
- | In order to extract the firmware error log, click on the “Other Applications” button on the bottom right of the Evaluation GUI main menu. | + | |
- | + | ||
- | {{: | + | |
- | Next, click on “Check Error Log.” This window will allow you to dump the error log from the FX3 hardware’s onboard EEPROM | + | The [[https:// |
- | {{:resources: | + | The [[https:// |
- | === Software error logging === | ||
- | If the Evaluation GUI ever throws an exception, an error log will be generated and stored in: '' |