Just wild thinking out loud here - when doing an audio design in the mainstream (not thinking high-end audio here) its fairly natural to reach for an opamp. How would mixing consoles ever get built if not for the ubiquitous NE5532?
When it comes to lashing up a digital audio design though there's nothing like an opamp in existence. Want to attenuate a digital data stream (say I2S) ? Want to make an LR4 digital crossover for a simple active speaker? Monitor a digital feed VU-meter style? It seems to me there's no opamp-like solution for building digital versions of things that analog opamp designs have mature and trusted solutions for.
What would it take to have a digital version of the opamp I wonder? First off we need a ubiquitous standard for representing digital audio. ISTM that I2S is already that - practically everything digital for audio comes with an I2S interface. Beyond that we need some digital number-crunching horsepower. That's getting more and more affordable by the day. One fly in the ointment though is that the most affordable MCUs capable of enough MIPs don't have I2S interfaces. I'm thinking the very low-end Arm M0s which go for under $0.50 a piece. Normally you need to shell out for a Cortex M4 which starts out in the $0.50 - $1 region in order to get I2S in and out. Almost all of those dirt-cheap M0s though come with SPI. If we're going to chain some digital opamps together perhaps SPI would be the channel of choice.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
I did a search on the most affordable low-powered Cortex M4s and ended up with AT32F421 which can be had for under $0.50 on Aliexpress and even lower on Taobao. It has two half-duplex I2S ports, 16kRAM and a top speed of 120MHz.
Are you sure? yes | no
Wouldn't it be just a set of algorithms for a DSP that implement the "opamp" configurations? What would be interesting is compiling a circuit of "opamps" into an equivalent DSP algorithm. Perhaps it's been done.
Are you sure? yes | no
Certainly that's one way to do it. But what is the DSP? Needs to be small, cheap, very low power. Some opamp circuits have quite direct algorithmic equivalents e.g. Sallen-Key filters can be implemented by digital biquads. But there are things in digital which can be done which opamps can't even dream of - like time delay. So the digital opamp can't just be limited to what (analog) opamps can do.
Are you sure? yes | no
I like your idea!
I imagine that someone would want to make a chip particularly for this - no MCU, just three serial interfaces, a hardware subtract, and a hardware multiply. A test device could be made from TTL ICs just for fun. I like the idea of using I2S personally, I imagine each chip would have BCLK and LRCLK, and then each in/out would have its own data line. So there is one BCLK net and one LRCLK net for the whole circuit, but each audio path would have its own wire. This design would introduce a delay of 1/f for each stage, that's the only issue I see. And why stop at op-amps? Certainly there are tons of interesting functions that could be implemented this way.
Are you sure? yes | no
I think doing it in TTL would just be for nostalgia sake, I abandoned TTL in the 70's when CMOS came along. I agree with your idea for implementation and also concur that we shouldn't stop at implementing only what opamps can do. For example a very useful digital function is upsampling and I've had some modest success with designing upsamplers.
Are you sure? yes | no