Wenn ihr mit Stufen einzelne PWM-Schritte meint, dann werdet ihr nicht wirklich glücklich ...

.. wie fd0 schon schrieb, sollten diese als Quadratur-Reihe steigen.

Hier die Werte für meine 65 PWM-Stufen (über einen Bereich von 4096 PWM-Schritten)!
Code:
int pwmstep[65] = 
{    0,    1,    4,    9,   16,   25,   36,   49,   64,   81,
100,  121,  144,  169,  196,  225,  256,  289,  324,  361,
400,  441,  484,  529,  576,  625,  676,  729,  784,  841,
900,  961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521,
1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401,
2500, 2601, 2704, 2809, 2916, 3025, 3136, 3249, 3364, 3481,
3600, 3721, 3844, 3969, 4095};
Bei "meinem" firefly nutze ich pro Modul 3 MBIs (für jede Farbe einen) und einen uC .. und davon dann pro Ast 7 Module = 112 RGB-LEDs ..
Auf Grund dessen, daß sich meine LEDs (in 7 Modulen) auf einer Achse befinden und sich diese mit > 300 U/min drehen, habe ich nur rd. 700 us für einen PWM-Zyklus Zeit. Daher waren die 25 MHz Taktrate für mich wichtig.
Und die ICs nehmen einem viel Arbeit ab! Und sie sind kaskadierbar ...

Und wie Hessi' schon schrieb, Du kannst den MBI natürlich auch mit weniger Takt füttern ...

Viel Erfolg!

Bild hier  

Ergänzend: das Scrambling des ICs macht auch aus "wenig PWM" ein "schönes" Leuchten ...

Und was wichtig ist, mit entsp. Vorwiderständen pro LED kann man die LEDs mit 12 V versorgen ...
.. denn 100 RGB-LEDs = 6 A

(Und von TI gibt es auch einen, jedoch ohne Scambling, der kann 30 MHz PWM TLC5941, wenn er denn zu bekommen ist.)