cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
arinori
Visitor
Visitor
396 Views
Registered: ‎12-16-2018

RFDC

I have a question about configuring RFDC.
The Vivado version is 2019.1.
The platform will be ZCU111.

I am trying to change the NCO frequency of the Fine Mixer using the API of XRFdc_SetQMCSettings, but the value cannot be changed.
Changing to Coarse Mixer is fine.

Please teach if there are any procedures for changing Fine Mixer.

Tags (1)
0 Kudos
7 Replies
klumsde
Moderator
Moderator
357 Views
Registered: ‎04-18-2011

Hi @arinori 

Can you show what you do in the code? Are you sure you set the update event in the mixer settings and then provide it?

Keith 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
arinori
Visitor
Visitor
326 Views
Registered: ‎12-16-2018

Set in Fine mode of RF-ADC Mixer,
Using the API XRFdc_SetQMCSettings, when MixerType is set to Coarse mode and CoarseMixFreq is set to -fs / 4, it seems to switch normally when set.
However, when the NCO frequency is set in the Fine settings, the API ends normally, but the frequency does not change at all.
The RFDC Driver is created with Bare-metal.
In addition, the decimation API has been switched normally, and I think that the driver installation is said to be normal.
Is there anything I should be aware of when changing the NCO frequency of the RF-ADC Mixer?
In addition, only the API of XRFdc_SetQMCSettings is used for the change processing of RF-ADC Mixer, and no other processing is used.

0 Kudos
klumsde
Moderator
Moderator
308 Views
Registered: ‎04-18-2011

Why do you think modifying the QMC settings will change the fine mixer?

You need to do something like this in your code

XRFdc_GetMixerSettings (ptr, XRFDC_ADC_TILE, tile, block, &Mixer_Settings);

Mixer_Settings.Freq = <your new frequency>;

Mixer_Settings.EventSource = XRFDC_EVNT_SRC_TILE;

XRFdc_SetMixerSettings (ptr, XRFDC_ADC_TILE, tile, block, &Mixer_Settings);

XRFds_UpdateEvent(ptr, XRFDC_ADC_TILE, tile, 1, XRFDC_EVENT_MIXER);

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
arinori
Visitor
Visitor
250 Views
Registered: ‎12-16-2018

I was late to contact you.
We have changed it according to the content you contacted.
However, without using the XRFds_UpdateEvent function, in the Mixer_Settings structure
The EventSource setting is set to block.
In fact, Coarse's Fine can be switched, and Coarse's -1 / 4FS operation is normal, so I think that the XRFdc_SetMixerSettings function itself is normal.
Is XRFds_UpdateEvent required when changing NCO.Freq when setting Fine?
It is a situation where only NCO FREQ cannot be set.

0 Kudos
klumsde
Moderator
Moderator
231 Views
Registered: ‎04-18-2011

Hi @arinori 

 

The EventSource setting is set to block.

ZCU111 is a 28DR device which has dual ADC tiles. For this ADC tile you can't use the block/slice event to update it.

the event must be Tile!

XRFdc_GetMixerSettings (ptr, XRFDC_ADC_TILE, tile, block, &Mixer_Settings);

Mixer_Settings.Freq = <your new frequency>;

Mixer_Settings.EventSource = XRFDC_EVNT_SRC_TILE;

XRFdc_SetMixerSettings (ptr, XRFDC_ADC_TILE, tile, block, &Mixer_Settings);

XRFds_UpdateEvent(ptr, XRFDC_ADC_TILE, tile, 1, XRFDC_EVENT_MIXER);

klumsde_0-1614936997777.png

Regards, 

Keith 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
arinori
Visitor
Visitor
216 Views
Registered: ‎12-16-2018

I'm sorry. I made a mistake.

It is set with EventSource: tile (value = 2).

Is there anything else?

0 Kudos
klumsde
Moderator
Moderator
209 Views
Registered: ‎04-18-2011

yes make the event source tile then generate a tile event after the SetMixerSettings API call

Let me know how you get on.

Keith 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos