• These commercial threads are for private transactions. diyAudio.com provides these forums for the convenience of our members, but makes no warranty nor assumes any responsibility. We do not vet any members, use of this facility is at your own risk. Customers can post any issues in those threads as long as it is done in a civil manner. All diyAudio rules about conduct apply and will be enforced.

Reference DAC Module - Discrete R-2R Sign Magnitude 24 bit 384 KHz

TNT

Member
Joined 2003
Paid Member
Hi to all,
finally, I made running dam1021-2 with RPI I2S, but I have a problem: DAC doesn’t play 44.1kHz sampled music. Other sampling rates play correctly. I thought maybe my RPI is wrong configured but I checked and with SABRE ES9018 every thing is ok.

Can anyone had something like that? What should I check?
firmware: FPGA rev. 0.99 20150816 and filters are standard 0.99

Regards
Jacek


I have the same problem with my RaPi connected to Soekris via I2S.
When I use a Hifiberry Digi connected over SPDIF to Soekris everything was o.k.

:(


Daniel
 
Nothing wrong with bass here :)

I think the major culprit for bad bass is the series resistor of the original vref PS,
on the V1 boards it's 100 ohm, Soekris recommends it to change to 0.1 ohm and the compensation cap to a 499ohm resistor.

My mods so far on the on the vref PS: extra 47uf on top of existing 22uf SMT,
0.01 ohm series resistor, 499 ohm compensation cap resistor, 9x 680uf polymer (UCC PSA + Nichicon PLE), 2x Wima MKS2 6.8uf, 1x 10nF polystyrene.
That's the 52 cap mod ;)

Mods on the clock: Building towers on the 2 existing 4.7uf caps around ring of clock: added 10nf C0G, 100pf C0G, underneath board through vias: 47uf X5R + 390uf UCC PSA.
So close to the clock there are 2 towers of 5x caps (see pics).
On J9 PS clock added 680 uf Nichicon PLE

Mods +5V: replaced original caps with UCC PSA 270uF

Result of all this: the DAC sounds very very good, plenty of 3D :)
Better than my es9018 and definitely on same level as AYA II.

Regards,
Danny
 

Attachments

  • 20151024100733s.jpg
    20151024100733s.jpg
    199.3 KB · Views: 1,272
  • 20151024101954s.jpg
    20151024101954s.jpg
    226.8 KB · Views: 1,232
  • 20151029085713s.jpg
    20151029085713s.jpg
    164.9 KB · Views: 1,212
  • IMG_0638s.jpg
    IMG_0638s.jpg
    260.2 KB · Views: 1,198
Last edited:
Thanks Daniel for your information.
Your solution is a bit workaround, but it would be nice to fasten RPi to dam1021 I2S without additional equipment. Another workaround is use Sox with mpd in the RPi - I've already checked - upsampling works with 48kHz,88.2kHz,96kHz (but not with 176.4 and higher - RPi is not strong enough). Maybe someone already had this problem and solved it? I've seen posts in this tread from guys they use RPi & I2S with dam1021, so they should discover this, or just this 0.99 firmware has bug.
Maybe Soren can help?

Regards
Jacek
 
I have the same problem with my RaPi connected to Soekris via I2S.
When I use a Hifiberry Digi connected over SPDIF to Soekris everything was o.k.

:(


Daniel

Thanks Daniel for your information.
Your solution is a bit workaround, but it would be nice to fasten RPi to dam1021 I2S without additional equipment. Another workaround is use Sox with mpd in the RPi - I've already checked - upsampling works with 48kHz,88.2kHz,96kHz (but not with 176.4 and higher - RPi is not strong enough). Maybe someone already had this problem and solved it? I've seen posts in this tread from guys they use RPi & I2S with dam1021, so they should discover this, or just this 0.99 firmware has bug.
Maybe Soren can help?

Regards
Jacek

I think I've found solution :
I use in mpd.conf line: audio_output_format "*:*:2"
when I change this line to : audio_output_format "*:24:2" dam1021 starts play music sampled 44.1kHz - 24 bits should be fixed in mpd configuration.
Sorry Soren - it's not a bug in firmware 0.99 ;)

Regards
Jacek
 
I think I've found solution :
I use in mpd.conf line: audio_output_format "*:*:2"
when I change this line to : audio_output_format "*:24:2" dam1021 starts play music sampled 44.1kHz - 24 bits should be fixed in mpd configuration.
Sorry Soren - it's not a bug in firmware 0.99 ;)

Regards
Jacek

In my opinion it was an upsampling config.
So it fix your issue not really.

Daniel
 
In my opinion it was an upsampling config.
So it fix your issue not really.

Daniel
I did upsampling just to make dam1021 running with 44.1kHz and I2S.

Perhaps somebody will have the same issue and it's good to do full picture:
I did few different settings in mpd.conf for audio_output_format parameter.
Part of my mpd config looks like:
#******************************
audio_output {
type "alsa"
name "I2S"
device "hw:0,0"....
format "*:*:2"....
mixer_type "disable"
auto_resample "no"
auto_channels "no"
auto_format "yes"
}

audio_output_format "*:*:2"
#*********************************

command: cat /proc/asound/card0/pcm0p/sub0/hw_params shows:
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4410
buffer_size: 22050

and dam1021 is not locked and not play.

when I start play music (using above config) with rate higher then 44100 DAC locks and play,
or
when I change parameter to audio_output_format "*:24:2" DAC also locks and play every sample rates from 44.1kHz to 192kHz.
So in my case dam1021 doesn't play 16bit/44.1 kHz from I2S input.
Right now I think it is not big problem because when audio_output_format is set to 24 bit DAC works ok and I guess mpd with this settings and 16/44.1 music just add 8 missing least significant bits without any resampling and distortion.... but any way this is a little bit odd.

Jacek
 
Nothing wrong with bass here :)

