Gast
#548362
Hallo! Ich trage mich zur Zeit mit dem Gedanken einen DMX-Controller nach folgendem Schema zu bauen: PC <-[USB(FTDI)RS232]-> Luminary LM3S811 Eval <-[SPI]-> mega32 <-> DMX Folgendes lässt mir die Konstruktion sinnig erscheinen: 1) Auf allen Übertragungswegen lässt sich eine Datenrate>250kBit/s realisiern 2) der AVR soll gleichzeitig DMX empfangen und senden bei 44Hz Framefrequenz und 512 kanälen. Da selbiger lediglich einen UART hat, erscheint SPI als sinvoller Kontakt zu Außenwelt. 3) Der mega32 hat mit seinen 2kB RAM genug Platz um den Kompletten 512 Byte Outputframe und den kompletten Inputframe zu puffern 4) Das Evalkit hat genug Power um neben der RS232 zu SPI Brücke auch noch intelligentes Merging durchzuführen. 5) Eine lösung mit mega8515 und USBN scheidet imo aus, da ich weder mit Material zu Ätzen eigener Boards ausgestattet bin, noch eine hinreichende Feinmotorik zum Löten von SMDs habe. 6) An den zweiten UART des LM3S811 ließe sich in Zukunft eine selbstgebaute Inputquelle anschließen (Fader/Taster die von nem zusätzlichen Board gelesen und nach RS232 gewandelt werden) Die Firmware stelle ich mir wie folgt vor: LM3S811 - UART0 RX Interrupt: - Speichern und Puffern der Auszugebenden daten - Queuen von Kontrollanweisungen - UART0 TX Interrupt: - Senden der DMX-IN Daten zum PC - Senden von gequeueten Kontrollmeldungen - SPI Interrupt - Senden der gepufferten Ausgabedaten an den AVR - Puffern der vom AVR kommenden DMX daten. - main() - abarbeiten von Kontrollanweisungen - mergen von DMX-IN/OUT (einfache verknüpfung nach Maske,LTP und HTP) AVR - UART TX Interrupt - DMX-Out - UART RX Interrupt - DMX-In - SPI Interrupt - Den Datenaustausch mit dem LM3S811 - main - starten des DMX-Out nach der Break - start/stop des DMX-Out auf kommando vom M3 Sollte es einen besseren Weg oder Denkfehler geben, bitte ich darum dies aufzuzeigen. mfg, bte