PDA

View Full Version : SBC I2S Output



Qwin
10-06-2018, 13:15
I2S – What's that all about?

I've put this information together as a simple guide, so people can get a better understanding of what's involved when trying to use I2S Audio signals and why you might want to use them in the first place.

I2S, or IIS or I squared S, stands for Inter-IC Sound and is the basic serial bus dedicated to shunting digital audio data from chip to chip on a typical PC board. If you consider a PC as an onion with the CPU at the centre, the I2S bus is one of the inner layers close to the CPU. Other systems like USB or SPDIF are in layers further out from the CPU. Because I2S was designed for chip to chip transfer, it only works for very short distances, a few centimeters in fact. In the past, if you wanted to transfer the audio signal to another device, over further distances, then the I2S signal would be handed over to the Universal Serial Bus (USB) which is more suited for box to box distances. The problem with this is the Universal Bus carries lots of other information around the system, not just audio, so the system has to be shared.

Several manufactures have started taking advantage of I2S as a purer audio data source and transfer it directly between devices, typically from a CD Transport to a DAC. I2S as a box to box system is in its infancy and does not have a standard to draw from regarding cables/connectors or pinout. To save cost manufactures have therefore used their own pinouts on whatever cable/connector system they thought appropriate. So some used BNC, some RJ45/ENet and some use HDMI. They are only using these as a connecting method and not using the interface system for which they were intended. Don't for instance expect an I2S signal over HDMI cable to be understood by an HDMI compliant device, it wont.

When the Rpi Single Board Computer (SBC) came along the designers didn't know all the uses it might be put to, as a learning vehicle that was the point. So they brought all the available methods of communicating with the device to the surface, much of it, including the I2S bus, in a single multi pin header, the GPIO port. Unwittingly they had opened the door to high quality audio. As computers go, there is nothing clever about a SBC, they are built to a low cost so many on board parts are adequate rather than best quality, but by having access to the I2S bus on the GPIO port, it offered a way round the distance limitation of this bus. Manufacturers were soon supplying DAC boards that could be plugged directly into this port (Hats) and use the I2S data without having to go through additional interfaces like USB or SPDIF. The resulting sound quality is superb, not because of any ground breaking developments in the design of these DAC's, but simply because they were dealing with the purer I2S signal closer to the source. The Rpi and other SBC's are therefore fostering a better approach to handling Digital Audio and promoting I2S as the transfer system to use. Many people have since adopted a SBC as the heart of their Digital Audio System, as the bang per buck ratio is extremely high.

The question is, how to export this I2S signal and the Audio goodness it brings, to High End external boxes over greater distances. If you connect wires between the GPIO header and another piece of equipment the signal will be lost and not reach it.

The manufacturers sending I2S signals between their boxes have sorted this, by using a simple line driver circuit. They can send the I2S signal much further, in principle for Meters rather than Centimeters. One such manufacturer, PS Audio, decided to use HDMI sockets and cables as the ideal vehicle for high speed I2S data transfer. They came up with a pinout arrangement and output driver circuit and published it on the internet for anyone else to use, should they wish. Other manufacturers, Audio-GD for one, have adopted this arrangement on their own Digital Products. The PS-Audio schematic is shown below, I have added my own notes and colour coding to make things clearer for the none electrically minded. My colour key for the I2S signals is:

Blue = DATA
Purple = BCK
Orange = WCK
Yellow = MCK
Black = GND
Red = Vdc

Most, but not all DAC's act as Slave not Master and do not need the MCK connection. So just the DATA, BCK and WCK would be needed for these. You will need a Ground connection and a power connection for the driver which may be separately connected if desired.

http://www.jkwynn.co.uk/Pics/Z_006_PSA_I2S.JPG


The next picture is the Audio-GD pin out (off their website) for their I2S over HDMI Connectors and I've added the same colour scheme to make it easy to see its identical to the PS-Audio Drg.

http://www.jkwynn.co.uk/Pics/Z_007_AGD_I2S.JPG



This is all useful information for those of us that are reasonably happy with electrical DIY, but what about the rest, who would not attempt to build their own line driver? Well there is a simple solution, Audio-GD produce an Output Module for people wanting to send I2S to their DAC's. It is available from Audiophonics (Linked below) for 24.90 Euro. Part Ref 9347 should they move the product page.

https://www.audiophonics.fr/en/diy-interfaces/audio-gd-diy-kit-i2s-to-hdmi-output-module-p-9347.html

Here is a picture of it.

http://www.jkwynn.co.uk/Pics/Z_009_AGD_module.JPG

This can be connected to the GPIO header on most SBC's, though the socket shown will need removing and the individual wires connected. The 3.3Vdc required to power the module can usually be found there as well. Although this arrangement will work, it would be better to first put the SBC I2S output through an Allo Kali I2S Reclocker, then out through the Audio-GD Module. You could then connect Your SBC to an Audio-GD or PS Audio DAC using an HDMI cable and benefit from using the I2S signal.

This is the pinout of the Audio-GD Output Module as the supplied cable is not pin compatible with a GPIO header and you will have to make the individual connections.

http://www.jkwynn.co.uk/Pics/Z_008_AGD_input.JPG


I've gathered all this info during my research into making my own SBC based Streamer, I've not actually built this I2S arrangement yet, but others have and it works. I just thought I would pull all the information together for anyone that wants to try it. :)

struth
10-06-2018, 13:20
Nice report. Top marks A+

AD Audio
11-03-2022, 12:38
Hi,
If I'm connecting the i2s input to my DAC which only needs:
DATA
BCK
WCK
and GND

Do I just use the + connections for these and ignore the - or ground the -"?

Thanks
David