XMOS-based Asynchronous USB to I2S interface

hi lucian, i just received the board today and what a fantastic quality it is! nevermind the sound qulaity since im still a long way from figuring out how to work this thing, but just looking at the board makes me feel something. beauty? it is indeed a work of art. the most beautifully built board i have ever seen.

thank you :D

With welcome! I'm glad that you're happy with it! :)


What happens when I feed the WaveIO with two usb sources at the same time? Does it automatically select one of the connected sources or would it not work?

Well, literally speaking WaveIO can't communicate with two hosts in the same time because firmware and hardware doesn't allow this! There's a chip on the board that allows you to switch between one of two available USB inputs: the on-board USB-B socket and a J1 pin-header wired to something like this. I say "you" because you're the one which will switch between the two USB buses: so there's a manual process involved there. So, you can connect two hosts on WaveIO but only one of them will be able to establish comms with this card.
Kind regards,
L
 
Well, literally speaking WaveIO can't communicate with two hosts in the same time because firmware and hardware doesn't allow this! There's a chip on the board that allows you to switch between one of two available USB inputs: the on-board USB-B socket and a J1 pin-header wired to something like this. I say "you" because you're the one which will switch between the two USB buses: so there's a manual process involved there. So, you can connect two hosts on WaveIO but only one of them will be able to establish comms with this card.
Kind regards,
L
Thanks for the reply!
That is exactly the functionality that was hoping for. I want to build it into my PC and use a totally separate power supply (torroidal transformer + PSB) for it and use a LVDS transceiver to send the I2S over to my DAC. There is not enough room in my DAC to place it there :mad:. There is however enough room for another LVDS transceiver :) .

So I can switch between two sources using the onboard chip, but how is this achieved? Do I need to set a certain pin high or low?

Another question: Is there any difference in quality when it comes to connecting the sources? In other words: Is it better to connect a source to the USB-B socket or to the J1 pin-header?. I prefer to use the J1 pin-header because it will all be mounted inside my PC.
 
So I can switch between two sources using the onboard chip, but how is this achieved? Do I need to set a certain pin high or low?

Another question: Is there any difference in quality when it comes to connecting the sources? In other words: Is it better to connect a source to the USB-B socket or to the J1 pin-header?. I prefer to use the J1 pin-header because it will all be mounted inside my PC.

There's a jumper to select USB sources (please see the pictured attached)! Pin 2 (the middle one) of J8 is pulled high through a 10K resistor to 3.3V I/O of WaveIO. When low (EXT position) = USB connected to J1 pin-header will be selected and when high (BRD position or jumper missing), on-board USB socket will be used.
USB GND wires are connected together to the GND layer of WaveIO. The USB VBUS signals (+5V) however are OR-ed together by using two low drop-out diodes (~0.35V). If possible, I suggest to search for a way to power this card by using an external source rather than using local +5V USB bus.
Hope it helps,
L
 

Attachments

  • J8 Selection pin.jpg
    J8 Selection pin.jpg
    185.5 KB · Views: 666
It helps indeed, thanks.

I will use a external psu instead of using the +5v USB bus. I have a σ11 ("sigma 11") from AMB Audio ready for it. It possesses low-noise, high-current, excellent line/load regulation, wide-bandwidth, and excellent stability characteristics. In my opinion more suitable than the widly used Placid from TPA because it can easily deliver much more current, only adequate heatsinking is needed.
 
Last edited:
Hi there.

I'm wondering if the WaveIO works with the iPAD via direct USB connection, when externally powered??

As you might know via camera connection kit it is possible to run external USB audio interfaces on the iPAD.

I do have issues with some other interfaces.

Problem:

The USB interface chip needs to announce it's power consumption to the host (in my case iPAD).

If that value is greater than 100mA, the iPAd won't feed and support the device. In this case it requires a powered USB hub in between. That one announces acceptable power consumption. The audio interface - fed by the powered Hub - becomes irrelevant to the iPAD. So far so good.

On the other hand an externally powered USB audio interface should announce 0mA power consumption. That would allow for a direct USB connection.

Unfortunately that doesn't seem to be the case on many USB-audio interface implementations. I consider this a fault ( not sure yet if is interface chip related or firmware related).

In any case you again need a HUB to get even externally powered interfaces going.

Working with a hub - if the audio interface is externally powered - I consider pretty annoying.


I'm wondering if the WaveIO works with the iPAD, if externally powered and directly connected. That would require that it communicates the right current (0mA) to the iPAD.

