I want to feed an audio signal generated by a Cortex M into a legacy IC that accepts 0.9 V max, and draws 1.8 mA max.

Clever people told me that a voltage divider would drain too much voltage out of the Cortex M, and that I should use an opamp with gain 1/4 instead.

Of course I have no experience with opamps at all. Looking at the selection at Digikey, I don't even know what to filter for, since "gain" seems to be a mostly irrelevant term for most opamps there.

Assuming it is as simple as I imagine, can you point out what terms or values I need to look for?

And if it's more complicated than that, can you describe what kind of opamp and circuit I need for this?

  • 4
    \$\begingroup\$ You don't need an opamp. "Drain too much voltage" is nonsense, a suitable attenuator made from 2 resistors (and possibly a DC blocking capacitor) will work. There is scope to go wrong by choosing wrong resistor values, but since you haven't told us enough about either IC, we can only guess. My guess would be 10 kilohms from the ARM Cortex and 3.3K to ground. \$\endgroup\$ – user_1818839 Apr 7 '19 at 12:10
  • \$\begingroup\$ May be related. \$\endgroup\$ – Unknown123 Apr 7 '19 at 12:14
  • 1
    \$\begingroup\$ What is your "legacy IC?" A voltage divider may be enough. It might be necessary to use an opamp. Not because it would "drain too much voltage" but because the input resistance (or more correctly "impedance") of your IC is too low. It really depends on that IC. \$\endgroup\$ – JRE Apr 7 '19 at 12:28
  • \$\begingroup\$ Oops, sorry, I meant "drain too much current", of course. \$\endgroup\$ – larsb Apr 7 '19 at 13:12
  • \$\begingroup\$ The generator is a STM32F72xxx/73xxx (not settled), and the legacy IC is a SN76494. \$\endgroup\$ – larsb Apr 7 '19 at 13:14

It took a while, but I found a copy of the datasheet for the SN76494

This diagram from the datasheet shows a buffer amplifier for the audio in on pin 9.

enter image description here

I find no mention of the input impedance of the IC, but with the buffer there it would be reasonable to assume a fairly high input impedance. Assuming it is at least as good as the ancient LM741, the input impedance ought to be several hundred kiloohms.

A relatively low impedance voltage divider should do just fine. An opamp shouldn't be needed.

Assuming your processor operates at 3.3V, and the maximum current from a GPIO pin can be 25mA, then a voltage divider with a total resistance of 132 ohms would be allowed.

You probably don't want to go that far, though.

A voltage divider of a total 1.3k ought to be low enough to work without unduly loading the GPIO.

So, a divider using a 1.2k and a 390 ohm resistor ought to do. That gets you about 0.8V out of 3.3V, and draws about 2mA from the GPIO pin.

  • \$\begingroup\$ Thanks for your detective work, I'll give it a try. \$\endgroup\$ – larsb Apr 8 '19 at 7:06

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.