ika-musume / YMDAC

DAC support module for Yamaha synths
BSD 2-Clause "Simplified" License
2 stars 0 forks source link

Missing resistor? #1

Open jotego opened 7 months ago

jotego commented 7 months ago

If you calculate the DAC output impedance for the different input values, you will find that the value is close to R/3 except for S[2:0]==3'b111. If you add another resistor of value R before the the first 1/2R resistor, the output impedance becomes exactly R/3 for all S values, which makes more sense.

Keeping a constant output impedance is important in DAC design to prevent non linearities. So I think there is probably a missing R in your schematic.

ika-musume commented 7 months ago

I read your comment and drew the Thevenin circuit. If there is an R connected to +VDC, as you say, the impedance would be R/3 at any tap. But that resistor really doesn't exist!

I double-checked the R2R DAC, because if the impedance of the R2R DAC is R/2 instead of R, then the impedance at any tap would be R/3. But all poly resistors in the analog shifter and the R2R DAC have the same width and height. Unless Yamaha did something special, the resistance should all be the same.

YM3012_resistor

There is a box that I have marked with "??", I am not sure if this is a resistor connected to +VDC.

jotego commented 7 months ago

Thank you for double checking the die shot. The narrow poly stripe marked as ?? does not seem to be connected from the left side, is it? If it was, the other side is indeed the right net. But the resistance would not be R, as the stripe is too narrow and too long.

I simulated the circuit and indeed the impedance for S[2:0] codes from 7 to 1 is 0.5R, 0.375R, 0.344R, 0.336R and from that point on 0.333R. I have tried fixing the circuit in different ways with the components present in the schematic (swapping resistors, changing the switch polarity...) But the only solution that makes a constant output impedance is adding an R-valued resistor here.

image

ika-musume commented 7 months ago

Yes. The stripe I marked with ?? doesn't look like a resistor at all - only one node is connected.

I looked at the die shot again, but couldn't find the resistor you're talking about. Honestly, I'm starting to wonder why it's not there either. What were they thinking? As I said, it's possible that the impedance of the R2R DAC is 1/2R, but it doesn't seem to be a correct assumption considering the width and height of the poly resistor. I think its impedance is R, resulting in the output impedance of the tap being very strange.

jotego commented 7 months ago

I think I'll have to measure it in the lab. This may have been a fault in their design. I'll come back with lab measurements.