1
\$\begingroup\$

I'm a mechanical engineer with some light knowledge of electronics. I might not understand immediately, but whatever knowledge you provide I'm sure with enough hours of googling I'll be able to figure out what you're saying.

I'm in the process of designing a device that requires many PWM signals. To give you an idea of the finished product, these PWM signals will be driving each their own mosfet switching voltage to be applied to a piezoelectric transducer. My goal is to provide each piezo with a basically analog signal. Each signal is guaranteed unique, independent in terms of phase timing, and likely not sinusoidal. By many signals, I mean between 150 and 500, the final number hasn't been designed yet. The signals will also be changed from time to time, all loaded in at the startup of the device. So these signals are not hard coded in, but once each analog full waveform is loaded in, the pwm will be sending off that signal until shutdown.

So, my thought process is if I can get enough PWM signals at high enough frequency, I can have a few period passes per analog value and get an averaged value to apply to the piezo. These signals will be a maximum of 1MHz (if the signal does happen to be sinusoidal). All signals will share a PWM period length.

So, in my research I've found the CYT2B73CADQ0AZSGS 1 chip from infineon, which appears to have 75 separate PWM channels and is quite cheap at only around $5. Im thinking I will buy a few of these and split all the signals between them and simply run them all, but with these high frequencies, I want to ensure the MCU can keep up. My calculations are below.

With the clock frequency at 80 MHz, I will set the PWM resolution to 15 values (counts up to 14, then the counter resets to 0), results in a PWM frequency needed of 5MHz, found with the below equation:

F_clk/((1+PWM_res)) = PWM Frequency

This has a period of 200ns. Which means I should be able to get exactly 5 cycles of this PWM period for each averaged analog signal at 1MHz.

My question is, what can I look at/calculate with the datasheet in the linked datasheet 1 to prove this can be met before purchasing? Is my thinking correct in my above calculations to get a decent averaged analog output?

PS: I know the piezo will not be nearly as responsive at a non resonant frequency. My hope is to apply a gain to adjust the output to be a bit smoother as needed, and I also believe I don't need a strong output anyway.

Any help you can provide is appreciated!

\$\endgroup\$
2
  • \$\begingroup\$ I didn't read everything you wrote. I was skimming. Until I saw this: "prove this can be met before purchasing?" Then I wondered why you don't just get this eval board and verify for yourself. You likely will need one of these, anyway, to write, test, and validate code that you will later put on whatever you create, later. (Assuming it works.) Seems you have done significant investigation to find this device. The risked money seems well worth it. \$\endgroup\$ Commented May 16 at 6:50
  • \$\begingroup\$ Your bigger issue won't be the hardware meeting the static PWM frequency requirements, rather, it will be the software overhead to process the the analog data and update the PWM comparators all independently. DMA will help a lot here, but several DSP's may be a better approach. More details are needed to make the best decision. \$\endgroup\$ Commented May 16 at 16:57

1 Answer 1

2
\$\begingroup\$

This is best suited for one or more FPGAs.

FPGA’s excel at parallel tasks. They have ram for storing your waveforms and logic for implementing the PWM controller. 80Mhz is fast but shouldn’t pose too much of a problem.

You didn’t say how long your stored waveforms are. That along with pin count would be the main constraints for device selection. The PWM controller itself would be about a page of code using very few resources that would be instantiated as many times as you need.

FPGA’s have a reputation for being harder than MCU’s. But it depends on the application. For parallel applications FPGA’s can be much easier. And they have much less documentation to read because they’re basically a blank slate.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.