james1095

S/PDIF interface

5 posts in this topic

I made a handy little module containing S/PDIF input and output buffers from Hamster's post on the topic. I didn't use a wing format for several reasons, it seemed silly to waste a whole wing spot when only two I/O pins are needed and the two side by side jacks are too wide to fit in a single space. Also I wanted to be able to easily use this on any FPGA board and the standard 0.1" header is very easy to connect with the ubiquitous breadboard/arduino jumpers.

 

Attached are the PCB files in both the native KiCAD format and standard Gerbers that I used to have my boards made. There's also a complete BOM with Digikey part numbers. I'm releasing this as open source so feel free to do whatever you like with it. I've built and verified that everything works as intended.

 

Has anyone done anything with Hamster's S/PDIF code? I've managed to get the passthrough working fine and got some recognizable but very distorted audio from a DAC. I'm still trying to decipher what some of the code is doing and properly decode the stream to analog stereo audio.

 

Here's the S/PDIF passthrough post for reference.

http://hamsterworks.co.nz/mediawiki/index.php/SPDIF_Thru

 

 

SPDIF IO.zip

post-36566-0-64566700-1432590962_thumb.j

Share this post


Link to post
Share on other sites

I found some other code today and got it working to decode stereo audio from the S/PDIF stream paired with Hamster's dac16.

 

https://github.com/tamtech/S-PDIF-Delta-Sigma-DAC

 

It's even written with the Papilio board in mind although I got it working on an Altera Cyclone II mini board just for fun. That board is roughly equivalent to the Papilio One 250k and this only uses 4% of the FPGA and performs flawlessly.

Share this post


Link to post
Share on other sites

Awesome! Congrats on the new design and getting it to work. :)

 

Jack.

Share this post


Link to post
Share on other sites

I did incorporate hammy's code into an audio DSP design I was playing with a while back, I'll have promised to post it sometime although I should warn its in VHDL which is what cool kids code in.

Share this post


Link to post
Share on other sites

I also hacked his Mandelbrot project and added some extremely cunning speedups for corner cases when you can show that a point is never going to converge algebraically, I really need to put my server back together

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now