• Channels
Part Inventory
Go
 
powered by:

 
  • Quick Poll
What Social Networking site do you use the most?



VOTE VIEW RESULTS
Previous Polls

Premium Content

New Signal Chain Technical Papers from Texas Instruments:

 

 

 

Building A COM Express DVR


William Wong

August 01, 2007

Print
Reprints Comment Subscribe

Building a system from scratch might be economical, but it’s often time-consuming. Building with standard components can speed up the design job significantly. Our latest project is a digital video recorder (DVR). This application is supported via a range of software packages like SageTV (see Building A Multimedia Home Control Center, Part 2) used in our multimedia PC. Bringing the full capabilities of a PC often means using a PC motherboard. There are compact versions like Mini-ITX boards but custom motherboards are often required to mean space and connector requirements. COM (computer-on-module) Express is one platform that can address this level of customization. In this case we used Kontron’s ETXexpress-PM module, a COM express system, to provide PC-level performance. COM Express modules cannot be used alone. They have only a pair of connectors to link on-board peripherals to connectors or devices on a carrier board. In our case, we take advantage of Kontron’s COM Express prototype board. This board is not designed for use in a product. Instead it provides designers access to all the peripheral interfaces using standard connectors such as Express card slots, PCI and PCI Express slots. It exposes USB and SATA interfaces as well. This is more than sufficient for our DVR project that requires an Ethernet connection, a PCI slot for the TV tuner card and a SATA hard drive for storage. The actual carrier board implementation would be significantly different and smaller than the Kontron prototype board. The project incorporates a Kontron ETXexpress-PM COM Express board, Hauppauge Computer Works’ Win-TV PVR-500 and Seagate’s 750Gbyte Barracuda (ST3750640AS) 3.0Gbit/s SATA hard drive. The PVR-500 has a pair of TV tuners. The incoming TV shows will be stored on the hard disk along with the operating system which is Ubuntu, a version of Linux. For this project we employ MythTV, an open source alternative to SageTV, that runs Linux. DVR Hardware The system starts with Kontron’s COM Express base board. The base board is part of a COM Express development kit that includes a COM Express board like Kontron’s ETXexpress-PM also used in this project. Of course the base board has a pair of connectors for the COM Express modules. It also uses a standard ATX power supply. The back panel connector suite matches the typical PC motherboard with serial and PS/2 ports, USB, Ethernet, video and audio outputs. Most of these are redirected from the COM Express connectors but there are a few items on the base board. It is, however, full of variety – there are sockets for LPC, x16 PCI Express, x1 PCI Express (two of these), and PCI. There are also parallel port, Compact Flash, IDE, and a pair of SATA connectors. There are two unpopulated SATA connector sites, an LVDS interface, and sockets for Express Cards. The board can handle an ExpressCard 54 or a pair of ExpressCard 34 units. The base board is designed to mount inside a standard PC case. The PC card sockets line up accordingly. The base board provides sufficient interfaces for most projects. Systems that require more slots are often better served by a standard PC motherboard. Likewise, many embedded applications will use only a few of the interfaces on the base board. For example, our DVR project only needs the Ethernet and PCI slot although it is quite handy to have the video and PS/2 interfaces. The ETXexpress-PM is normally delivered assembled and with memory installed. It is possible take off the heatsink and change the memory but this is not the typical mode of operation. The module has a 2GHz Pentium M with a Mobile Intel 915GM Express chipset. It can handle up to 2Gbytes DDR2-DIMM RAM that is also used by the integrated graphics system based on the Intel Graphics Media Accelerator 900 architecture. As with most COM Express modules, the ETXexpress-PM supports x16 and four x1 PCI Express links. There are 8 USB 2.0 ports, Gbit Ethernet, IDE and a 32-bit PCI interface. There is also AC’97 compatible audio available. The ETXexpress-PM module plugs into the base board and is then bolted down. This makes it ideal for rugged environments where reliability is key. The next step was to plug in the Hauppauge Computer Works’ Win-TV PVR-500 into the PCI slot. The PVR-500 is a dual NTSC tuner with a common cable input. It allows recording from two different channels at the same time. It appears to the operating system to be a pair of PVR-150 boards. Check out the WIN-TV HVR-1600 single channel NTSC/HDTV tuner if you want to record digital TV. I have not checked it with Linux yet but it does support Windows and Hauppauge has been very good with Linux support. I choose the PVR-500 because of its compatibility with a wide range of operating systems. The PVR-500 works with most versions of Windows and Linux. The package comes with the Windows drivers and support applications including DVR support. The Linux drivers and support used later are included with the Linux download. The PVR-500 MCE kit from Hauppauge includes an infrared remote control as well. The ETXexpress-PM comes with a built-in video adapter but we also tried out an ASUS PCI Express video adapter in the x16 PCI Express slot. This was more to check out the ability to switch from the ETXexpress-PM built-in support. The board also has composite video output that could be a required output option. In general, the VGA output would be sufficient for most monitors. The system can also be run as a headless unit if playback is done using another PC. Both the PVR-500 and ASUS video adapter can be installed on the base board at the same time. This type of system tends to consume large amounts of storage so we chose Seagate’s 750Gbyte Barracuda drive with a 3.0Gbit/s SATA interface. The ETXexpress-PM supports PATA and SATA drives but the SATA drives provide better performance. This is required for the DVR application since it must be capable of serving one or more video streams over the network in addition to recording two streams from the PVR-150. Our final system is spread out on the lab table. The base board fits into a standard PC case but this project was quick and dirty so we skipped this nicety. This looser layout was sufficient to test out the system. Ubuntu and MythTV My first try with a DVR utilized Windows and SageTV (see Building A Multimedia Home Control Center). The hardware combination is not much different than the current project. In fact, that software would run nicely on this platform as well. The alternative chosen this time is based on Linux. In particular, Ubuntu Linux. The DVR software is a collection of software called MythTV. I am not going to get into the nitty-gritty details of installing MythTV because this is better covered on Ubuntu’s forums and the MythTV website. There are a host of other websites that provide additional resources and help. That said, here are the basics. I used an external USB DVD drive to boot the Ubuntu 7.04 (nicknamed Fiesty Fawn) desktop CD. The CD is a “live CD” that boots Ubuntu. Linux applications like OpenOffice can be used directly from the CD. It is also possible to run the installation program. The installation program delivers one of the more refined Linux installations. It is fast. It has few configuration operations up front and handles details like disk partitioning well. Ubuntu detected the Hauppauge board and installed the IVTV drivers for this board. I also recommend that you manually configure the disk partition. Minimally you need a swap partition and a main partition. I reserved most of the hard disk for two additional partitions though. The largest (about 450Gbytes) was for recordings. The next largest (about 200Gbytes) was for recordings that I placed on the system. Given the large Seagate hard drive, this split was easy and it prevents the recording system from filling up the main partition. The latter partition can be eliminated if another network drive would be used for pre-recorded movies. The DVD drive was removed once Ubuntu was installed. I used the Ethernet interface to access web-based software repositories that have the latest version of software. I used the Synaptics package manager to install the MythTV components. The entire process was comparable to the Windows/SageTV installation of the prior project. The main difference was that the default configuration of SageTV configures Ubuntu to boot directly into the MythTV front end interface. Installing MythTV using Synaptics is as simple as searching for MythTV and clicking on the main package. Synaptics and the underlying package management system takes care of dependencies. In this case it installs support packages like the MySQL database server. MythTV has a modular architecture that includes a MythTV back end and front end program. The back end utilizes a MySQL database. The architecture allows multiple back and front ends running on different computers on the same network. In our case, all three run on the same PC. Still, splitting up the services has significant advantages. For example, the platform we built is sufficient to handle all these services but things get tight if additional TV cards are added to the system. Keep in mind that integration of all services on a single platform means the processor may be involved in playback at the same time as it is recording. In general, a 4 tuner system tends to max out a 3GHz processor. Multiple cores can help but bus bandwidth tends to be the main issue unless transcoding (conversion between different resolutions or formats) is being done as well. This requires additional performance that multicore systems excel in. As noted, configuration of everything on a single system is relatively trivial with Ubuntu and Synaptics. Likewise, splitting the back end/database and front end up is straightforward since the front end just needs the IP address of the back end.

Average (0 Ratings):

Subscribe
Subscribe to Electronic Design and start receiving more articles like this one
Filed Under:

Check for price and availability on Source ESB:

Go
powered by  
    There are no comments to display. Be the first one!
You must log on before posting a comment.

Are you a new visitor? Register Here
Acceptable Use Policy

Sponsored Links