Hey Werner,
der bisherige Code steuert ja mein 128x64 Pixel LED-Display (rot/grün). Ich hab's mit 128x96 getestet, dann muss ich aber wieder runter auf 57.600, weil die Timer-Routine zuviel Zeit in Anspruch nimmt. Meide Idee ist, die Display's in Module á 128x64 aufzuteilen und dann mehrere, z.B. 6 St. an einen xMega anzukorken, der ja 8 UART's hat und diesen dann mit max. Speed zu feuern. Somit ist man flexibel und kann entweder nur ein Display direkt treiben oder aber mehrere über den Master-xMega. So könnte man dann ein großes Display mit z.B. 384x192 ansteuern...
Alternativ würde sich auch die Ansteuerung der einzelnen Module per SPI eignen, die UARTs können ja auch als SPI-Master betrieben werden, allerdings hat der M644 bzw. M1284 nur einen SPI, wenn ich mich recht erinnere.
Aus meiner Sicht gibt es daher nur zwei Möglichkeiten, die Baudrate zu erhöhen: Timer-Routine optimieren oder UART-Buffer vergrößern bzw. effizienter gestalten. Ggf. kann ich anstatt eines M644/1284 nen xMega nehmen und alle SPI's nutzen, allerdings befürchte ich, dass das nicht viel bringt, da Bascom halt immer entscheiden muss, welchen SPI es gerade nehmen soll. Ich hab dann zwar ne schnellere Hardware, aber die Software ist langsamer
Ich hab schonmal probiert, den Inhalt des UART's direkt per DMA in die LED-Buffer zu schieben (auf dem xMega). Das klappt auch, aber dort ist schon bei 38.400 Schluss.
Gruß
Jan
der bisherige Code steuert ja mein 128x64 Pixel LED-Display (rot/grün). Ich hab's mit 128x96 getestet, dann muss ich aber wieder runter auf 57.600, weil die Timer-Routine zuviel Zeit in Anspruch nimmt. Meide Idee ist, die Display's in Module á 128x64 aufzuteilen und dann mehrere, z.B. 6 St. an einen xMega anzukorken, der ja 8 UART's hat und diesen dann mit max. Speed zu feuern. Somit ist man flexibel und kann entweder nur ein Display direkt treiben oder aber mehrere über den Master-xMega. So könnte man dann ein großes Display mit z.B. 384x192 ansteuern...
Alternativ würde sich auch die Ansteuerung der einzelnen Module per SPI eignen, die UARTs können ja auch als SPI-Master betrieben werden, allerdings hat der M644 bzw. M1284 nur einen SPI, wenn ich mich recht erinnere.
Aus meiner Sicht gibt es daher nur zwei Möglichkeiten, die Baudrate zu erhöhen: Timer-Routine optimieren oder UART-Buffer vergrößern bzw. effizienter gestalten. Ggf. kann ich anstatt eines M644/1284 nen xMega nehmen und alle SPI's nutzen, allerdings befürchte ich, dass das nicht viel bringt, da Bascom halt immer entscheiden muss, welchen SPI es gerade nehmen soll. Ich hab dann zwar ne schnellere Hardware, aber die Software ist langsamer
Ich hab schonmal probiert, den Inhalt des UART's direkt per DMA in die LED-Buffer zu schieben (auf dem xMega). Das klappt auch, aber dort ist schon bei 38.400 Schluss.
Gruß
Jan