-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Conversation
2f1ae05
to
c06f5b5
Compare
V2: After guideline check. |
c06f5b5
to
7c83931
Compare
V3: After review updates and reference clock was updated to 133.3 MHz. |
V4: Cosmetic updates after review. |
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.
The regmap files should be updated with the new capabilities.
The cosmetic commit should be squashed with the IP commit
3ee6c45
to
4b9f136
Compare
V4: Cosmetic squashed and adi_regmap_dac updated. |
4b9f136
to
59692c5
Compare
V5: Testbench cosmetics and rebase. |
5a51cfe
to
cbefeb0
Compare
V6: After rebasing and renaming the VCD_FILE in axi_ad3552r_if_tb.v. |
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.
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 ?
a2050c5
to
de41c26
Compare
V7: Updates after revision. The multiple device synchronization feature has been synchronized in the AD3552R interface IP. |
de41c26
to
7c5d7b4
Compare
V8: After deleting the tb_base.v file and change the include location to library/common/tb/tb_base.v. |
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.
Looks good.
Should wait for the software to be ready before merging
7c5d7b4
to
dabc82b
Compare
V9: After updating the copyright start year. |
dabc82b
to
3fd5de4
Compare
V10: After updating the Readme.md Wiki page links. |
fe92ca8
to
b2574a0
Compare
V11: After adding the DDS option as an input source. The updates were tested by manually configuring the DDS registers. |
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.
Looks good.
Added some comments
projects/ad3552r_evb/Readme.md
Outdated
* Project Doc: https://wiki.analog.com/resources/eval/eval-ad3552r-user-guide | ||
* HDL Doc: https://wiki.analog.com/resources/eval/eval-ad3552r-user-guide |
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.
These links should point to the User Guide that uses this project
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.
Solved in V12.
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 )))); | ||
|
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.
Given that there is no need for priority, should we implement this as case ?
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.
Solved in V12.
b2574a0
to
bf31c91
Compare
bf31c91
to
4b87524
Compare
V12: After updating copyrights and solving review suggestions. |
4b87524
to
6279c2a
Compare
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]>
6279c2a
to
debbc3e
Compare
V1: Tested on ZedBoard.