Out-of-spec i2s clock voltage

I have 2 I2S microphones ( ics-43434 and the SPH0645LM4H ). both work well on esp-32 micro controller (sound recorded via i2s protocol, good quality).
on my jetson nano, only one microphone (the SPH0645) is able to record properly while the other one gives off static noise.
since both mics are configured similarly on their respective PCB (pull down resistor on SELECT pin for mono recording, capacitor between GND and 3.3v etc.) - I suspect the issue is somewhere else.
I measured with a scope and found that the signal on the clock pin is between 0.75v and 2v. on the ESP32 I get 0v to 3.25 clock signal. I do not believe this is according to spec. is this a configuration issue? I really want to use the ics-43434.

attached below - my scope snapshot.

thanks,
Aviv

1 Like

Hi Aviv,

Could you please share schematics? We would like to understand how these MICs are connected to Jetson.

Also, please probe clock signal without connecting to MICs and share snapshot here.

Thanks,
Sharad

picture above with and without connecting mic

here are the schematics :

Hi Aviv,

  • Which I2S interface are you using to connect to these MICs?

  • Kindly remove connections to MICs, run capture usecase on same I2S interface and probe I2S signals during the capture session (without MICs connected). Kindly share snapshot here.

  • Incase you have done code changes, kindly share Device tree changes and code changes related to sound card driver/node.

We haven’t encountered such I2S signal level issues on Nano and hence we need to check if all ok with your unit (without MIC connections).

Thanks,
Sharad

I see. I will conduct test without mic connected.
I am using 40 pin connector pins 35 and 38 for i2s ws and data respectivly ( it’s the default i2s setup from the jetson-io.py - Under “Configure Jetson for compatible devices” select the Adafruit SPH0645LM4H) and pin 12 for i2s clock.

should i try same test with another jetson nano? you think this might be a machine issue?

no code changes were made to the jetson sd image (found in “jetson-nano-jp451-sd-card-image.zip” i downloaded here.

Hi Aviv,

It could also be drive strength/grounding issue when connecting MICs. So let’s check I2S signals without MIC connections on same Jetson Nano.

Along with signal snapshots (without MIC connections), kindly share mixer settings/commands used for capture over I2S.

Thanks,
Sharad

investigation update :
after changing a faulty scope probe and removing the mic - clock line seems valid.

we connected the mic and tested again- clock is not stable and record fail.

we connected our mic with shorter cables and we got recording to work .

recording with the long cable (grounded) record works only on the ESP32.

we have 1.5m cable from sensor to q40-pin-gpio as the sensor needs to reach a very tight spot on our system.
It seem that the jetson nano is more sensitive to cable length (== noises?).

command used:
arecord -D hw:tegrasndt210ref,0 -r 44100 -f S32_LE -c 1 -d 10 -v test.wav

any comments or ideas on how to make this work will be appreciated. I’d rather connect to the jetson directly and not have to work around this (having the esp32 connected to the mic and relaying data to the jetson, for example).

thanks,

Aviv

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Hi,

Are you using Nano Devkit as it is or there are modifications like you have your your CVB?

thanks
Bibek