Using SACD player as a DSD transport

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I recently moved. During packing I found my Denon DVD-2900 that has been collecting dust on the shelf for a long time. A somewhat special BNC connector added on the rear panel reminded me about an interesting project I did back in 2009.
DSD2SPDIF 003.jpg

Under the cover, there is a small PCB behind the BNC connector with a CPLD on it. From the silkscreen the board seems to accept standard I2S and DSD signals and output in S/PDIF.
DSD2SPDIF 004.jpg

Back in the day, I collected quite a few SACDs and was looking for a way to back them up to disk. Unfortunately my PlayStation 3 firmware was updated beyond version 3.55. Not being able to do a direct copy, I could at least record the DSD stream from the SACD player at 1x speed, right? The data rate of DSD64 is slow enough to masquerade as PCM and transport via S/PDIF to a PC sound card.

Designing the digital logic to do this is not terribly difficult. I was a bit ambitious and wanted the adapter PCB to be compatible with both SACD and DVD-A. However, the clocking scheme in the DVD2900 made it quite difficult and I ended up dropping the PCM-to-SPDIF support.

After the PCB is done, I used rainbow ribbon cable to tap into the signals on the DAC board in the SACD player. There were quite a few signals to work with.
DSD2SPDIF 002.jpg
DSD2SPDIF 001.jpg

Hardware is only half the story. The S/PDIF stream can be recorded as 176.4KHz PCM, but the recorded file has to be converted to DSD file in DIFF or DSF format.
I wrote a command-line conversion program, and then someone important helped me with a real-time Windows recording application using ASIO.
DSD_IO.PNG

Did you notice the 'auto split' check box? In the recorded stream there is no indicators between the songs. The file size would be too big if I record the entire disc. There is a defined 'mute' pattern in DSD but the player doesn't use it. I added a simple decimation filter to convert DSD to PCM and detect the quiet passage. It is pretty crude and sometimes fails to detect the gap. Two songs would ended up in the same file.

And here comes the first recorded SACD in my collection:
DSD_Recording.PNG

Well, at 1x speed it took a long time to record a disc, and I quickly went out of steam recording more discs.

The whole thing was done before the time of DoP. So the layout of the DSD bits in the PCM framework is different from (and incompatible with) DoP. The advantage of this format is that it is safe to playback on PCM devices that are not aware of the DSD stream. Also it takes less logic to implement. Something similar but compatible with DoP would require more buffer and cannot fit in the small CPLD I used. I wrote a short article about the idea and the design process, especially on why I chose the format.
View attachment DSD over SPDIF.pdf

The project was completed in November 2009. Then I moved on with other projects. With today's abundance of DSD capable DACs, it would be interesting to use a somewhat low-end player as a transport and a higher end DAC for conversion, and hopefully my old DVD player would see some use again.
 
Member
Joined 2017
Paid Member
This is a very interesting project because I also did the same thing several years ago. My purpose was the same as you. I used to listen to SACD rather than CD those days. It's reasonable for a DIYer to want to try external DAC for better SQ. My approach was not PC but a microcontroller because I can't write code for PC but can do for a microcontroller(ARM) and firmware for solid memory like CF or SD.

The attached pic(my second version) was probably six years ago. CF was more popular than SD then. DSD stream comes from SACD player is converted to 88.2kHZ PCM by FPGA and written into CF. I used this board two or three years. I could use the onboard DAC or another DAC as long as it could playback 88.2k PCM. This project worked successfully.

The third version(the 2nd pic) is transport which has two SD micro slots up to 128Mbyte and eight SPDIF for a power amplifier with DAC and digital crossover. This is my current system. And now I'm designing the 4th version(the 3rd pic) which has both multi-bit DAC and DSM. I love to listen multi-bit (pcm1704 or equivalent). But pcm1704 is already obsolete. I need to find a solution to replace pcm1704 with something.

I tried to seek "generic" pcm1704 when I designed the 2nd and the 3rd version but can't have a good result so far. The 4th version means another attempt which has DSM implemented by FPGA and high-speed multi-bit DAC. A commercial DSM DAC is not designed to satisfy my preference for music. That's why I need to design my DSM from scratch to make sure that DSM can be equivalent to pcm1704. I hope it's promising.:)

128Mbyte is wrong. 128Gbyte is correct.
 

Attachments

  • IMG_5165.JPG
    IMG_5165.JPG
    506.3 KB · Views: 149
  • IMG_5172.JPG
    IMG_5172.JPG
    394.1 KB · Views: 150
  • IMG_5173.JPG
    IMG_5173.JPG
    503.4 KB · Views: 161
Last edited:
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.