D9477-1 QAM Modulator

When you’re working with TV Tuner hardware its useful to be able to feed known / reliable QAM Annex B (US Cable) feeds at specific power levels into a device. It rules out any variation that you may encounter if you test too early with your normal home CableTV feed.

If you shop around on eBay you can pick up a quad (four channel) Scientific Atlanta D9477-1 device for $70 or so. Note the -1 suffix. A number of variations of this device exist, but the -1 model has a standard IEC power connector on the rear of the unit. The other -2/-3 models use custom power connectors more suitable for MSO equipment installations.

On the front of the unit you have some basic UI controls for adjusting frequency, boot mode, power levels and others. On the back of the unit is a pair of ASI input connectors and four RF output connectors, and a handy serial port for control. The network interface on the back is used during boot time only, to tftp its configuration from a central server.

I don’t have this software and I don’t have the tftp mqam.config file as a sample. If you have a working tftp configuration file, please contact me… I’d love to build an open source software stack to support the D9477-1 fully.

The device takes in digital television signals (ISO13818) transport packets via two ASI connectors on the rear, then feeds some or all of that payload into its internal muxer. It then upconverts those audio/video streams into four discrete (frequency agile) QAM-B RF channels. In effect, you can create a four channel in-home cableTV station - which is really handy for doing development work. Neat!

The device has an interesting mode of operation: If you don’t have the ASI inputs connected, the device outputs four RF channels containing NULL transport packets at exactly the right data rates to make the device useful for basic RF demodulator work. So you can use it to help debug your QAM-B demodulator driver project, without needing additional equipment!

Where it shines, and the reason I use it, is that I feed in a single ASI input stream containing error free audio and video channels, and I can test everything from RF demodulation, all the way through drivers, codecs, middleware, UI, upto and including gStreamer and VLC… in a very closed and controlled environment. So, testing is 100% reliable and reproducable regardless of the conditions. This is something that cannot be said for RF testing on a standard cabletv feed. I test in a fixed environment first, then switch to a regular cabletv feed once the tuner performance has been categorized.

I’m really underselling the important points of the D9477-1 but here’s the real reason this article needed to be written. I’ve figured out how to control the device through its serial port, so its possible to automate certain aspects of its behaviour. Why do I need to automate it? I can dynamically adjust its output power levels and RF frequencies in order to build an automated RF test rig, enabling engineers to characterize the performance of different drivers or hardware products. For example, Manufacturer X vs Manufacturer Y, or product X vs Product Y. Different products from different manufacturers often have different performance characteristics, so identifying these early often influences our business decisions.

Here are my notes on how to control and configure the device using the serial port.

This article isn’t the whole story. An automated plant sweep, needs additional software tools of course, but being able to tune a TV Tuner to multiple frequencies and multiple power levels, overnight, and collect your SNR, BERT and uncorrectable data after a 8hr automated test is truly a wonderful thing, and a killer time-saver.

We continue to build and improve the plant in the lab, but I wanted to point out that I have a bitbucket.org source code tree for a D9477 serial port control tool. If this is of interest to you, or you are interested in the D9477 generally, drop me an email using the details on the contact page. I’d love to discuss it with you.

I’m happy to share this tool with anyone.

Importantly and again, if you have access to the HeadEnd software to control the D9477-1, or a sample tftp configuration file then please get in touch.