XMOS-based Asynchronous USB to I2S interface

Hi Lucian,

Not writted to be overwhelming : just my simple feedback as you asked and my feeling about my own needs, that's all :) !

I'm sure you will make the best as usual :cool:... you're the conductor here.

Don't be worry toomuch about diyers, I know even some whom tweak Ian's stuffs. (and even some whom tweak Porsche cars despite the good factory engineers !)

Another idea, uf-l is good for the jitter because of the matching 50 ohms impedance link as you know, but if you keep the black plug it could be a good idea to provive the "male"plug for the board to be feed (IanCanada provides its and it's verry usefull and avoid the bad electrical short who waste the life anf good day !)

see you
 
Last edited:
Updated list : reason I don't use SPIDF anymore!

"Since it's SPDIF only (with 192 KHz maximum sample rate), 22.5792 MHz and 24.576 MHz clocks are enough for this board to run properly. Anyway, in software I can change it to double of above freqs. (not tested yet though) Sadly, my 4x.xxx clocks are still ordered and I have none here to put on these 9 boards.

Speaking of boards, here is the updated list:"

1 x carsten.witt
2 x Chii (thank you)
 
Hello,

I just want to chack an information. I understand that this board provides one stereo output and does not provides multichannel feature. Do I understand well?

(for my project, I need 4 to 6 channels so 3xspdif from USB).

For my culture, how important is the isolation feature? I see that products developped by the community often provides this isolation, but that commercial products like miniDSP USB streamer or DIYINHK xmos multichannel does not (seem to) provide it.

Best regards,

JMF
 
interesting board: not to I2S but to SPDIF, direct, isolated, so no transformer is needed and still no ground loops.
So of great interest for all who have an "older DAC" with SPDIF input (I have one laying around useless now).

Can you tell me, what the crypto on the top face implies;
PCM/DSD (some status indicator?) What does this mean for the specifications of the type of steaming?
Output Disable (mute like at start-up of the unit?)
24/22. (status output for switching?.)
 
@ JMF11: as you already guess, it's a stereo platform so this HW does output only two channels.
Isolation: the topic is vastly discussed on this forum and others as well but to be as short as possible: it's a good choice when properly implemented.
@ triode_al: Thank you! I didn't had time to build up a document but hare are some details:
1. it's meant to play DSD over PCM but I'll do it after I'll finish tuning the hardware. In any case, the actual firmware revision does come with DFU feature implemented in it so future firmware uploads will be possible directly from your PC (like in most of WaveIO cases).
2. Those white arrows found on both sides of this board will indicate the flow of the signal (or power). The arrow pointing towards the edge of the board are stating that the corresponding signal is an "output". There's one pointing down - that's for Grounds.
3. 24/22 is a signal used to "control" external clocks and enable the one used to create the SPDIF stream. Since this board can be slaved to an external clock, you may need that signal. It's useful when you have a single clock generator capable to source two freqs. thus with this signal you can "tell" it which frequency to output. In case there are two distinct clock generators, each one outputting 22.5792 and 24.576 Mhz signals then 24/22 is useless.
4. "Output disable" is an input signal tied to the reset pin of the reclocking stage. It will simply disable the SPDIF output if needed.
5. PCM/DSD is meant to show when there's a DSD stream playing. Likewise for the corresponding LD3 LED.
6. J3 output pads are for the SPDIF output signal. This time I managed to build up larger holes with enforced vias in pads to prevent damage to the copper traces. I expect this idea to be copied soon enough by all kind of copycats :)
I didn't need trafo for isolation due to couple of factors, the most important one is the output signal. I'll try to attach a picture taken from my scope with my latest results of SPDIF tuning (from what I remember is taken after a 44.1 khz track was playing). Its not my latest achievements but close to it.
I hope you like it.

7. LD1 is "power" - will lit when board is fully functional. This means is not tied directly to one of the power rails and voila! No, this one is driven by the XMOS processor thus if the isolated SPDIF output side is not powered or XMOS have a problem then this LED will stay "dark".
8. LD2 - Active. Is used when a track is playing. Similar to "Audio Streaming" on actual WaveIO cards.

PCB Jumpers:
JP4 - if cut it will disable all LEDs but you'll still be able to get active signals from J5.
JP5 and JP6 - if cut, will disable local oscillators - both of them. It's used to get rid of additional noise sources when board is slaved to external clocks.
JP2 and JP3 - switching between local and external clocks. The best demultiplexer for me in this case is a base copper trace and a solder joint.

