XMOS-based Asynchronous USB to I2S interface

I am surprised it helped the nfb-12, I have one but it measures high distortion (starts with -80dB 2H) stock. Was planning on adding an arudino along with the WaveIO with a new enclosure and better output stage. Glad this turned out good for you.

Let's say that the Xmos vs NFB12 Tenor is a sure winner, but the Dac keeps its limits, that's for sure... :)
Does it really measure so bad? :(
I'm asking because others seem to report not so bad mesaurements:
http://supercurio.project-voodoo.org/audio/audio-gd/RMAA/audio-gd-NFB-12-96k-24bit.htm
http://supercurio.project-voodoo.org/audio/audio-gd/RMAA/audio-gd-NFB-12-44k-24bit.htm
http://supercurio.project-voodoo.org/audio/audio-gd/RMAA/audio-gd-NFB-12-192k-24bit.htm
http://supercurio.project-voodoo.org/audio/audio-gd/RMAA/audio-gd-NFB-12-samplerates.htm
http://supercurio.project-voodoo.org/audio/audio-gd/RMAA/audio-gd-NFB-12-44k-upsampling.htm

Sorry, I realize I'm totally OT....
 
Last edited:
If Lorien or someone who knows the answer could answer this question about waveio output being 24+24 or 32+32 I'd be interested also. :D

This is found on page 29 (SPDIF):
The interface is normal channel with streaming built-ins (outuint, inuint). Data format is 24-bit left-aligned in a 32-bit word: 0x12345600
In the xmos refernce implementation the DAC cs4270/cs4244 is running 24 bits.

My conclusion is: the xmos chip runs the 24 bits format (24L+24R) in i2s.
By the way, the software description also says any i2s dac can be used:
Although the reference designs use the Cirrus CS4270/CS42448, any CODEC that supports I2S and can be used.
for me this is essential as this is the only way in which the board can be 'open', usefull for playing.
albert
 
Let's say that the Xmos vs NFB12 Tenor is a sure winner, but the Dac keeps its limits, that's for sure... :)
Does it really measure so bad? :(
I'm asking because others seem to report not so bad mesaurements:
RightMark Audio Analyzer test : NFB-12 96/24
RightMark Audio Analyzer test : NFB-12 44/24
RightMark Audio Analyzer test : NFB-12 192/24
RightMark Audio Analyzer test: comparison
RightMark Audio Analyzer test: comparison

Sorry, I realize I'm totally OT....

Yep same as I got. .015%THD ~ -77dB, mostly 2H.
 
triode_al said:
In the xmos reference implementation the DAC cs4270/cs4244 is running 24 bits
Yes, because that DAC chip can't handle more than 24-bit resolution.
triode_al said:
My conclusion is: the xmos chip runs the 24 bits format (24L+24R) in i2s.
If you're referring only to the actual number of bits using for conversion then yes, WaveIO's I2S serial post could be considered to be 24L + 24R BUT, in fact it's 32(L) + 32(R) from which only 24 bits are effectively used.
Please see again this document at page 25 when it says:
p_sdin and p_sdout are configured as buffered ports with a transfer width of 32, so all 32 bits are input in one input statement. This allows the software to input, process and output 32-bit words, whilst the ports serialize and deserialize to the single I/O pin connected to each port.
... this statement can be found after Table 10:
In any case, the bit clock outputs 32 clock cycles per sample
.. and this will prove that it's a 32-bit/channel I2S interface:
p_lrclk is clocked by p_bclk. The port outputs the pattern 0x7fffffff followed by 0x80000000 repeatedly. This gives a signal that has a transition one bitclock before the data (as required by the I2S standard) and alternates between high and low for the left and right channels of audio.
Convert into binary the hex number 0x80000000 and count the bits.
Kind regards,
L
 
Last edited:
External power supply

Does anyone have experience with powering WaveIO with an exernal power supply?
I presume one only has to move the jumper to EXT, and attach a supply with sufficient power. Does the LED light up when sufficient power is attached?

I have played around, but did not have sufficient power to get to 5v, and the LED did not light.

What are your impressions of the sound quality difference with external power?
 
Does anyone have experience with powering WaveIO with an exernal power supply?
I presume one only has to move the jumper to EXT, and attach a supply with sufficient power. Does the LED light up when sufficient power is attached?

I have played around, but did not have sufficient power to get to 5v, and the LED did not light.

What are your impressions of the sound quality difference with external power?

i am using a Placid HD regulator and the appropriate toroid power supply at 5V@460mA to power WaveI/O .
Yes the LED should light up , but does it need 5V to turn on, i don't know, also i don't know if USB1 gives out enough mA to power the light and the WaveI/O, but USB2 does give out 460mA, providing that you have USB2 from your source.
 
i don't know if USB1 gives out enough mA to power the light and the WaveI/O, but USB2 does give out 460mA, providing that you have USB2 from your source.
USB 1 and USB 2 have identical power specifications. Both provide nominal 5 V, starting at a minimum of 100 mA for all Devices, then as much as 500 mA if the Configuration is successfully negotiated with the USB Host. According to the USB specifications, no more than 500 mA must be provided, although some chargers will exceed that power level if certain conditions are met.

Meanwhile, 460 mA does not appear anywhere in the USB specifications, neither USB1 nor USB2. The only time that value might appear is when a specific USB Device requests 460 mA by placing the value of 230 in the Configuration Descriptor.
 
i have wondered what comes out of my so called usb2 header controler, so i measured the output with a multimeter and it produced closer to a steady 480 +,-, mA , but i did not try the usb1 header so i can't say . And i can not answer in reference to wlowes question pertaining to if sound quality changes when using either usb2 or ext. power since they are both adjusted to equal mA.
 
i have wondered what comes out of my so called usb2 header controler, so i measured the output with a multimeter and it produced closer to a steady 480 +,-, mA , but i did not try the usb1 header so i can't say . And i can not answer in reference to wlowes question pertaining to if sound quality changes when using either usb2 or ext. power since they are both adjusted to equal mA.
An important law of physics is that V=IR, or I=V/R. In other words, for any circuit that controls the voltage with a regulator, you cannot predict the current for all possible attached devices unless you also know the impedance of those devices. You can't just plug in one multimeter and expect to know anything definitive about the current, especially not when you change the Device.

It is possible to limit the maximum current using special protection circuits, but it's not really possible to force more current than the V=IR equation. Thus, with a really high impedance, the current will be much lower than 500 mA.

In your case, perhaps you had a 10.4167 Ω impedance, assuming the port was holding a perfect 5.000 V. Otherwise, there could be any number of reasons why you measured 480 mA. The truth is that if you could measure the current with several different USB Devices attached, then you would see a different current for each Device.

p.s. Just because you adjust an external power source to 480 mA does not mean that it will produce the same audio quality as a USB Host port that provides 480 mA. There are many, many more variables involved than the nominal current consumption.
 
External power supply

Thanks all for the feed back. I realize one layer of error I made. I was setting the wrong jumper (USB). With the correct jumper set to EXT and 4.9 volts of power, I get a steady light on the LED, but the PC will not recognize the WaveIO board. I go back to power from the USB, and it springs to life. I tried a different copy of the OS and installed drivers from scratch, but the card was not seen and driver install was stalled.

Any ideas what I am doing wrong? I just want to minimize the power load in the PC and to supply clean power to WaveIO.
thanks,
Walter
 
I don't think the driver differentiates or couldn't care less what you power your WaveI/O with., unless maybe if you you don't have enough mA. from your external power supply ?. try to bring it up above 450mA. but keep it under 500mA., which is what your usb2 bus from the pc normally delivers.
 
External power supply

--------------------------------------------------------------------------------
Thanks all for the feed back. I realize one layer of error I made. I was setting the wrong jumper (USB). With the correct jumper set to EXT and 4.9 volts of power, I get a steady light on the LED, but the PC will not recognize the WaveIO board. I go back to power from the USB, and it springs to life. I tried a different copy of the OS and installed drivers from scratch, but the card was not seen and driver install was stalled.

Any ideas what I am doing wrong? I just want to minimize the power load in the PC and to supply clean power to WaveIO.
thanks,
Walter
Hello Walter,
make sure that J8 jumper is set on the BRD side all the time! That jumper is used only to switch between on-board (BRD) USB-B connector and EXTernal USB signals available on J1 pin-header for cables like the one in the attached image. In your case, J12 must be placed on EXT option to be able to power up WaveIO using external sources.
Hope it helps,
L
 

Attachments

  • USB-B cable.jpg
    USB-B cable.jpg
    28.4 KB · Views: 678