Asynchronous I2S FIFO project, an ultimate weapon to fight the jitter

@ syracuze

*Fs is decided by the relationship between of Fs of input music and the mclk frequency, not by FIFO. For example, if you want 128*Fs, for 192KHz music, you have to use 24.576MHz XO for mclk.

Unless you want to use PLL to change mclk frequency according to input Fs. However, sound quality will be degraded by comparing with a nice XO.

Regards,
Ian
 
FifoPi makes ES9038Q2M DAC HAT working at pure sync clock mode. The MCLK u.fl cable is the only cable that needs to be connected for sound quality. Anything else will be plug and play.

ESS controller can be connected to the non-isolated GPIO of the FifoPi. I'm highly rerecorded doing it this way. With the FifoPi on-board isolator, ESS controller will be 100% isolated from ES9038Q2M DAC in this case. The processor of the controller will never have any galvanic impact to the DAC.


FifoPi_3
by Ian, on Flickr

Ian

Thanks Ian!

On a parallel topic, regarding the above mentioned pure sync operation between FifoPi and ES9038Q2M; Do you mean the so called 128 * Fsr mode that was stated in the datasheet of this DAC chip? (i.e. MCLK to be 128 * Fsr, and DPLL of 9038 is turned off)
 
Thanks Ian!

On a parallel topic, regarding the above mentioned pure sync operation between FifoPi and ES9038Q2M; Do you mean the so called 128 * Fsr mode that was stated in the datasheet of this DAC chip? (i.e. MCLK to be 128 * Fsr, and DPLL of 9038 is turned off)

My ESS controller can set (OLED manual by knob or remote control) ESS DAC into pure sync mode with DPLL 100% stopped at same time. To make it exactly 128*Fs, you need to use XO on the FifoPi with frequency correspondingly.

Regards,
Ian
 
May be my question is still discussed here. I couldn't read 475 sites...

If I use Ians FIFO-project (need 8 channels input and output), use his LVDS , then there is the XO from the FIFO and a clock at the end of the line: DAC or DigitalAmp like I-AM-D.

Could someone please show me or link me to the way how to arrange a "one clock" soloution for this?

There could be a DAC - which? - (I would use 2x4 channels) or better something like the TI-Amp (above). Is there a Ian-DAC, timing with his FIFO-LVDS-project? Or how could this be down with an TI-Amp?
 
Any module that can receive I2S can be used with Ian's FIFO.

Yes. Thank you. Could you please tell me, where to go in - using McFIFO and McDualXO (master)?

Attached the TI spec for TAS5548, page 107.
 

Attachments

  • tas5548_TI_spec_s107.jpg
    tas5548_TI_spec_s107.jpg
    339.5 KB · Views: 527
From the TAS 5548 spec: "The external crystal used must be 12.288 MHz"

From Ian's McDualXOmanual.pdf: 12.288 only supported up to 96 KHz.

So this is not usable ... :(


Install 24.576M XO on FIFO and use any kind of clock divider to get 12.288Mhz out of it. A simple flip-flop will do the job. Perhaps you need to convert everything to 48K/96K/192K so that you can keep 12.288Mhz output all the time.
 
Last edited:
Ok. I don't like bad compromises. For me it looks like I have to change my thoughts in direction to a dac-solution (I am since years at the TIs...). But I need 2x4 channels. At first step 2x2 channels... (2ch at each box). I saw, that there are much electronic-steps instead of a "digital"-amp: dac + outputstage + amp.

Could you give me an advice (link) to a good dac-project? I think (don't know) PCM1794 is out of date...? I started reading about ES9038 Pro. But there are boards, which are too expensive for DIY (even if the chip is more expensiv). If I would go this way, I would prefer a concept, where I could test a tube output stage i.e. . I saw something here from a chinese guy. But seems to be very huge - compared to the dacs :)
 
"The PCB also includes 2.54mm spacing socket direct from the DAC differential output for user to connect their favourite IV stage and bypass the default onboard."
You can build your own I/V stage to potentially sum the outputs for better sound and get balanced outputs.
I think the other board is 2ch only.
 
"The PCB also includes 2.54mm spacing socket direct from the DAC differential output for user to connect their favourite IV stage and bypass the default onboard."
You can build your own I/V stage to potentially sum the outputs for better sound and get balanced outputs.
I think the other board is 2ch only.

Yes wealas. You are right. I would use 4 boards of the 9038 Pro. But the 8ch board is really very interesting - the more i have a look. Because I need at least 2 boards (at every speaker one): 2 ch of the 9016 channels should be used parallel...? Do you know if here is a link to a mod-thread?