I think the major culprit for bad bass is the series resistor of the original vref PS,
on the V1 boards it's 100 ohm, Soekris recommends it to change to 0.1 ohm and the compensation cap to a 499ohm resistor.

My mods so far on the on the vref PS: extra 47uf on top of existing 22uf SMT,
0.01 ohm series resistor, 499 ohm compensation cap resistor, 9x 680uf polymer (UCC PSA + Nichicon PLE), 2x Wima MKS2 6.8uf, 1x 10nF polystyrene.
That's the 52 cap mod ;)

Mods on the clock: Building towers on the 2 existing 4.7uf caps around ring of clock: added 10nf C0G, 100pf C0G, underneath board through vias: 47uf X5R + 390uf UCC PSA.
So close to the clock there are 2 towers of 5x caps (see pics).
On J9 PS clock added 680 uf Nichicon PLE

Mods +5V: replaced original caps with UCC PSA 270uF

Result of all this: the DAC sounds very very good, plenty of 3D :)
Better than my es9018 and definitely on same level as AYA II.

Regards,
Danny

Hi Danny,

If Bernard is ok, it could be great you benchmark your moded Dam. and Bernard Aya 2 with my moded caped AYA 2 with :Ian FIFO 2, Clock 2+Laptech crystals 22.x+24.x / 8.x as alternative (have the 3), Simultaned mode I2S to PCM board + Wave I/O + all R-Core feeded ! Bruxelles Meeting ?

(PM if you are ok with Bernard. Of course french wine provided by me :) )
 
Last edited:
Power-on volume problem

Soeren,

If DAM1021 is powered on while music signal is present on the selected digital input, there is a rather annoying full volume sound blast before the dac sets its volume according to potentiometer position.

To make it easy to see, the attached image shows the problem while playing a sine wave. After power on, there is a 150ms full volume blast of undistorted sound before it does to normal volume as set by volume pot. Yellow channel is power, cyan is unbuffered output. It happens with all digital inputs.

It would be good to have it fixed in the next firmware release.

Serial port output during DAM1021 power-on sequence:
Code:
R0.99
F5
V+00   <-- This is where the full volume blast starts
I0
V-30   <-- 150ms later volume goes to normal
L044


dam1021 uManager Rev 0.99  20150826  FPGA Rev 0.99  Press ? for help.

# set

Conspeed = 115200
Volume = -99
Filter = Mixed
Mode = Normal
 

Attachments

  • DS1Z_QuickPrint8.png
    DS1Z_QuickPrint8.png
    40.7 KB · Views: 853
Last edited:
I did upsampling just to make dam1021 running with 44.1kHz and I2S.

Perhaps somebody will have the same issue and it's good to do full picture:
I did few different settings in mpd.conf for audio_output_format parameter.
Part of my mpd config looks like:
#******************************
audio_output {
type "alsa"
name "I2S"
device "hw:0,0"....
format "*:*:2"....
mixer_type "disable"
auto_resample "no"
auto_channels "no"
auto_format "yes"
}

audio_output_format "*:*:2"
#*********************************

command: cat /proc/asound/card0/pcm0p/sub0/hw_params shows:
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 4410
buffer_size: 22050

and dam1021 is not locked and not play.

when I start play music (using above config) with rate higher then 44100 DAC locks and play,
or
when I change parameter to audio_output_format "*:24:2" DAC also locks and play every sample rates from 44.1kHz to 192kHz.
So in my case dam1021 doesn't play 16bit/44.1 kHz from I2S input.
Right now I think it is not big problem because when audio_output_format is set to 24 bit DAC works ok and I guess mpd with this settings and 16/44.1 music just add 8 missing least significant bits without any resampling and distortion.... but any way this is a little bit odd.

Jacek

Hi, refer to past post, dam1021 req 64fs BCLK, you can check the output i2s signal .
the i2s output is 32fs acturally.I found this issue on raspberry pi 2 board with default i2s driver, I modified the ratio in source code to output 64fs BCLK.
 
Hi, refer to past post, dam1021 req 64fs BCLK, you can check the output i2s signal .
the i2s output is 32fs acturally.I found this issue on raspberry pi 2 board with default i2s driver, I modified the ratio in source code to output 64fs BCLK.

I have been using the hifiberry I2S driver, it produces 64fs signal.

In Raspbian, add these lines to /boot/config.txt:
Code:
dtparam=i2s=on
dtoverlay=hifiberry-dac
 
I have been using the hifiberry I2S driver, it produces 64fs signal.

In Raspbian, add these lines to /boot/config.txt:
Code:
dtparam=i2s=on
dtoverlay=hifiberry-dac

Hi, you can download source from office git server:
git clone --depth=1 https://github.com/raspberrypi/linux

@hifiberry_dac.c file, line31, you can see below codes:
static int snd_rpi_hifiberry_dac_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
struct snd_soc_pcm_runtime *rtd = substream->private_data;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;

unsigned int sample_bits =
snd_pcm_format_physical_width(params_format(params));

return snd_soc_dai_set_bclk_ratio(cpu_dai, sample_bits * 2);
}

when the audio file format is 16bit, it will output 16*2=32 fs.
I guess you are using 24bit 44.1KHz format file, so you can get 64fs BCLK finally.

PS: I double check with logic analyzer, raspi 2 board's i2s do output 32bit BCLK when you play 16bit 44.1Khz audio file.

Best Regards!
 
Last edited: