Hi Micha,

die Bascom Hilfe schreibt zur Frequenz folgendes:
"A minimum CPU-speed of 8 MHz is required. Tests with WS1812b- types showed, it also works with frequencies down to 6.5 MHz because of the tolerance bandwidth by the chips."
Ab 8 Mhz bist Du auf jeden Fall auf der sicheren Seite.

Zu Deinem Gedankengang:
Wenn Dein "Haupt-AVR" die Daten schon so weit vorbereitet, ist die meiste Arbeit ja schon erledigt. Ob Du nun die 2304 Bits zu Deinem Anzeige AVR oder gleich direkt zu den LEDs sendest, ist eigentlich nur noch eine Zeitfrage.
Die reine Datenübertragung zu den 96 LED würde ca 2,93 ms dauern (falls ich mich nicht verrechnet habe).

Die Rainbow.Lib arbeitet nämlich genau nach dem von Dir beschriebenen Gedankengang:
Sie legt einen "Farbspeicher" in Form eines Arrays an. Die Größe des Arrays entspricht der LED Anzahl x 3 (also Deine 96 LEDs * 3 = 288 Bytes bzw 2304 Bits).
Beim Senden wird der Inhalt des Farbspeichers zu den LEDs geschoben (mit dem passenden Timing).

Also wenn Dein Haupt-AVR die 2,93 ms nicht entbehren kann, und es Dir um ein möglichst große Entlasung des Haupt-AVRs geht, würde ich nur die "Nutzdaten" zum Anzeige-AVR senden. Diese wären:
- Die anzuzeigenden Werte für jede 6-stellige Anzeige (2x DWORD = 8 Byte)
- Die gewünschte Farbe für jede Anzeige (2x 3 Byte = 6 Byte)
So müsste man nur 14 Byte (anstelle 288 Byte) übertragen. Der Anzeige-AVR kann diese Daten anschließend aufbereiten, auf den Farbspeicher mappen und anschließend zu den LEDs senden.

Es führen, wie immer, viele Wege nach Rom.

Nette Grüße,
Rob