I could either make the DAC live inside the transport (ending up with the traditional CD player) or have two separate boxes. However, the inside of a transport is not a good place to put sensitive electronics for the following reasons :
So I decided to put the DAC in a separate box, and also give its powersupply an independent housing. Thus we have three boxes : transport, DAC, and DAC supply. This has low WAF but I think it works the best.
Besides, inside the DAC itself, I will put the SPDIF receiver on a separate board in case I want to change later. The DAC board will send the clock to the SPDIF board, which will contain the clock buffer, insulation transformer, and SPDIF decoder. As this is all noisy, this separate board will be enclosed in a small soft iron case inside the DAC case. Data will come back as I2S which will be reclocked close to the DAC chip itself.
Using Clock Injection, transport jitter no longer matters. All transports recover correct bits from the media, thus my choice was quite easy. I just had to pick a transport that was cheap and had good ergonomics. The Philips CD723 was my choice, as it is nice and friendly, and it contains a TDA1545A chip that would otherwise be very hard to source. So be it.
Some years ago, the industry force-fed us with one-bit DACs. This was supposed to be a Perfect solution, the end of all trouble. CD Players boasted "1-Bit" logos like an attribute of seduction. In truth, 1-bit is not better, it is just much cheaper than Multibit.
Now nobody uses them anymore. I guess everybody realized than 1-bit DACs suck by now ; just like Kodak Disc cameras, but manufacturers do not insist on the fact that their new products sound better than the old ones because the old ones were intentionally compromized in order to cost less. Instead, they adorn their front plates with other fancy stickers and logos.
I wanted a chip that could get 16 bits precision on every sample. This could mean a good multibit sigma-delta dac, or a good old multibit chip.
I also wanted the PCB to be small, and to limit the total budget, so I chose the TDA1545A, cannibalized from my Philips CD723 ex-CD player, now transport.
Jitter plagues nearly all digital equipment. It is now recognized as a Bad Thing so I won't elaborate. Correctly dealing with jitter in a complete system (CDP+SPDIF+DAC) is nearly impossible. Mr Tent's DAC is the only example of "doing it right" to my knowledge...
Besides, I wanted to have two insulated subsystems : Transport and DAC which meant either optical or transformer coupling. As SPDIF can be easily transmitted through a transformer, because it has no DC component, the DAC had to receive its data through a transformer-coupled SPDIF link.
However, SPDIF is a problem in itself : there is no simple way to recover a clean clock from a SPDIF signal. That is why most (all?) SPDIF dacs are full of jitter. This leaves us with :
I chose the last solution. Unlike commercial equipment designers, I don't care about interoperability so I can define my own standard for SPDIF in / Clock out.
I put a Low Jitter clock in the DAC board, directly feeding the reclocker. This clock is buffered and sent through a transformer to the CD player, which in turns sends a SPDIF signal which is well synchronized and ready to be cleanly reclocked.
Here is a schematic which explains it :
I could have done without the SPDIF (which needs an expensive CS8412 decoder) by using I2S taken from the transport, through opto-isolators, but that would have implied the following drawbacks :
A clean master clock lives in the DAC. It is used to reclock all signals entering the DAC chip. A buffered version of this clock is then sent back to the player for synchronization. The player clock is removed and replaced by a BNC connector labeled "clock input". Had I used two clocks, they would have been out of sync and once in a while the CS8412 would have had to skip or insert samples in order to keep up. With only one clock, everything is in sync.
This emphasizes the necessity of using a cheap transport, as it will have holes drilled into it, and be otherwise rendered improper to any function other than being plugged into this very DAC.
If it happens that the roundtrip delay is such that incoming signals are badly aligned relative to their latching instants in the reclocking circuit (if the incoming signal edge is aligned with the clock edge), I would simply invert the clock (reversing the polarity of the insulation transformer) which would shift it by half a cycle and solve the problem.
In practice, clock injection really works, it worked first time when I plugged it. It may look scary, but it is really straightforward. This reclocking, combined with the low-noise design, ensures good jitter performance... I'd like to measure it though !