Master clock and isolator for the MiniDSP USBStreamer

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Member
Joined 2009
Paid Member
Hi Sönke,

Yes, I can deliver a bare board.

And if you can solder an SC70 the modifications to the USBStreamer will be no problem. You just need to remove one resistor and connect four wires.

If you can describe the concept of your system we can work out which version will be the most suitable.
 
Hi Jens,

I would like to use PCM5102 (saves me a negative rail) with local oscillators on the DAC board. They can be run in auto mode select and use the standard 2x.xMHz clock frequencies so I do not really need the PLL. This would mean V3-5 as far as I understand.
But the MCLK loopback MUX would be nice to have, so V4 or V5 would be best, right?

Thanks,
Sönke
 
Member
Joined 2009
Paid Member
I am not quite sure what you mean with "auto mode select". The active clock should be determined by the output from the USBStreamer Interface. So when the 48/44.1n signal is high a 24.576 MHz clock should be used and when it is low a 22.5792 MHz clock should be used. It cannot be detected from the SCLK or LRCK, since these will be dependent on the clock supplied to the USBSTreamer.

V5 will be fine and you don't need to mount the PLL option.
 
Hi Jens,

If you don't mind I like to move our discussion of the USBStreamer here since it's off topic for the QA400 thread.

The master clock is coupled through a resistor to pin 4 of an IC close to the header pins.
This IC is marked 2PLC 1249. Any idea of what this IC is? According to XMOS's reference design notes the XMOS must receive an external master clock and from this will generate the LRCK and SCLK and of course serial data. The paper suggests I2S slave is matter of setting a bit in a register of the XMOS.
 
Member
Joined 2009
Paid Member
Hi David,

Yes, it was definitely off topic in the other thread!

The master clock is coupled through a resistor to pin 4 of an IC close to the header pins.
Not quite! The externally available MCLK comes from pin 4! It is connected to J1 pin 9 through a 100 ohm resistor.

This IC is marked 2PLC 1249. Any idea of what this IC is?
Yes. It seems to be a CS2300 from Cirrus Logic. The 1249 is the date code. I have some with 1209 (my old unit where I made the Toslink test etc) and 1239 (a unit I bought later).

The XMOS receives the MCLK from pin 3 of the CS2300 through another 100 ohm resistor, placed very close to pin 10 of the IC. This is the clock which I substitute with an external clean MCLK.
So with the HW design of the MiniDSP USBStreamer I doubt that it will be possible to change it to a slave operation by SW changes only.

Jens
 
Hi David,

Yes, it was definitely off topic in the other thread!


Not quite! The externally available MCLK comes from pin 4! It is connected to J1 pin 9 through a 100 ohm resistor.


Yes. It seems to be a CS2300 from Cirrus Logic. The 1249 is the date code. I have some with 1209 (my old unit where I made the Toslink test etc) and 1239 (a unit I bought later).

The XMOS receives the MCLK from pin 3 of the CS2300 through another 100 ohm resistor, placed very close to pin 10 of the IC. This is the clock which I substitute with an external clean MCLK.
So with the HW design of the MiniDSP USBStreamer I doubt that it will be possible to change it to a slave operation by SW changes only.

Jens

Did I trace that out wrong?

So you're replacing the onboard master clock with the external. Probably easiest to remove the 3200 and short pins pads 3 and 4.
I didn't get this before from your documentation. Now it all makes sense. I expect this requires a board mod then. I would buy a board from you except I want all this integrated onto one I/O board along with other I/O. I'm only interested in recording.


I did get the TOSLink input working with SPDIF. The signal off the emu1212 is ac. The TOS input was only seeing the peak so I had to put a 50% bias on the input to get it to work. It requires a differential line receiver to single ended to get it to work right. An rs422 should do the trick.

I was only referring to the direction of the I2S clocks not the master.


The USBStreamer is flaky with handling the SW defined speed. If the streamer is reset it defaults to 48kHz and stays there until the software is changed.
 
Last edited:
I see. I'd like to find a solution that doesn't require surgery. It's not simple then. Industries solution is to have a single master which everything else runs from. I'm both surprised and not that no integrated interface exists. I understand the reluctance of miniDSP to do anything at all. It would mean serious redesign of the input and speed selection scheme.
Your solution is an excellent work-around but requires skill that less experience DIY can't handle. I may end up just buying a board from you. I'm just toying with this.
 
