HI there,
I'm currently writing controller software for ES9038Q2M and ES9039Q2M DAC chips. Hardware is not up yet, so I cannot test but if possible I want to finish the controller software beforehand. I have some questions on how the "sync" mode (128fs mode) mode works on both of them.
I'm currently writing controller software for ES9038Q2M and ES9039Q2M DAC chips. Hardware is not up yet, so I cannot test but if possible I want to finish the controller software beforehand. I have some questions on how the "sync" mode (128fs mode) mode works on both of them.
- ES9038Q2M:
The datasheet says you need to set bit 4 of register 10 (128fs_mode, page 24) and disable DPLL, so you need to set register 12 bits 7:4 to 0 (page 26). AFAICT that's all that's needed. You then need to supply a MCLK of 128*FS, so for example a 24.576 MHz clock for 192 kHz sample rate. So if I would supply a 49.152 MHz clock I need to set the MCLK divider to 2 (register 0, bits 3:2, set to 2'b01, page 15)?
- ES9039Q2M:
The datasheet tells me to set bit 6 of register 1 to 1 (page 53). As far as I can tell clock divider ratio will be determined automatically by the chip, at least that's how I interpret the description of register 3 on page 54:
Automatically determine optimal (MCLK/CLK_IDAC ratio) according to detected FS.
• 1'b1: Enabled, overrides reg 3[5:0] SELECT_IDAC_NUM (default)
Last edited:
I haven't used ES9028Q2M but ES9039Q2M works as you described so I only set bit 6 of register 1. I have used ES9038Q2M which is similar to ES9028Q2M but it has separate setting to enable/disable ASRC (bit 7 in register 27). In ES9038Q2M sync mode works also with 256fs and 512fs MCK.
OMG, I made a massive booboo 🙂 I meant to say ES9038Q2M, dooooh. I revisited the datasheet for ES9038Q2M, now I realize that I looked at the wrong datasheet when describing things here but I looked at the correct datatsheet when implementing my stuff.
So:
Also thanks for the hint that ES9038Q2M also works with 256fs and 512fs MCK. I guess it does the clock dividing also automatically then. Will correct original post...
EDIT: please forgive me, several hours of coding late last night lead to some inattentive behaviour on my side 😉
EDIT2: I now realize that the MCLK divider to 2 (register 0, bits 3:2) only applies to I2S master mode which is completely irrelevant in this case.
So:
- Register 12 DPLL bandwith bits 7:4 set to 0b0000 => DPLL off IMHO still stands
- Register 27 bit 7 set to 0 => ASRC off was added to my code, thanks for that hint!
Also thanks for the hint that ES9038Q2M also works with 256fs and 512fs MCK. I guess it does the clock dividing also automatically then. Will correct original post...
EDIT: please forgive me, several hours of coding late last night lead to some inattentive behaviour on my side 😉
EDIT2: I now realize that the MCLK divider to 2 (register 0, bits 3:2) only applies to I2S master mode which is completely irrelevant in this case.
This is one thing those cheap boards are quite useful for.Hardware is not up yet, so I cannot test but if possible I want to finish the controller software beforehand.
I have observed the same behavior on the 9028Pro / 9038Pro, with 128fs mode enabled.
It looks like NOS, even though the different digital filters are still active.
Note that it comes with the classic NOS artifacting in the high frequencies. Doing a frequency sweep easily reveals that.
Plus almost sure it has the NOS high frequency roll-off (to be confirmed with measurements..).
It looks like NOS, even though the different digital filters are still active.
Note that it comes with the classic NOS artifacting in the high frequencies. Doing a frequency sweep easily reveals that.
Plus almost sure it has the NOS high frequency roll-off (to be confirmed with measurements..).
- Home
- Source & Line
- Digital Line Level
- Questions about programming the sync mode for ES9038Q2M and ES9039Q2M