This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM1808: Extremely noisy digital output with "ghost" values

Part Number: PCM1808
Other Parts Discussed in Thread: PCM5102A

Tool/software:

Hello. I'm a Computer Engineering student trying to build a digital guitar pedal. First, I'm trying to make sure the input signal is read correctly. I'm using a PCM1808 module called "CJMCU1808":

I couldn't find an exact schematic but from the looks of it, it seems to implement the basic typical application circuit from the datasheet. 

An STM32H743 (on a dev board) is the I2S master, 48kHz, 256Fs.

5V comes from the USB connection of the dev board with my laptop. 

  

The SPI1_RX is configured the same way.

When I was trying to output clock from HSE instead of the I2S' own MCO from the checkbox above, I couldn't get output from DOUT. I could only get output using HSE as MCK when I set the ADC as master - setting it as slave doesn't work when using HSE. Using the MCO from the MCU's I2S, I got output, while in slave mode.

Anyways, this is the clock config for when I was trying to drive the ADC with HSE:

But, just to clarify, I'm indeed not using HSE (MCO2) to feed the ADC clock. I'm using the I2S MCK.

I got the STM32 to generate the clocks by doing:

static void MX_I2S1_Init(void)
{
    // ... auto-generated CubeIDE stuff ... //
    
	uint32_t dummy_data[2] = { 0x00000000, 0x00000000 }; 
	HAL_I2S_Transmit_DMA(&hi2s1, (uint16_t*) dummy_data, 2);
}

When I play a note on the guitar, this is the ADC output on the logic analyzer before playing the note:

And this is the transient upon hitting the string:

Plugging the ADC into a DAC (PCM5102A) confirms that this is not a reading/logic analyzer artifact. The output sounds extremely noisy and distorted. The reading was made with my line filter off (all of the switching power supplies off), using only laptop battery power.

I also tried using the ADC as master, using the HSE MCK, which works, but renders this same output.

I'd like to know what I'm doing wrong.