Teensy 3.6 attempt to integrate Audio Adaptor to PCB

barahlo

Member
Hi!
I'm trying to integrate an audio adaptor into the PCB of my synth. Copied Schematic, Rev C
For some reason, there is nothing on a headphone output, meanwhile, USB output works correctly.
I believe i made some mistake but I cannot find it, schematic seems to be right, voltages also.
Could it be fake sgtl5000? I ordered it from Aliexpress. Any ideas on how it can be checked?
Maybe someone has any ideas about what i did wrong

Screenshot 2023-05-30 154825.jpg
DSC03530.jpg
 
Buy semiconductors from a trusted supplier or you will almost certainly get fakes....

Yeah, i heard that fake semiconductors are a big problem, but I'm in Ukraine and local suppliers don't have this chip in stock now, so i tried Ali...
Is there any way to test-check if the chip is fake/not working? Maybe there is some correct resistance or voltage on pins that i can check?
But i still think its more possible that i made a mistake, and just don't see it.
 
Is there any way to test-check if the chip is fake/not working?

First step would be checking if it responds to I2C with the expected address. The main gotcha is it won't answer unless MCLK has a clock signal. So you can't just run the Wire library Scanner example.

With Teensy 4.x this is much easier, since the pin used for MCLK also has PWM. You can just use analogWriteFrequency and analogWrite to easily get a clock signal on that pin.

For Teensy 3.6, you could try modifying the Scanner example to also include at least 1 instance of I2S output. Just having the object instance in your code should be enough to get MCLK to turn on. You can check it with a scope or logic analyzer, or even just a DC voltmeter reading approx 1.65 volts should be good enough to know you have a clock.

When the MCLK signal is present, Scanner should recognize it as SGTL5000. While that's not 100% proof the chip is genuine, seems pretty unlikely someone would create a counterfeit that communicates on I2C as the genuine chip but doesn't implement the audio stuff.

If the chip does respond to Scanner, the next step would involve checking the voltage on VAG and HP_VGND. The should be about 1.5 to 1.6 volts if the chip properly initializes.
 
First step would be checking if it responds to I2C with the expected address. The main gotcha is it won't answer unless MCLK has a clock signal. So you can't just run the Wire library Scanner example.

With Teensy 4.x this is much easier, since the pin used for MCLK also has PWM. You can just use analogWriteFrequency and analogWrite to easily get a clock signal on that pin.

For Teensy 3.6, you could try modifying the Scanner example to also include at least 1 instance of I2S output. Just having the object instance in your code should be enough to get MCLK to turn on. You can check it with a scope or logic analyzer, or even just a DC voltmeter reading approx 1.65 volts should be good enough to know you have a clock.

When the MCLK signal is present, Scanner should recognize it as SGTL5000. While that's not 100% proof the chip is genuine, seems pretty unlikely someone would create a counterfeit that communicates on I2C as the genuine chip but doesn't implement the audio stuff.

If the chip does respond to Scanner, the next step would involve checking the voltage on VAG and HP_VGND. The should be about 1.5 to 1.6 volts if the chip properly initializes.

I connected Teensy 4.1 through jumper cables to my pcb, swapped 3.6 pin order to 4.1. Loaded Scanner example and added "analogWrite(23,20)" in a loop... "No I2C devices found"
Voltages on VAG and HP_VGND are also wrong.
So looks like its a fake chip problem(
 
Back
Top