Close

PCM5122 DAC Prototype Operational

A project log for DSP / Digital Input to Tube Driven Surround Sound

This project is to create a proof-of-concept digital input for a tube-driven surround sound system. This is for a senior project.

JangoJungleJangoJungle 11/14/2017 at 04:030 Comments

I finally got the PCM5122 (prototype shown above) working with a beautiful 2.1Vrms (max) output. The image below is a scope capture of the BeagleBone outputting a signal via I2S into the PCM5122, and this is the output of the Right-side channel.

All I did was get a protoboard from adafruit and solder the pcm5122 onto it along with the surrounding circuitry for the typical application in the datasheet. I configured the surrounding circuitry to work in hardwired mode, (the PCM5122 has an I2C mode and an SPI mode, both controlled as a slave) and was able to get a really nice output out of it. 

This is simply for a prototype, as the circuit needs better circuitry like pull-up/pull-down resistors for the modes and ground separation for AGND and DGND, and there's a lot of problems with cross-talk from the input to the output. However, I'm really satisfied with the results here. 

Just as a sort of ketchup, I've already configured the BeagleBone via Linux to play music from the SD card, and done a lot of research on all kinds of things. I listed a few of the components I've picked up so far in the components section of this project. I've also got ti's CCS and my JTAG emulator all set up and ready to go. 

One of the concerns I had with this project is that I had heard that the I2S output of the BeagleBone was incorrectly set to start it's data stream on the rising edge of the clock, but the capture below shows it was since updated.

Green is the L/R clock, blue is the bit clock, and pink is the bitstream. 

So now that I have a working prototype of the DAC, I'm comfortable to start fiddling with the I2S on the BeagleBone The next step with is project is bare-bones programing the BeagleBone to read a .wav file from the uSD and output it over it's I2S. But I'll probably start with blinking an LED. Baby steps, people. Baby steps.

Discussions