Building a portable I2S 4x TDA1387 DAC

I can't think of one, no and I've given it some thought over a long timeframe.

Alternatives are - a servo, but that always uses a cap though it can be a smaller value. A digital servo using an MCU can work without a cap though.
There is an old thread from Peter Daniel with a balanced passive I/V going to a stepped autotransformer preamp. I don't understand how a digital servo works.
 

Attachments

  • DAC2[1].jpg
    DAC2[1].jpg
    93.3 KB · Views: 36

Zbunjen

Member
2019-09-10 8:47 pm
Im still learning about this stuff so excuse any gross errors but I wanted to check with you and see if maybe there's a couple of free upgrades to be had here for chumingo...namely i was wondering on post 46 (which is i guess the latest schematic) about the voltage divider as the reference for the noninverting input of the opamp (vref), because IIRC the voltage divider can have a pretty high noise contribution. Since its feeding the opamp it will appear directly on the output, so i guess it would be important to get right. C74 i guess limits the bandwith to reduce the Johnson noise but would something like a tl431 be better here? Im not sure exactly..sheet says 50 nV/sqrtHz and johnson of 2x 10k resistors is maybe 10 nv/sqrthz, but both might be higher than the contribution of an opamp. Maybe a CCS vref?
Would it be good idea to add a basic LPF (maybe even just a small cap to gnd) before the opamp just to not slew rate limit the opamp by feeding it high freq hash out of the dac? Maybe on the output too but i dont know if it will induce oscilation or mess with the phase.
Maybe adding a current source to bias the opamp into class A, but its not buffered so to drive low impedance cans the CS would have to be like, 20mA+. Maybe not better than just leaving it alone.
 

chumingo

Member
2020-10-29 12:41 pm
"Another possibility is to vary the pin7 reference voltage downwards from its 0.83V typical value - this can be done with a pot between pin7 and pin4 but it exposes the pot to DC which they don't like normally. The advantage of this method is you only need a single gang pot as both channels follow the Vref pin voltage together."

@abraxalito

On the implementation of volume control with a pot between TDA1387's vref (pin7) and GND (pin4)... How would a 10K pot behave in this case in terms of rotation? Or what pot resistance would you ideally recommend? How likely is that DC through the pot will be hearable/noticeable?

PD: 1K dual pots are indeed difficult to find as to parallel one to R234/R240 in the last schematic. Still waiting for the TDA1387, shipping troubles :s
 
A 10k pot will immediately halve the output level when placed in circuit as the output impedance is stated as ~11kohm. So that doesn't look too attractive. At 50% rotation (5k) the output will be down another 3dB and at 10% (1k) it'll be another 12dB lower.

The DC through the pot isn't an issue for sound because you can put a cap from pin7 to pin4 to filter out any contact noise. Its just an issue for the pot.

I don't have a recommended resistance for a pot to suggest, none gives a decent log taper in this application. The recommended way to handle a pin7 volume control would be with MOSFETs as switches rather than a pot. Or alternatively use the pot as a pot rather than a variable resistor and then feed its DC output to pin7 via a low noise and low offset buffer. In this way a log pot might well give a reasonable log taper. But this is a major design challenge I reckon.
 

chumingo

Member
2020-10-29 12:41 pm
Hello @abraxalito and @hifiamps ,

I'm sorry for my delay in bringing news about this project. A mix of missing parts and a large list of personal to-do's held me back. But finally... :)

Two days ago I finally started building the DAC. I soldered 4 TDA1387 in "a tower" (one over the other) and I was quite impressed hearing directly from the output into my headphones, quite emotional to hear bits turning into sound and it was very raw. Volume was however too low. I tried with the opamp configuration discussed before but I didn't succeed. I got distortion problems and temporary noise (very short occasional glitches painful to the ears mostly).

When plugged directly, I interpret that the DAC is not having enough power to feed my headphones (63ohm, 106SPL/mW). I wonder if 8x chips will sound louder than 4x? Since each chip provides 1mA, 8 chips should provide 8mA, right? According to a calc I need 0.4v and 6.3mA to reach 110dB, but that is RMS and I still don't understand the difficult logic behind driving speakers/headphones.

The main reason I want to try without opamp is that during my tests I felt it was blurring out the clarity of the sound coming out directly from the DAC. Hearing through the opamp was like seeing the picture of someone, rather than looking to the person himself. Probably my implementation is to blame for it, to a great extent. But again, to try, how can I raise the power of the DAC stack to drive headphones directly? Do I need to pile up more DACs? Raise vRef externally? Or play with the IV resistor value or VDD voltage? Should I worry too much of loosening "flatness" with such configuration?

I'm currently powering it with a 78L05, for the sake of simplicity (of parts).

Any contribution will be highly appreciated! I hope this thread can be brought back to life.
 
Hello @abraxalito and @hifiamps ,

I'm sorry for my delay in bringing news about this project. A mix of missing parts and a large list of personal to-do's held me back. But finally... :)

Two days ago I finally started building the DAC. I soldered 4 TDA1387 in "a tower" (one over the other) and I was quite impressed hearing directly from the output into my headphones, quite emotional to hear bits turning into sound and it was very raw. Volume was however too low. I tried with the opamp configuration discussed before but I didn't succeed. I got distortion problems and temporary noise (very short occasional glitches painful to the ears mostly).

