[alsa-devel] DSD native format on SoC

Michael Nazzareno Trimarchi michael at amarulasolutions.com
Wed Mar 8 08:21:23 CET 2017


Hi

DSD is a continuous stream of bits that flows over two separate
channels, left and right, synchronized by a clock, while I2S is a
single data wire and an additional wire that states if the incoming
sample refers to the left channel or the right channel. There is no
way to get DSD data other than a circuit which decode DSD streams
coming directly from a conventional source, like, for examples, a
SACD.

The Volta dac has an internal decoding circuitry that still employs
the I2S standard as a usual 44100Hz/16 bits, but sourcing the shift
clock at twice the DSD standard frequency of 2.8224MHz, since it has
to split two the16 bits words received on a single wire into the two
DSD channels, as the standard wants.

When DSD is enabled, the control signal PCD/DSD must be high, CK3..CK0
must be all low. The I2S interface works as a standard 44100Hz/16 bit
and the DSD streaming must be packed into 16 bits lenght words
left/right as per LRCK logic. The BCLK frequency supplied from the
interface is 5644800Hz in case of DSD and 11289600 for DSD2.

Can you explain how now DSD can be pass to audio card? The idea is to
declare it on the audio card and then configure it as a PCM card but I
don't know how data are suppose to arrive from alsa userspace.

Michael


More information about the Alsa-devel mailing list