If anything to the PCB jumper must be made as was initial, a bump of solder will do the trick.

JP1 - SPDIF @ 3.3V / SPDIF @ 0.5Vpp. I'll get rid of this though and leave SPDIF @ 3.3Vdc.

J9 is for powering the isolated SPDIF side. It does require 5Vdc @10mA. Yes, 10mA.

You can use the power from USB bus by bridging the corresponding J8 pads. Anyway, there's a diode protection in case one is thinking to do "X" connections on power rails.

Well, that's it! As simple as it can be :p
Kind regards,
L
 

Attachments

  • SPDIF_Output.jpg
    SPDIF_Output.jpg
    207.3 KB · Views: 390
Last edited:
Thanks for the explanation of the specs and features.
Lucian, Can you explain:
1. it's meant to play DSD over PCM
  • What then comes after this board?

Because it is PCM, it sounds like a special format. Because it is SPDIF, a "modern". SPDIF receiver will be needed - I think of CS8416.

The CS8416 documentation says:
CS8416.pdf: In Software Mode, the CS8416 can automatically detect various serial audio input formats. The Format Detect Status register (0Bh) is used to indicate a detected format. The register will indicate if uncompressed PCM data, [--] or digital silence was detected.
Older CS8412, CS8414 documentation does not mention PCM: do they not support this stream? However, Mr WiKi says: "S/PDIF is based on the professional AES3 (also known as AES/EBU) interconnect standard. S/PDIF can carry two channels of uncompressed PCM audio or compressed 5.1/7.1 surround sound (such as DTS audio codec)".
Then this implies all SPDIF receivers can run this AES/EBU = AES3 = PCM stream. Indeed the CS8412 is specified to run AES/EBU.

That again implies your new way (new alternative at least to me) to run streaming audio from DSD formats is useful . .

If my assumption is right, and I can use an old DAC - - - Pls. add me to the list.
I was already looking for this function :p
 
Last edited:
@ triode_al: I was a bit in a hurry when I wrote my last port so didn't had time to reread it and seek for any mistakes I put there. Please be witthout any worries as, after reading my latest post "1. it's meant to play DSD over PCM " it doesn't make sense to me either :)
What I want to say is this: BluWave is simply an USB to SPDIF interface but I'll try to add the capability to "play" DSD streams through it as per DoP protocol (or Native DSD). You will always get PCM signals out of this board just to maintain compatibility with SPDIF/AES specs.
 
In the time of the R-DAT (digital audio tape)

(1)
there were “digital preamplifiers”, such as Philips amplifier (DFA888) that has a digital in/out section to incorporate a DAT (digital audio tape) in the system.
The communication to the DAT and back is via a coax SPDIF line.
Anything in the preamp can be diverted outside to be recorded.

(2)
Now - What many and me included, are looking for, is a digital system, where this function of recording is retained and available for digital signals.

(3)
A PCM interface would ideally be two way, that is: a) USB top SPDIF and b) SPDIF to USB : then the USB output could have a format that can be recorded (somehow). Here my knowledge lacks. It would imply some storage manager software on the PC side.
Such a two-way bi-directional system would be interesting. The recording industry has hindered the introduction of the DAT system back several decades because of this word ‘ideal’.

"A PCM adaptor is a device used for recording digital audio in the PCM format, which in turn connects to a “digital” recorder (acting as a transport) for storage and playback of the digital audio information."

just to rumble and tickle the imagination a bit; of course you lucian have a one-way unit.
 
A rather sad note: I just did what I really wanted to avoid doing it but it seems there's no other chance for me: few minutes ago I just discover some links with hacked WaveIO drivers over internet despite the fact that I politely requested to all I gave archives to keep them for themselves! Obviously, by doing so it doesn't mean one should keep his/her promises but making a parallel, I'm not forced either to source future updates to him/her! What I really want to say on this post is the fact that I'm paying for any drivers I (Still) got from Thesycon and I need some back up and support from you (by simply acquire a WaveIo card) to keep it that way otherwise I could simply leave drivers at whatever version would be and that's it! No annual cost for Microsoft certificates (which now are released only to companies), no Thesycon fees and no stress on building them!
Please understand that I'm a human and I do treat all of you equally to me but when I found that any will break his/her promise then I'll definitely prosecute and there will be no way back!
It's harder and harder for me to carry on my back the billions of XMOS clients who doesn't care or simply can't supply a Windows drivers for their products because of various reasons - all getting to financial costs!