Basically the XMOS needs to know somehow, if the interface is externally or bus powered, to be able to communicate the right current value for each of the scenarios to the host.

THX.

Cheers
 
Last edited:
soundcheck...

"Unfortunately that doesn't seem to be the case on many USB-audio interface implementations. I consider this a fault ( not sure yet if is interface chip related or firmware related)."

Soundcheck, I do not think this would be a fault of the device, as this does not appear to be part of the USB Class 2 Audio spec. which the XMOS follows. The "fault" if we were to actually consider it one, lies in the iPad, whose USB port (OK to Apple's credit it does not actually have a USB port, really...) does not meet the USB specifications.
Personally, I run my (XMOS based) USB receiver with the 5 volt power line from the computer/server turned off, and I consider it a desirable feature that the USB interface will operate without any power coming from the 5 V USB bus.

Actually, on further thought, I do believe that the XMOS chip "tells" the server/computer that it "needs" the full 500 mA to operate. I am remembering this from when I used to use a MacBook, and seeing the 500 mA number in the USB profile for the XMOS based device. In any case, a problem caused by this would be because the IPad does not meet the USB specification (500 mA power available), and not because of any "fault" in the Wave IO.
 
Last edited:
I just found in the TAS1020B datasheet page 21 the USB header parameters.

One is called MaxPower in n*2mA. My guess would be that this field is examined
by the iPAD.
Seems to be fixed and hardcoded in the firmware. It would allow to communicate just one value only. Manufacturers with
hybrid devices would communicate the worst case scenario, which is USB powered.

Hybrid (usb AND external power option) would have to change that header info
at startup as soon as they detect what power mode they're running.

No idea if this is possible with XMOS. I doubt that the TAS1020 supports this.

I do very well understand that manufacturers of rather small and battery powered usb hosts limit the power consumption of connected clients.

Let see how Tenor is doing it.


Obviously all external powered only devices should work with a value set to below 50.
 
Last edited:
Member
Joined 2004
Paid Member
I just found in the TAS1020B datasheet page 21 the USB header parameters.

One is called MaxPower in n*2mA. My guess would be that this field is examined
by the iPAD.
Seems to be fixed and hardcoded in the firmware. It would allow to communicate just one value only. Manufacturers with
hybrid devices would communicate the worst case scenario, which is USB powered.

Hybrid (usb AND external power option) would have to change that header info
at startup as soon as they detect what power mode they're running.

No idea if this is possible with XMOS. I doubt that the TAS1020 supports this.

I do very well understand that manufacturers of rather small and battery powered usb hosts limit the power consumption of connected clients.

Let see how Tenor is doing it.


Obviously all external powered only devices should work with a value set to below 50.

The USB spec has all devices starting at 100 mA and the host tells them that they can have more. Is much lower level than the audio class stuff. The iPad limits to USB1.1 spec and Apple now tells us they don't like things that draw over 10 mA. Apple really wants to only support devices they have approved with authentication chips. Anything else is an accident they don't like. Its a little like dealing with a Soviet era eastern block government. You never know where you stand with these guys.
 
The USB spec has all devices starting at 100 mA and the host tells them that they can have more. Is much lower level than the audio class stuff. The iPad limits to USB1.1 spec and Apple now tells us they don't like things that draw over 10 mA.
Apple really wants to only support devices they have approved with authentication chips. Anything else is an accident they don't like. Its a little like dealing with a Soviet era eastern block government. You never know where you stand with these guys.

It sounds like μSoft that requires all appliances to get μsoft interface layers, against a fee of course. Thy'll go to any length to add layers and interfaces to dominate, is my commoners :no: understanding.
 
Am i a victim of auditory illusion or Linux OS (slacko) sounds better than Win7 in a WaveIo/Buffalo III setting? Tryed both across long hours of listening with cd and HD quality. Which player software are Linux users of this thread using? I am a newbie in Linux OS and loving it.
Eeepc battery powered, WaveIO (dedicated power supply (Placid HD), non isolated I2S outs), Buffalo III/IVI-III, AI MkIII 1000 monos (modded-independent heater and Bias supply), Sonus Faber.
Regards
Luis
 
I...

Use Voyage/mpd in my server. I have also used vortexbox on a Sonore server in my system. Both linux approaches sound fantastic, and considerably better than OSX/Pure Music or OSX/Audirvana.
I know that many do not believe that the server OS and playback software can matter, once bit perfection is achieved, but that is not my experience at all. I do struggle coming up with valid reasons for these sonic differences, there is a lot of speculation out there as to why these differences do exist... but no one has "proved" why to my satisfaction.