Mod for DVD player Hi-Rez stereo PCM output - SACD DVD-A HDCD

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Mod for DVD player Hi-Rez PCM output
subtitle - adventures with CS8421

Most DVD players sold in the USA limit the resolution of the digital audio output due to fears about copy protection. As a result, I have purchased Hi-Rez discs and I have paid for full audio resolution. Due to the shortsightedness of the lawyers and paranoids at the RIAA, I cannot utilize the full audio resolution that I have paid for if I wish to send digital audio to an external processor and DAC. I probably would have purchased hundreds of these discs if I were able to use them to their full capability.

I wish to send Hi-Rez digital audio over SPDIF to my Behringer DEQ2496 and then on to a high end stereo DAC. The DEQ2496 is a DSP equalizer that corrects and matches my speakers to the room. This is a marvelous invention. Room resonances can be corrected Listening to analog SACD without digital EQ is nowhere even close to the sound of a carefully adjusted DEQ2496 and a high-end DAC. Analog equalizers with lots of analog op-amp filters introduce a lot of coloring into the sound and cant fine tune room resonances like a DSP can.

I listen to the stereo mixes on DVD-A and SACD. I am not interested in doing a multi-channel mod at this time. So, my mod addresses Hi-Rez stereo only. It would be possible to expand the concept to six channel in the future.

I began research into a hardware mod solution to this problem and analyzed several DVD players. I also read the thread on modding Pioneer players by Dr. Oehlrich from Germany. I settled on creating a mod to use on an inexpensive player that uses the MediaTek MT1389 chip, the Oppo981.

The Oppo has DVD-A, SACD, & HDCD capability, and a Faroudja chip for video. This mod may work on other players but I haven't done the research to prove that out. I have read that some of the Pioneers use this chip, but I don't know for sure since I don't have a Pioneer.

The MT1389 DVD controller chip outputs digital audio in at least two streams. One is a SPDIF stream from pin-225 that is ready for a Toslink or coax output circuit. This is the stream that is down-rezzed by the DVD firmware for DRM. A second data stream is a standard three-wire DAC interface that consists of a bit clock (pin 214), left-right clock (pin 213), 3 stereo data lines (pins 217-219), and a DAC reset line (pin 222). This 6-channel interface is not down-rezzed for DRM and is sent to an onboard DAC chip. In the case of the DVD player that I have chosen to mod, the DAC chip is the CS4360, an inexpensive Cirrus Logic six channel DAC that can muster only marginally better than 16 bit performance even though it accepts 24 bit data.

The MT1389 DVD controller chip also sends audio data to the Silicon Image HDMI chip. That chip has both I2S and SPDIF inputs. It's not clear to me how that is used since I can't find a data sheet on the Sil9030ctu.
 
In his thread, Dr. Oehlrich has described a simple adapter that could be wired to the standard three-wire DAC interface port but not fully accept all hi-rez data. A partial solution could be as simple as connecting a SPDIF interface transmitter to the MT1389 DAC interface.

The MT1389 DAC interface can send sampling rates anywhere from less than the 44.1K of CDs up to 192K on DVD-As. In the case of the commonly used Cirrus Logic CS8406 Digital Audio Interface Transmitter, a master clock is needed that is either 128*Fs, 256*Fs, or 512*Fs, and extra logic would be needed to detect all the sampling rates and provide the correct data format & clock. In the mod that Herr Oehlrich has done, he used programmable logic to solve the problem. I wish to accomplish the task with fewer parts and complexity. I also wish to limit the SPDIF rate to 96K, which is the limit of the Behringer and my external DAC.

Enter the Cirrus Logic CS8421 Asynchronous Sample Rate converter. For those of you concerned about resampling and it's effects and drawbacks, see this long thread:

Asynchronous Sample Rate Conversion
http://www.diyaudio.com/forums/showthread.php?&threadid=28814

A short review of that long thread: Some say that resampling will add digital artifacts and encode jitter into the output stream. Cirrus Logic claims that the input jitter can be largely rejected. It is true that resampling digital audio will not improve the sound at all. I believe that the benefits of resampling are greater than the disadvantage of listening to the shoddy analog outs of an inexpensive DVD player, or it's down-rezzed DRMed digital.
 
This mod does not illegally bypass or circumvent copy protection because I am not making a copy. The bitstream has been decoded with a licensed decoder. If someone were to use this mod to make a copy and sell it, however, then that may be illegal. The copy would not be bit-perfect since the bitstream is modified by the Cirrus Logic CS8421. From what I understand of watermarking, that technology won't be defeated or circumvented with this mod, though I have made no effort to test that assumption. I'm not giving legal advice or advocating or allowing anyone to break the law using this technology.

