When I first got into multibit DACs my 'starter' chip was TDA1543 as there was so much choice of boards with various implementations in single and paralleled form. As time went on I experimented with replacing these rather power hungry bipolar technology chips with CMOS DACs which took way less power. The most attractive one from the point of view of power consumption was TDA1545A, this runs at a mere 15mW, though if you want 2mA output swing (which I normally did) the power rises to ~30mW. Running in 'enriched mode' is set out in the datasheet but I would often find some 'fuzziness' of sound which I couldn't track down and so in the end I gave up with this chip and moved on to TDA1387. This can't be current enriched - I tried once and blew up a few but has a considerable advantage over TDA1545A in that its output compliance range includes 0V. This feature makes it really easy to implement passive I/V with a single resistor and no additional biassing components.
Nowadays I'm chasing an ever lower noise floor in my DACs and was curious to give TDA1545A another whirl to see if I could track down the reason for the fuzziness. I arranged 6 of them in parallel in my current development 'Abbado' DAC and found even worse sound than mere fuzziness, it was so crackly as to be unlistenable. After much head-scratching and experimentation with external circuit parameters I eventually discovered that the datasheet specification of output compliance voltage doesn't apply to the DAC operating in 'enriched' mode. Here's what the DS has to say :
The lowest voltage tolerated by the DAC's analog outputs is 2V and I was running very close to that, given that I was feeding an NMOS source from the output and wanted the maximum possible output swing. But if you run the DAC at 2mA this spec isn't valid any longer, it turns out 3V will do the trick but 2.5V definitely doesn't. The DS application circuit using opamp I/V has 3.3V. There isn't any mention that the 2V figure should be increased if you up the DAC's output current. So all those years ago when I encountered fuzzy sound the explanation was that I was running at too low an output voltage.
The internal topology of TDA1545A is rather different from than within the TDA1387. On the TDA1545A the DAC element is arranged to sink current from the output to GND and there's an internal biasing current source whose magnitude is determined by the input current to pin7. This current source is connected between the output and pin5 (VDD). So this CCS sets the top limit of the output compliance, at VDD-1 volts. The DAC sinks 0.5mA at digital zero leaving 214uA from the CCS to exit the output pin. At positive maximum the output will be +714uA and at negative maximum the output will sink 286uA (714-1000uA). Thus TDA1545A's output is asymmetrical bipolar, with an offset current in the sourcing direction. While I've not checked it, it looks as though the supply current to the chip will be constant with digital code, in contrast to the TDA1387. This latter part has the DAC element between VDD and the output pin hence more output current requires more supply current. There is a low-valued CCS in parallel with the DAC so full scale negative still outputs a current, about 80uA.
The SQ of 'Abbado' but running with a current swing of 12mA sounds slightly richer and warmer than the original Abbado utilising 6mA from 6 TDA1387s. But that design isn't production ready yet as TDA1545A @2mA takes more supply current than TDA1387 and doesn't have I2S input, I need to come up with a way to convert I2S to right-justified. Perhaps that's a job for a CPU.
Here we see how the SNR increases by 3dB from doubling the DAC's output current.
Nowadays I'm chasing an ever lower noise floor in my DACs and was curious to give TDA1545A another whirl to see if I could track down the reason for the fuzziness. I arranged 6 of them in parallel in my current development 'Abbado' DAC and found even worse sound than mere fuzziness, it was so crackly as to be unlistenable. After much head-scratching and experimentation with external circuit parameters I eventually discovered that the datasheet specification of output compliance voltage doesn't apply to the DAC operating in 'enriched' mode. Here's what the DS has to say :
The lowest voltage tolerated by the DAC's analog outputs is 2V and I was running very close to that, given that I was feeding an NMOS source from the output and wanted the maximum possible output swing. But if you run the DAC at 2mA this spec isn't valid any longer, it turns out 3V will do the trick but 2.5V definitely doesn't. The DS application circuit using opamp I/V has 3.3V. There isn't any mention that the 2V figure should be increased if you up the DAC's output current. So all those years ago when I encountered fuzzy sound the explanation was that I was running at too low an output voltage.
The internal topology of TDA1545A is rather different from than within the TDA1387. On the TDA1545A the DAC element is arranged to sink current from the output to GND and there's an internal biasing current source whose magnitude is determined by the input current to pin7. This current source is connected between the output and pin5 (VDD). So this CCS sets the top limit of the output compliance, at VDD-1 volts. The DAC sinks 0.5mA at digital zero leaving 214uA from the CCS to exit the output pin. At positive maximum the output will be +714uA and at negative maximum the output will sink 286uA (714-1000uA). Thus TDA1545A's output is asymmetrical bipolar, with an offset current in the sourcing direction. While I've not checked it, it looks as though the supply current to the chip will be constant with digital code, in contrast to the TDA1387. This latter part has the DAC element between VDD and the output pin hence more output current requires more supply current. There is a low-valued CCS in parallel with the DAC so full scale negative still outputs a current, about 80uA.
The SQ of 'Abbado' but running with a current swing of 12mA sounds slightly richer and warmer than the original Abbado utilising 6mA from 6 TDA1387s. But that design isn't production ready yet as TDA1545A @2mA takes more supply current than TDA1387 and doesn't have I2S input, I need to come up with a way to convert I2S to right-justified. Perhaps that's a job for a CPU.