I have gathered together the schematics for the non oversampling TDA1545 DAC. Mind that I am only responsible for the shunt regulators, the microcontroller, and the input selector. The digital input circuitry was developed after reading some post from Jocko Homo on the diyhifi.org forum. The TDA1545 circuit is mostly from the Philips data sheet. The I/V stage is from rbroer on DIYAudio.

At some point in time I have made the following block diagram, and from memory it seems correct.


From the top here is the input selector board, the micro controller for the relays are on a second board, as per the block diagram.


After the relays, comes the SPDIF buffer/amplifier circuit based on Jocko Homo's. The CS8412 converts the SPDIF signal into the correct I2S format, I2S data goes both to the DAC board, and the micro controller board. The micro controller signal is buffered by one of the 7404 inverters, in the hopes that any noise from the micro controller, will be isolated.

The shunt regulators, are duplicates of the similar valued ones in the shunt regulator schematic, you do not need to build these twice!

Here is the DAC circuit.


Everything is in the puzzling Philips data sheet. The relay shuts off the data, while the micro controller scan through the inputs.

Here comes the shunt regulators

The one at the bottom is the one for the DAC, and the one that is not duplicated on the input selector board.

Here comes the I/V from rbroer, which is fed from the unregulated DC supply.


And the micro controller schematic.


I have redesigned the PCB layout's without saving the ones I used in the working DAC. Therefore they have not been tested, and I would rather not publish them, and have them blow up in some poor persons face.

I have just finished mounting the µC board, to test the firmware and, after a little trimming, everything worked. The fact that the board connects directly to the PICkit2 programmer, means that I can program it , and test it while the thing is on. I have updated the code in the SVN, to reflect the changes. All there is left, are three holes in the front and oh I gotta put a lid on it.

The firmware for the DAC input selector has been debugged extensively, and now seems ready for real life testing. The source is here: SPDIF input selector source. The firmware has a manual, and an automatic selection mode.

  • If the button is pushed for less than about 2 seconds, the selector enters manual mode, and skip to the next input.
  • If the button is held for longer that 2 seconds, the firmware scans each input for one second and selects the first input that has data (audio).

The firmware works by sniffing the I2S data line to the DAC, to see if anything is going on there. To prevent the DAC from playing anything, before an input is selected, a relay has been added to the DAC board, to only enable the I2S data line to the DAC, when a signal has been selected.

When the project is finished the compiled firmware will be made available along with the rest of the design files.

There was an error in the last PCB posted, here comes the correct version.


TDA1545 NONOS DAC II Rev. B Cadsoft eagle project files

I have just assembled and tested the prototype shunt regulator for the DAC. Inpsite of long wires and veroboard it performs a little better than the LM317+CSS+diode shunt I've been using so far. When they arrive I will try replacing the transistors with some low noise BC560 types, to see if they perform better.


 

The peaks at 50Hz, 100Hz and so forth comes from the SPDIF -> I2S converter board, where the PSU has not yet been optimized.


   

TDA1545 NONOS DAC II Cadsoft eagle project files

Here's a list of things to be done before the final product is posted:

TDA1545 DAC:

  • New PCB layout
  • At least testing a better power supply, I'm thinking TL431 shunts
  • Try some BC560's in the shunt regulator.
  • Testing some bypass tricks, around 22pf from supply to ground, and the same value from Iref to ground

Active I/V:

  • Low noise BC550/BC560 transistors instead of BC547/BC557

SPDIF/I2S converter:

  • Testing a better power supply for the CS8412, again I'm thinking TL431 shunts
  • The SPDIF input circuit is bypassed, figure out why it does not work
  • Possibly a new PCB layout

uC input selector:

  • Install some bilateral switches to avoid switching the actual signal to the DAC before we know there is a signal
  • Ponder on SPDIF signal detection, do I a need to program a PLL?

