Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

XMOS Multichannel high-quality USB to/from I2S/DSD SPDIF PCB - DIYINHK
"Maximum 32 channels can be supported if the user flash the XMOS with TDM I2S capable firmware."

https://drive.google.com/file/d/0B2goLqs_HZ3QMFV4SFNySjJzX3M/view?usp=sharing
Debian Wheezy SD card image for BeagleBone Green with TDM output support from hackaday project https://hackaday.io/project/9634-linux-based-low-latency-multichannel-audio-system

http://electronics.dantimax.dk/Kits/Digital_audio/11329401182.html
ADAT Lightpipe Boards -> select OptoRec/Gen on the left

http://madi.webklik.nl/page/madi
MADI Boards

Thanks xaled,

Very helpful. I'll take it into consideration when I start to design the multi-channel digital audio interface board. It will have a FPGA chip, so it would be possible to include this feature.

Is TDM a free protocol?

Regards,
Ian
 
Thanks xaled,

Very helpful. I'll take it into consideration when I start to design the multi-channel digital audio interface board. It will have a FPGA chip, so it would be possible to include this feature.

Is TDM a free protocol?

Regards,
Ian

Hi Ian,

are you also developing a USB2I2S in addition to multichannel isolator re-clocker? Also isnt TDM just time domain multiplexed channels?
 
TDM audio interface

TDM has a least two meanings - a general one as a multiplexing method and a specific one as an interface in audio communication to multi channel ADC/DACs.

TDM as audio interface is similar to I2S interface and can be considered as a superset providing more audio channels typically 8 over the wire. I2S can be considered as a subset of TDM providing only 2 channels.

Here is some general info and ADC/DAC implementation examples:

Tektronix overview - page 27
http://www.tek.com/dl/48W_19040_5_edu.pdf

XMOS info
https://www.xmos.com/published/lib_i2s-userguide?version=latest

cirrus logic
https://www.cirrus.com/jp/pubs/appNote/AN301REV1.pdf

Analgo Devices - Page 32
http://www.bdtic.com/DataSheet/ADI/AD1940_AD1941.pdf

TI - page 18
http://www.ti.com/cn/lit/gpn/pcm1681

I'm not an expert, but I assume that TDM audio interface is as free as I2S interface.
 
TDM has a least two meanings - a general one as a multiplexing method and a specific one as an interface in audio communication to multi channel ADC/DACs.

TDM as audio interface is similar to I2S interface and can be considered as a superset providing more audio channels typically 8 over the wire. I2S can be considered as a subset of TDM providing only 2 channels.

Here is some general info and ADC/DAC implementation examples:

Tektronix overview - page 27
http://www.tek.com/dl/48W_19040_5_edu.pdf

XMOS info
https://www.xmos.com/published/lib_i2s-userguide?version=latest

cirrus logic
https://www.cirrus.com/jp/pubs/appNote/AN301REV1.pdf

Analgo Devices - Page 32
http://www.bdtic.com/DataSheet/ADI/AD1940_AD1941.pdf

TI - page 18
http://www.ti.com/cn/lit/gpn/pcm1681

I'm not an expert, but I assume that TDM audio interface is as free as I2S interface.

Hi xaled

Thanks for those very organized information.

Please see the timing I attached. Is the 24bit TDM format over I2S correct?

Regards,
Ian
 

Attachments

  • TDM24bitFormt.png
    TDM24bitFormt.png
    60.8 KB · Views: 490
Hi xaled

Thanks for those very organized information.

Please see the timing I attached. Is the 24bit TDM format over I2S correct?

Regards,
Ian

Hi Ian,

as with PCM signals there are variations in TDM over I2S format that can be seen in the DAC datasheets I attached in previous post.
There could be 16, 24 (18, 20) bits, right/left justified format etc. Basically the same story as with I2S2PCM board.

Maybe you could ask diyers what multi channel DACs with TDM support they have and focus on that TDM variations.
Or maybe you can just reuse the I2S2PCM format conversation options and have the TDM formats be selectable with jumpers.
 
Who has developed it (or defined the standard)? Any pointers to specifications?

It is my understanding that TDM as an audio interface isn't a specific standard, and there are lots of varying implementations.

TDM is basically the same story as PCM interface. There are multiple variation from different ADC/DAC vendors around the same scheme. To cover most of them something like the I2S2PCM board options would be needed.
 
TDM is basically the same story as PCM interface. There are multiple variation from different ADC/DAC vendors around the same scheme.

Not really. AES3 (AES/EBU) is pretty well standardized (albeit with a few different transmission media - balanced, unbalanced and optical). I2S parameters are pretty well specified too, and so is USB audio. TDM is another story - not only is there not a standard for the electrical connection, but the number of channels, data rates and a bunch of other parameters vary.

And yes, TDM is a form of PCM too, of course.
 
Hi Ian,

as with PCM signals there are variations in TDM over I2S format that can be seen in the DAC datasheets I attached in previous post.
There could be 16, 24 (18, 20) bits, right/left justified format etc. Basically the same story as with I2S2PCM board.

Maybe you could ask diyers what multi channel DACs with TDM support they have and focus on that TDM variations.
Or maybe you can just reuse the I2S2PCM format conversation options and have the TDM formats be selectable with jumpers.

Thanks xaled,

Which TDM format are your going to use? Which TDM device are you considering for your future project?

Regards,
Ian
 
Hi Ian

I would like to use Beagle Bone and diyinhk xmos multichannel USB board as TDM sources.

I believe that this two would be among the most common TDM sources.

Thanks for asking.

I think Ian asked for a format, rather than specific hardware. The Beaglebone is just a single-board computer, not a TDM source as such. The diyinhk is a USB-to-I2S interface, not a TDM interface.
 
Hi Ian

I would like to use Beagle Bone and diyinhk xmos multichannel USB board as TDM sources.

I believe that this two would be among the most common TDM sources.

Thanks for asking.

Thank you for your answers :)

I think Ian asked for a format, rather than specific hardware. The Beaglebone is just a single-board computer, not a TDM source as such. The diyinhk is a USB-to-I2S interface, not a TDM interface.

What I want to know was which device that can have real TDM output, I think xaled's answer already very help :).

Maybe I still want to know how to setup to get the real TDM output. If I have a real device to test as a reference, it would be great help to my FPGA design.

Regards,
Ian
 
For the multi wire I2S there is a 502V2S HDMI to 4xI2S (7.1) raspberry board that is currently offered at discount that might be interesting for the multi channel FIFO as 4xI2S source.

502V2S - Video to Surround Sound

It would be nice to get it hooked to BIII... through multi channel FIFO ;)

Thank you very much xaled, that's a interesting board, I'm gonna buy it for my multi-channel FIFO project.

I didn't find any software or image to download, does it need software/overlay to run?

Regards,
Ian