Having said that, of course, it may make RIAA lawyers unhappy if they somehow knew that we had the audacity to question their jurisdiction and listen to the audio bitstreams in the way that we choose on discs that we have purchased. I am not selling anything nor copying anything. Anyway, the RIAA lawyers are too busy molesting little boys out at the Neverland Ranch with MJ. Heheh.

It is my firm opinion that copy protection and DRM are what have killed the market for Hi-Rez discs. Widespread use of this mod may actually boost the market for SACD and DVD-Audio.
 
The Cirrus Logic CS8421 has the ability to use the MT1389 DAC interface directly in slave input mode without adding external logic. Providing a low-jitter master clock to the CS8421 we then can enable a single output sampling rate and clock to a CS8406 SPDIF output device.

A benefit of this process: The CS8421 will provide a constant low jitter 24 bit/96K data stream to the Behringer 24/96 DSP equalizer for its operations, regardless of the source.

I chose a 24.576MHz clock oscillator package that has less than 1pS RMS jitter spec and 30pS PP jitter (20000 periods). The model with 25PPM stability costs $2.38 from Mouser.
Crystec 549-C3391-24.576

It's not perfect but it is much better for clocking samples than the 25cents cheapo 27MHz DVD crystal timebase that isn't even an integer multiple of the sampling rates. I believe the Superclock and Tentlabs clocks are overkill for my application. A 4 pin clock osc circuit with power supply filter has a low parts count.
 
The CS8421 uses two resistors and two pins to configure the input and output ports. I chose the 1% resistor values that correspond to 24-bit left-justified data streams, but other setups can be done just by changing the 1% resistors to values specified in the data sheet.

My mod takes shape. I chose to output a 96K sampling rate from the SRC chip to send to the DEQ2496 because that is the highest rate it can process. All we need from the DVD player is power and four signal wires from the MT1389 DAC interface. I am configuring the player setup for stereo downmixing and ignoring the other two data signal wires for the multichannel streams.

Someone who wishes to do 5.1 output will need six signal wires and power from the MT1389 board.

I choose to add a TOTX142 Toslink output (25MHz bandwidth) instead of re-wiring the existing one. Now with two optical outs I can send RIAA-happy down-rezzed audio on the stock Toslink port to my TV and Hi-Rez audio on my new Toslink port to the Behringer DSP.

The Oppo981 is on backorder so I decide to experiment on my older Oppo971. It doesn't have SACD capability but does play DVD-A and HDCD.

The Oppo971 has DVI output so I need to send audio to the TV. When I mod the Oppo981 it has HDMI with audio, and a double SPDIF output will not be necessary.
 
I develop a schematic, PCB layout and bill of materials.

The digital audio signal path is straightforward and mostly as described in the data sheet recommendations. The CS8421 resampler chip uses slave mode on the input and master mode on the output. The CS8406 SPDIF Transmitter chip is set up in hardware slave mode. Both CS chips are reset by the DAC reset line from the MediaTek chip. The CS8421 "unlock" output signal is used to set the "valid" bit on the CS8406 output data stream. Jumpers are provided to set the output sample rate at either 96K or 192K, just in case I want to upsample everything to 192K at some later time.

http://home.columbus.rr.com/rossl/images/mod/8421top1.jpg

Two voltage regulators are used because the CS8421 needs a 3.3V and 2.5V supply. I could have used a diode drop from the 3.3V supply, but most ICs that use a low core voltage also require that the low core voltage power up in sequence with the higher IO voltage. ICs may lock up if the core voltage rail trails the IO voltage rail on power up ( which would be a consequence of creating a 2.5V supply with a diode drop from the 3.3V ). Even though the CS8421 data sheet states that they "can be set independently", I use the two regulator setup to let the rails track together in power up to keep the silicon happy and stress-free. :)
 
LDO regulators are used and the power setup will work nicely connected to a 5V regulated supply on the DVD controller board. a small quarter watt resistor was added in to the supply line to drop a few hundred millivolts and, along with the input caps, provide a smidgeon of digital noise isolation. The entire mod circuit can theoretically draw up to 190mA when running at full speed, so attention is needed to make sure the DVD supply rail is regulated adequately. We also are going to generate some heat as a consequence of consuming nearly a watt. The regulators are small PQ1L series regulators in SOT98-5 packages from Mouser.

Obstacles: The Cirrus Logic parts are in fine pitch surface mount. The MT1389 DAC interface is also fine pitch surface mount, but has some terminating resistors that we can connect to. The Crystec oscillator is a SMT package. I purchase a fine point soldering tip for my iron and get ready. The Cirrus logic chips and the rest of the parts came from Digi-Key.

