Building the ultimate NOS DAC using TDA1541A

I think I can make a small contribution at this point. Back when we were discussing whether or not sign magnitude would work, it became clear to me (and others) that one of the segments need addition of 1 LSB. (But this would be a big step in complexity in the decoder.)

Another way is to accept only 16 bits of data and make the LSB always 1 on the relevant segment (John´s suggestion). This would result in a 16 bit sign magnitude dac (no longer 17 bits).

Building the ultimate NOS DAC using TDA1541A

-Alex
Yes the word length needs to be 17 bits, but I do not see why the decoder needs to be changed? A 24 bit long word would just be truncated to 17 bits in the dac as a 24 bit word would be truncated to 16 bits in a normal TDA1541A
 
I think I can make a small contribution at this point. Back when we were discussing whether or not sign magnitude would work, it became clear to me (and others) that one of the segments need addition of 1 LSB. (But this would be a big step in complexity in the decoder.)

Another way is to accept only 16 bits of data and make the LSB always 1 on the relevant segment (John´s suggestion). This would result in a 16 bit sign magnitude dac (no longer 17 bits).

Building the ultimate NOS DAC using TDA1541A

-Alex
Looking back on the discussion whether this signed magnitude circuit was infackt a 17 bit dac, it seams to me that you actually was advocating for that it indeed was???

Now after I actually have made the circuit and seen that the max swing out is 8mA and knowing that the smallest current change (1 bit)for a TDA1541A is around 61 nA the math is also predicting 17 bits resolution:

8 x 10^-3 / 61 x 10^-9 = 131.147

And

2^17 = 131.072
 
This is what I think: It is possible to make it a 17 bit sign magnitude dac. BUT, to do it right, it needs an adder. One of the segments need addition of 1 LSB. Otherwise there will be a missing code at the zero crossing.

Without the adder, the zero crossing will be slightly anomalous: the digital input will increase by one count and the DAC output will not change.

-Alex
 
This is what I think: It is possible to make it a 17 bit sign magnitude dac. BUT, to do it right, it needs an adder. One of the segments need addition of 1 LSB. Otherwise there will be a missing code at the zero crossing.

Without the adder, the zero crossing will be slightly anomalous: the digital input will increase by one count and the DAC output will not change.

-Alex
Sorry, you’ve got it wrong.
Even when 1 bit was missing, which is not the case, it doesn’t turn 17 bits into 16 bits but into 2^17-1
Hans
 
it doesn’t turn 17 bits into 16 bits but into 2^17-1

I didn´t say that.

I said: to do it right, you need the adder.

Since it doesn´t have the adder, you guys might want to investigate the output of the decoder to make sure that one of the segments always has zero in the LSB, and the other always has one. (This is the only way to do it without the adder, and it will be 16 bits, obviously.)

-Alex
 
I will try to explain , how I see all this controversy over the 17th bit, even though I am not at all a theoretical expert:

Let´s assume a perfect TDA1541A with exactly -2 mA current out when shorted to ground for both segments.

If the positive segment is biased to 2 mA it will put out 4 mA with 16 1's input and 0 mA with 16 0's.
If the negative segment is biased to -2 mA it will put out 0 mA with 16 1's input and -4mA with 16 0's at the input.

In this situation we have the problem around switching from positive segment to negative segment, because they are both at 0 mA.
Said in another way, when the original MSB is changing from 0 to 1 nothing happens at the output.

This would cause distortion as far as I can see, but if the bias is adjusted to lowest distortion, I think the bias to the two segments have a difference of 61 nA.
Lets assume the negative element has a bias of -2,000061 mA this would add the missing LSB to the negative segment.

There will then be a small DC error and a FS error, and perhaps that is what I see in the measurements I did on this circuit?

I am just trying , humbly, to understand and explain what I see in the actual circuit.

I hope not this sounds too silly, please be kind to an old man doing his best to understand Johns brilliant circuit and making it work.

Cheers
Koldby
 
Got my Sowter transformers today, so I could do some experiments with those.

I connected each of the primary's from the two dac's (segments) to ground so the magnetic fields , caused by the DC current flowing through them, would cancel each other.

I then placed an inverter on the DOR+ to compensate for the 180 deg phase shift in the trafo.

On each secondary I connected 2,65 KOhm and series connected the two secondary's.

I get 1 Vrms on the secondary.