Hi Jen, i make a car audio system pc based with the usb streamer ( 2-way + 1 subwoofer) and your upgrade is BIG!! Is possible have one board? And i have another question: i'll use cplay like software and i'll make software upsampling to 192 khz... So, everything that go out the pc is in 24-192, can i install only the 24 mhz oscillator? Thank you very much!
 
I just discovered the USBStreamer a couple of days ago. I've been wondering about the jitter performance, especially a concern with 8x8 ADAT I/O mode. Is the clocking problem still an issue with boards recently produced? The firmware on these new boards allows for external clocking, but if the clock is still derived as described in this thread, it's likely still a problem.

This thread hasn't been updated in a while. Is the accessory board described in this thread still a valid and functional fix? And if so, is it available somewhere? TIA!
 
Hi JensH, I wanted to use the USBStreamer as recorder for a 8 channel 7.1 signal. The Bitrate of the source varies depending on the content. Will the USBStreamer with the Isolater-Board installed detect the Bitrate correctly (automatically) and set the corresponding values in the device settings (Core Audio, Mac Mini)? Also the source signal is Left-Justified, does this cause any problems? Thanks for sharing your experiences!
 
Member
Joined 2009
Paid Member
@ undertone
I think the jitter on the USBStreamer is caused by the PLL design used in the XMOS device and the design chosen for the USBStreamer. I don't think this has changed at all. It would require a serious redesign, using a completely different clock concept.
I have not tried the ADAT I/O mode, but I doubt that there will be any difference in the clocking performance compared to the usual Toslink mode.

In the standard version the only way to make the USBStreamer lock to an incoming signal is to use the Toslink input. This is possible. But as far as I remember, the output clock becomes much worse in this situation, because there is a lot of wander in addition to the usual jitter.

I have sold a few boards to members on this forum and it is still available. Only bare boards though.

@ NuTron
The USBStreamer will not detect the sample/bit rate of the attached equipment. This is true with- or without the Isolator PCB.
The sample rate is controlled by the (PC) application SW, e.g. a player, a recording program or an audio analyzer program. So the USBStreamer is the clock master on the I2S bus.

A left-justified signal can also be used. But it would have to be converted to an I2S signal. For recording this can be accomplished by using flip-flops on the data lines and clock it with the SCLK. You should also invert the LRCK.
 
I have not tried the ADAT I/O mode, but I doubt that there will be any difference in the clocking performance compared to the usual Toslink mode.
Thanks Jens. In some good audio interfaces, out clock timing can be very accurate, and ADAT is tracked and corrected by rather sophisticated designs. RME gear has always been better than most; you can read about their SteadyClock here.

But just how much jitter are we talking about? Have you had a chance to measure the degree of jitter involved? It would be nice to have some hard data.

In the end, as long as clock lock is maintained consistently, it can still be a useful board for less critical musician applications.
 
Member
Joined 2009
Paid Member
I have just measured the jitter on the MCLK from the USBStreamer. I used an oscilloscope set up to trigger at 1.65V and with a pre-trigger of around 20us (roughly one sample at 48 kHz sampling). I have used infinite persistence to record the peak to peak jitter. The result is not directly comparable to other measurement methods. But it certainly gives an indication of the jitter level. I assume that the jitter on the Toslink/ADAT output is the same plus the jitter added by the optical transmission.

The result is a peak to peak jitter of 2.68ns. The jitter does not change when changing the sample frequency from 48 to 96 or 192 kHz. This is not surprising since the MCLK is the same.

For comparison I measured the jitter on my latest design, where I use low phase noise crystal oscillators from NDK. The result in this case is 220ps peak to peak. I think this approaches the limit of the test equipment/method. So the actual jitter is probably lower. There is some ringing, but that is just due to the non-ideal oscilloscope probe wiring.

With the Master clock and isolator I feed this low jitter MCLK back to the USBStreamer.
 

Attachments

  • USBStreamer_MCLK jitter_20us pretrigger.png
    USBStreamer_MCLK jitter_20us pretrigger.png
    19.3 KB · Views: 730
  • ADC_DAC Board with AK5394A and AK4399_MCLK jitter_at clock mux output.png
    ADC_DAC Board with AK5394A and AK4399_MCLK jitter_at clock mux output.png
    19.2 KB · Views: 708
Jens

What is your opinion on USBStreamer + I2S DACs (like miniDSP's own Curryman DAC).
In that combination MCLK from USBStreamer is NOT connected to the DAC, it has it's own on-board clock.
Does this configuration result in "acceptable" jitter level?
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.