Introduction
The Starlight Xpress USB adapter is a wonderful device. It is extremely
flexible and make slow image downloads a thing of the past. However,
during my excursion into reprogramming the device, it dawned on me that the
full features of the 8051 (the built in microcontroller) were not being used.
My big pet peeve is the amount of cabling required for a simple imaging
session. Cables to attach the PC to the telescope, ccd camera, and
the color filter wheel became too much. I had to buy a PCMCIA serial
port adapter (for $70!) just so my poor laptop could connect to everything.
With the Starligh Xpress USB adapter, the perfect interconnect was used
to attach the camera. With a little hackery and some clever device drivers,
I could export the serial port on the 8051 to Linux, thus freeing up a port
on my laptop, but more importantly keeping the cable rat's nest down to a
dull roar. Now my color filter wheel connect directly to the USB adapter
by way of an RJ-11 connecter instead of the DB-9 used on the laptop. The
TrueTech filter wheel that I have uses telephone cable for the serial line,
so this make a nice connection between devices.
The Hardware Hack
The big problem with hooking up the serial port is that the EZUSB chip
is already soldered down on a PCB, and never meant to be changed. Of
course, making this change will totally void any warantee on your adapter.
If you screw it up, don't blame me. Having said that, its a pretty
easy hardware mod. All you need is a soldering iron, some solder, a
few short pieces of wire, a 7404 inverter, and an RJ-11 wall jack from Radio
Shack with the colored wires inside. Soldering wick is also a very
good idea.
A 7404 is not an RS-232 port driver. However, it does seem to work
well enough for my simple device connections. I flattened the pins
on the '04 and glued it to the top of the EZ-USB chip. Connect power
and ground to it. Both the TxD0 and RxD0 go through an inverter, but
in different directions. The TxD0 hooks to the input of an inverter
and the output connects to the serial line Tx. RxD0 hooks to the output
of an inverter of which the input came from the serial Rx line.
EZUSB Pin Description
The Software
The real magic comes in the new Linux device driver and EZUSB firmware.
I've added more functions to the EZUSB for serial port I/O. The
Linux driver now registers itself as a TTY device as well as a CCD camera.
The driver controls access to the USB device to allow multiple functions
to exist from the operating system standpoint. I did have to make
a small modification to GCCD, the imaging application, to add support for
TTY devices named ttysx? instead of ttyS?. GCCD just talks to the
filter wheel through the TTY driver, never knowing the difference between
the 16550 compatible serial port and my new USB creation. There are
some limitations to this serial port, however. It is stuck using 8-N-1
@ 9600 baud. Every astronomy device I've found uses this configuration.
As long as you don't plan on using the serial port for some high speed
communication, you should be fine.