1
\$\begingroup\$

What could be the reason of using these 3 PNP transistors on I2S bus (LRCK, BCK and DATA pins)? The DAC used in this schematic is PCM5102. I know for sure that this DAC would work without these transistors, so I just wanted to check with you and find the real purpose of them in this particular schematic.

PCM5102 DAC schematic

\$\endgroup\$
  • \$\begingroup\$ Whats on the other side of the transistors? Are you driving a long wire? What is the current capability of the DAC? \$\endgroup\$ – Gonzik007 Nov 16 '18 at 7:53
  • \$\begingroup\$ Ask the designer or provide comprehensive design details. \$\endgroup\$ – Andy aka Nov 16 '18 at 8:08
  • \$\begingroup\$ @Andyaka And stop drawing the schematic upside down! \$\endgroup\$ – winny Nov 16 '18 at 8:28
  • 3
    \$\begingroup\$ This could eventually serve as a (badly designed) 5V->3.3V level shifter. \$\endgroup\$ – dim Nov 16 '18 at 8:31
  • \$\begingroup\$ @Gonzik007 on the other side of the transistors is Qualcomm's CSR64215 bluetooth chip and the distance between PCM5102 and the chip is really short ~3-4cm. \$\endgroup\$ – user1258202 Nov 16 '18 at 9:15
2
\$\begingroup\$

These are level shifters from 1.8 V to 3.3 V (actually, only close to 3.3 V, but "close" counts in horseshoes, hand grenades, and digital inputs).

They are based on a diode offset level shifter. See Microchip's 3V Tips 'n Tricks for a longer explanation, but in short, by inserting a diode between the 1.8 V output and the 3.3 V input, and by adding a pull-up resistor to ensure that there is always a current flowing through the diode, the output's low/high voltage levels are shifted up by about 0.7 V:
diode offset level shifter

So a low signal of 0 V is shifted to about 0.7 V, which is (just barely) below the guaranteed low switching threshold of 1 V of the PCM5102's input, while a high signal of 1.8 V is shifted to about 2.5 V, which is (just barely) above the guaranteed high switching threshold of 2.3 V.

There are two problems with this:

  1. When the CSR64215 is driving a low signal, its output must sink all the current. It has an output impedance of up to 100 mV/mA, so with 2.6 mA, the combined voltage drop over the output and the diode can result in an output signal larger than 1 V.

  2. When the CSR64215 is driving a high signal, its output must still sink all the current, which flows into the 1.8 V power supply. If there is not another part of the circuit that uses up that current, the power supply can float up to a higher voltage.

To reduce the current that the low-voltage device must be able to sink, the diode has been replaced with the emitter/base junction of a PNP transistor:
diode offset level shifter with PNP

This behaves the same as the diode (i.e., you get the same voltage drop), but now most of the current flows into ground. (In this common-collector configuration, the base voltage is never lower than the collector voltage, so the transistor cannot saturate, and the base current is determined by hfe, which is about 100. The base resistors (R18/R19/R20) are not actually needed.)


Compared to an integrated level shifter like the SN74AVC4T245, this transistor circuit has a much smaller noise margin, uses more power, and generates switching noise on the power supply. But it's a little bit cheaper, which is the primary design goal of these Chinese boards of unknown provenance.


Actually, the CSR64215 can run its digital outputs at 3.3 V, but I guess that the bluetooth module used on your board is not available in that configuration.

\$\endgroup\$
  • \$\begingroup\$ I raised this question, because I've resoldered CSR64215 module on this board with the one which was previously working fine when it was connected directly to PCM5102 without using any transistors on I2S bus and I can not see any difference. So the question is this a real reason why they used these transistors? What are the side effects when the digital outputs are not at 3.3V? \$\endgroup\$ – user1258202 Nov 19 '18 at 18:45
  • \$\begingroup\$ The switching threshold is guaranteed to be somewhere between 1 V and 2.3 V, but in practice, it will be near the middle (1.6 V). So a high level of 1.8 V will work most of the time (although it can destroy your 3.3 V chip eventually). \$\endgroup\$ – CL. Nov 19 '18 at 19:46
  • \$\begingroup\$ But the question is will it have some kind of negative effect if I'll not use these level shifters in my design? Because right now I don't see any reason why I should use them in my design when it works well even without them. \$\endgroup\$ – user1258202 Nov 20 '18 at 6:42
  • \$\begingroup\$ If your CSR board outputs 3.3 V, it will work fine. If it outputs 1.8 V, it might work, but not well. \$\endgroup\$ – CL. Nov 20 '18 at 7:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.