XMOS-based Asynchronous USB to I2S interface

I'm repeating myself from another thread, but whichever one is pertinent to the issue may get the best response.

After further reading, it looks like the CS8420 is set up in hardware mode 1. Output is slave I2S 24 bit, which makes sense. Mode is 1A, which I don't understand. I would be interested in going to hardware mode 2, but this requires a number of board level changes to the CS8420 pins. Serial input can be set for I2S with IF2 setting. There is also a CUVEN choice that I don't understand. So it certainly looks possible, but would take someone with more knowledge than I to make sure compatibilities are sound.
 
weskoki: You can't compare WaveIO to HiFace since it does not offer similar functionality. One of the few similar devices is the KingRex (and many consider it better than the HiFace).
http://www.6moons.com/audioreviews/kingrex8/open_big.jpg
AMS1117 regulators, through-hole parts, audiophile capacitors - it looks bad even on paper, if you know what frequencies are running through those boards. Lucian's solution is the correct one - all SMD, low noise power supplies, low jitter clocks (1ppm on many clocks may look impressive, but it has nothing to do with jitter). The icing on the cake is USB audio 2.0 compatibility. Let's hope that Windows 8 will finally support it...
 
.. few clarifications here. Since WaveIO card wants to be a bit-perfect USB to I2S bridge, it does not support sampling rate conversions (or other kind of processing techniques) so is something like WYSIWYG (What You See Is What You Get) at I2S outputs in limit of 24/192 (for now...)

...It`s fine with me as I use CMP2 CPLAY that can give any 44.1 - 192 khz

WaveIO does not support slave mode thus it is only acts as a Master one (it generates the Bit-clock and Word-clock signals internaly). Though, it can be used as a USB-to-I2S bridge when is wired to the I2S input of CS8420 chip...

If one use I2s I assume I do not need CS8420 ( CS8416 in my case ).
Than , I assume I2s should go to CS84.. output not input.
Zoran
 
If one use I2s I assume I do not need CS8420 ( CS8416 in my case ).
Than , I assume I2s should go to CS84.. output not input.
Zoran

If I understand correctly, you are constrained to use XMOS output to CS84xx input. No other way. Two fundamental reasons:

1. DCX2496 DSP wants I2S in slave mode. XMOS cannot provide.
2. DCX2496 DSP wants I2S in 24/96 format, which implies you would have to set computer up for 24/96. This may or may not be possible. I will be 16/44.

What is needed is to set up (with board level mods) the CS84xx to accept on its input I2S data. This is hardware mode 2. Allow ASRC function. CS84xx I2S input is always a slave, which is desired. Sounds to me like it can be done; just need some experts in CS84xx to verify some of the esoteric settings and that it will be compatible with XMOS.

You are still locked into the on board DCX oscillator for the CS84xx output.

Apologies if this is a thread deviation. I can start a new thread if I can get these same knowledgeable people's attention
 
So, after trying to interpret the CS8420 datasheet, I think I have a way to get I2S into the DCX. I haven’t inspected the board yet to see how feasible this will be, but it looks reasonable. Hopefully someone who better understands the ASRC is able to deny or confirm this information.

Remove TR1 and R15
Isolate/lift pins 12 and 14
Jumper pins 2 and 3 and 5
Jumper pins 4 and 23
Jumper pins 27 and 28
Jumper pins 19 and 22
Isolate pin 20 and tie to pin 23
Connect I2S leads from XMOS:
ILRCK = pin 12
ISCLK = pin 13
SDIN = pin 14
 
Do you mean, why is there no I2S input on the DCX2496?

I2S wasn't designed as an external transmission line. It was originally made for inter-IC communication on the board.

Sorry, no, I mean this XMOS-based thing (is it the WaveIO you mention, dunno) this thread is about doesn't seem to have I2S input for recording audio to PC. It seems to be a stripped down version of XMOS USB 2.0 class interface, right?

Why don't you just implement the SPDIF/AES output for DCX inside XMOS like here:

https://www.xmos.com/applications/digital-audio/spdif?ver=all
 
Last edited:
:) this XMOS-based "thing", called WaveIO - by its name (name you can clearly see on Top SilkScreen pictures on first post of this thread) is used for USB -> I2S playback only. Yes, can be considered "to be a stripped down version" of XMOS reference design but with pros and cons. Regarding cons, I2S to PC bridge can be mentioned here (among few others) which I hope, will be fixed in future revisions.
When speak about playback, I've done all my best (at that time) to make it bit-perfect or close to that functionality. Unfortunately, my effort will become useless as long as S/PDIF is a preference :)
But, for those who are not satisfied with this "thing" and want SPDIF and I2S -> USB, there's always a more valuable alternative on the market named XMOS reference design which can provide far superior jitter performance and 'natural' sound compared to this "thing"-WaveIO, mainly due to dedicated, low-phase noise XTAL-based oscillators (176.4 fs 'included'), high quality parts, ultra low-noise PSUs, dual-layer board (with 2oz "solid" ground planes) and carefully routed signals - mainly clock ones related to audio conversions (autoruter?).
I forgot to mention about fully-featured driver support for Windows environments (without any 30min. periodic beeps)! All of these will take you in a place where you could not hear a difference between I2S and SPDIF hence the statement:
"Why don't you just implement the SPDIF/AES output for DCX [...]"

Best regards,
L
 
Last edited:
Yes, it's possible, just PM me with your address and I'll make a quotation for you! Price stays at 99 Euro without shipping and PayPal fees.
On the other hand, I'm recovered (fully functional I might say) so tomorrow I'll be back for work to fulfill older orders... but what a "pleasant" way the 'Universe' had to remind me that I'm alive.
Kind regards,
L
 
Last edited:
In my post #92 I was sarcastic all the way, regarding XMOS reference design board... there is not such thing as 4-layer board on that card. I doubt there's 2 oz cooper thickness also. On the other hand, WaveIO PCB have 4 copper layers with inner ones of 2 oz (~ 70um) thickness as mentioned in first post.
 
Last edited:
Last edited:
I'll do my best, thank you! I'm still working on WaveIO's revision (2 channels)... without any rush though, since I want to double check new parts and make layout carefully. I had an ideea about multichannel way but one step at a time: if the two channel option is "well" implemented then the multichannel one will be built on it. At least, this is my approach.
Cheers,
L