Skip to content
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

Add AD4052-ARDZ project #1504

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Add AD4052-ARDZ project #1504

wants to merge 6 commits into from

Conversation

gastmaier
Copy link
Contributor

@gastmaier gastmaier commented Nov 1, 2024

PR Description

Adds support to the AD4052 ADC SPI family (AD4050, AD4052, AD4056, AD4058).
The CNV pin contains a OR logic for:

  • In buffer reading mode, conversions are triggered by the pwm generator.
  • In single shot mode, conversions are triggered by a GPIO.

SPI Engine Offload waits the Data Ready signal from the ADC, configured at pin GP1.
ADC GP0 is used as a monitor pin, triggering either threshold (rising+failing) events to the PS.

Named ad4052 instead of ad405x since the ad4052 is the main part of the family (best granularity and speed).

Pointers:
www.analog.com/ad4050
www.analog.com/ad4052
www.analog.com/eval-ad4052-ardz.html

Coraz7s tested on HW. Pending De10Nano

The de10nano raises the same critical warnings as #1463

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have compiled all hdl projects and libraries affected by this PR
  • I have tested in hardware affected projects, at least on relevant boards
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Critical Warnings on compilation
  • I have added new hdl testbenches or updated existing ones

projects/ad4052_ardz/common/ad4052_bd.tcl Outdated Show resolved Hide resolved
projects/ad4052_ardz/common/ad4052_bd.tcl Outdated Show resolved Hide resolved
docs/projects/ad4052_ardz/ad4052_hdl.svg Outdated Show resolved Hide resolved
projects/ad4052_ardz/Readme.md Outdated Show resolved Hide resolved
projects/ad4052_ardz/common/ad4052_qsys.tcl Outdated Show resolved Hide resolved
@gastmaier
Copy link
Contributor Author

gastmaier commented Nov 19, 2024

Applied review changes.
Increased compilation effort to close timing at spi_clk 150Mhz

Comment on lines +91 to +92
assign adc_cnv = adc_cnv_w | (gpio_o[34] & ~gpio_t[34]);
assign gpio_i[34] = adc_cnv;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this level of CNV control not available on the de10nano approach ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My oversight.

Add AXI IIC Controller connected to Arduino SCL SDA ports.
Generally, to read the EVB EEPROM.

Signed-off-by: Jorge Marques <[email protected]>
The axi_iic_ard is generally used to read the EVB EEPROM with
Arduino uno form factor.

Signed-off-by: Jorge Marques <[email protected]>
The axi_iic_ard is generally used to read the EVB EEPROM with
Arduino uno form factor.

IIC Changes:
Project       Old          New          IIC Subordinate
ad4170_asdz   ps-12, 44a4  ps-11, 4160  24AA32A
ad57xx_ardz   PS7 IIC      ps-11, 4160  24AA32A
pulsar_adc    none         ps-11, 4160  -
ad719x_asdz   none         ps-11, 4160  -
cn0579        ps-12, 44a4  ps-11, 4160  AD5696
cn0540        ps-12, 44a4  ps-11, 4160  LTC2606
cn0561        PS7 IIC      ps-11, 4160  M24C02

IRQ index changes:
ad4170_asdz
* $hier_spi_engine 11 -> 12

ad57xx_ardz
* ad57xx_dma 12 -> 13
* $hier_spi_engine 11 -> 12

cn0579
* cn0579_dma 13 -> 12
* axi_iic_ard 12 -> 11

cn0540
* $hier_spi_engine 11 -> 12

Signed-off-by: Jorge Marques <[email protected]>
Describe EVAL-AD4052-ARDZ support with coraz7s.

Signed-off-by: Jorge Marques <[email protected]>
@gastmaier gastmaier changed the base branch from main to ace December 3, 2024 17:49
@gastmaier
Copy link
Contributor Author

Merge after #1517

Base automatically changed from ace to main December 6, 2024 15:15
@gastmaier gastmaier requested a review from sarpadi December 11, 2024 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants