Bill Spencer

CMedia Sound Chips CMI8738, CMI8338 and CMI8330
and
SPDIF I/O (with modifications)

 
BACK 


Overview

The CMedia sound chip is an inexpensive but generally capable chip found in sound cards as low as $10.  It is also found on some motherboards.  As well as the normal features, its major selling point is the inclusion of SPDIF (Sony/Philips Digital Interface, also "S/PDIF") digital input and output (except for the CMI8738/PCI-6CH-LX version and a 4 channel version CMedia's website only hints at).

As I didn't look for SPDIF as a feature when I bought my computer, it was indeed a pleasant surprise to discover this capability lurking within.  I bought a Optimus DCC (Digital Compact Cassette) deck back in December '95 when they were closing them out.  As well as having a few DCCs around to transfer to computer or CD-R, this unit has very good quality analog-to-digital converters -- I hear no loss at all in a single pass.  Use as an ADC is even suggested in the manual... even a mechanically worn-down deck could be used in this manner.  To use the unit as a converter, it is switched to analog input mode and record is engaged.

If you need to get analog input at good quality into your computer, this combination of external conversion and SPDIF is a good solution if you own or are considering buying a device capable of the conversion: DAT, MiniDisc, DCC, or a standalone converter.  The converters tend to be at least as good of quality as the converters in all but the best of PC sound cards.  The DACs also may be better.  There are other options.  One is a high quality sound card.  This could include multichannel setups made for musicians and is a more flexible option.  The other option is to use a standalone audio CD recorder, and then "rip" the CD into the computer.

I'll mention some other features of the CMedia chips: full duplex operation, multichannel capability, wavetable synthesis.  The ADCs are "voice quality" at best.  The DACs have some loss in the frequency extremes and a less than ideal noise level but sound very good in normal listening.  A particularly important feature is that the record side mixer is fully digital.  Notably, you can record from any WAV output device digitally.  This allows things like recording from software synthesizers lacking built-in record capability, random recording of streaming audio radio, and using applications like Winamp as an EQ/effects unit.

CMedia provides no fancy software extras.  If you need a good recorder software, you'll need to get it elsewhere (Windows' standard recorder works, but is too limited).  CMedia's AudioRack application does provide normal players, and, very importantly, the Mixer part of it provides SPDIF control.  You'll want this; it should come with a card or motherboard, and the latest version is available through their web site.  I've had no problems in Win98, but you might want to check for info on recent OSs.  Note, engaging SPDIF-in disables all normal recording controls.  If you need a good recorder software, you'll need to get it elsewhere.


SPDIF details

Connectors vary on different cards.  There is even optical connectors on some.  On my motherboard, there is a 2x4 pin header.  CMedia shows a couple of "reference designs" on their website which may help you figure out the pinout, which could also use 2 pin connectors or RCA phono jacks.  One $10 card I saw had a space on the board for a header, but it wasn't populated.  This could be added, although I didn't check to see if any other components were missing.

You'll need an adapter to connect to headers.  I took a spare CD-ROM audio cable and cut off one end and attached a phono jack.  Since these use a 3-pin connector, I had to swap around the pin sockets so the unused pin didn't run into an obstruction.  Use the cable's shield for the ground side.

SPDIF-in is usually "terminated" as a 75 ohm load.  CMedia doesn't do this.  As the normal consumer level SPDIF is only 0.5 volts peak-to-peak, the resulting overshoot desirably increases the available signal level up to double.  This can vary with different driving devices and cables.  With my DCC, it didn't work, but try it before taking additional steps.  The SPDIF-out works fine.

The AudioRack mixer includes options for the signal levels, inversion, 44.1/48 kHz sample rate, and SPDIF-out and loop-through enables for the CMI8738 -- earlier versions use a jumper for levels and inversion.  The level should be set properly for output, but I'm not convinced the settings do anything on the input side.  I think it just auto-detects -- so it may take restarting the SPDIF stream to get it to lock on to the signal.  The inversion feature is unusual, since SPDIF is designed to be insensitive to inversion.  This is more to help it adapt to different signal characteristics.

The SPDIF-in fix

As I mentioned, SPDIF-in didn't work with my DCC.  Tests have shown that only about half of all consumer devices work with it.  'Net wisdom is that the best way to deal with this is build an external 0.5 to 5 volt converter circuit (several can be found here).  I tried this, but it didn't work, probably due to parts substitution.  I considered there had to be a better way.

The CMedia circuit brings SPDIF in as follows: first the signal goes through a capacitor, for DC decoupling.  This goes to the pin of the chip.  It also goes to biasing circuit consisting of two 4.7K (kilo-ohm) resistors, one to ground and one to 5 volts (typical digital supply voltage).  The resulting bias is 2.5 volts.  This appears to not match the switching threshold of the input (which could also vary in chip production).

One modification is to simply reduce the bias by reducing the ground-side resistor to 3.3K or so.  Since regular leaded resistors are easier to get than the surface-mount ones in computers, it is easier to add a 10K resistor in parallel.  This drops the bias by about 0.5 volts -- remember the unterminated voltage swing is just short of +,- 0.5 volt.  The bias could also be made adjustable, although I tried this and found no change over the range where it works.

UPDATE: Think Multimedia card. Worked inititially, later stopped. Found while board had 2-pin header labelled SPDIF-IN, this had NO bias circuitry at all! Apparently my deck has an output cap and the bias just worked ... Added input capacitor (.1 uF), and ended up using bias of 10K pulldown and 12.2K up (hardest part was finding a good way to get 5V). This board is old but not as old as the next one ... (end update)

Specific instructions: Elitegroup P6SET-ML motherboard (also OEMed as simply "Mainboard", for example in Powerspec 4312)

**NOTE before proceeding: I assume no responsibility for anything bad that might happen if you attempting something and it causes a problem. I only certify I did this, and it worked.**

Notes on soldering to a surface-mount resistor: the solder should get hot enough to get smooth and reflective, but no hotter.  You can heat the whole resistor up so much that the solder on the other end melts and it slides out of place.  After soldering one end, allow to cool before soldering the other end.  If you couldn't hold the resistor perfectly still on the first connection, use that to help hold it when doing the second and then redo the first.

These instructions assume the board is right-side up, as it would be in a tower-style case, with the chip writing also right-side up.  Find the CMedia chip on the board.

The SPDIF header is JP3.  SPDIF-OUT is the two pins on the far right, with signal on the bottom (pin 7) and ground on the top (pin 8).  SPDIF-IN is the two pins second to the far right, with signal on the bottom (pin 5) and ground on the top (pin 6). 

There is a row of tiny components above the CMedia chip -- surface mount resistors and capacitors.  The one you want is on the far left and should say "472" on it in really small letters.  The modification is to add a 10K resistor in parallel with this.

With my DCC, sometimes it locks on first try, sometime it takes several retries.  Retry is by switching in and out of record mode or switching off and on the DCC.  Poor lock (sync/detect) is apparent in a noise signal with barely audible music/audio from the source.  Complete lack of detect is apparent by silence.

More information:
SAQ (Sometimes Asked Questions)
CMI833x Mailing List
Richard Hanson's Digital Audio
CMedia

 
 

  

email: 

Copyright 2001, 2002, 2005, w/ 2008 Bill Spencer.

BACK TO MAIN

cacophonics (note: audio transfers made with spdif as above)
art tools
guitar tech
links