diff --git a/docs/products/soln-ctr-ideas/adaq2387/2387x_iio_systems_block_diags.png b/docs/products/soln-ctr-ideas/adaq2387/2387x_iio_systems_block_diags.png new file mode 100644 index 0000000000..2ab2cd6239 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adaq2387/2387x_iio_systems_block_diags.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24c0d2e1a8092b3a1c0bb8b83e9b724595455a581631b78eb9f1eb7f02ebf7a5 +size 1326878 diff --git a/docs/products/soln-ctr-ideas/adaq2387/index.rst b/docs/products/soln-ctr-ideas/adaq2387/index.rst new file mode 100644 index 0000000000..d32cf0cc8d --- /dev/null +++ b/docs/products/soln-ctr-ideas/adaq2387/index.rst @@ -0,0 +1,76 @@ +.. _adaq2387: + +ADAQ2387x and LTC2387 family SAR ADC Developer Resources +######################################################### + +.. attention:: + + This page is in development, in a deployed pull request. Feedback welcome in + the PR comment section. + +Family Overview +================ + +This page describes various hardware and software resources available for evaluating and developing with certain Analog Devices' single-channel, SPI-interface, successive-approximation (SAR) Analog to Digital Converters. + +The evaluation and development boards across these devices use the industry-standard FMC connector, compatible with industry-standard and proprietary carrier (processor/FPGA) boards. The choice depends on the developer's needs; If the development flow involves software and HDL development on standard carrier boards, it is best to use either the Pmod or FMC boards. Review the example projects and their user guides for the various options in order to make the best choice. + +Wherever possible, pre-built programming and boot files are provided for the various carrier / eval board combinations. These typically implement an IIO (Industrial Input-Output) server, compatible with a wide array of software tools and language bindings, easing development considerably. + +Getting Started +=============== + +There are several combinations of evaluation and development boards and controller platforms, with different capabilities and associated software and device driver resources. Review the options and choose the one that best suits your needs. In general combinations fall into two categories: + +The FMC eval boards can target either the SDP-H1 board or standard development platforms, while the SDP eval boards can only target the SDP-B or SDP-H1 board. The eval boards can interface to legacy evaluation boards and software are geared toward performance evaluation, with Windows-based GUI software that computes typical metrics such as THD, SNR, linearity, etc. These are closed-source, and further development requires moving to other controller boards and software development environments. + + +The second category of development systems is based on commercially available development platforms running open-source software, firmware, and HDL. Examples for this family of ADCs are shown in :numref:`fig-2387_iio_systems`. These systems are based on the Linux Industrial Input/Output (IIO) framework and are much more flexible, with multiple cross-platform options for both evaluation software and development software. + +.. _fig-2387_iio_systems: + +.. figure:: 2387x_iio_systems_block_diags.png + :align: center + :width: 600px + + IIO-Based Development System + +Evaluation Boards and Development Platforms +=========================================== + +FMC (FPGA Mezzanine Card) +------------------------- + +This is an industry standard, also known as VITA57. FMC is a widely used standard for both COTS and development carriers and module cards. FMC evaluation boards on this page are supported on the ZedBoard carrier board as well as the ADI proprietary SDP-H1 board. Pre-built example projects for the ZedBoard are provided that implement an IIO server, compatible with ACE, Scopy, and any language supported by the libiio (C, C#, Python, MATLAB, etc.) Important: The SDP-H1 is ADI proprietary, and works in conjunction with ACE software or product-specific evaluation software package. It is not intended as a development platform, and source code is not provided. + +Software Resources +================== + +Standard Application Software +----------------------------- +The HDL, Linux, and no-OS example projects are typically based on the Linux Industrial Input-Output (IIO) framework. This maximizes flexibility, as the framework is cross-platform (Windows, Linux, Mac) and supports multiple languages (C, C++, C#, Python, MATLAB, and others). The projects are also supported by the ACE evaluation GUI, and the Scopy multi-purpose data acquisition GUI. + +HDL IP Core +----------- + +The HDL for these devices is based on the SPI Engine IP core, user guide here: `AXI LTC2387 `_, and PWM IP core, which generates the sample rate from the master clock. + +The example project for these devices is described at `CN0577 HDL project `_. + +The example project targets the :adi:`CN0577 Analog Front End and Digital Interface for Serial LVDS SAR ADCs `, and can be parameterized for each device, and building the project generates a set of boot files that can be run on the target platform. + +Linux Device Drivers +-------------------- + +The Linux driver for these devices is presently in development, with the goal of having a single, unified driver covering all devices and the associated HDL code. + +The LTC2387 driver is in upstream review, source at https://github.com/analogdevicesinc/linux/blob/main/drivers/iio/adc/ltc2387.c + +The device driver is compatible with the HDL example project, and provides a convenient programming interface for controlling the ADC and capturing data. + + + +Board and Platform Summary +========================== + +The various eval boards and their supported platforms are listed below. The standard platforms can be used for product performance evaluation using ACE software, software development, and system prototyping. The ADI proprietary platforms are more constrained, and only work with the software listed. \ No newline at end of file diff --git a/docs/products/soln-ctr-ideas/adc_pulsar_single/ADI_systems_block_diags.png b/docs/products/soln-ctr-ideas/adc_pulsar_single/ADI_systems_block_diags.png new file mode 100644 index 0000000000..731174616d --- /dev/null +++ b/docs/products/soln-ctr-ideas/adc_pulsar_single/ADI_systems_block_diags.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34532a4dafb1b02de2ce577ecd0a4584914e5106889fe82f85e293daa32734c9 +size 1451679 diff --git a/docs/products/soln-ctr-ideas/adc_pulsar_single/PulSAR_ADI_DataX_support.png b/docs/products/soln-ctr-ideas/adc_pulsar_single/PulSAR_ADI_DataX_support.png new file mode 100644 index 0000000000..e25e2324b6 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adc_pulsar_single/PulSAR_ADI_DataX_support.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0ec137636004a74ce50f9369e46b576abafd18da8b59bd66c3635a94951184f +size 636184 diff --git a/docs/products/soln-ctr-ideas/adc_pulsar_single/iio_systems_block_diags.png b/docs/products/soln-ctr-ideas/adc_pulsar_single/iio_systems_block_diags.png new file mode 100644 index 0000000000..b18c58cd9a --- /dev/null +++ b/docs/products/soln-ctr-ideas/adc_pulsar_single/iio_systems_block_diags.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7594b3c54f62902fba7bf9766ca942b96806cfc29a0d1fc60e884724969a4d9b +size 1520727 diff --git a/docs/products/soln-ctr-ideas/adc_pulsar_single/index.rst b/docs/products/soln-ctr-ideas/adc_pulsar_single/index.rst new file mode 100644 index 0000000000..c72d0c956f --- /dev/null +++ b/docs/products/soln-ctr-ideas/adc_pulsar_single/index.rst @@ -0,0 +1,119 @@ +.. _adc_pulsar_single: + +Single-Channel, SPI-interface SAR ADC Developer Resources +######################################################### + +.. attention:: + + This page is in development, in a deployed pull request. Feedback welcome in + the PR comment section. + +Family Overview and ADI DataX Framework Support +=============================================== + +This page describes various hardware and software resources available for evaluating and developing with several families of Analog Devices' single-channel, SPI-interface, successive-approximation (SAR) Analog to Digital Converters. Not all such devices across ADI's product line are covered here, however the devices on this page are all supported by the same Linux or no-OS (bare metal) device driver, and FPGA HDL IP core and project. + +The resources for these devices fall under ADI DataX - a collection of device drivers, FPGA IP cores, and middleware components, all designed to integrate seamlessly with industry-standard open-source operating systems and software frameworks. ADI DataX is an unifies application portability across heterogeneous compute environments, enabling reusable workflows for data acquisition and processing. Developers can scale complexity as needed, from rapid prototyping to advanced system refinement. The :numref:`fig-datax_support` is a high-level overview of the various ADI DataX components for these devices. + +.. _fig-datax_support: + +.. figure:: PulSAR_ADI_DataX_support.png + :align: center + :width: 900px + + ADI DataX Support for Single-Channel SAR ADCs + + +The evaluation and development boards across these devices use several industry-standard and ADI-proprietary connectors, compatible with industry-standard and proprietary carrier (processor/FPGA) boards. The choice depends on the developer's needs; If the development flow involves software and HDL development on standard carrier boards, it is best to use either the Pmod or FMC boards. Review the example projects and their user guides for the various options in order to make the best choice. + +Wherever possible, pre-built programming and boot files are provided for the various carrier / eval board combinations. These typically implement an IIO (Industrial Input-Output) server, compatible with a wide array of software tools and language bindings, easing development considerably. + +Getting Started +=============== + +There are several combinations of evaluation and development boards and controller platforms, with different capabilities and associated software and device driver resources. Review the options and choose the one that best suits your needs. In general combinations fall into two categories: + +.. Note:: + + Support for ADI proprietary evaluation systems such as the SDP-H1 and SDP-B is being phased out in favor of processor and FPGA-vendor supplied development systems, running open-source software provided by Analog Devices. + +Evaluation systems for the PulSAR family of ADCs is based on commercially available development platforms running open-source software, firmware, and HDL. Examples for this family of ADCs are shown in :numref:`fig-iio_systems`. These systems are based on the Linux Industrial Input/Output (IIO) framework and are much more flexible, with multiple cross-platform options for both evaluation software and development software. + +.. _fig-iio_systems: + +.. figure:: iio_systems_block_diags.png + :align: center + :width: 900px + + IIO-Based Development Systems + +Evaluation Boards and Development Platforms +=========================================== + +Pmod (Peripheral Module) +------------------------ + +This is a de-facto standard developed by Digilent. Pmods communicate with host boards using 6, 8, or 12-pin, 100-mil pitch connectors that can carry multiple digital control signals, taking advantage of standard serial protocols such as SPI and I²C. The official specification is available from Digilent at https://digilent.com/reference/pmod/start. Pmod evaluation boards on this page are supported on either a ZedBoard or Cora Z7 FPGA carrier board. Pre-built example projects are provided that implement an IIO server, compatible with ACE, Scopy, and any language supported by the libiio (C, C#, Python, MATLAB, etc.) + +The Pmod board hardware documentation is at https://wiki.analog.com/resources/eval/user-guides/circuits-from-the-lab/pulsar-adc-pmods + +.. Note:: + + Here is an example of some documentation that is in serious need of some updating, but it does provide a starting point for ADI DataX-enabled Pmods. Pointing to a recent PR, this URL will change when merged: https://analogdevicesinc.github.io/documentation/pull/194/wiki-migration/resources/eval/ad400x-eval-board.html + +FMC (FPGA Mezzanine Card) +------------------------- + +This is an industry standard, also known as VITA57. FMC is a widely used standard for both COTS and development carriers and module cards. FMC evaluation boards on this page are supported on the ZedBoard carrier board as well as the ADI proprietary SDP-H1 board. Pre-built example projects for the ZedBoard are provided that implement an IIO server, compatible with ACE, Scopy, and any language supported by the libiio (C, C#, Python, MATLAB, etc.) Important: The SDP-H1 is ADI proprietary, and works in conjunction with ACE software or product-specific evaluation software package. It is not intended as a development platform, and source code is not provided. + +Software Resources +================== + +Standard Application Software +----------------------------- +The HDL, Linux, and no-OS example projects are based on the Linux Industrial Input-Output (IIO) framework. This maximizes flexibility, as the framework is cross-platform (Windows, Linux, Mac) and supports multiple languages (C, C++, C#, Python, MATLAB, and others). The projects are also supported by the ACE evaluation GUI, and the Scopy multi-purpose data acquisition GUI. The documentation for each eval board will provide specific details on how to use the `Pyadi-IIO `_ and `MATLAB Precision Toolbox `_ interfaces and examples. + +HDL IP Core +----------- + +The HDL for these devices is based on the SPI Engine IP core, user guide here: `SPI Engine `_, and PWM IP core, which generates the sample rate from the master clock. + +The example project for these devices is described at `PULSAR-ADC HDL project `_. + +The example project is parameterized for each device, and building the project generates a set of boot files that can be run on the target platform. + +Linux Device Drivers +-------------------- + +The Linux driver for these devices is presently in development, with the goal of having a single, unified driver covering all devices and the associated HDL code. + +The AD400x driver is in upstream review, documented at https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad400x + +The previous mainlined PulSAR family driver is documented at https://wiki.analog.com/resources/tools-software/linux-drivers/iio-adc/ad7476a + +The updated device driver is compatible with the HDL example project, and provides a convenient programming interface for controlling the ADC and capturing data. + + + +no-OS (Bare Metal) Device Drivers and Examples +---------------------------------------------- + +The no-OS driver is intended for systems not using an operating system. It is generally easier to start with a Linux-based system for initial development, then migrate to no-OS. + +https://github.com/analogdevicesinc/no-OS/tree/main/projects/pulsar-adc + +https://github.com/analogdevicesinc/no-OS/tree/main/drivers/adc/pulsar_adc + + +Board and Platform Summary +========================== + +The various eval boards and their supported platforms are listed below. The standard platforms can be used for product performance evaluation using ACE software, software development, and system prototyping. The ADI proprietary platforms are more constrained, and only work with the software listed. + +.. Note:: + + Only a few example cells are filled out for now. + +.. csv-table:: Single-Channel SAR table test + :file: single_channel_SARs.csv + :header-rows: 2 \ No newline at end of file diff --git a/docs/products/soln-ctr-ideas/adc_pulsar_single/single_channel_SARs.csv b/docs/products/soln-ctr-ideas/adc_pulsar_single/single_channel_SARs.csv new file mode 100644 index 0000000000..b7ed2c5a47 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adc_pulsar_single/single_channel_SARs.csv @@ -0,0 +1,33 @@ +,Arduino,FMC,Pmod,ZedBoard,Cora,SDP-K1,ST Nucleo +Part Number,Eval Board,Eval Board,Eval Board,Controller,Controller,Controller,Controller +`AD4000: 16-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,`EVAL-AD400x-fmcz (00) `__ ,,X,,, +AD4000 '',,,`EVAL-AD4000-PMDZ `__ ,,X,, +`AD4001: 16-Bit 2 MSPS/1 MSPS Precision Differential `__ ,,`EVAL-AD400x-fmcz (01) `__ ,,X,,, +,,,`EVAL-AD4001-PMDZ `__ ,,X,, +`AD4002: 18-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,`EVAL-AD400x-fmcz (02) `__ ,,X,,, +AD4002 '',,,`EVAL-AD4002-PMDZ `__ ,,X,, +`AD4003: 18-Bit 2 MSPS/1 MSPS/500 kSPS Easy Drive Differential `__ ,,`eval-ad400x-fmcz (03) `__ ,,X,,, +AD4003 '',,,`EVAL-AD4003-PMDZ `__ ,,,, +`AD4004: 16-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,,,,,, +`AD4005: 16-Bit 2 MSPS/1 MSPS Precision Differential `__ ,,,,,,, +`AD4006: 18-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,,,,,, +`AD4007: 18-Bit 2 MSPS/1 MSPS/500 kSPS Easy Drive Differential `__ ,,,,,,, +`AD4008: 16-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,,,,,, +`AD4010: 18-Bit 2 MSPS/1 MSPS/500 kSPS Precision Pseudo Differential `__ ,,,,,,, +`AD4011: 18-Bit 2 MSPS/1 MSPS/500 kSPS Easy Drive Differential `__ ,,,,,,, +`ADAQ4003: 18-Bit 2 MSPS Precision DAQ Differential `__ ,,,,,,, +`AD4020: 20-Bit 1.8 MSPS/1 MSPS/500 kSPS Easy Drive Differential `__ ,,,`EVAL-AD4020-PMDZ `__ ,,,, +`AD7685: 16-Bit 250 kSPS PulSAR ADC `__ ,,,,,,, +`AD7687: 16-Bit 1.5 LSB INL 250 kSPS PulSAR Differential ADC `__ ,,,,,,, +`AD7691: 18-Bit 1.5 LSB INL 250 kSPS PulSAR Differential ADC `__ ,,,,,,, +`AD7686: 500 kSPS 16-BIT PulSAR A/D Converter `__ ,,,,,,, +`AD7688: 500 kSPS 16- BIT Differential PulSAR A/D Converter in µSOIC/QFN `__ ,,,,,,, +`AD7693: 16-Bit ±0.5 LSB 500 kSPS PulSAR Differential A/D Converter `__ ,,,,,,, +`AD7988-5: 16-Bit Lower Power PulSAR ADCs `__ ,,,,,,, +`AD7980: 16-Bit 1 MSPS PulSAR ADC `__ ,,,`eval-ad7980-pmdz `__ ,,,, +`AD7983: 16-Bit 1.33 MSPS PulSAR ADC `__ ,,,,,,, +`AD7690: 18-Bit 1.5 LSB INL 400 kSPS PulSAR Differential ADC `__ ,,,,,,, +`AD7689: 16-Bit 8-Channel 250 kSPS PulSAR ADC `__ ,,,,,,, +`AD7942: 14-Bit 250 kSPS PulSAR Pseudo Differential ADC `__ ,,,`eval-ad7942-pmdz `__,,,, +`AD7946: 14-Bit 500 kSPS PulSAR ADC `__ ,,,,,,, +`AD7988-1: 16-Bit Lower Power PulSAR ADCs `__ ,,,,,,, diff --git a/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL335-PMDZANGLE-web.png b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL335-PMDZANGLE-web.png new file mode 100644 index 0000000000..2b63bb5947 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL335-PMDZANGLE-web.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:839a41ebf6575221483c694df36756082d0f5d97030b65766b42360e1d582f9f +size 123286 diff --git a/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL354BZANGLE-web.gif b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL354BZANGLE-web.gif new file mode 100644 index 0000000000..06e2cdf7bb --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL354BZANGLE-web.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf0904e2b1ac4d8e2197d6e74521c44f4d2097377232b0e077a5c315b5f63226 +size 179506 diff --git a/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL355Z-SDP-KIT_ANGLE.gif b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL355Z-SDP-KIT_ANGLE.gif new file mode 100644 index 0000000000..09d2062e23 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/EVAL-ADXL355Z-SDP-KIT_ANGLE.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6e6f461bd7127b2f2523b5bb6e3ebaf8b20d3a6d0fd58e46dea167d71601b2f +size 71809 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_adicup3029_connections.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_adicup3029_connections.jpg new file mode 100644 index 0000000000..4abdc828b7 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_adicup3029_connections.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b6d6660620ec8733bcfd90c0095f216659958994c5a5324a156aa523f0e9763e +size 580347 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_datax_map.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_datax_map.png new file mode 100644 index 0000000000..8b1134ffa8 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_datax_map.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0aa97bd98871e8f98b572b2ea739d995dc0eaaeb53d8352722b4980d93ffb027 +size 262906 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_debug.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_debug.png new file mode 100644 index 0000000000..d4775f5233 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_debug.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea0abd21c36e0cb2f97d3285916f6cf0c5f6fc57ec38e324f6e34d8639ffaa03 +size 34446 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_dmm_panel.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_dmm_panel.png new file mode 100644 index 0000000000..dc197fa56a --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_dmm_panel.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7948bf74e9a5c952f0b963baa08fefc403516823220daec1d619a39eaf55ffd3 +size 29077 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_osc.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_osc.png new file mode 100644 index 0000000000..37022e76a2 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_iio_osc.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a245485a37b58d1e8a36da7bb24fa67d79c2b7945033eab562825f3e633ea83 +size 41548 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_layout.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_layout.png new file mode 100644 index 0000000000..47bcdaafbb --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_layout.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20dd9c7c8afa180feca85f6e0009f609d0eb1b10b5198f3aa4abe7175265d22a +size 32474 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_max32655fthr_connections.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_max32655fthr_connections.jpg new file mode 100644 index 0000000000..13e7f015a9 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_max32655fthr_connections.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7328f3af4e4d5d6630e30e4e3252b0b0af4aacd48c3940e1fdd2f69302524515 +size 321468 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_pmdz.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_pmdz.png new file mode 100644 index 0000000000..2661c6745f --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_pmdz.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:491dee2d8493e81e49ae41aead179a8492d6e16dc7d24a78a2e94341e4d4d2eb +size 116598 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_python_example_rpi.png b/docs/products/soln-ctr-ideas/adxl355/adxl355_python_example_rpi.png new file mode 100644 index 0000000000..868f4e3c0e --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_python_example_rpi.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f861456611a90122a07a32cbcc19c19008a1aa795b5689cdad5966f2542c937b +size 267983 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_connections.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_connections.jpg new file mode 100644 index 0000000000..3863b67e79 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_connections.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef1ee35e3ac96c34cd8478cc23fb09236a3ea6ee7ed4365fc782d610138a5765 +size 462660 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections.jpg new file mode 100644 index 0000000000..be682226a9 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c3ee5fc7c113faa1a7e5ae535c0af101daf1a2dec2572681d32b297a6702a4 +size 1044982 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections_old.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections_old.jpg new file mode 100644 index 0000000000..a5946bf8ce --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_rpi_pico_connections_old.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59aa377ed771ce4d40c1200f60a3273f85a173f74b47c87fc37aa654c2734b9c +size 272190 diff --git a/docs/products/soln-ctr-ideas/adxl355/adxl355_sdp-k1_connections.jpg b/docs/products/soln-ctr-ideas/adxl355/adxl355_sdp-k1_connections.jpg new file mode 100644 index 0000000000..986e429980 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/adxl355_sdp-k1_connections.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1291f68ffec075fe2ef513fdbb26f1bef3256a8d84df3cb901b980b733d6ef5a +size 582947 diff --git a/docs/products/soln-ctr-ideas/adxl355/basic_putty_adxl355.png b/docs/products/soln-ctr-ideas/adxl355/basic_putty_adxl355.png new file mode 100644 index 0000000000..a64c6a27fc --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/basic_putty_adxl355.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:408f59adfb969d730e90dea58e03260209986d9646c5a1116743fa98fb37966f +size 91805 diff --git a/docs/products/soln-ctr-ideas/adxl355/daplink.jpg b/docs/products/soln-ctr-ideas/adxl355/daplink.jpg new file mode 100644 index 0000000000..3efb911242 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/daplink.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cfcd7950a0d15328ccfc2b7ef577f03526360fb8e00256882bd906d31e17bcc +size 9990 diff --git a/docs/products/soln-ctr-ideas/adxl355/eval-adxl355-pmdz_overall_setup.png b/docs/products/soln-ctr-ideas/adxl355/eval-adxl355-pmdz_overall_setup.png new file mode 100644 index 0000000000..d8e0cd5916 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/eval-adxl355-pmdz_overall_setup.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:243b5cccdb4b80fff718b121a981364d9c667725880310a9045aef18f5b859c6 +size 233632 diff --git a/docs/products/soln-ctr-ideas/adxl355/index.rst b/docs/products/soln-ctr-ideas/adxl355/index.rst new file mode 100644 index 0000000000..3dd67dcadf --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/index.rst @@ -0,0 +1,783 @@ +.. _adxl355: + +ADXL355 3-Axis MEMS Accelerometer Developer Resources +##################################################### + +.. attention:: + + This page is in development, in a deployed pull request. Feedback welcome in + the PR comment section. + +ADXL355 Overview +================ + +The :adi:`ADXL355` is a low noise density, low zero-g offset drift, low power, +3-axis MEMS accelerometer with selectable measurement ranges. The ADXL355 +supports the ±2g, ±4g, and ±8g ranges, and offers industry leading noise, offset +drift over temperature, and long term stability, enabling precision applications +with minimal calibration and with very low power consumption. Applications +include: + +- Inertial measurement units (IMUs)/altitude and heading reference systems (AHRS) +- Platform stabilization systems +- Structural health monitoring +- Seismic imaging +- Tilt sensing +- Robotics +- Condition monitoring + +The ADXL355 accelerometers offer guaranteed temperature stability with null +offset coefficients of 0.15mg/°C (max). The stability minimizes resource and +expense associated with calibration and testing effort, helping to achieve +higher throughput for device OEMs. In addition, the hermetic package helps +ensure that the end product conforms to its repeatability and stability +specifications long after they leave the factory. + +With output of ±2g to ±8g full scale range (FSR), selectable digital filtering +from 1 Hz to 1 kHz, and low noise density of 25µ/√Hz at less than 200µA current +consumption, ADXL355 MEMS accelerometer offers performance level comparable to +much more expensive devices with less power consumption and BOM cost. + +ADI DataX Enablement +==================== + +`ADI DataX™ `__ is a highly +adaptable, open technology stack that bridges the gap between signal chains and +applications across a wide range of processing platforms, operating systems, and +software ecosystems to enable physically intelligent systems. + +The ADXL355 is supported in several ADI DataX frameworks as shown in :numref:`fig-adxl355_datax_map` + +.. _fig-adxl355_datax_map: + +.. figure:: adxl355_datax_map.png + :width: 700px + :height: 400px + :align: center + + ADXL355 DataX Enablement + +Open-source drivers and ready-to-run examples are provided for ADI ARM +processors running bare-metal (no-OS) or Zephyr, Raspberry Pi running Linux. +Examples include Python, C, MATLAB, and others. Code is written for portability, +and can be easily migrated to your development platform of choice, and into your +product. + +Getting Started +=============== + +There are several combinations of evaluation and development boards and +controller platforms, with different capabilities and associated software and +device driver resources. Review the options and choose the one that best suits +your needs. + +Evaluation Boards and Development Platforms +=========================================== + +EVAL-ADXL35x-SDP +---------------- + +.. image:: EVAL-ADXL355Z-SDP-KIT_ANGLE.gif + :width: 350px + +The :adi:`EVAL-ADXL35x-SDP` is an easy-to-use Customer Evaluation System that +allows the user a quick start on testing and evaluating the ADXL355 or ADXL357 +accelerometer. The system consists of a main board (EVAL-SDP-CB1Z evaluation +platform), an interface board (EVAL-SDP-INTER4-Z), and a satellite board +(EVAL-ADXL355Z or EVAL-ADXL357Z breakout board). + +The EVAL-SDP-CB1Z board, also called “SDP-B”, connects directly to a PC via an +USB cable, with the USB connection providing both communications and power to +the board. The SDP-B is connected to the interface board (EVAL-SDP-INTER4-Z), +which provides the signal conditioning and electrical connections to +communicated with the satellite board (EVAL-ADXL355Z or EVAL-ADXL357Z) through a +cable. This cable allows the satellite to be easily manipulated for testing or +separately placed into an environmental chamber for temperature or humidity +testing. Separating the boards mitigates corruption of data due to the +temperature and humidity effects of other components. + +.. Note:: + This system is intended for performance evaluation only. Source code for the SDP-B firmware and GUI software is not available. + +For complete instructions refer to the `EVAL-ADXL35x-SDP User Guide `__ + +EVAL-ADXL35X +------------ + +.. image:: EVAL-ADXL354BZANGLE-web.gif + :width: 350px + +The :adi:`EVAL-ADXL35X-Z` are simple evaluation boards that allow quick +evaluation of the performance of Analog Devices new series of low power, low +noise, low drift 3-axis, MEMS accelerometers. The series consists of both analog +and digital output devices, supporting a variety of Full Scale Ranges (FSR). The +model descriptions are shown in the ordering guide below. These evaluation +boards are ideal for evaluation of the ADXL35x accelerometer series in an +existing system because the stiffness and the small size of the evaluation board +minimize the effect of the board on both the system and acceleration +measurements. + +.. Note:: + This board does not directly interface to any standard platforms, and requires a separate cable. This may be desirable for interfacing to an arbitrary platform board, or when the sensor needs to be separated from the platform board by a cable. + +For complete instructions refer to the `EVAL-ADXL35X-Z User Guide `__ + +EVAL-ADXL355-PMDZ +----------------- + +.. image:: EVAL-ADXL335-PMDZANGLE-web.png + :width: 350px + +The :adi:`EVAL-ADXL355-PMDZ` is a compact, low-cost, Pmod-compatible evaluation +board for the ADXL355. It targets several standard microcontroller development +boards that either have a native Pmod interface, or via an adapter. It also +targets the Raspberry Pi via the :adi:`PMD-RPI-INTZ` adapter board. The Pmod +board is small in size with dimensions approximately 2.5 cm in width by 2.5 cm +in length. + +SPI PMOD peripheral connectors can also be found on many 3rd party MCU or FPGA +development boards, where the EVAL-ADXL355-PMDZ can be connected directly into +those systems, and you can develop your own code using our reference code below. + +Developing with the ADXL355 +=========================== + +The EVAL-ADXL335-PMDZ will be used for the various example systems described +below. These examples are designed to be used as-is for initial development, +then ported to your target hardware. + +.. image:: adxl355_pmdz.png + :width: 350px + +Pmod Processor Connector +------------------------- + +The PMOD interface is a series of standardized digital interfaces for various +digital communication protocols such as SPI, I2C, and UART. These interface +types were standardized by Digilent, which is now a division of National +Instruments. Complete details on the Pmod specification can be found on the +`Digilent Pmod landing page `__. + +The specific interface used for the EVAL-ADXL355-PMDZ boards is the extended +SPI. In general ADI has adopted the extended SPI connector for all PMOD devices +which have an SPI interface. It provides flexibility to add interrupts, general +purpose I/O, resets, and other digitally controlled functions. + ++---------------+---------------------+----------+---------------+----------------+----------+ +| P1 Pin Number | Pin Function | Mnemonic | P1 Pin Number | Pin Function | Mnemonic | ++===============+=====================+==========+===============+================+==========+ +| Pin 1 | Chip Select | CS | Pin 7 | Interrupt 1 | INT1 | ++---------------+---------------------+----------+---------------+----------------+----------+ +| Pin 2 | Master Out Slave In | MOSI | Pin 8 | Not Connected | NC | ++---------------+---------------------+----------+---------------+----------------+----------+ +| Pin 3 | Master In Slave Out | MISO | Pin 9 | Interrupt 2 | INT2 | ++---------------+---------------------+----------+---------------+----------------+----------+ +| Pin 4 | Serial Clock | SCLK | Pin 10 | Data Ready | DRDY | ++---------------+---------------------+----------+---------------+----------------+----------+ +| Pin 5 | Digital Ground | DGND | Pin 11 | Digital Ground | DGND | ++---------------+---------------------+----------+---------------+----------------+----------+ +| Pin 6 | Digital Power | VDD | Pin 12 | Digital Power | VDD | ++---------------+---------------------+----------+---------------+----------------+----------+ + +.. image:: adxl355_layout.png + :width: 300px + +ADXL355 Interrupt Pins +---------------------- + +The EVAL-ADXL355-PMDZ has two interrupt pins and a data ready pin which can be +used as external indicators for the user. The interrupt pins can be programmed +through software to reflect various status flags within the ADXL355, and those +pins are accessible through the SPI PMOD header. For complete details on the +individual status flags, what they mean, and how to program the chip to reflect +those interrupts, please consult the :adi:`ADXL355` data sheet. + +Power Supply Considerations and Configuration +--------------------------------------------- + +When using the ADXL355 PMOD board, the 3.3V power for the PMOD comes directly +from the host board it is connected to. Most Pmod platform boards can supply at +least 100 mA, more than adquate for the EVAL-ADXL355-PMDZ. + +Device Driver and Software Support +================================== + +There are two device driver and accompanying software solutions provided for +the EVAL-ADXL355-PMDZ: + +**ADXL355 no-OS Driver** + + * The :git-no-OS:`ADXL355 no-OS driver ` is used + in bare-metal applications, typically running on low-power, embedded + microcontrollers. + + * The :git-no-OS:`ADXL355 no-OS example project ` + uses the ADXL355 no-OS driver and has several configuration options: + + * The tinyiiod configuration emulates the Linux IIO framework through the + tinyiiod daemon library. The application communicates with the host + computer via the serial backend, over a USB-UART physical connection. + This facilitates rapid application development on a host computer, + independent from embedded code development. This is the configuration + that will be referenced in the no-OS platform setups below. + * The "dummy" configuration implements a simple command-line program that + can be run on a terminal. + +.. ADMONITION:: Download + + A zip file containing prebuilt programming files for the no-OS example project, + targeting platforms below are available at: + :git-no-OS:`eval-adxl355-pmdz.zip `. + + More details are provided in the platform-specific sections below. + +**ADXL355 Linux Driver** + +* The :dokuwiki:`ADXL355 Linux driver ` is used in + applications running the Linux operating system, typically on larger processors + and SoC devices. +* The ADXL355 Linux driver uses the Industrial Input/Output (IIO) framework, + greatly simplifying the development of application code via the cross-platform + Libiio library, which is written in C and includes bindings for Python, + MATLAB, C#, and other languages. Application code can run directly on the + platform board, communicating with the device over the local backend, or from + a remote host over the network or USB backends. + + +System Setup Using ADICUP3029 +============================= + +The EVAL-ADXL355-PMDZ can be used with :adi:`ADICUP3029 `. + +Demo Requirements +----------------- + +The following is the list of items needed in order to replicate this demo. + +- Hardware + + - :adi:`EVAL-ADICUP3029` + - :adi:`EVAL-ADXL355-PMDZ` + - Micro-USB to USB Cable + - PC or Laptop with USB Port + +- Software + + - For IIO / libiio: eval-adxl355-pmdz_aducm3029_iio_example.hex from the + programming file zip + - For terminal CLI: eval-adxl355-pmdz_aducm3029_dummy_example.hex from the + programming file zip + +.. TIP:: + + There are two basic ways to program the ADICUP3029 with the software for the + ADXL355. + + #. Dragging and Dropping the .Hex to the Daplink drive + + #. Using the drag and drop method, the software is going to be a version + that Analog Devices creates for testing and evaluation purposes. + This is the **EASIEST** way to get started with the reference design. + + +Setting up the Hardware +----------------------- + +#. Connect **EVAL-ADXL355-PMDZ** board at connector **P9** of the + **EVAL-ADICUP3029**. + +#. Connect a micro-USB cable to the P10 connector of the EVAL-ADICUP3029 and + connect it to a computer. The final setup should look similar to the picture + below. + + .. figure:: adxl355_adicup3029_connections.jpg + :width: 900px + + Hardware Setup + +#. Make sure the following switches are as shown from the table below. + + .. figure:: switch_config.png + :width: 900px + + Switch Confuguration + +#. From your PC, open My Computer and look for the DAPLINK drive, if you see + this then the drivers are complete and correct. + + .. figure:: daplink.jpg + :width: 300px + + DAPLINK Drive + +#. Drag and drop the eval-adxl355-pmdz_aducm3029_iio_example.hex file to the + DAPLINK drive and your ADICUP3029 board will be programmed. The DS2 (red) LED + will blink rapidly. + +#. The DS2 will stop blinking and will stay ON once the programming is done. + +#. For demo purposes, place the board horizontally such that the Z-axis reading + will be approximately 9.8 m/s^2. + + +System Setup Using MAX32655FTHR or MAX32650FTHR +=============================================== + +The **EVAL-ADXL355-PMDZ** can be used with the MAX32655FTHR or +MAX32650FTHR. + + + +Demo Requirements +----------------- + +The following is the list of items needed in order to replicate this demo. + +- **Hardware** + + - :adi:`MAX32655FTHR ` or :adi:`MAX32650FTHR ` + with :adi:`MAX32625PICO ` + - :adi:`FTHR-PMD-INTZ ` + - :adi:`EVAL-ADXL355-PMDZ ` + - Micro-USB to USB Cable + - 10-pin ribbon cable + - PC or Laptop with USB Port + +- **Software** + + - For MAX32655FTHR, programming file from zip: + + - For IIO / libiio: eval-adxl355-pmdz_maxim_iio_example_max32655_adxl355.hex + - For terminal CLI: eval-adxl355-pmdz_maxim_dummy_example_max32655_adxl355.hex + + - For MAX32650FTHR, + + - For IIO / libiio: eval-adxl355-pmdz_maxim_iio_example_max32650_adxl355.hex + - For terminal CLI: eval-adxl355-pmdz_maxim_dummy_example_max32650_adxl355.hex + +MAX32655FTHR +------------ + +1. Connect **MAX32655FTHR** with the **FTHR-PMOD-INTZ**. Note that MAXIM +feather board should have stacking headers for feather board where the +interposer board will be connected. + +2. Connect **EVAL-ADXL355-PMDZ** to the **FTHR-PMOD-INTZ**. + +3. Power up the **MAX32655FTHR** by connecting it to your laptop using micro-USB + +4. Open the file explorer. Drag-and-drop the pre-built hex file to the DAPLINK. +If the transfer was not completed, update the firmware for the DAPLINK. Follow +the steps here: https://github.com/MaximIntegrated/max32625pico-firmware-images/ + +5. Open PuTTY or other similar software. Check the Device Manager to set +correct COM for the MAX32655FTHR. Set baud rate according to hex file used: + ++------------------------------------------------------------------+-----------+ +| Hex file | Baud rate | ++==================================================================+===========+ +| eval-adxl355-pmdz_maxim_dummy_example_max32655_adxl355 | 57600 | ++------------------------------------------------------------------+-----------+ +| eval-adxl355-pmdz_maxim_iio_example_max32655_adxl355 | 115200 | ++------------------------------------------------------------------+-----------+ +| eval-adxl355-pmdz_maxim_iio_trigger_example_max32655_adxl355.hex | 115200 | ++------------------------------------------------------------------+-----------+ + +The final setup should look similar to the picture below. + +.. image:: adxl355_max32655fthr_connections.jpg + :width: 450px + +MAX32650FTHR +------------ + +#. Using a 10-pin ribbon cable, connect the **MAX32625PICO** to the + **MAX32650FTHR**. + + .. image:: max32650fthr_with_pico.png + :width: 400px + +#. Connect **MAX32650FTHR** to the **FTHR-PMOD-INTZ**. + +#. Connect **EVAL-ADXL355-PMDZ** to the **FTHR-PMOD-INTZ**. + + ===================== ================== + MAX31855PMB1 FTHR-PMOD-INTZ SPI + ===================== ================== + Pin 1 (Chip Enable) CS + Pin 2 (Not connected) MOSI + Pin 3 (MISO) MISO + Pin 4 (SCK) SCK + Pin 5 (GND) GND + Pin 6 (VCC) VCC + ===================== ================== + + The final setup should look similar as shown below. + + .. image:: max32650fthr_adxl355pmod.jpg + :width: 450px + +#. Power up the **MAX32650FTHR** by connecting it to your laptop using + micro-USB. Connect **MAX32625PICO** to your laptop as well. + +#. Open the file explorer. Drag-and-drop the pre-built hex file to the DAPLINK. + If the transfer was not completed, update the firmware for the DAPLINK. Follow + the steps here: https://github.com/MaximIntegrated/max32625pico-firmware-images/ + +#. Open PuTTY or other similar software. Check the Device Manager to set the + correct COM port for the **MAX32650FTHR**. + +#. Set baud rate according to the hex file used available in + :git-no-OS:`MAX32650FTHR_demo_ADXL355.hex `: + +====================================================== ========= +Hex file Baud rate +====================================================== ========= +eval-adxl355-pmdz_maxim_dummy_example_max32650_adxl355 57600 +eval-adxl355-pmdz_maxim_iio_example_max32650_adxl355 115200 +====================================================== ========= + +The expected output viewed in the PuTTY is shown below. + +.. image:: basic_putty_adxl355.png + :width: 600px + +System Setup Using Raspberry Pi +=============================== + +The EVAL-ADXL355-PMDZ can be used with a Raspberry Pi. + +Demo Requirements +----------------- + +The following is a list of items needed in order to replicate this demo. + +- **Hardware** + + - :adi:`EVAL-ADXL355-PMDZ ` + - :adi:`PMOD to Raspberry Pi Adapter (PMD-RPI-INTZ) ` + - Raspberry PI Zero, Zero W, 3B+, or 4 + - 16GB (or larger) Class 10 (or faster) micro-SD card + - 5Vdc, 2.5A power supply with micro USB connector (USB-C power supply for Raspberry Pi 4) + - User interface setup (choose one): + + - HDMI monitor, keyboard, mouse plugged directly into Raspberry Pi + - Host Windows/Linux/Mac computer on the same network as Raspberry Pi + +- **Software** + + - :dokuwiki:`Kuiper Linux Image ` + + +Loading Image on SD Card +------------------------ + +In order to boot the Raspberry Pi and control the **EVAL-ADXL355-PMDZ**, you +will need to install ADI Kuiper Linux on an SD card. Complete instructions, +including where to download the SD card image, how to write it to the SD card, +and how to configure the system are provided on the :ref:`kuiper`. + +Configuring the SD Card +----------------------- + +Follow the configuration procedure under **Configuring the SD Card for +Raspberry Pi Projects** at :ref:`kuiper`, substituting the +following lines in **config.txt**: + +:: + + dtoverlay=rpi-adxl355 + +Setting up the Hardware +----------------------- + +To set up the circuit for evaluation, consider the following steps: + +#. Connect the **P9** of the **PMOD to Raspberry Pi Interposer** board at the + male header GPIO pin connector of the **Raspberry Pi** as shown below. + + .. image:: interposer.png + :width: 500px + +#. Connect the :adi:`EVAL-ADXL355-PMDZ ` on the + PMOD to Raspberry Pi Interposer board either via Port P1 or P2. + + .. |image3| image:: adxl355_rpi_connections.jpg + :width: 600px + +#. Burn the SD card with the proper ADI Kuiper Linux image. Insert the burned + SD card on the designated slot on the RPi. +#. Connect the system to a monitor using an HDMI cable through the mini HDMI + connector on the RPi. +#. Connect a USB keyboard and mouse to the RPi through the USB ports. +#. Power on the RPi board by plugging in a 5V power supply with a micro-USB + connector. The final setup should look similar to the picture below. + + .. image:: eval-adxl355-pmdz_overall_setup.png + :width: 600px + +System Setup Using EVAL-ADICUP360 **(DEPRECATED)** +================================================== + +The original software example for the ADXL355 was developed on the ADICUP360 +platform, and is a simple, terminal-based command line interface. This type of +example program is being deprecated in favor of tinyiiod-based servers for +embedded platforms, however this example is still available for reference here: +:dokuwiki:`ADXL355 Accelerometer PMOD Demo on ADICUP360`. + +.. IMPORTANT:: + + In order to use the **EVAL-ADXL355-PMDZ** with the **ADICUP360**, the user + **MUST** remove resistor R1. The ADXL355 holds the DATA_RDY pin low during + powerup, and that holds the EVAL-ADICUP360 in UART boot mode. When this mode is + active the MCU will stay in standby mode till it receives the proper command, + effectively making the ADuCM360 not run. So to avoid this, please remove R1 and + note that you can't use the DATA_RDY pin with the ADICUP360. + +.. NOTE:: + + Note that the libiio, iio oscilloscope, and pyadi-iio sections below do NOT + apply to this example. + +Application Software (All Platforms) +==================================== + +The Libiio is a library used for interfacing with IIO devices and is required +to be installed on your computer. + +.. ADMONITION:: Download + + Download and install the latest :git-libiio:`Libiio package ` on + your machine. + + +To be able to connect your device, the software must be able to create a +context. The context creation in the software depends on the backend used to +connect to the device as well as the platform where the EVAL-ADXL355-PMDZ is +attached. Two platforms are currently supported for the EVAL-ADXL355-PMDZ: +Raspberry Pi using the ADI Kuiper Linux and the ADICUP3029 running the no-OS +ADXL355 demo project. The user needs to supply a **URI** which will be used in +the context creation. + +The :ref:`libiio iio_info` command is a part of the libIIO package that reports +all IIO attributes. + +Upon installation, simply enter the command on the terminal command line to +access it. + +For RPI Direct Local Access: +---------------------------- + +.. shell:: + + $iio_info + +For Windows machine connected to Raspberry Pi: +---------------------------------------------- + +.. shell:: + + $iio_info -u ip: + +For example, if your Raspberry Pi has the IP address 192.168.1.7, then enter: + +.. shell:: + + $iio_info -u ip:192.168.1.7 + + + +.. NOTE:: + + Do note that the Windows machine and the RPI board should be connected to + the same network in order for the machine to detect the device. + +For Windows machine connected to ADICUP3029: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. shell:: + + $iio_info -u serial: + +Examples: + +* In a Windows machine, you can check the port of your ADICUP3029 via Device + Manager in the Ports (COM & LPT) section. If your device is in COM4, enter: + +.. shell:: + + $iio_info -u serial:COM4 + +On a Unix-based machine, you will see it under the /dev/ directory in this +format "ttyUSBn", where n is a number depending on how many serial USB devices +attached. If you see that your device is ttyUSB0, enter: + +.. shell:: + + $iio_info -u serial:/dev/ttyUSB0 + +IIO Commands +~~~~~~~~~~~~ + +There are different commands that can be used to manage and control the device +being used. The :ref:`libiio iio_attr` command reads and writes IIO attributes. + +.. shell:: + + $iio_attr [OPTION]... + +To look at the context attributes, enter the following command on the terminal: + +.. shell:: + + $iio_attr -a -C + +The :ref:`libiio iio_reg` command reads or writes SPI or I2C registers in an +IIO device. This is generally not needed for end applications, but can be +useful in debugging drivers. Note that you need to specify a context using the +*-u* qualifier when you are not directly accessing the device via RPI or when +you are using the ADICUP3029 platform. + +.. shell:: + + $iio_reg -u [] + +To read the device ID (register = 0x02) of an ADXL355 interfaced via RPI from a +Windows machine, enter the following code on the terminal: + +.. shell:: + + $iio_reg -u ip: adxl355 0x02 + + +IIO Oscilloscope +~~~~~~~~~~~~~~~~ + +Download and install the latest version of IIO Oscilloscope from: +:git-iio-oscilloscope:`IIO Oscilloscope Installers `. + +Once done with the installation or an update of the latest IIO Oscilloscope, +open the application. The user needs to supply a URI which will be used in the +context creation of the IIO Oscilloscope and the instructions can be seen from +the previous section. +Press refresh to display available IIO Devices, once ADXL355 appeared, press +connect. + +.. image:: adxl355_iio_osc.png + :width: 300px + +Debug Panel +^^^^^^^^^^^ + +Below is the Debug panel of ADXL355 wherein you can directly access the +attributes of the device. + +.. image:: adxl355_iio_debug.png + :width: 400px + +DMM Panel +^^^^^^^^^ + +Access the DMM panel to see the instantaneous reading of the x, y and z axis +acceleration readings and the device temperature. + +.. image:: adxl355_iio_dmm_panel.png + :width: 400px + +PyADI-IIO +~~~~~~~~~ + +:ref:`pyadi-iio` is a python abstraction module for ADI hardware with IIO +drivers to make them easier to use. This module provides device-specific APIs +built on top of the current libIIO python bindings. These interfaces try to +match the driver naming as much as possible without the need to understand the +complexities of libIIO and IIO. + +Follow the step-by-step procedure on how to install, configure, and set up +PYADI-IIO and install the necessary packages/modules needed by referring to +this :ref:`link `. + +Running the example +^^^^^^^^^^^^^^^^^^^ + +After installing and configuring PYADI-IIO in your machine, you are now ready +to run python script examples. In our case, run the **adxl355_example.py** +found in the examples folder. + +.. NOTE:: + + Github link for the python sample script: :git-pyadi-iio:`ADXL355 Python + Example ` + +Running directly on the RPi +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. shell:: ps1 + + /d/pyadi-iio/examples + $python adxl355_example.py + +Press enter and you will get these readings. + +.. image:: adxl355_python_example_rpi.png + :width: 600px + +For No-OS +^^^^^^^^^ + +.. shell:: ps1 + + /d/pyadi-iio/examples + $python adxl355_no_os_example.py serial:,57600 + +In a Windows machine, you can check the port of your MAX32655FTHR and +MAX32650FTHR via Device Manager in the Ports (COM & LPT) section. If your +device is in COM8, you have to use: + +.. shell:: + + $python pyadi-iio/examples/adxl355_no_os_example.py serial:COM8,57600 + +Press enter and you will get these readings. + +.. image:: no_os_adxl355_pyadi.png + :width: 600px + + +More information and useful links +--------------------------------- + +- :adi:`EVAL-ADXL355-PMDZ Product Page ` +- :adi:`ADXL355 Product Page ` +- :git-no-OS:`EVAL-ADXL355-PMDZ no-OS projects ` + +Schematic, PCB Layout, Bill of Materials +---------------------------------------- + +.. ADMONITION:: Download + + :adi:`EVAL-ADXL355-PMDZ Design & Integration Files ` + + * Schematics + * Bill of Materials + * Gerber Files + * Assembly Files + * Allegro Layout File + + +Additional Information +---------------------- + +- :ref:`pyadi-iio` +- :ref:`iio-oscilloscope` +- :ref:`kuiper` + +Hardware Registration +--------------------- + +.. tip:: + + Receive software update notifications, documentation updates, view the + latest videos, and more when you register your hardware. + `Register `__ + to receive all these great benefits and more! diff --git a/docs/products/soln-ctr-ideas/adxl355/interposer.png b/docs/products/soln-ctr-ideas/adxl355/interposer.png new file mode 100644 index 0000000000..a9d4e296c9 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/interposer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f371590927cb3e07add859d46cc2d9be05649e1a6b323393e17dd4b57802bbbe +size 221044 diff --git a/docs/products/soln-ctr-ideas/adxl355/max32650fthr_adxl355pmod.jpg b/docs/products/soln-ctr-ideas/adxl355/max32650fthr_adxl355pmod.jpg new file mode 100644 index 0000000000..9e1333194f --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/max32650fthr_adxl355pmod.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14e3e7a730edd43828798963c03f9f7ebf5743a81a58986dddd9f7f6761fe899 +size 2380945 diff --git a/docs/products/soln-ctr-ideas/adxl355/max32650fthr_with_pico.png b/docs/products/soln-ctr-ideas/adxl355/max32650fthr_with_pico.png new file mode 100644 index 0000000000..eea4661b26 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/max32650fthr_with_pico.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49e4be4f94b8af29675b4dd8ac4511e5e69b1799a782aaa33e4ffc8565bc9fa9 +size 89785 diff --git a/docs/products/soln-ctr-ideas/adxl355/no_os_adxl355_pyadi.png b/docs/products/soln-ctr-ideas/adxl355/no_os_adxl355_pyadi.png new file mode 100644 index 0000000000..71ec344c53 --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/no_os_adxl355_pyadi.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d347182be7421bb6e8914099e3d3bbdc0343740ddbf887702b5b48ecfe8167cb +size 402140 diff --git a/docs/products/soln-ctr-ideas/adxl355/switch_config.png b/docs/products/soln-ctr-ideas/adxl355/switch_config.png new file mode 100644 index 0000000000..3845f63f3f --- /dev/null +++ b/docs/products/soln-ctr-ideas/adxl355/switch_config.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f48cd3c779809c017158e678cba604a41c7b355f0a170695c747567b0148c61a +size 175323 diff --git a/docs/products/soln-ctr-ideas/index.rst b/docs/products/soln-ctr-ideas/index.rst new file mode 100644 index 0000000000..dac20dfc76 --- /dev/null +++ b/docs/products/soln-ctr-ideas/index.rst @@ -0,0 +1,33 @@ +.. _product-solution-centers: + +Product Solution Centers +=============================================================================== + +.. attention:: + + This page is in development, in a deployed pull request. Feedback welcome in + the PR comment section. + +Product Solution Centers explain the hardware, software, and firmware supporting +a product, the relationships and dependencies between them, and how to choose +the combination that best suits your needs. + +These were inspired by these Developer Resources page on the Solution Centers of +the Analog Devices Developer Portal: + +`MAX32690 Microcontroller Developer Resources +`__ + +`MAX7800X AI Microcontrollers Developer Resources +`__ + + + +.. toctree:: + :caption: Contents: + :titlesonly: + + adxl355/index + adaq2387/index + adc_pulsar_single/index +