http://home.columbus.rr.com/rossl/images/mod/8421bot1.jpg
 
Soldering a TSSOP is not as hard as it looks. Put a dot of solder on the PCB at pin one, hold the TSSOP with tweezers, heat the solder on the PCB at pin 1 and place the chip and inspect it. If the placement isn't perfect, heat it again and move the chip. It's easy as long as only one pin is soldered. Once you are satisfied with the part placement on the PCB lands, then glob some solder all over the rest and then remove the excess with solder wick. Make sure you have pin one oriented correctly, because once more than one pin is soldered, you'll never get that chip off intact if it's not on there correctly at the start.

http://home.columbus.rr.com/rossl/images/mod/8421solder1.jpg

Careful handling the TSSOP because if you bend those pins then give it up because the chip is ruined.

http://home.columbus.rr.com/rossl/images/mod/8421solderwick.jpg

It doesn't take much solder or heat to attach a TSSOP lead to the board. Try not to get solder under the package. Inspect it closely with a magnifier. View it from several angles because the mask is shiny and it makes it hard to see. Solder mask on the PCB is required for this type of work, so forget about going in the cheapo direction with your board purchasing... (grin) Those pins are on 0.5mm centers.

http://home.columbus.rr.com/rossl/images/mod/8421ic.jpg
 
Soldering a 0603 resistor is actually harder than soldering down a 20 pin TSSOP, so I use 0805 as the smallest size on the board. Soldering hint #1: keep your tip clean. Soldering hint #2: keep your tip clean. Soldering hint #3: keep your tip clean.

http://home.columbus.rr.com/rossl/images/mod/8421assembled.jpg

The hardest part of the project was connecting wires to the main board of the Oppo971 DVD player. The data and clock signals had terminating resistors that I soldered to, but they are 0603s. It is difficult to solder a wire to an 0603 because if you heat it too much, the entire resistor comes off the pads. For the reset line, I soldered directly to a tiny pin on the CS4360 DAC. The pins are 0.5mm spacing and a good magnifier was used just to make sure I didn't short anything out. I found a decoupling cap to solder a ground wire for a short signal return. I kept all these wires as short as I could make them to keep the inductance down to a minimum.

http://home.columbus.rr.com/rossl/images/mod/8421totxassy.jpg

I discovered an empty part location on the DVD main board that was designed for a voltage regulator. It has +5V on the input, so this made a great place to attach my power supply twisted pair. I wired up my toslink port and hacked a hole in the back of the DVD player right next to the existing one.
 
I connect everything up and turn on the power. My power supplies look good but no output and the clock looks really bad. I look at my schematic and realize that I have made a real bonehead mistake. I have wired the 24.7M clock into XTO instead of XTI. Fortunately I have used termination resistors on both XTO and XTI so the fix is really simple. Turn the power back on and we are resampling. Yes!

http://home.columbus.rr.com/rossl/images/mod/8421clock10ns-div.jpg

I played a CD and checked the output, it definitely is 96K and sounds very good. After about an hour of CDs I played a DVD-A with 96K sampling and it sounded good for a while. After an hour sound started clicking and I noticed the "lock" light on my DAC was flickering. Playing a DVD-A with 192K sampling had horrible noise.

I took the DVD player apart and everything was very, very warm. OK, it's was HOT. The Oppo971 DVD player ran hot to begin with and is hotter now with my little mod board inside it. The Oppo971 has no vents or fans, so I suspect a heat problem.

I have calculated that the CS8421 chip can dissipate up to about 1/3 watt. This tiny little IC is only about 5mm x 3mm in size and could have trouble dissapating heat. Cirrus has two available packages shown in the data sheet, the TSSOP20 and a funny little BGA-like part that has a heat sink pad on the bottom. That other part would be good for heat dissapation but would be impossible to hand-solder.

http://home.columbus.rr.com/rossl/images/mod/8421inoppo.jpg
 
But I ran the player with the cover off and it still loses lock. Maybe it is my soldering job and a pin came loose when the board heated up?

Since I built up two boards, I wire up the second board to see if it does the same thing, and yes I still lose lock occasionally. I have some RAM heatsinks on hand and some thermal epoxy, so I used a hacksaw to cut down a RAM heatsink to fit on a 3x5mm chip and glued it on just in case it is a heat problem.

The RAM heatsink on the resampler chip and another one on the Crystec oscillator don't seem to help. Both boards lose lock, so it is likely a digital problem. I'm thinking that I also may have a problem with the drive to my optical Toslink output. I am also playing around with my reset circuit. Using an RC reset and disconnecting the reset from the DVD player makes no difference at all.

