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

Added support for AD3552R #1086

Merged
merged 3 commits into from
Oct 2, 2023
Merged

Added support for AD3552R #1086

merged 3 commits into from
Oct 2, 2023

Conversation

PopPaul2021
Copy link
Contributor

V1: Tested on ZedBoard.

@PopPaul2021
Copy link
Contributor Author

V2: After guideline check.

library/axi_ad3552r/Makefile Outdated Show resolved Hide resolved
library/axi_ad3552r/axi_ad3552r_channel.v Outdated Show resolved Hide resolved
library/axi_ad3552r/axi_ad3552r_if_tb Outdated Show resolved Hide resolved
library/axi_ad5766/axi_ad5766.v Outdated Show resolved Hide resolved
library/common/up_dac_channel.v Outdated Show resolved Hide resolved
library/common/up_dac_common.v Outdated Show resolved Hide resolved
@PopPaul2021
Copy link
Contributor Author

V3: After review updates and reference clock was updated to 133.3 MHz.

@PopPaul2021 PopPaul2021 requested a review from a team February 21, 2023 10:43
@PopPaul2021
Copy link
Contributor Author

V4: Cosmetic updates after review.

Copy link
Contributor

@acostina acostina left a comment

Choose a reason for hiding this comment

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

The regmap files should be updated with the new capabilities.

The cosmetic commit should be squashed with the IP commit

@PopPaul2021
Copy link
Contributor Author

V4: Cosmetic squashed and adi_regmap_dac updated.

@PopPaul2021
Copy link
Contributor Author

V5: Testbench cosmetics and rebase.

IuliaCMoldovan
IuliaCMoldovan previously approved these changes Mar 16, 2023
@PopPaul2021
Copy link
Contributor Author

V6: After rebasing and renaming the VCD_FILE in axi_ad3552r_if_tb.v.

Copy link
Contributor

@acostina acostina left a comment

Choose a reason for hiding this comment

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

The project looks good.

The board page in the link https://www.analog.com/en/products/eval-ad3552r.html should be modified to https://www.analog.com/eval-ad3552r

Is there any documentation on wiki ?

projects/ad3552r_evb/zed/system_top.v Outdated Show resolved Hide resolved
@PopPaul2021 PopPaul2021 force-pushed the axi_ad3552r_fmc_dev branch 2 times, most recently from a2050c5 to de41c26 Compare May 8, 2023 14:15
@PopPaul2021
Copy link
Contributor Author

V7: Updates after revision. The multiple device synchronization feature has been synchronized in the AD3552R interface IP.

@PopPaul2021
Copy link
Contributor Author

V8: After deleting the tb_base.v file and change the include location to library/common/tb/tb_base.v.

acostina
acostina previously approved these changes May 10, 2023
Copy link
Contributor

@acostina acostina left a comment

Choose a reason for hiding this comment

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

Looks good.
Should wait for the software to be ready before merging

@PopPaul2021
Copy link
Contributor Author

V9: After updating the copyright start year.

@PopPaul2021
Copy link
Contributor Author

PopPaul2021 commented May 16, 2023

@PopPaul2021
Copy link
Contributor Author

V10: After updating the Readme.md Wiki page links.

@PopPaul2021 PopPaul2021 requested a review from acostina May 16, 2023 07:57
@PopPaul2021 PopPaul2021 force-pushed the axi_ad3552r_fmc_dev branch 2 times, most recently from fe92ca8 to b2574a0 Compare June 26, 2023 12:26
@PopPaul2021
Copy link
Contributor Author

V11: After adding the DDS option as an input source. The updates were tested by manually configuring the DDS registers.

Copy link
Contributor

@acostina acostina left a comment

Choose a reason for hiding this comment

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

Looks good.
Added some comments

Comment on lines 6 to 7
* Project Doc: https://wiki.analog.com/resources/eval/eval-ad3552r-user-guide
* HDL Doc: https://wiki.analog.com/resources/eval/eval-ad3552r-user-guide
Copy link
Contributor

Choose a reason for hiding this comment

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

These links should point to the User Guide that uses this project

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Solved in V12.

Comment on lines 109 to 144
assign dac_data_int = (dac_data_sel_s == 4'hb) ? ramp_pattern :
((dac_data_sel_s == 4'h3) ? 16'b0 :
(((dac_data_sel_s == 4'h8) ? formatted_adc_data :
((dac_data_sel_s == 4'h2) ? formatted_dma_data: dac_dds_data_s ))));

assign dac_data_valid_int = (dac_data_sel_s == 4'hb) ? ramp_valid :
((dac_data_sel_s == 4'h3) ? 1'b1 :
(((dac_data_sel_s == 4'h8) ? valid_in_adc :
((dac_data_sel_s == 4'h2) ? valid_in_dma: 1'b1 ))));

Copy link
Contributor

Choose a reason for hiding this comment

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

Given that there is no need for priority, should we implement this as case ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Solved in V12.

library/axi_ad3552r/axi_ad3552r_core.v Show resolved Hide resolved
@PopPaul2021
Copy link
Contributor Author

V12: After updating copyrights and solving review suggestions.

The DAC common regmap was updated with 3 registers(rd/wr/ctrl) and 1 interface status flag for converters with custom control interface.
The custom interface IP for AD3552R DAC has more operation capabilities:
  - 8b register read/write SDR/DDR
  - 16b register read/write SDR/DDR
  - data stream SDR/DDR ( clk_in/8 or clk_in/4 update rate)
  - selectable input source : DMA/ADC/TEST_RAMP
  - data out clock(SCLK) has clk_in/8 frequency when the converter is configured and clk_in/2 when the converter is in stream mode
  - the IP reference clock (clk_in) can have a maximum frequency of 132MHz
  - the IP has multiple device synchronization capability when the DMA is set as an input data source

Signed-off-by: PopPaul2021 <[email protected]>
The project controls the AD3552R digital-to-analog converter and transmits data written in the DDR memory to the QSPI interface of the DAC.
The reference clock is generated by an axi_clkgen IP and is configured to output a 133MHz signal.
If both channels are enabled and data streaming is DDR the sample rate is 16.65MSPS.
If just one channel is enabled and data streaming is DDR the sample rate is 33.3MSPS.
The VADJ voltage should be set to 1.8V.

Signed-off-by: PopPaul2021 <[email protected]>
@PopPaul2021 PopPaul2021 merged commit c29c092 into master Oct 2, 2023
1 of 3 checks passed
@PopPaul2021 PopPaul2021 deleted the axi_ad3552r_fmc_dev branch October 2, 2023 08:07
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