Hi all,
I'm using a CS8416 receiver to feed a WM8742 dac, using a coaxial output from an USB sound card everything works ok at 44.1khz and 48khz but if I set the ouptu at 96khz the dac can't decode the stream correctly, there is only noise at the dac output.
The cs8416 seems to work ok even at 96khz (the ouptut signal Bitclock, lrclock and masterclock are ok).
Is there any different setting on wm8742 for >48khz frequencies?
Thanks
I'm using a CS8416 receiver to feed a WM8742 dac, using a coaxial output from an USB sound card everything works ok at 44.1khz and 48khz but if I set the ouptu at 96khz the dac can't decode the stream correctly, there is only noise at the dac output.
The cs8416 seems to work ok even at 96khz (the ouptut signal Bitclock, lrclock and masterclock are ok).
Is there any different setting on wm8742 for >48khz frequencies?
Thanks
Same problem here 🙁
Using PCM9211 as DIR, feeding it with toslink. Using WM8742 as dac and everything works for 44.1/48kHz, but when switched to 96kHz it outputs weird noise.
Tried every possible configuration with registers on pcm9211 and wm8742 to no avail.
Anyone managed to get it working?
Thanks!
Using PCM9211 as DIR, feeding it with toslink. Using WM8742 as dac and everything works for 44.1/48kHz, but when switched to 96kHz it outputs weird noise.
Tried every possible configuration with registers on pcm9211 and wm8742 to no avail.
Anyone managed to get it working?
Thanks!
Words won't work too well certainly when the subject is broad and many variables are in question that are not mentioned in detail.
The chip itself is known as a good performer and can be found in many 24/96 capable devices and is not the cause unless it is defective. So... just like you tried out settings, registers and were the eyes and hands at the spot we need the same view and data for an opinion/explanation/root cause analysis. That is in your interest. Therefor posting schematics, pictures and chosen settings will work out better for your own interest. Imagine you being the person that needs to help a person with such questions. What would you ask for?
The chip itself is known as a good performer and can be found in many 24/96 capable devices and is not the cause unless it is defective. So... just like you tried out settings, registers and were the eyes and hands at the spot we need the same view and data for an opinion/explanation/root cause analysis. That is in your interest. Therefor posting schematics, pictures and chosen settings will work out better for your own interest. Imagine you being the person that needs to help a person with such questions. What would you ask for?
Last edited:
Wm8742 oversampling rate control (OSR)register value needs to be set to 00 (low rate) for less than 96k and 01 (medium rate) for 96k, maybe?
Tried setting OSR to 01, no change. Actually if I set OSR to anything, 44.1 and 48kHz still work. Have a feeling my STM32 is not setting registers via I2C properly. And you cant read from WM via I2C to confirm that register was written.
Will post schematic/images when I get home, but there is no error in schematic since it works flawlessly in lower frequency.
Didn't tried HW mode, a bit of a problem on current pcb. But I could figure something out if it does not work soon in I2C.
Will post schematic/images when I get home, but there is no error in schematic since it works flawlessly in lower frequency.
Didn't tried HW mode, a bit of a problem on current pcb. But I could figure something out if it does not work soon in I2C.
Last edited:
Schematic and PCB.
dac-sch — ImgBB
dac-pcb — ImgBB
This is software reset command for WM8742... I've been sending it to WM constantly and it does absolutely nothing. Which is weird since WM confirms it. Will investigate more.
i2s-ocs — ImgBB
dac-sch — ImgBB
dac-pcb — ImgBB
This is software reset command for WM8742... I've been sending it to WM constantly and it does absolutely nothing. Which is weird since WM confirms it. Will investigate more.
i2s-ocs — ImgBB
Last edited:
Removed resistors from SDA and SCL (to MCU) and tried with 100kHz and 400kHz. Same thing.
When sending volume commands I can only mute right channel and not left!
Register 0 and 1 - sending 0x3FF just lowers sound a tiny bit.
Sending 0x3FF to registers 2 and 3 mutes the sound on the right channel completely.
WTF am I missing here? -.-
I manually soldered the chip 2-3 times untill it worked, did I "burn the left channel logic"? Stupid, but... Fake chip? Bought it at Digikey though.
Same thing for register 4, when I set mute to both channels(bit 3 - SOFTMUTE to 1) nothing happens, like I never sent the command.
When sending volume commands I can only mute right channel and not left!
Register 0 and 1 - sending 0x3FF just lowers sound a tiny bit.
Sending 0x3FF to registers 2 and 3 mutes the sound on the right channel completely.
WTF am I missing here? -.-
I manually soldered the chip 2-3 times untill it worked, did I "burn the left channel logic"? Stupid, but... Fake chip? Bought it at Digikey though.
Same thing for register 4, when I set mute to both channels(bit 3 - SOFTMUTE to 1) nothing happens, like I never sent the command.
Got it working!
Something with I2C either on the WM or my STM32F0 discovery board. Got no clue what, but WM does not hear I2C commands correctly.
Connected it to SPI. Works like a charm. I can write to all registers now with instant change(also tried volume and soft mute).
So yes, it was OSR register on WM, not getting set properly via I2C.

Something with I2C either on the WM or my STM32F0 discovery board. Got no clue what, but WM does not hear I2C commands correctly.
Connected it to SPI. Works like a charm. I can write to all registers now with instant change(also tried volume and soft mute).
So yes, it was OSR register on WM, not getting set properly via I2C.

- Home
- Source & Line
- Digital Line Level
- Problem with WM8742 at 96khz