ES9038Q2M Board

Hello !
OpenUAC2 project implementation on custom HW with ES9038 is on the way :)
PXL_20240327_172617988.jpg

The STM32 USB->I2S work, I2S signals looks good but es9038 didn't generate any signal.

I can read and write through I2C on es9038, I was surprised as the i2c address of es9038 is not 0x90/0x92 like mentioned on datasheet but 0x48 ? There is also another strange thing as the res1 register default value is not b11001100 but b10001100 ?

Clock on es9038 is good, voltage rails on es9038 looks good, I certainly miss something on es9038 init. If someone know how to simply output a analog signal with I2S data ?
 
  • Like
Reactions: 1 user
I was surprised as the i2c address of es9038 is not 0x90/0x92 like mentioned on datasheet but 0x48
These devices use 7-bit addressing (see attachment). For some reason ESS gives the address in 8-bit format in the datasheet (i.e. 0x48 << 1)

Can you list what values you use to initialize the registers?
 

Attachments

  • i2c_7bit.JPG
    i2c_7bit.JPG
    28.6 KB · Views: 14
Oups a newbie misunderstanding!:LOL:
I tried several combinaisons of registers, last try I only made a reset cycle toggling reset pin these way: L wait 10ms H.
1713893692961.png


I think it's maybe my volume control in fault :
1713895110074.png


I have binary stream on I2S bus, I see I2S_WS frequency change accordingly with Fs (ie 48ks i2s_ws=48khz, 96ks 96khz)
I comment all other functions

Success not so far :)
 
I check if I have 1.2V on pin 15: ok
check pin 21 reset: high level ok
I test with a volume value of 0x0 no change
1713896822303.png


You totally right I have to get rid of all reference to ak4490r and rewrite these portion of code, I'm only doing a quick check to be sure dac is working.

Next step: will try to probe signals directly on dac qfn package but maybe not tonight, a short circuit is quickly happening at the end of a day:)
 
Yep, can read, write and read back registers.
1713907035141.png

DAC_DATA looks good streaming audio data
DAC_LRCLK is 96Khz
DAC_BCLK is around 6.144 Mhz
DAC_MCLK is 49.152Mhz (feed by stm32)


I measure those signals probing on a resistor network array, maybe solder between pads and es9038 are not good. I think about testing spdif input. Also output the lock bit /register 64 could be helpful for me, I can map on a led to see.