Hello,
I use an external oscillator to supply a 24.576 MHz clock as an input for PCG A and B. See the code below:
//BCLK config TDM16 ADI_PCG_CLK_INFO PCG_CLK_Inf_TDM16 = { ADI_PCG_CLK_EXT, //Clock Source 1u, //Clock Divisor for 24.576 MHz false //External Trigger }; //BCLK config TDM8 ADI_PCG_CLK_INFO PCG_CLK_Inf_TDM8 = { ADI_PCG_CLK_EXT, //Clock Source 2u, //Clock Divisor for 12.288 MHz false //External Trigger }; //FS config for 48 kHz ADI_PCG_FS_INFO PCG_FS_Inf = { ADI_PCG_FS_EXT, //Clock Source 512u, //Frame Sync Divisor 48 KHz 256u, //Pulse Width 0u, //Phase false, //External Trigger ADI_PCG_FSBYPASS_MODE_NORMAL //Bypass Mode normal }; //Init adi_pcg_Init(ADI_PCG_DEV_A, &PCG_CLK_Inf_TDM8, &PCG_FS_Inf); adi_pcg_Init(ADI_PCG_DEV_B, &PCG_CLK_Inf_TDM16, &PCG_FS_Inf);
Clocks are working (checked with the scope). Both clocks are divided from the same input and therefore are working on the same timebase by default.
The question is, because the init functions of the clocks are called one after the other, could there be a time difference between the edges of the resulting clock signals?
Are the clocks sychronized internally?
How to ensure that the edges of both clocks are always (!) 100% synched? Is there an option to start the clocks with a trigger source like it is possible with SPORTS?
I just found the option to use an external trigger source clock, but that is not what I am searching for. I just want to start the clocks at the same time.
Kind regards,
Markus