PC-based DVR gets PCI performance from USB - Embedded.com

PC-based DVR gets PCI performance from USB

I admit that I don't watch all that much television. So it wasn't really familiar with the ATI TV Wonder 650 product. I know about DVRs, but I really wasn't aware that the ATI Wonder 650 fell into the digital video recorder (DVR) category.

Like most products that I take apart, I put the ATI Wonder 650 through its paces first. That gives me a feel for the end-user experience, as we all know there's a lot more to a product than the chips that are on the board. Oftentimes, it's the software and/or the user interface that determine a product's success.

View the full-size image

I was pleasantly surprised when I plugged the ATI Wonder into my PC. Note that it connected to my PC, rather than my TV. At one end, it took the coaxial cable from my cable provider. At the other end, through USB, it connected to my PC. The scuttlebutt on such products was that they either required a higher speed interface, such as Firewire, or they provided low-quality video. I'm happy to report that the quality of the video transferred through the USB port was more than adequate.

I came to learn that that realization was the key to the design, at least from a usability perspective. Users demand the simple plug-and-play afforded by USB. Anything more complex often results in a returned product.

For ATI, now a division of AMD, the Wonder 650 is the first product to feature the hardware encoding technology needed to output television signals to a PC through USB. The product was designed about two years ago, and hit the shelves in stores a little over a year ago. The actual design cycle was about seven months from first conception to manufacture.

While this wasn't the first USB-based product available, it was the first that wasn't driven by a complex design and multiple ASICs, at least in the USB subsystem. There is a pair of ASICs on the board, developed by the AMD engineers. One is the Theater 650 Pro, which is for the video and audio decode, and the hardware MPEG encode. That's on the system's front end, to demodulate the analog TV, whether it's over the air or cable.

The Theater 650 Pro employs two interfaces that natively support PCI Express as well as a bridgeless version of PCI. For this particular design, the Theater 650 Pro doesn't have the flexibility to natively support USB. Hence, a bridge–actually a USB device port for the host system–was required, which was developed by PLX.

View the full-size image

According to Matthew Kreiner, a product-marketing engineer at AMD, “The PLX solution gave us great flexibility and transparency at a bridge level between PCI and USB.”

Then there's a transport stream output from the Theater 314 ASIC. The 314 does the demodulation of the ATSC (Advanced Television Systems Committee) and DTV signals, and also supports digital cable.

While these two ICs were developed by AMD specifically for the ATI Wonder 650, they are available to other original equipment manufacturers. In fact, two different OEMs have delivered products using these parts–Visiontech and Diamond Multimedia. Dell is also a consumer of these devices, but they've designed a product based on PCI Express. Otherwise, it's fairly similar to the Wonder 650.

AMD looked at other solutions besides PLX when it came to the PCI-to-USB bridge. But it was more than the features of the silicon that were attractive to AMD. Says Kreiner, “They also simplified our development with their software interface. They provide the software interface that lets their chip talk to the Theater 650 Pro. We're implementing our Compact PCI protocol that's built into our core driver for Theater 650 Pro.”

Other than the aforementioned software, AMD did all the remaining software development in-house. But a lot of it was done beforehand because the Theater 650 pro uses AMD's common driver architecture with a unified audio and video driver and a unified broadcast driver architecture, which is compliant with Microsoft's APIs. Hence, the product can also drive TV signals into common Microsoft's applications, such as Windows Media Center.

In spite of the obvious electrical engineering challenges, AMD also struggled with the mechanical design, particularly due to the design of the plastics and external casing needed to bring a product like this one to market. There were EMI issues, as well.

“PLX came into the fold because we had worked with ATI in the past on products. So we brought this part to them,” said Alex Chow, a senior product-marketing engineer at PLX. “They have a great product, but it had always been PCI-based. They eventually got interested in a USB-based product, but couldn't get the performance functionality that they needed. The first part they tried transferred the stream to USB. Ours takes the PCI bus directly to the USB connection.”

View the full-size image

The higher throughput provided by the PLX 2282 has to do with how it's architected. First, the integrated DMA engine provides a more effective way to handle scatter/gather, etc., using all the PCI DMA that's available on a standard PCI bus. The 2282 can achieve a transfer rate of up to 41 Mbytes/s by applying good engineering practices. That's about the maximum for USB 2.0.

Another crucial element provided by PLX is the software, as the PCI driver is very different from the USB driver. One is a memory-mapped-based driver and packet-based.

“In the past, it's been difficult to convert PCI data to USB data because of the software development,” says Chow. “We've provided this software, called remote PCI. As the name implies, we are converting the commands remotely through USB. It's a stack sitting between the PCI driver and the USB stack.”

This configuration allows the system designer to “glue” his PCI driver to the Remote PCI stack. Then the designer can optimize the commands and DMA setups for the application.

Richard Nass is editor in chief of Embedded Systems Design magazine and editorial director of TechInsights. He can be reached at .

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.