JESE company Logo
On-Line Shop DMX - USB Fault Tolerance
Web Shop

Associated Links

FTDI Guide

Take Away


To have relevant links to your articles or products included here, please

Contact Us



How to control DMX Interface USB Port Lock-up
- DMX INTERFACE FAULT TOLERANCE -
Risk, Mitigation, Diagnosis, Recovery and Prevention.

This article covers factors that affect the reliability of DMX interfaces that connect to a USB port on a PC or Laptop and ways to recover from error conditions.

The Problem domain
Central to this article, is the USB port on a PC or Laptop, factors that cause it to lock up, detection of the lock up condition and ways of recovering when it occurs. Because the advent of the USB port generally superseded the standard 9 pin RS232 connection for serial devices, many devices that would have previously used the old serial port utilise the equivalent provided by a USB port, bringing new problems and not realising features available from a USB connection.

With the original RS232 connection, interfaces connected directly to a dedicated port on the host PC who's task was exclusively to send and receive data in serial format. With out attempting to correspond with the interface hardware, the PC and controlling application has no way of determining if devices are connected or if they are, which the devices are. Connecting an interface to a USB port on a PC gives the PC and host application immediate visibility of which devices are connected and where they can be accessed. This has obvious advantages to developers making their applications find appropriate hardware and connect with out trying to talk to it first.

The original RS232 serial port is generally referred to as a Com port, short for communication port. Many DMX Software applications utilise a virtual Com Port (VCP) over a USB Port connection. This approach, whilst presenting the same functionality to the application developer as the original RS232 Com port, removes many of the advantages of connecting through a USB port. Using a VCP over a USB connection, once again requires a host application to search for appropriate DMX interfaces by trying all available Com Ports.

DMX Interface Hardware
Here we are going to look at the plethora of USB DMX devices that are currently on the market, all with different price tags and different features. The single feature of any device that is most relevant to this document is electrical isolation between the DMX512 connection and the USB connection to the PC. Many devices exist that have no electrical isolation between the DMX512 connection and the PC, making the PC vulnerable to the many transients that will inevitably be generated by the like of DMX fixtures such as LED luminaries and phase angle dimmer packs. Smaller transients will only cause the USB port to lock up, requiring that the USB port be reset, a subject we'll cover later. Larger transients will hopefully destroy the DMX interface before destroying the PC through the USB connection. Some manufacturers of DMX interface hardware will recommend the isolation units be deployed between the DMX interface and DMX fixtures, in lieu of any isolation within the DMX interface itself. This approach may still leave the DMX interface open to induced transients between the isolation unit and the DMX interface and is therefore not an optimal solution.

For the scope of this article, the reliability of your DMX control solution is more of an issue than the survival of your DMX interface and PC or laptop. As previously stated, transients conducted to the PC USB port are liable to cause it to lock up. An electrically isolated DMX interface will stop the majority but not all of then conducted transients from DMX fixtures reaching the PC USB port. The design of the Isolation in you DMX interface will determine how well transients are prevented from crossing the isolation barrier by inductance or capacitance. Importantly, but less relevant, DMX interfaces with an in and out connection for through operation should be correctly 120 ohm terminated to absorb reflected signals and transients alike.

Computer USB port
Having considered factors that affect the reliability of a computer USB Port, we now turn our attention to recovering from a locked USB port. In many instances, a locked USB port may not be detected by a DMX Software application. Using a VCP over a USB connection and a DMX interface command set that does not solicit responses for all commands is the perfect way to leave a locked USB port undetected. Many command sets employed by DMX interfaces have a simplistic interface protocol that does not require the interface to respond to many instructions, allowing it's absence to go undetected. It follows that the first line of defence is to employ a DMX software application and device that have a robust interface protocol to detect error conditions. Error condition detection is the prerequisite to error recovery.

At this point, we return to the VCP over the USB connection. As discussed earlier, using a VCP over a USB connection strips out the facilities provided by the USB interface to detect an error condition. It is therefore desirable to use the USB connection directly, avoiding the port abstraction provided by the VCP. Using a direct USB connection has the added bonus of device detection by name or serial number. When a USB device is connected to a PC, it causes the list of USB connected devices to be updated. This list of attached USB devices may be interrogated to allow the application or user to choose a suitable device.

Take Away
If you are interested in some examples of the way in which USB devices can be handled to manage fault conditions, then download the article
DMX Interface USB Fault Tolerance


Debugging and Testing
Thus far, the various pitfalls and ways in which the situation may be recovered from have been discussed. Any design should be verified for by testing. To create a fault condition is not always as straight forward as one may imagine, unless, that is, we are imaginative! Below is a rough and ready way in which a USB port on a PC may be caused to lock up. A lot will depend on the PC hardware, cabling and USB device used as to how effective it is.
DMX Address selector Please be aware, that in the unlikely event, the above approach should cause any damage to any of your hardware, discomfort to your self or any other undesirable consequences, we will not in any way be held liable.
To construct a tool such as the one pictured above, purchase a Piezo electric gas lighter from your hardware store and solder a short length of copper wire the electrode within the ignition guard. Operating the lighter will cause the sparks to jump within the guard in the usual way, whilst emitting a range of transients that should be good enough to simulate the conditions that are likely to cause a USB port to lock up. Now that the fault condition can be created, your condition recovery can be tested and verified.

Failure Mode Analysis
When your implementation should recourse to recovering from a locked USB port, it is sensible to record as much about the condition of the reset as possible. Failure analysis data such as time of day or traffic activity may help identify the original cause of the USB port lock up, thereby allowing action to be taken to further reduce the incidence of port lock up and make your application more robust.


- ENDS -

© JESE Ltd 2010

Site created and maintained by JESE Ltd.
© JESE Ltd 2016. Page last updated on 20 May 2016
FSB Logo
PLASA Logo