SYNTHINGS is a digital synthesizer development platform that I've been building.


jason | 08 December, 2010 23:06

I hadn't soldered the audio part yet (except for the connectors), so the first job was to solder on the WM8759 and the accompanying resistors, capacitors and inductor.

I2S isn't a complicated protocol, and I've implemented it several times before. Rather than drag up an old version, I did a new one which would allow me to easily test without having to implement a voice generator for the sake of it.

I did a simple test - where the same left and right data was used (16-bit accuracy - although only the top 6 bits were written to), and measured one of the outputs from the WM8759 before it goes into a capacitor with a volt meter.

The 0 level voltage was 1.55V - exactly as expected - and as I stepped it upwards, the voltage dropped - also as expected. It dropped to 0.65V, and when the 16-bit value wrapped around, it jumped to 2.45V.

I've no idea if ths is correct - the datasheet does say that it should be 0.726Vrms, which would equate to a peak-to-peak voltage of 1.0164V (rather than 1.8V). However, I've got no idea what the impedence of my headphones are!

As it moves up and down with the signals, I'm happy - although I may put a larger inductor in it (there's a very slight background hiss - although the headphones I've got are quite loud).

The actual implementation for the I2S output is designed for 24-bit accuracy, and runs at ~48.828KHz - I could run at exactly 48KHz if I change the 50Mhz crystal for a 49.152MHz one. However, I'm not that bothered by it at this moment in time (I would need to recalculate the video frequency). For SYNTHINGS 2, I may run with two clocks.

Powered by LifeType - Design by BalearWeb and Jason Tribbeck
Copyright © 2010 | | Jason Tribbeck
All trademarks are the property of their respective owners