A cool class D project

Status
Not open for further replies.
You won't be able to evolve this project into anything high-end, but it has countless other uses where you want something small and loud.

I have a replacement PCB design done for a Staples "easy button", which uses a Tiny25 from the same family, a M25P SPI flash and a TPA701 speaker amplifier. Fun little project made with about $5-6 worth of parts, and worth every cent to watch one of our finance guys freak out when their easy button starts playing Rick Astley.

The flash stores 31.25KHz/8-bit audio. The Tiny25 pulls the audio from the flash, linear-interpolates it up to 250KHz and sends it out a PWM channel. The TPA701 bandpasses the PWM signal back into analog, and fires it at the speaker. Thought about PWMing the speaker directly but the TPA701 method ended up being really simple, low power, etc.
 
If you could find a microprocessor with a 16-24bit ADC I am sure you could bring this up to a high end project. You might also be able to add a nice ADC chip and feed the system a digital signal for a much higher level of sound quality.
Personally I'd use an audio ADC chip and/or ASRC for the audio input, and feed that into a FPGA which would generate the PWM signals from a clock of a couple hundred MHz or so. But the resulting project still won't have feedback, which means that ripple on the power supply will pass right on through to the output, and nonlinearities caused by the output stage won't be corrected.

I worked on an AM radio broadcast transmitter design which worked exactly this way, generating PWM directly with a FPGA. We sampled the the RF output of the transmitter with a high speed ADC and did full adaptive precorrection, and did a bunch of other tricks I can't mention, to make the thing work well. There's no reason you couldn't throw the same technology at an audio amp, but at the end of the day you'll end up with a ridiculously complicated, expensive solution that will likely still not perform as well as a simpler, "full analog" solution like a UcD amplifier.
 
Personally I'd use an audio ADC chip and/or ASRC for the audio input, and feed that into a FPGA which would generate the PWM signals from a clock of a couple hundred MHz or so. But the resulting project still won't have feedback, which means that ripple on the power supply will pass right on through to the output, and nonlinearities caused by the output stage won't be corrected.

I worked on an AM radio broadcast transmitter design which worked exactly this way, generating PWM directly with a FPGA. We sampled the the RF output of the transmitter with a high speed ADC and did full adaptive precorrection, and did a bunch of other tricks I can't mention, to make the thing work well. There's no reason you couldn't throw the same technology at an audio amp, but at the end of the day you'll end up with a ridiculously complicated, expensive solution that will likely still not perform as well as a simpler, "full analog" solution like a UcD amplifier.

Thats fine and dandy but your solution is much more complicated then just interfacing a 16bit or 24bit ADC chip with this project. I wonder if you could send spdif or i2S directly to the chip and bypass the problem all together.
 
Status
Not open for further replies.