I know that nothing has been posted about the uC input selector yet. Basically I'm not the least satisfied with the way I have solved the problem up until now.

A PIC16F628 switches the input relays, until a signal shows up on the DATA line of the CS8412. meaning that the actual sound is output from the DAC as well. I have decided to try measuring at the SPDIF inputs by using bilateral switches instead. I may have to lock on to the SPDIF signal to detect audio data. the solution that I'm hoping will do, is to establish the length of the pulses on the SPDIF line, if there is data, some pulses should be half the length. I'm yet uncertain as to whether the preambles will screw this up. If so I will have to detect these.

Wikipedia on SPDIF

Tonight I finished an active I/V stage for the TDA1545 DAC. Up until now I have used a resistor I/V for both my TDA1543 and TDA1545 DAC, this has some undesirable effects as the current output of the DAC should be looking into a very low value resistor, and a fairly high valued one is needed to get a deecent voltage output (http://members.chello.nl/~m.heijligers/DAChtml/Analogue/IV.html). Besides presenting a better impedance to the current output of the TDA1545, the active I/V stage also brings the output to about 2Vpp, in it's current configuration. The I/V stage was designed by "rbroer" of diyAudio, the original thread is here: Single rail, active I/V for TDA1543, TDA1545A.

The sound with the active I/V is definitely better. My test setup is a long way away from my stereo, therefore the DAC has to drive a 20 meter long cable, which has always led to a "muffled" sound. Since the active I/V has better current and voltage driving capabilities, this is now gone. This is a wonderful experiences, no magic, simple logic, that manifests itself, in the way I would have expected. Everything is firm and in control. As far as I can see this can only improve things, even when the DAC is back in place, with a half meter of cabling.

I will post a the relevant layout files, when I have finished testing and tweaking.

The TDA1545 DAC is nearing completion. I'm trying, for once, to make a nice product, somewhat operational by a simple human being. The DAC has gotten a new 5 channel input selector. This is basicly 5 SMD relays (mounted on the solderside), the CS8412 receiver, and a basic cap filtered PSU. The TDA1545 DAC board fits on top, this way, when finished, everything is firmly attached to the receiver board. I will post the PCB layout, and schematics, when the last bugs have been squashed, and the values of some components have been optimized.

Let me just say, that this is a big step for me, as it is the first of my HIFI projects in 5 years, that is actually in feature freeze, and will reach a final and generally usable state.

As noted earlier, I had some trouble with C7 blowing the chips. I am no closer to being sure what the problem was, but I am beginning to suspect a bad batch of chips, anyhow the original value is according to Phlips datasheet, way to high. I have now settled for a 2.2uF WIMA cap, and everything is playing nicely.

I had some help with my troubles at diyhifi.org, the thread is here:

TDA1545 Vref cap and the death of several DAC chips

Finally after a thousand cups of coffee (for me that is) it is actually playing music again. This time through the last TDA1545 DAC chip that I haven't destroyed. This is a clone of the "Monica" DAC. I can not comment that much on the sound, since it has been a while since the TDA1543 DAC, was playing, but it sounds nice, and definitely different. If you have some spare chips and time, try it for yourself.

In the final version, R1 is 33k, and C7 has been omitted. C7 seemed to be the part causing the 2 DAC chips to die, I'm not sure why, and I'm not sure the final solution is to leave it out, but since I'm at my last chip, It'll stay that way for a while. Also check the output from the current source between R4 and D1, if above 6V, short out D1, D4, and D7.

TDA1545 NONOS DAC Cadsoft eagle project files

TDA1545 Datasheet

Damn that horse! I have spend much of the day building a TDA1545 version of my DAC, but with no success. The CS8412 SPDIF -> I2S/EIAJ converter locks to the signal, but only noise comes out from the DAC. Maybe I will have to resurrect the TDA1543 board, to make sure everything in front of the DAC, still works.

Generated on 2018-05-03 01:14:21.851450