XU208 BCLK jitter ES9038PRO

Technical discussions around xCORE processors (e.g. General Purpose (L/G), xCORE-USB, xCORE-Analog, xCORE-XA).
pucur
New User
Posts: 2
Joined: Thu Nov 30, 2017 9:22 am

XU208 BCLK jitter ES9038PRO

Postby pucur » Sat Mar 07, 2020 12:16 pm

Hello,

I know this is an old topic, but please take a moment and read about my problem because I have dedicated a few days to fix this problem.

I saw that BCLK has some jitter even on lower Freq, for example, 3MHz (PCM48), but the output from the DAC is OK. On higher frequencies jitter is higher.

When I increase a sample rate to LRCK=768kHz, CLK=49.152MHz, BCLK=CLK I got an ideal clock on every pin except on BCLK where I have jitter, and output from the DAC look like to have jitter too. Please take a look at the attached pictures.

Is it a problem with a DAC or with the jitter on the BCLK pin? Is it normal what I have got on BCLK (see the picture)? Do I need to configure the ES9038PRO differently, if anyone has more experience with this DAC.
Topics I read are:
http://xcore.com/viewtopic.php?f=37&t=6267&hilit=DSD512
viewtopic.php?t=5984
and others...
Images.zip
You do not have the required permissions to view the files attached to this post.
User avatar
Caleb
Experienced Member
Posts: 82
Joined: Thu Apr 04, 2013 10:14 pm

Postby Caleb » Mon Mar 09, 2020 8:08 pm

If you are using a X200 device, your BCLK should be configured as clock output that is divided from mclk. See in audio.xc:

Code: Select all

#ifndef CODEC_MASTER
static inline void doI2SClocks(unsigned divide)
{
#ifndef __XS2A__
    switch (divide)
    {
#if (MAX_DIVIDE > 16)
#error MCLK/BCLK Ratio not supported!!
#endif
#if (MAX_DIVIDE > 8)
             case 16:
                p_bclk <: 0xff00ff00;
                p_bclk <: 0xff00ff00;
...
...
Also, see in audioports.xc:

Code: Select all

#if defined(__XS2A__)
    /* Clock bitclock clock block from master clock pin (divided) */
    configure_clock_src_divide(clk_audio_bclk, p_mclk_in, (divide/2));
    configure_port_clock_output(p_bclk, clk_audio_bclk);
#else
You don't generate the BCLK with bitfields for X200 devices as is required for the L1 devices. This may help you.

It's also important to recognize the outputs of the XMOS IC are not the same as flip-flops directly clocked by mclk. If you use your oscilloscope to monitor XMOS outputs and trigger on a stable signal, you will detect jitter on the order of 2ns. I don't know why. I assume that the XMOS hardware samples external clock inputs (those that increment clkck-blocks) - using the 500MHz system clock. It has to be something like that.

Are you operating your ESS DAC in synchronous mode or are you using the intended "jitter eliminator" mode? For the latter, any jitter on the IIS interface should be unrelated to the DAC's jitter immunity. It uses an ASRC to synchronize the data to the DAC clock domain that should be clocked by a quality crystal oscillator. As long as your IIS interface meets basic setup and hold specifications, I think there's no problem with jitter from the XMOS. There are of course modes by which jitter can influence DAC performance, such as power supply noise. There is no way to eliminate jitter in the XMOS output signals. You could re-clock those signals with external flip-flops (that are clocked by your quiet external mclk).
pucur
New User
Posts: 2
Joined: Thu Nov 30, 2017 9:22 am

Postby pucur » Wed Mar 11, 2020 9:47 am

Hello Caleb, thank you for the replay.

I think that a problem was at a foobar that can't play PCM768, when I tried it on Audirvana it was ok. Now I'm struggling with DSD512 Native, I'm not sure can it support it and on which mediaplayer to try it, Audirvana offers DoP, and for Foobar I'm not sure. I know that this configuration cant support DoP512 but I hope that it can Native512.
User avatar
Caleb
Experienced Member
Posts: 82
Joined: Thu Apr 04, 2013 10:14 pm

Postby Caleb » Tue Mar 17, 2020 11:54 pm

I have no experience with native DSD. We never did implement it in our products. When we considered it a few years ago, it wasn't clear if it was possible with OSX. We've had almost 0 requests for implementing it.

I'm not clear how DoP would work at DSD512 data rates. At a maximum data rate of 8.192mb / second for UAC2 PCM, that's not enough bytes for a stereo PCM FS of 1,411,200Hz - even if you configure for 24 bits/channel rather than 32. I haven't begun to explore the more recent UAC3 extensions. Maybe there's a possibility if the drivers are updated to that spec.



pucur wrote:
Wed Mar 11, 2020 9:47 am
Hello Caleb, thank you for the replay.

I think that a problem was at a foobar that can't play PCM768, when I tried it on Audirvana it was ok. Now I'm struggling with DSD512 Native, I'm not sure can it support it and on which mediaplayer to try it, Audirvana offers DoP, and for Foobar I'm not sure. I know that this configuration cant support DoP512 but I hope that it can Native512.

Who is online

Users browsing this forum: No registered users and 4 guests