Looking for an I/O expander with PWM  - Page 1
Forum section: electronics / projects

author: Yaro
author_rank: Contributor
timestamp: March 03, 2016, 06:08:56 pm
content: Hi all,I'm interested to use an I/O expander with PWM capabilities for my project since MCUs doesn't provide me enought PWM outputs. I've recently tried MAX6966 and MAX6947 but, although it have an internal 32kHz clock, output PWM pins provide me just 120Hz of frequency. I've searched more but I can't find a PWM expander in QFN package, with 8 or more output pins, that provide me a higher PWM frequency(at least 10kHz or even better 100 or 500 or 1000kHz). Most of them don't specify output frequency and try them all is a bit expensive. Someone that have experience with this devices can advice me one?Thank you!

author: mongo
author_rank: Contributor
timestamp: March 03, 2016, 06:21:04 pm
content: If PCM is your need the PCA9685 may work if a prescaler will fit you need, but how many channels and how many separate frequencies do you need? The servo or led controllers tend to be a good source for this need.

author: ajb
author_rank: Super Contributor
timestamp: March 03, 2016, 06:55:08 pm
content: PWM frequency is of course tied to clock frequency but also PWM resolution. If you really want 1MHz PWM, you'll need a 256MHz clock at 8 bit resolution. If the high frequency is intended to make filtering easier, then you could do something like PDM instead of PWM which will effectively increase the frequency at lower duty cycles.For more reasonable frequencies, the TLC59401 has an external clock input spec'ed for 30MHz, and while it's designed to operate with 12-bit resolution (giving 7.3kHz PWM), the external blanking signal can be used to reduce the resolution and thereby increase the output frequency. The outputs are constant current, which may or may not be a problem for you.

author: kaadam
author_rank: Contributor
timestamp: March 03, 2016, 07:23:13 pm
content: I used 74HC595PW shift registers as an LED display driver in my Back to the Future Clock project. (Datasheet:http://www.farnell.com/datasheets/1886263.pdf) I only used it with a 50 kHz clock, but the datasheet claims 100 Mhz. Maybe you can try that, it not uses a standard serial communication line, but you can use with 3-4 GPIOs.Or you can go with a CPLD if it's not too expensive.

author: Yaro
author_rank: Contributor
timestamp: March 04, 2016, 11:23:29 am
content: Quote from: ajb on March 03, 2016, 06:55:08 pmWell, TLC59401 seems good at resolution and output frequency, what I was looking for PWM. But it's less versatile since I can't use this pins as I/O expanders, also it provide some errors checks that may create me some problems. I'm looking more for an I/O expander with PWM capabilities, but all I've found provide a 32kHz as maximum clock.About CPLD may be a choice, the price don't seems much higher compared to PWM expanders. I've searched some but I can't find how I can use them. I explain better, I'll interface I/O expander with an MCU so I should be able to control it with common interfaces like I2C to be able to update PWM duty cycle or set/read I/O pins, but it's possible with a CPLD? As I remember from FPGAs, I2C modules require some LUTs and also 8-12bit registers plus logic interface with I2C require some, CPLDs have enought logic to be allow me this?

author: FrankBuss
author_rank: Unknown
timestamp: March 04, 2016, 11:47:21 am
content: Quote from: Yaro on March 04, 2016, 11:23:29 amYou can use a small CPLD like the XC9572 with SPI, needs much less LUTs than I2C. But might be too small for implementing different duty cycle counters for multiple pins. It might fit in a small MachXO2 FPGA, like the LCMXO2-1200HC-4TG100C with 640 LUTs and 100 pin TQFP package. The nice feature of this FPGA family is that it works with 3.3 V only (depending on the type) and has internal flash.The cheapest solution would be to use a second microcontroller. There are microcontrollers with parallel port DMA output (some NXP LPC microcontrollers). You can create the PWM bit pattern in software for it and the DMA output gurantees exact timing. Probably such a microcontroller is even cheaper than an exotic PWM chip.

author: Smokey
author_rank: Super Contributor
timestamp: March 01, 2023, 07:17:09 am
content: Why are there no factory programmed micros that act as PWM expanders controlled over some serial bus (I2C, SPI, whatever)? If the MCP2221 exists and looks to be pretty popular, why no PWM version of that?https://www.eevblog.com/forum/projects/how-to-use-mcp2200-or-mcp2221-usb-chip-to-send-hid-mouse-data/msg962360/#msg962360There are lots of no-program chips that have PWM output, but none that I can find that have separate frequency control on each PWM channel like some micro can do.