Now I suspect something that Dr. Oehlrich has discovered and has published in his thread. The DVD player doesn't use left-justified for 192K. It reconfigures the DAC chip and switches to I2S data format.

The Oppo971 doesn't have SACD capability anyway so I give up on the Oppo971 and attack the Oppo981.
 
The Oppo981 with SACD capability has arrived and the fine folks at Oppo have made it much easier to modify. No more trying to tack wires onto 0.5mm IC pins. They have put in a nice connector location right next to the DAC.

I have decided to output the SPDIF on 75 ohm coax this time, so I drill a hole in the back of the Oppo981 and attach a new coax connector.

It would be much easier to just rewire the existing coax connector, but I have left it intact so I can do quick comparisons.

http://home.columbus.rr.com/rossl/images/mod/981coax.jpg

In a few minutes I solder on the wires and hot glue the board on top of some capacitors. I turn on the unit and I have sound. Beautiful sound from CD, SACD and 96K DVD-A. 192K still does not work. I listen to several discs and run the player for 30 hours straight. Still sounding good. Silky smooth SACD sound.

http://home.columbus.rr.com/rossl/images/mod/981mod.jpg

Well, now I still don't know what was wrong with the install in the Oppo971. It wasn't a heat problem because the 981 gets very warm, and the board is working fine in the Oppo981. It may have been my soldering job or the optical Toslink circuit.
 
The problem with 192K DVD-A discs is an inconvenience, but it is not that bad. Out of the 30 DVD-A discs that I own, only two have 192K data anyway. The Alan Parsons HDAD disc has both 192K and 96K stereo data tracks. The "Best of REM" DVD-A has stereo 192K and 96K multichannel mix, so if I choose the 5.1 mix and let the Oppo downconvert to stereo 96K, it plays OK. 192K sampling is not widely used.

http://home.columbus.rr.com/rossl/images/mod/981mod_side1.jpg

I can live without 192K sampling. To detect and convert would require a programmable IC like Herr Oehlrich has done. I could do it in a small Altera, but the CS8421 would also require an analog switch IC because it detects resistors at reset to choose its configuration.

The nice little connector on the Oppo981 also presents another opportunity if we revisit the simple but incomplete adapter solution. If I were to give up sample rate conversion and 192K capability, a very small board could be built with just a connector, a CS8406, and a few resistors and caps. This could be done at a low cost. The output could be wired to the existing coax jack and would be a very simple mod that would provide SACD at 24/88 and DVD, DVD-A, and HDCD all at their natural sample rate and full bit depth. It would be a mod that a lot of DIYers could do easily.

The connector pattern on the Oppo981 appears to be .075" spacing in an offset pattern that I haven't seen before. If anyone knows who makes that connector please post. It's not metric spacing unless someone makes a connector with pins on 1.9mm centers. I measured it twice to make sure.

http://home.columbus.rr.com/rossl/images/mod/981conn2.jpg
 
Some simple analysis testing. I have an Audigy2 sound card in my PC that will accept 96K SPDIF. However the Creative drivers route the data through the onboard DSP and perform volume control and sound effects on the incoming data.

I uninstall all Creative drivers and software from my PC and install the free KX drivers. KX has a direct input for SPDIF that bypasses all processing.

http://kxproject.lugosoft.com/index.php?skip=1

The 96K data is routed directly into Adobe Audition so that I can analyze. I am getting bandwidth out past 40K with no clipped samples.

http://home.columbus.rr.com/rossl/images/mod/bott.gif
 
Hi rossl,

I've done exactly this kind of mod for the DV575 and 585. I've just skimmed through your posts and got one quick remark:

rossl said:
Playing a DVD-A with 192K sampling had horrible noise.

rossl said:
The CS8421 resampler chip uses slave mode on the input and master mode on the output.

This won't work with a 24.576MHz crystal. When the output of the 8421 is set to master, it needs at least 130xFSI as clock, so the frequency of your crystal is too low for 192k input. That was my mistake at first, too. ;)

More comments and perhaps some measurments on DVD and SACD playback once I got more time.

Holger
 
hwb said:
This won't work with a 24.576MHz crystal. When the output of the 8421 is set to master, it needs at least 130xFSI as clock, so the frequency of your crystal is too low for 192k input. That was my mistake at first, too. ;)

Thank you very much for your help. Unfortunately it is not possible to reconfigure or fix the 192K problem with my circuit board the way it is.

I will have to design another circuit board with the CS8421 configured as slave mode on both sides. A 27MHz low jitter oscillator will clock the CS8421. I will remove the cheap crystal on the Oppo main board and clock the MediaTek MT1389 with the precision 27MHz timebase also.