Thank you for understanding,
Lucian
 
Last edited:
A rather sad note: I just did what I really wanted to avoid doing it but it seems there's no other chance for me: few minutes ago I just discover some links with hacked WaveIO drivers over internet despite the fact that I politely requested to all I gave archives to keep them for themselves! Obviously, by doing so it doesn't mean one should keep his/her promises but making a parallel, I'm not forced either to source future updates to him/her! What I really want to say on this post is the fact that I'm paying for any drivers I (Still) got from Thesycon and I need some back up and support from you (by simply acquire a WaveIo card) to keep it that way otherwise I could simply leave drivers at whatever version would be and that's it! No annual cost for Microsoft certificates (which now are released only to companies), no Thesycon fees and no stress on building them!
Please understand that I'm a human and I do treat all of you equally to me but when I found that any will break his/her promise then I'll definitely prosecute and there will be no way back!
It's harder and harder for me to carry on my back the billions of XMOS clients who doesn't care or simply can't supply a Windows drivers for their products because of various reasons - all getting to financial costs!

Thank you for understanding,
Lucian

indeed a sad experience. :grumpy: you are not santa claus. :xmasman:
Two ways out come to my mind:
  1. driver signing (probably not possible) :dunno:
  2. manage any driver upgrades yourself (send in the card to have it updated with a new driver)
  3. find a US-based law firm (they will help get the pundits anywhere for half of the proceeds :roll eyes:))
The second option could reasonably cost say € 25 to cover costs. :bawling:
 
1. WaveIO drivers are already signed - all the driver pack I released from the beginning were/are signed! That's why when you will install any of them on Windows 8 / 10 platform (without using that "Disable driver signature enforcement" trickery) it will only ask you if you want to install it on your computer (without other complaints/errors).
Just look in ANY of the driver packs released for WaveIO and you will see a public file with .cer extension. That's the public key for M$ authenticode cert used to sign the drivers you have!

That's why WaveIO's drivers were the most hacked ones on this planet because were already signed with Microsoft Authenticode Certificates and were bring "up to date" with latest raw Thesycon packages. In fact, one cannot build a custom driver pack for his/her product without a valid M$ Authenticode certificate. Those of you who have access to Thesycon packages will know what I mean!

The hacking problem evolved when someone thought it can misuse the customized driver packs (like those meant for WaveIO) by exploiting a security breach in the driver pack itself - which cannot be patched with certificates. Thesycon thought it would be better to shoot once and get as many 'rabbits' as possible by issuing only one "raw/customized" driver pack at a time (usually when they release a driver version) and then expect for the rest of licensee / manufacturers to keep their "word" and build up the drivers for their particular products. Well, I don't have any complains about this strategy but in this scenario, thieves with a few changes in the .inf files (which BTW, cannot be signed!) solved their Windows driver problems. So, in any thieve's perspective, using an already customized driver pack from a moron who pays all the bills while changing few things in Notepad would suddenly make that driver compatible with his/her own product(s)! So what if that directories and all related references are pointing to WaveIO/ or whatever else driver was hacked.. after all it does work, isn't it?
Simple as that! :cool:
As you can see, the "authenticity" carried by the M$ certificate is simply smashed by a "thing" developed by Thesycon's which was ever addressed ... untill now!

I wrote a lot of emails to Thesycon starting back in 2014 when I found out a web page describing a way to hack WaveIO's drivers which can be seen even today on another forum(s) but Thesycon did nothing, probably thinking it will not affect them directly.

After all, the affected driver packs were mostly mine (for WaveIO), and probably of few others but I didn't had the chance to read about them. At least, I'm hoping there were others like me paying for all the "required" bills!

Still, lately, with the "help" of our forum member Diyinhk, Thesycon was directly affected by this hacking problem and they finally decided to take actions!
Probably in his desire to cover the Windows OS as well (which is understandable), Diyinhk made the mistake to gather access to a "native/raw/uncustomized" Thesycon pack and hack it for his own products by changing few things in the .inf files. I'm speaking about 3.34 driver pack which now seems to be absent form his site (Thesycon told me it will prosecute such abuse). I know about this because the link to that driver pack was pointing out by a client of mine to test Diyinhk driver's authenticity.

