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).
The 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.
**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.
Specific instructions: Elitegroup
P6SET-ML motherboard (also OEMed as simply "Mainboard", for example in
Powerspec 4312)
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
|