• Member Blogs have been stealth lauched / soft launched. Members who are keen to start a useful informative blog and who will keep it current can contact GerardV to be set up. Blogs that go stale will be archived.

TDA1387 and TDA1545A

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 :

1647420228147.jpeg

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.

1647422126991.png

1647422160437.png
Here we see how the SNR increases by 3dB from doubling the DAC's output current.
 
  • Like
Reactions: 1 users
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.

I have checked the supply current vs the input digital code and my guess turns out to be wrong. The higher the output current, the more the supply current. So no free lunch there with the supply quality. Also the supply current goes up in proportion to the Vref voltage, fairly linearly. So with a TDA1545 configured to give 2mA the supply current is 6mA at digital zero but higher still at peak output current.

As some of the apparent advantages of TDA1545 seem to have evaporated on closer inspection, I decided to try fiddling about with the pin7 voltage on TDA1387. Many years ago I blew up one or two chips by trying this so that put me off attempting this trick for quite some time. But I figured not much to lose, especially as I have a bag of what I call 'underperforming' 1387s which output below 90% of the typical 1mA the DS stipulates.

The first step to understanding pin7 I figured was to determine the impedance at the pin. I did this by connecting a high valued resistor (100k) from pin7 to VDD and writing down the voltage change then some Thevenin math. It turns out the answer is 11kohm - a very familiar number to anyone who's studied the TDA1545 DS. I averaged this number over 6 chips. Next was to see if I could coax my underperforming chips to give me 1.5mA swing, rather than their default between 0.86 and 0.9. Turns out they can, at least at the max recommended supply of 5.5V. But 'can they do it cleanly?' is the next question, first check was with my 'scope on FFT and at least there wasn't gross distortion (it was below -50dB for sure). Then lastly, how do they sound when 'overclocked' by more than 50%? That's still being determined...
Overclocked20220525135347.jpg


Here's the first overclocked variant of Abbado - the vertical thin wire running down the lefthand side of the DACs joins all pin7s together. The reason for the extra 90-degree red perfboard is because overclocked chips take much more current which would overheat the resistors feeding the shunt reg. I need 6 1206 resistors rather than 4 which the PCB provides for.
 
Last edited:
  • Like
Reactions: 1 users
Last night I decided to investigate under-clocking, otherwise known as 'using pin7 as a volume control for the DAC'. I'd previously just played music while reducing the voltage there, this time I wanted to explore the dynamic range available. I was rather shocked to discover that the pin7 voltage on TDA1387 cannot be reduced indefinitely, below a certain level clipping on the negative direction appears on a full-level sinewave. Initial experiments indicate that a volume reduction of only 12dB can be implemented before the clipping sets in. This seems to be relatively independent of supply voltage so it looks to get the lowest output current the lowest supply voltage is best. I'd guess that if a digital volume control were implemented in conjunction with the reduction of Vref then more attenuation would be possible on Vref before distortion sets in.

I tested this hypothesis and indeed a further reduction of Vref is possible when digital input is limited. I found I could go down to a practical limit of 60mV on Vref (VDD=3V) beyond which the distortion was hard to eliminate no matter the digital level. At 60mV the output looked clean below -4dBFS. Here I'm not checking distortion with a fancy analyser, only my 'scope's FFT so distortion below around 0.1% would be effectively invisible. 60mV for Vref corresponds to a full-scale current swing of 72uA.

I should add here that I did this test on an array of 6 chips in a Kubelik DAC so I only got the average of those 6, no indication of how much variation there is between chips. The next question is - does TDA1545 behave similarly?
 
Last edited:
  • Like
Reactions: 2 users