When plugged directly, I interpret that the DAC is not having enough power to feed my headphones (63ohm, 106SPL/mW). I wonder if 8x chips will sound louder than 4x? Since each chip provides 1mA, 8 chips should provide 8mA, right? According to a calc I need 0.4v and 6.3mA to reach 110dB, but that is RMS and I still don't understand the difficult logic behind driving speakers/headphones.

The main reason I want to try without opamp is that during my tests I felt it was blurring out the clarity of the sound coming out directly from the DAC. Hearing through the opamp was like seeing the picture of someone, rather than looking to the person himself. Probably my implementation is to blame for it, to a great extent. But again, to try, how can I raise the power of the DAC stack to drive headphones directly? Do I need to pile up more DACs? Raise vRef externally? Or play with the IV resistor value or VDD voltage? Should I worry too much of loosening "flatness" with such configuration?

I'm currently powering it with a 78L05, for the sake of simplicity (of parts).

Any contribution will be highly appreciated! I hope this thread can be brought back to life.
We had a significant improvement with passive I/V using TX2575 resistors. I think pure resistive load is best. The TX are pricey, but significantly better than AB carbon comp. I also measured THD vs resistance at 0dB for the 8x modules. H3 starts increasing at about 450R or so. I have a graph, but not with me now. I had 475R of the encapsulated Vishay metal foil, which sound excellent with classical music, which rarely hits 0 dB. Pop is often nearly continuous 0 dB, so it distorts. The advantage of passive I/V is simplicity.
 
Here is the raw data, THD and I/V resistance at 0 dB. 8x module, 5.04 Vcc. Best to chart as a scatter plot to best see the relationship. Output of course drops with lower resistance.

0.0070% with 114R
0.0080% with 223R
0.0097% with 322R
0.013% with 447R
0.018% with 460R
0.040% with 470R
0.053% with 474R
0.054% with 475R
 
When plugged directly, I interpret that the DAC is not having enough power to feed my headphones (63ohm, 106SPL/mW). I wonder if 8x chips will sound louder than 4x? Since each chip provides 1mA, 8 chips should provide 8mA, right? According to a calc I need 0.4v and 6.3mA to reach 110dB, but that is RMS and I still don't understand the difficult logic behind driving speakers/headphones.

Yes, 8 chips will sound louder. The difficulty of feeding Iout directly into HPs is 'what to do with the DC?'. If you connect HPs directly between DAC output and GND you'll have DC through them. So ideally you want to bias/couple the HPs so the DC is eliminated. I've built a prototype Iout HP amp and wrote a bit about it on Hackaday. I used a lot more than 4 DAC chips, I think it was around 32.

The main reason I want to try without opamp is that during my tests I felt it was blurring out the clarity of the sound coming out directly from the DAC. Hearing through the opamp was like seeing the picture of someone, rather than looking to the person himself. Probably my implementation is to blame for it, to a great extent. But again, to try, how can I raise the power of the DAC stack to drive headphones directly? Do I need to pile up more DACs? Raise vRef externally? Or play with the IV resistor value or VDD voltage? Should I worry too much of loosening "flatness" with such configuration?

Definitely you need to pile up more DACs. I would discourage you from trying to bias the DACs with pin7, I've blown up one or more chips that way. TDA1545 is a way to get more current with fewer chips but its not I2S input so a little inconvenient.
 

chumingo

Member
2020-10-29 12:41 pm
Amazing. Happy this is moving on.

From what @hifiamps shares, it is quite important to have good quality low I/V resistors (max. 460ohm in 8x version) to keep distortion low. But since headphones will require a quite high resistor, from what I understand, there will be a trade off necessarily.

@abraxalito I've been browsing your hackaday website. It's fascinating but I couldn't find the post you are referring to about an Iout HP amp. A search on "TDA1387" didn't seem to show it. Could you please link it to me or give me a reference on how to find it?

The TDA1308 as HP amp seems like an elegant and convenient alternative solution. Do you have experience listening to it in the L1387USB @hifiamps? Does it also require passive I/V resistor between both chips? Or connection between DAC and HP amp goes direct? Apart from the series decoupling cap and resistor suggested in the TDA1308's datasheet. I might be able to find this chip locally.

Regarding linearity (remember this DAC is also for monitoring audio), I suppose a passive I/V direct on headphones, with many chips pilled and DC decoupling, will suffer the aforementioned HF droop at 20kHz (a freq. I can't hear btw). Does the droop for example depend on the number of chips in use? Or on the headphone's impedance? And will the TDA1308 used as HP driver be exempt from the droop? And is there any LF droop or boost in this configuration I should be aware of, in terms of reproducing the digital signal 'flat'?

Sorry for dropping out so many questions. Please feel free to answer at your like and instinct, since I'm just trying to clear up the way here to arrive into an ideal working solution, in parallel to running experiments.
 

chumingo

Member
2020-10-29 12:41 pm
Thanks! Just what I needed. I'm trying to understand the concept and figure out a schematic to test. Would it be possible/recommendable an output stage with BJTs instead of Mosfets? I've never used Mosfets (I would have to go out buy some no problem), but I have the impression that a BJTs emitter-follower configuration might be easier to understand for me and able to inject the extra current needed for HPs, or this is silly? Do Mosfets accomplish the function of I/V conversion, something that current-based BJTs cannot do?