10-27-2020 10:00 AM
I’m working with a devboard ZCU111. I’m using 8 DAC & 2 x ADC @2Gsps MTS with Vivado & Petalinux 2020.1. A lot of things is already working in my design but i need help to control the ADC NCO Phase.
I’m using a software function to set ADC mixer setting and it works fine (cf code SetADCMixer)
I need to reset the ADC NCO phase synchronously with the DAC output signal. In my design i have a basic logic sequencer (@250MHz) to control the DAC output wave form, some externals triggers, the start of the ADC data recording and i added an instruction to reset the NCO Phase via NCO Real Time Ports.
I read « NCO Frequency Hopping » chapter in PG269(v2.3) document and posts on this subject.
In the documentation ADC real-time NCO signals are :
inputs : adcXY_nco_freq, adcXY_nco_phase, adcXY_nco_phase_rst, adcXY_nco_update_en, adcX_nco_update_req
output : adcX_update_busy.
All this signals are based on s_axi_aclk.
As i understand there are 2 modes : Single Converter Mode and Multi-Tile Mode. In single converter mode you said « Before a NCO update can be performed the event source must be set to Tile. » So, do i need to call XRFdc_UpdateEvent (…., XRFDC_EVNT_SRC_TILE) ; before using the real-time nco interfaces ? After that, to reset the NCO phase, can i use only adcXY_nco_phase_rst signal or do i need to use adcXY_nco_update_en and adcX_nco_update_req too?
In Multi-Tile Mode, i understand that 2 options are available : one by gating externally SYSREF during NCO update and the other by using the internal gate. For this 2 options all real-time NCO interface are synchronize via DAC tile 228, so do i need to activate the mixer on this DAC and real Time NCO ports of DAC tile 228 ? I can’t use only the ADC NCO real time interface ? If i activate this option in DAC tile 228 i see 6 signals, like for the ADC, but in your documentation (figure 92) there are more signals : dac0_sysref_int_gating, dac0_sysref_int_reenable ??? It’s not easy to understand and i made some tests without any result...NCO phase never changes….
Is there someone who use this NCO Real Time Interface ?
10-27-2020 03:01 PM
If you are updating a single tile then the update event should be the tile event. You can set this via the mixer settings. I think a GetMixerSettings should give you back the event src, fairly sure it defaults to tile.
In the multi tile case you need to have MTS enabled on the tile then you should see the sysref gating signals.
Not sure why it isn't working for you. I think I should have an example. I'll look for it and share it here
11-04-2020 08:52 AM