|
|||||||
| Home | Forums | Rules | Articles | Store | Gallery | Blogs | Register | Donations | FAQ | Calendar | Search | Today's Posts | Mark Forums Read | Search |
| Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc. |
|
Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving |
|
![]() |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
diyAudio Member
Join Date: Dec 2003
Location: Oslo, Norway
|
Finally, after working on my audio DAC for years and years, I have an up-and-running prototype with all parts owned by myself, nothing borrowed from the various labs where I have worked.
Just wanted to show you some pictures of it! Some details: - I tap the CD player I2S signal and the crystal oscillator there. S/PDIF is an option. (Want to improve oscillator in CD player and move it to the DAC board.) - Home-made 8x digital oversampling filter implemented in Xilinx FPGA. (Want to experiment more with digital filters.) - Home-made analog filter built around on BB opa2132 (a newer 2134 with lower input offset voltage error). - Three different filter / DAC combinations. Possible to compare pcm1794 and pcm1794 with same digital and analog filter. I hope I get to make the top lid for it and bring it home tonight. Greetings, Børge |
|
|
|
#2 |
|
diyAudio Member
Join Date: Dec 2003
Location: Oslo, Norway
|
Here's another picture:
|
|
|
|
#3 |
|
diyAudio Member
Join Date: Jan 2004
Location: LYON
|
Hi,
closer pics soon availables ? Anyway, which company did manufacture your PCB ? Regards |
|
|
|
#4 | |
|
diyAudio Member
Join Date: Oct 2001
Location: .
|
Quote:
|
|
|
|
|
#5 | ||
|
diyAudio Member
Join Date: Dec 2003
Location: Oslo, Norway
|
Quote:
Quote:
What the code now contains is this: I2S reader, PCM1704 writer, 2-channel FIR doing 2x oversampling, 2-channel FIR doing a final 4x oversampling. The first filter has 157 taps (every second tap is zero), the second filter has 154 taps (no symmetry/zeros exploit). Both filters use 21-bit coefficient data. Output from first and second filters are truncated to 24 bits. It was actually better to use single rate FIRs and manually insert zeros for oversampling, than to use actual oversampling filters. The reason is that oversamplers can only be single channel devices in Xilinx's Core Generator. The glue logic got a little tricky, though. Just finished a rerun of the FPGA compilation. Here's what it says: Design Summary: Number of errors: 0 Number of warnings: 0 Logic Utilization: Number of Slice Flip Flops: 2,676 out of 3,840 69% Number of 4 input LUTs: 1,867 out of 3,840 48% Logic Distribution: Number of occupied Slices: 1,797 out of 1,920 93% Number of Slices containing only related logic: 1,797 out of 1,797 100% Number of Slices containing unrelated logic: 0 out of 1,797 0% *See NOTES below for an explanation of the effects of unrelated logic Total Number 4 input LUTs: 2,906 out of 3,840 75% Number used as logic: 1,867 Number used as a route-thru: 85 Number used as Shift registers: 954 Number of bonded IOBs: 25 out of 173 14% IOB Flip Flops: 9 Number of GCLKs: 1 out of 8 12% Number of DCMs: 1 out of 4 25% Total equivalent gate count for design: 106,270 Additional JTAG gate count for IOBs: 1,200 Greetings, Børge |
||
|
|
|
#6 |
|
diyAudio Member
Join Date: Nov 2003
Location: Aalborg
|
Very interesting project.
Please tell the audible results of the different digital filters. |
|
|
|
#7 |
|
diyAudio Member
Join Date: Dec 2003
Location: Oslo, Norway
|
Hi Lgrau,
that's my plan indeed! Between fixing up my appartment and changing jobs I plan to implement downloadable filter coefficients. Then I can be in a listening position with my PC around and dump out fresh coefficients from Octave or Matlab. For that to work I have to write Verilog code that implements an oversampler with Xilinx MACs. (You don't happen to have any such code lying around, do you? Right now I have a Verilog template written in Matlab.) I plan to store separate coefficients for L and R. Might sound like overkill, but that way I can use one of these sets as active Xover for one channel. This stuff only gets really cool when I start using the FPGA filter to compensate for loudspeaker phase / dB response in addition to Xover. I mean there are 24 bit DACs lying around, so there should be some overhead to correct for "errors" further down the signal chain. What do you think? Greetings, Børge |
|
|
|
#8 |
|
diyAudio Member
Join Date: Oct 2003
|
Any plans for a discrete JFET analog filter ?
Such effort !! I wish I had the stemina. Patrick |
|
|
|
#9 |
|
diyAudio Member
Join Date: Nov 2002
Location: Grenoble, FR
|
Why JFets?
Are you talking about a I/V or a filter (voltage out dac??)
__________________
Just remember: in theory there's no difference between theory and practice. But in practice it usually is quite a bit difference... Bob Pease |
|
|
|
#10 | |
|
diyAudio Member
Join Date: Dec 2003
Location: Oslo, Norway
|
Quote:
Do you have a schematic showing what you mean? The I/V conversion I use today is pretty straight forward with inverting opamps. For the PCM1794 I also have an experimental setup with passive combined I/V and filtering. Trouble with that chip is that it pumps out 6.2mA of DC current that I don't want to let offset my output voltage. As I recall it, the PCM1794 likes to send its single-ended output curent into a 0V potential. The inverting input of an opamp (whos non-inverting input is at ground) gets you pretty close to that. The 6.2mA I remove from the inverting input by means of a TL431 based current sink. There's one sink for each PCM1794 output pin. I wanted full DC response, so there's no servoing. This means outputs are the closest to 0mV after 30 minutes of operation in room temperature :-) I use the DAC to evaluate two different analog filters, so I'm not using the datasheet's completely-differential-all-the-way schematic. Rater, I use two single-ended setups for the opamp-based filter. The other (passive) filter is differential with non-inverting single-ended gain/buffer opamps on its outputs. There is a PMOS common-gate transistor gated at ground to place the PCM1794 output pin approximately at 0.7V. I know this is not ideal, but board space and development time was very limited at that stage. So Patrick, any suggestions as to building a nice I/V converter with fixed - and linear - output resistance and possibly some sort of servo that gets the DC current, let's have it! I'd like to improve the filter/DAC interface with current sink and all. Right now I must bias the filter at some unwanted voltages because the bipolar current I get (after sinking the 6.2mA) must go to a voltage which is always below 0V (due to the CG PMOS). I'd like to have a bipolar current that I can put into a 0V potential without introducing too much noise and at the same time keeping the DAC chip happy. Greetings, Børge |
|
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Nice assembled kit. | e_fortier | Chip Amps | 1 | 9th October 2008 11:20 AM |
| need a pic software assembled | diyfmradio | Everything Else | 11 | 25th February 2007 10:50 AM |
| FX Mox assembled w/ superregs | Andypairo | Swap Meet | 4 | 6th December 2006 06:41 AM |
| FS: DDDAC USB Only - Assembled | jeff mai | Swap Meet | 1 | 27th September 2006 04:42 AM |
| FS: Dackit - Assembled | PHilgeman | Swap Meet | 6 | 12th May 2006 08:49 PM |
| New To Site? | Need Help? |