-
Notifications
You must be signed in to change notification settings - Fork 1.8k
drivers:adc:ltc2378: Add support for LTC2378-20 #2794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
csarip
wants to merge
5
commits into
analogdevicesinc:main
Choose a base branch
from
csarip:dev/ltc2378-20
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
a5d1e43
drivers: adc: ltc2378: Add driver support for LTC2378
csarip 9e9bd76
drivers: adc: ltc2378: Add IIO support for LTC2378
csarip f21f6b3
drivers: adc: ltc2378: Add README documentation for LTC2378
csarip 96499a6
projects: ltc2378: Add project for LTC2378
csarip de506dc
projects: ltc2378: Add README documentation for project
csarip File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| .. include:: ../../../../../projects/ltc2378/README.rst |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,162 @@ | ||
| Evaluating the LTC2378-20 | ||
| ========================= | ||
|
|
||
| .. no-os-doxygen:: | ||
|
|
||
| .. contents:: | ||
| :depth: 3 | ||
|
|
||
| Supported Evaluation Boards | ||
| --------------------------- | ||
|
|
||
| `DC2135A <https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/dc2135a.html>`_ | ||
|
|
||
| Overview | ||
| -------- | ||
|
|
||
| The DC2135A evaluation board features the LTC2378-20, a high-speed 20-bit SAR | ||
| ADC that can be configured for both unipolar (0 to VREF) and bipolar (±VREF) | ||
| input ranges. The board provides all necessary hardware connections and signal | ||
| conditioning for comprehensive ADC evaluation. | ||
|
|
||
| The evaluation board provides easy access to all necessary signals through | ||
| standard connectors, enabling quick setup for high-speed data acquisition | ||
| applications up to 1Msps sample rate. | ||
|
|
||
| For full performance details, refer to the LTC2378-20 data sheet, which should | ||
| be consulted in conjunction with the user guide. | ||
|
|
||
| Hardware Specifications | ||
| ----------------------- | ||
|
|
||
| Power Supply Requirements | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| The DC2135A evaluation board requires external ±16V supplies for the analog | ||
| input circuitry and signal conditioning. The LTC2378-20 ADC itself operates | ||
| from a regulated 2.5V supply that is generated on-board. | ||
|
|
||
| **Pin Description** | ||
|
|
||
| Please see the following table for the pin assignments: | ||
|
|
||
| +----------+-------------------------------------------+ | ||
| | Name | Description | | ||
| +----------+-------------------------------------------+ | ||
| | GND | Connect to Ground | | ||
| +----------+-------------------------------------------+ | ||
| | SCK | Connect to SPI Clock (SCK) | | ||
| +----------+-------------------------------------------+ | ||
| | SDO | Connect to SPI Master In Slave Out (MISO) | | ||
| +----------+-------------------------------------------+ | ||
| | SDI | Connect to SPI Master Out Slave In (MOSI) | | ||
| +----------+-------------------------------------------+ | ||
| | CNV | Connect to GPIO pin (CNV) | | ||
| +----------+-------------------------------------------+ | ||
| | BUSY | Connect to GPIO pin (BUSY) | | ||
| +----------+-------------------------------------------+ | ||
|
|
||
| **Hardware Bringup** | ||
|
|
||
| For reference, consult the Quick Start Procedure section in the user guide for the corresponding demo board: | ||
| `DC2135A user guide <https://www.analog.com/media/en/technical-documentation/user-guides/DC2135AF.PDF>`_. | ||
|
|
||
| No-OS Build Setup | ||
| ----------------- | ||
|
|
||
| Please see: https://wiki.analog.com/resources/no-os/build | ||
|
|
||
| No-OS Supported Examples | ||
| ------------------------ | ||
|
|
||
| The initialization data used in the examples is taken out from: | ||
| `Project Common Data Path <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ltc2378/src/common>`_ | ||
|
|
||
| The macros used in Common Data are defined in platform specific files found in: | ||
| `Project Platform Configuration Path <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ltc2378/src/platform>`_ | ||
|
|
||
| Basic example | ||
| ^^^^^^^^^^^^^ | ||
|
|
||
| This is a simple example that initializes the LTC2378-20, perform the start-up | ||
| sequence and configure the output voltage. | ||
|
|
||
| In order to build the basic example make sure you have the following | ||
| configuration in the | ||
| `Makefile <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ltc2378/Makefile>`_ | ||
|
|
||
| .. code-block:: bash | ||
|
|
||
| # Select the example you want by choosing basic or iio_example | ||
| EXAMPLE ?= basic | ||
| EXAMPLE ?= iio_example | ||
|
|
||
| IIO example | ||
| ^^^^^^^^^^^ | ||
|
|
||
| This project is actually an IIOD demo for DC2135A evaluation board. | ||
| The project launches a IIOD server on the board so that the user may connect | ||
| to it via an IIO client. | ||
|
|
||
| Using IIO-Oscilloscope, the user can configure the device. | ||
|
|
||
| If you are not familiar with ADI IIO Application, please take a look at: | ||
| `IIO No-OS <https://wiki.analog.com/resources/tools-software/no-os-software/iio>`_ | ||
|
|
||
| If you are not familiar with ADI IIO-Oscilloscope Client, please take a look at: | ||
| `IIO Oscilloscope <https://wiki.analog.com/resources/tools-software/linux-software/iio_oscilloscope>`_ | ||
|
|
||
| The No-OS IIO Application together with the No-OS IIO LTC2378-20 driver take care of | ||
| all the back-end logic needed to setup the IIO server. | ||
|
|
||
| This example initializes the IIO device and calls the IIO app as shown in: | ||
| `IIO Example <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ltc2378/src/examples/iio_example>`_ | ||
|
|
||
| In order to build the IIO project make sure you have the following configuration | ||
| in the | ||
| `Makefile <https://github.com/analogdevicesinc/no-OS/tree/main/projects/ltc2378/Makefile>`_ | ||
|
|
||
| .. code-block:: bash | ||
|
|
||
| # Select the example you want by choosing basic or iio_example | ||
| EXAMPLE ?= basic | ||
| EXAMPLE ?= iio_example | ||
|
|
||
| No-OS Supported Platforms | ||
| ------------------------- | ||
|
|
||
| Maxim Platform | ||
| ^^^^^^^^^^^^^^ | ||
|
|
||
| **Used hardware** | ||
|
|
||
| * `DC2135A <https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/dc2135a.html>`_ | ||
| * `MAX32666FTHR <https://www.analog.com/en/resources/evaluation-hardware-and-software/evaluation-boards-kits/max32666fthr.html>`_ | ||
|
|
||
| **Connections**: | ||
|
|
||
|
|
||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | DC2135A Pin | Function | MAX32666FTHR Pin | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | SCK | SPI Clock (SCK) | AIN3 (SPI1_SCK) | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | SDO | SPI Master In Slave Out (MISO) | AIN2 (SPI1_MISO) | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | SDI | SPI Master Out Slave In (MOSI) | AIN1 (SPI1_MOSI) | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | CNV | GPIO (CNV Pin) | P0_9 | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | BUSY | GPIO (BUSY Pin) | P0_10 | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
| | GND | Ground (GND) | GND | | ||
| +--------------------------+----------------------------------------------+------------------+ | ||
|
|
||
| **Build Command** | ||
|
|
||
| .. code-block:: bash | ||
|
|
||
| # to delete current build | ||
| make PLATFORM=maxim TARGET=max32665 reset | ||
| # to build the project and flash the code | ||
| make PLATFORM=maxim TARGET=max32665 run | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
user should select either with
or
whichever you want, but they shouldn't edit the Makefile