View Full Version : A question of USB and DMX
shadow-61356
12-04-2010, 07:06 PM
I have read quiet a few of the threads on DMX and running DMX equipment in my DJ business, i do know enough about it to get the job done. as far as USB goes, i know you plug in usb hardware and it usually works. I know there are standards for each, ie you can run dmx from any dmx controller and it will work, as well as running any usb hardware from a usb port and it will work( pending having the right drivers ). my question is this, shouldnt all dmx dongles be the same? i mean they all run off the USB standard, and all push out the DMX standard, so in theory based off of the standards for both usb and dmx, you should be able to unplug the entec dongle, plug in the americanDJ dongle and still have everything work. as i said earlier, i know enough about these things to get the job done, but i have a lot to learn, can someone help to clear up my foggy understanding of how these things really work?
dirknerkle
12-04-2010, 07:52 PM
In your kitchen there are lots of kinds of knives, forks, and spoons. Each works similarly to the others yet they are different, aren't they? Same with dongles. There are lots of ways to implement an idea through various combinations of hardware and software, yet the end result can be virtually the same.
With DMX, yes there's a standard but how well a manufacturer adheres to the empirical standard is what makes a DMX dongle (or other DMX device) compatible. Some manufacturers cut corners to save money so they can sell a product at a lower price point; others go the extra mile and build industrial-strength gear that can withstand the heavy use of the theatrical industry. The goal of both types is the same, but the methods used to reach the goal are likely quite diverse. Since you're in the DJ world, you're pretty familiar with lighting effects, maybe dmx-controlled lasers, spots, etc. Some of it is of better quality than others, right? Some of them are known to "have problems," right? Well, that's how it works.
The entec dongle (and other types such as RPM's dongle, which is entec compatible) are usually plug-in devices that take a certain computer signal and translate it into the DMX data format, then send it down the wire to the destination devices. The USB port is usually used for them because it has faster communication electronics than most of the other ports on the computer and can reliably support the data stream.
The short answer is yes, they should be compatible. But like the forks, knives and spoons example, in practice, sometimes they are and sometimes they prove not to be, or they're saddled with specific guidelines/limitations for using them.
P. Short
12-04-2010, 08:47 PM
Actually, I don't think that they should all be compatible. Each manufacturer is free to make use of the USB capabilities and resources in any way that they desire. The USB bus is quite flexible, and the manufacturer can make use of this flexibility in many different ways. In many cases the USB controllers simply provide a data pipe, and the user has to 'packetize' the data over this bus; there are a multitude of ways to do this.
David_AVD
12-04-2010, 08:56 PM
DMX has a very specific data structure and timing. How many bytes go into each frame as well as the specific frame timing is nailed down in the official standard.
USB on the other hand is just a way to carry packets of information. It is not application specific. This means the PC software communicating with the USB - DMX dongle sends the data to it, but it's up to the dongle to actually send that data out as a 250Kb serial stream.
One way to do this is make the DMX dongle have a USB - Serial converter. The PC software configures it as asynchronous 250Kb, and sends bytes to it in a very controlled way to produce the DMX stream. This method relies on the PC doing very precise timing and often results in erratic output, especially on a heavily loaded PC.
The other way is for the PC to send start code and channel data to the dongle and let the dongle handle the DMX frame generation and timing. This produces a much better result as it doesn't rely on the PC for the time critical part.
Now, how the PC sends the data to the dongle (over USB) is not defined in any standard. Various manufacturers have come up with their own method over the years. This means that the various types are not compatible as each one has its own drivers or DLLs, etc.
Clear as mud?
RMullins
12-05-2010, 12:43 AM
I thought I had everything figured out but maybe not after reading this post. I was using the Velleman K8062 for my Halloween show but it kept locking up in the middle of a show. I also have a USB to RS485 converter based on the FT232R chip. I switched to it and never had another issue for the four days I had my Halloween show running.
I am using the standard DMX-512 Output pluggin. Am I actually running at the 240Kb rate with this setup or does it vary depending on the data being transmitted?
I ran 40 channels all with dimming so maybe it doesn't matter but would like to understand anyway.
ptone
12-05-2010, 01:31 AM
DMX is a very narrowly defined serial protocol, where USB has a lot more capability. As such while they are both standards - USB is not domain specific the same way DMX is. While it seems that things you plug into USB just work - they all need some sort of a software driver. For things like keyboards and cameras that adhere to a standard within USB, these are built into the OS. But when you plug in something more irregular - you need to install the driver. Each USB dongle has its own software driver. Some software wrap a bunch of these drivers into a single plugin.
-Preston
shadow-61356
12-05-2010, 01:33 AM
thanks guys, im still a little foggy with it all, but now i at least can see the blinky flashy thru the haze
David_AVD
12-05-2010, 01:34 AM
I know nothing about the K8062, but if it basically works but locks up during a show, that may be bad hardware.
I wouldn't think they'd be any dongle varieties that would almost work. If they use a different protocol (than what the dongle was expecting) to transfer data from the PC to the dongle, they just won't work at all I'd say.
RMullins
12-05-2010, 06:07 PM
Yes I forgot to mention I did have to download the USB driver for the RS485 module before it would work.
The driver for the RS485 said it makes the USB port look like a serial port. So basically I have Vixen spitting out data on the USB (serial) port and a module that converts it to RS485 out to my dimmers. Unless there is more going on in the module than I am aware of the data rate would be controlled by Vixen.
I guess my question is what data rate does vixen output?
Entropy
12-05-2010, 06:22 PM
If it is outputting DMX, it should be at 250 kbps.
FYI, DMX is basically asynchronous serial at 250 Kbps, using RS-485 signaling levels, but with some rather strict timing requirements added.
As DMX is highly timing sensitive, other tasks on the PC could mess up the timing if you are using a "dumb" dongle (which is what the USB-to-RS485 adapters are.)
That's why there are dongles like the Enttec USB DMX Pro and clones of it like RPM's dongle - Instead of the PC constantly sending out DMX data itself, with these dongles the PC just tells the dongle, "Send out this data continuously until I tell you otherwise" - the dongle handles the critical timing itself.
DynamoBen
12-05-2010, 07:19 PM
I guess my question is what data rate does vixen output?
If you are using a dongle similar to the OpenDMX dongle (FT232) then the baudrate is 250K at ~33Hz. When KC and I were developing the plugin we saw no errors at this speed, so we locked it in.
nomis52
12-08-2010, 12:46 AM
I was using the Velleman K8062 for my Halloween show but it kept locking up in the middle of a show.
The K8062 is possibly the worst USB interface I've ever encountered. See http://opendmx.net/index.php/Velleman_K8062 and the associated discussion page for the reasons.
Powered by vBulletin® Version 4.1.10 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.