MCUs from Microchip, STMicro, TI, and many others have excellent PWMs built in.
The 16-bit MSP430F5172 from TI is a good one, though limited to 32k flash 2k RAM. It’s only $1.70 in 1,000 qty. The PWM has 4 ns resolution.
From the MSP430F5172 data sheet:
TD0
TD0 is a 16-bit timer/counter with three capture/compare registers supporting up to 256-MHz / 4-ns resolution.
TD0 can support multiple capture/compares, PWM outputs, and interval timing. TD0 also has extensive interrupt capabilities. Interrupts may be generated from the counter on overflow conditions and from each of the capture/compare registers. External fault inputs as well as a external timer counter clear is supported along with interrupt flags from the TEC0 module.
Also STMicro makes a number of stand-alone PWM chips with features like these from the SG2525:
- 8 to 35 v operation
- 5.1 v reference trimmed to ± 1 %
- 100 hz to 500 khz oscillator range
- Separate oscillator sync terminal
- Adjustable deadtime control
- Internal soft-start
- Pulse-by-pulse shutdown
- Input undervoltage lockout with hysteresis
- Latching pwm to prevent multiple pulses
- Dual source/sink output drivers