8 x AK4490 with current output

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Gentelmen,


I'm building the DAC from Japanese kit. After several try and errors got nice 1Khz waves ~1.9Vrms (and squares) at the output. I did not listen yet to it, waiting for the ordered Amanero board. Now I'm thinking about I/V stage if it is essential here.
There are 4 AK4490 per channel, 2 per rail, ~140Khz LPF (like in datasheet) per DAC chip. Every output summed through 681 Om resistor. So it looks like this is +-30mA current source with 170 Om per rail impedance. Am I right?
What would you recommend as I/V converter for this? My choices at the moment:
- composite amp with LME49600,
- composite amp with discrete buffer,
- LL1684,
- just OPA1688 with 173R feedback,
- or nothing at all (the input impedance of my preAmp is ~10Kom).


Thanks in advance!
 

Attachments

  • IMG_20180111_113617_HDR.jpg
    IMG_20180111_113617_HDR.jpg
    998.8 KB · Views: 1,201
I suppose you could treat a bunch of paralleled 4490s as a current source, but I seriously doubt that such a topology would offer any benefits compared to treating them as a voltage source with a much improved output impedance.

But then again, I'm no expert regarding the analog parts of these chips.
 
This is the source, where the VGs are voltage generators 5.2Vpp ground referenced. I can name it current source (5.2/(681/4)=+-30mA) or voltage source, probably does not matter. The matter how to amplify it; why again the need for inverted opamp?
 

Attachments

  • Source.JPG
    Source.JPG
    27 KB · Views: 1,061
I suppose you could treat a bunch of paralleled 4490s as a current source, but I seriously doubt that such a topology would offer any benefits compared to treating them as a voltage source with a much improved output impedance.

But then again, I'm no expert regarding the analog parts of these chips.

I believe the OP stages inside chips are switched capacitor filters using Cmos opamps.... definitely not current OP :)

T
 
I have chinese AK4137 based digital receiver board. It has 4 digital filters enabled. The same filters are always enabled in AK4490. Is this OK to run them two times?


Dimdim,
I'm trying to write my own arduino software for this DAC. I've analyzed your "Arduino controlled Dual Mono" code and studied the datasheet. I think I've programmed the initialization sequence like you did. But, for whatever reason the DAC is not initialized properly, does not work. :confused:Could you, please, describe just in few words what should be proper Power On + initialization sequence.
This DAC is 3-wire serial controlled. Left right channels have dedicated CSN wire. I have captured clock, data signals and they look fine - according to the datasheet. I have a feeling something is wrong with just initialization sequence or commination speed (it is about 80kHz). Also, I'm not sure how to do Synchronize Function which can be essential with multiple chips design.
Thanks a lot!
 
I'm about to try OPA1688. According to modeling results it looks OK.

Well the whole idea behind having an 8x AK4490 through hefty current sharing resistors is to push noise down, right? I'd honestly be looking to push those resistors down in size (100 or so?) and use a high-falutin opamp on the back of this as a buffer/gain if you need more than 2 Vrms output. An OPA1688 is grossly underperforming what you have and wasting about 7 of the 8 4490's.
 
For things like this I'd be looking at some sort of composite with a ADA4898/AD797/OPA1611 and a buffer (or TPA6120) inside the loop. And a stupid low feedback impedance. With 8x 680 ohm resistors in parallel, you shan't need much extra Rg to get something like a 200 ohm Rf for an inverted opamp structure.

But I'm biased away from the discrete opamp types, and really think we're running off very different philosophies.
 
I have chinese AK4137 based digital receiver board. It has 4 digital filters enabled. The same filters are always enabled in AK4490. Is this OK to run them two times?


Dimdim,
I'm trying to write my own arduino software for this DAC. I've analyzed your "Arduino controlled Dual Mono" code and studied the datasheet. I think I've programmed the initialization sequence like you did. But, for whatever reason the DAC is not initialized properly, does not work. :confused:Could you, please, describe just in few words what should be proper Power On + initialization sequence.
This DAC is 3-wire serial controlled. Left right channels have dedicated CSN wire. I have captured clock, data signals and they look fine - according to the datasheet. I have a feeling something is wrong with just initialization sequence or commination speed (it is about 80kHz). Also, I'm not sure how to do Synchronize Function which can be essential with multiple chips design.
Thanks a lot!

If I were you I'd start by seeing if I can indeed communicate with the dac chip.

In my case (using I2C, not 3-wire mode) I would run an I2C scanner to see if it will detect the chip. Afterwards, I'd do a test read of a couple of registers to see if their values are the predicted ones.
 
That is the pain: * The AK4490 does not support read commands in 3-wire serial control mode.

this is my init part (some of the version):
void setup() {
pinMode(PDN, OUTPUT);
digitalWrite(PDN, LOW);
pinMode(CSN1, OUTPUT);
pinMode(CSN2, OUTPUT);
pinMode(CLK, OUTPUT);
pinMode(DTI, OUTPUT);
digitalWrite(CSN1, HIGH);
digitalWrite(CSN2, HIGH);
digitalWrite(CLK, HIGH);
digitalWrite(DTI, LOW);

delayMicroseconds(pulse);
masterInit();
}

void masterInit()

{

digitalWrite(PDN, HIGH);
int autoData = C1_ACKS + C1_DIF24MSB;

writeChips(C1addr, C1_RESET);

writeChips(C1addr, autoData);
writeChips(C2addr, C2_ShortDFlt + C2_DeEmphasisOFF);
writeChip(0, C3addr, C3_PCM + C3_MONO_LEFT);
writeChip(1, C3addr, C3_PCM + C3_MONO_RIGHT);
writeChips(C7addr, C7_SoundCtrl1);


writeChips(C1addr, autoData + C1_RSTN_Normal);
}
// where
#define C1_RESET B00000000
#define C1_RSTN_Normal B00000001















 
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.