Now I could , with a 2KOhm trimmer placed on one of the DAC outputs , I could trim the even order harmonics.

The pics is 0, -10, -20, -30, -40, -50, -60, -70, -80, -90 dB

Notice the noise-floor is about 10 dB higher @ 0dB
And I cannot trim odd order harmonics away, because I cannot trim DC bias.
 

Attachments

  • 0db.jpg
    0db.jpg
    154.7 KB · Views: 739
  • -90dB.jpg
    -90dB.jpg
    163.4 KB · Views: 125
  • -80dB.jpg
    -80dB.jpg
    166.1 KB · Views: 92
  • -70dB.jpg
    -70dB.jpg
    165.1 KB · Views: 93
  • -60dB.jpg
    -60dB.jpg
    162.8 KB · Views: 94
  • -50dB.jpg
    -50dB.jpg
    162.8 KB · Views: 88
  • -40dB.jpg
    -40dB.jpg
    166.3 KB · Views: 666
  • -30dB.jpg
    -30dB.jpg
    147.9 KB · Views: 713
  • -20dB.jpg
    -20dB.jpg
    165.3 KB · Views: 729
  • -10dB.jpg
    -10dB.jpg
    165.4 KB · Views: 730
For comparison, I measured the two files from Hans as well.
The first is - 90,3 dB 16 bits and the second is -90,3 dB 24 bits.

I wonder why the spectrum is cleaner than the -90dB in the last post. Here the 3. harmonic is gone?

And the 24 bit version is even cleaner.
 

Attachments

  • -90,3 dB  24 bits.jpg
    -90,3 dB 24 bits.jpg
    162.2 KB · Views: 132
  • -90,3 dB.jpg
    -90,3 dB.jpg
    151.4 KB · Views: 142
The have now tried several configurations and the best so faris:

100 Ohm I/V from each dac output to ground . A 20 Ohm trimmer between the two outputs, wiper to bias potmeter and to transformator with parallel primary windings.

I get 880 mV rms on the secondary .
And this result:
0 , -10, -60, -90,3 (24 bits) dB
 

Attachments

  • 0 dB 1.jpg
    0 dB 1.jpg
    168.2 KB · Views: 160
  • -10 dB 1.jpg
    -10 dB 1.jpg
    164.8 KB · Views: 156
  • -60 dB 1.jpg
    -60 dB 1.jpg
    166.6 KB · Views: 141
  • -90,3 dB 1   24 bit.jpg
    -90,3 dB 1 24 bit.jpg
    154.2 KB · Views: 139
Great results.
One thing that's puzzling me, what is the little bump in the noise level between 850Hz and 900Hz.
It's there in all low level recordings, not really a serious problem, but there must be some interference.

Hans
Actually it is always there, it is just buried in the elevated noise, when the level out is high. It is there even with no input to the soundcard.
 
Hi Coldby could You Please post a schematics of the set up You did. Sorry It is not clear enough (for me)?
My setup is only for testing as it is now. I hav no schematics. However:
The background for it is what ecdesign describes in post 6116.
But I use the i2s to signed magnitude as described in 6126.
There are errors in that schematic as described in post 7069.
The output is what I describe in post 7273 and shown in picture.
Hope this helps.
 

Attachments

  • IMG_20190503_000541.jpg
    IMG_20190503_000541.jpg
    73.2 KB · Views: 331
Hi Vbenonisen,

Has anybody tried the variable output on the Mosaic UV? What kind of remote control do I need to make it work?

The volume control in the Mosaic UV is an analogue volume control based on miniature relays (gold plated contacts) and thin film 0.1% precision resistors.

The Mosaic UV USB digital audio receiver is based on a Microchip controller. It provides the multi-stream interface signals for both Mosaic converters, drives the volume control relays through drivers, detects IR remote control commands, and drives the LEDs on the front panel.

This micro controller also enables relay volume control over USB through the application on the host (PC).

System output remains at 100% (lossless) but the relays in the Mosaic UV will change the volume setting. You can hear the relays switch as you move the volume slider on the PC application.

Another option is using the IR remote control. It directly controls the relay volume control in the Mosaic UV DAC.

Just a follow up question on the Mosaic UV - What is the output impedance of the headphone output?

The headphones MOSFET buffer (unity gain, local feedback) output impedance equals 1.35 OHms. It candrive loads of 8 OHms and up.