At first, all the names used for files in that particular archive were "default" ones. For me was easy to recognize this because I customized a lot of versions for WaveIO over the past years. Moreover, the certificate used to sign the driver files (at least those who could be signed!) was Thesycon's one. Well, here things suddenly got complicated as by doing this one will defeat the sole purpose of that certificate so, Thesycon has been directly affected.

I spoke with Thesycon several times lately and, despite the fact that they are really pissed off, there will be some changes at driver's license therms which will affect me too, more or less.
I'm not aware of any of the consequences depicted from this hacking thing which I have to "pay" for but I'll find out soon enough! For the moment latest driver pack which it still seems to be customizable is v3.34. From now on I have no idea...


2. As you could read from above, I did manage the driver update for myself! The costs are not easy to cope with though!

3. it's pointless since it does not solve the problem, only delay it!


All above have been said only to inform you that there will be some changes related WaveIO's drivers for Windows and to clearly understand the evolving steps which got me into this situation. In my opinion I did what I could humanly do to offer you an "up to date" support for WaveIO and any other boards I have designed.

I'll let you know how things are progressing in this matter and if will affect you somehow.
Kind regards,
Lucian
 
Last edited:
Hello Felipe!
Speaking about the SPDIF stages only, I would say that:
1. BluWave does have the "audio" oscillators on the 'isolated' side, where there's no direct connection with USB Ground.
2. Moreover, you have the option to power up this isolated side with whatever shunt/linear PSU you like (OR directly from USB Bus - in case you like this idea).
3. There's the "slaving" option available too... useful if you want to use external clock oscillator(s) instead of local ones.
4. in case of external clocking option, local oscillators can be disabled both in the same time.
5. The power selection option is now implemented with bare wires so there will be no problems related to bad connections on jumpers.
6. all other selections can be achievable by cutting the corresponding copper traces or use a bump of solder. Again, no jumpers are involved which could ruin your life.

All above options are not available on actual WaveIO card, except theexternal clocking, which can be achievable but you need to remove the on-board oscillators first - it could be problematic in most of the cases.
Cheers,
L
 
:) Felipe, there are many competitors! In fact there are so many that part of my work (drivers, parts used and so on) were "borrowed" by these 'competitors'. My philosophy is to offer the best price / performance ratio - my way. Those who have "eyes" (and some electronics background) can clearly see the difference between one board and another! There's no point in argumenting the benefits on this board when I have to compare it with a low priced alternatives. If you are looking for cheap implementations then internet is full of such products.
Just keep in mind that overall implementation is also a factor to be considered when you're choosing a board and look for performance. :)

On another hand and with your permission I would like to clarify your WaveIO problem you were speaking about a couple of posts before as one might understand there was a problem with drivers and your WaveIO board itself. After you have sent it back here (on your expense), I've look to it, saw there was nothing wrong with it and send it back (on my expense) you gave me a private email stating that there was an external PSU problem that was used to power up your WaveIO board and caused WaveIO not being seen by your computer. At least this is what I understand from your latest messages. I simply want to point out this result the rest of us who are monitoring this thread can clearly see the source of your problem.
Kind regards,
L

P.S. here's your email: "Hi Lucian,Forget my last email, I don't powered with enought current the 5V external PSU, I tried USB bus powered and now is going on OKThank you very much for all your support.Have a nice day.Felipe"
 
Last edited:
Member
Joined 2009
Paid Member
Lucian
1-You told me that you repaired the pcb sent.
2-Yesterday I sent you an email informing problems installing drivers, also yesterday sent email because I used self powered in place of external powered and drivers can be installed.
3-Yesterday sent you an email informing: My player (Daphile: Linux based) doesn't detect your board (of course your board was selected as default at reproduction devices in Windows10), when I disconect my player your board wasn't at reproduction devices (Windows10): disappeared, why? waiting your answer
4-Today sent email: My player (Daphile) runs on Linux and my laptop on Windows 10, can I need the Linux drivers for your board? waiting your answer

About your products: I know you manufacture high quality pcbs, if I asking is because I still have doubts to buy your new product:
-I don't know how is the maximum rate frecuency for PCM
-I don't know how is the maximum DSD: 64, 128, 256, 512, 1024 or 2028
-I don't know if DSD accept native or only DoP
-About hardware what's the frecuency of clocks

Remember I'm your client, not your competitor or adversary.

Other time ask me before to post our private emails, I'm not very happy if do you do without my permission.

Felipe