Then I will need the 24.576MHz low jitter oscillator to operate the CS8406 transmitter in master mode to clock samples out of the CS8421 at 96KHz.

That should fix the problem :D

I also want to devise a scheme to use the standby power to operate the oscillators at all times. Then they can operate, stay warm and stable 24/7, as long as the unit is plugged in.
 
rossi & hwb ...

I didn't want you guys to think you were just spinning away on this thread without any feed back from some of us ... You are not alone in the quest for a better DVD-A / SACD player.

Q & A for rossi: You mentioned he was waiting for an Oppo 891. I got mine about three months ago and love it so far ... I just added some extra tantlum caps to the power supply and plastic MKT to the power input on the DAC board = no noticable improvements (and no degradation either .... :apathic: ). I suppose you already know the magic trick to get it to play PAL Zone 2 / Euro DVDs ... :cool:

Anyway I was wondering if you plan on any serious mods to this inepensive player??
 
I have ordered the second version of my mod board for the Oppo981. The first board sounds fantastic but has a few small issues. The sound gets better after the low-jitter clock has been running nonstop for a week.

I have improved the clocking by adding a low-jitter clock, a 27MHz oscillator, to clock the Main Oppo DVD board and the Cirrus Logic resampler chip. I am still using the low jitter Crystec 24.576MHz for the audio clock.

Also improving on the power supply to keep the low-jitter oscillators running 24/7 on the standby power.

An improved reset circuit. I was able to lock up the first board with a power transient by pulling the power cord for a couple seconds and plugging it back in. Now with some extra tantalum caps and some logic to keep things going on power glitches.

Added transformer output coupling and option for 110 ohm AES/EBU or coax output.

I should have the boards in one week and running when I have time.
 
rossi: I am very interested in any improvements to the '981. If you need a small financial boost to follow through on any replacement boards, parts, etc. say so. I am prepared to buy a copy of your (hopefull stuffed) board if possible.

" ... Also improving on the power supply to keep the low-jitter oscillators running 24/7 on the standby power. ..." The Oppo folks seem to be quite proud of their PS as per the friendly notice on the cardboard /metal shield. Other than extra tantlums on the PS +/- 9 VDC outputs, I couldn't see how to improve on it without a complete referb or replace = your descriptive methodology would be appreciated here ... step one: get the iron hot, step two: put down the coffee, step three: find the reading glasses, ...

(I have a neat trick for switching supplies that really knocks the noise floor down, but it only works under load and had not considered the pesky standby circuit as being a problem ... why don't these guys just let the pilot light go out at shut off? = it would save us all a boatload of greenhouse gasses :cannotbe: )

Anyway, please let me know as I have taken the Oppo koolaid ... :cool:
 
Hi FastEddy,

What kind of external DAC do you use for listening?

On the Oppo switching power supply, absolute low power supply noise is not essential in my implementation of the Oppo. I am using it as a digital transport with HDMI digital video and my digital audio output. So, I am leaving the Oppo cheapo switcher alone. Making the switchers a little more quiet will probably not be noticable unless you use the analog outputs.

The stock Oppo power supply caps are too small and probably cannot keep the supplies stable during any kind of glitch. That is why my new board monitors the Oppo 3.3V supply and reset line in the new reset circuit.

I need 3.3V and 2.5V for the Cirrus Logic resampler chip and the Cirrus Logic digital audio transmitter. The Oppo sends the data from the MediaTek chip to the onboard DAC as 3.3V logic, so I used 3.3V as the VL on the Cirrus Logic resampler chip.

My board's power supply solution is to take the standby ( always on ) 5V and drop it through a diode to about 4.3V. Then I use multiple tantalum caps as charge storage that will keep the oscillators running through power glitches. The linear LDOs that I am using just need a few hundred millivolts of headroom. I also took some precautions to keep the the 27MHz and 24.5MHz oscillators from beating or interacting. We need clean power to keep the jitter low.

I ordered 5 boards because that was the minimum order at the prototype PCB house that I use. I should have 3 extra for anyone who is interested in experimenting and testing this. The boards end up costing about $15 each because of the low volume.

I didn't buy parts to stuff all 5 boards. Especially the the two Cirrus Logic chips CS8421 ( $9.10 at Digikey 598-1126-5-ND ) and CS8406 ( $5.04 at Digikey 598-1121-5-ND ) I only bought two each of those chips. The rest of the parts are not that expensive. I did buy enough of the low-jitter oscillators for all 5 boards.

New PCBs should be here next week!
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.