DMX-512 transmission successful

2010/06/02

Some fairly quick software work and I’ve got a baseline for DMX transmission from the Xmega DMX board ;-)

The code after the break is quick and dirty, and hogs the whole chip, but it works! The next step is to convert it so that it uses DMA, then enhance it to use timers and events so that the MBB/Make/MAB sequence and transmission is as lightweight as possible. The trick is to balance peripheral usage vs. interrupt overhead. Given the slop built into the DMX protocol, I can set the interrupts to lowest priority safely enough, and probably get the overall CPU time required to transmit a continuous DMX universe down to something like 0.05% of a 32MHz chip.

The next challenge is DMX reception, which can be done with interrupts, but can also potentially be done with timer capture channels. I’ll have to start with the dumbed-down version first of course…

Like this:

Related

One comment

Did you try http://www.mathertel.de/Arduino/default.aspx ? This is the most useful DMX library I found until now. Stable and versatile. And the best thing – it is free for NON-Commercial use. I don’t know if you want it commercially, perhaps you should ask Matthias.