Clip+ DC offset
Dec 14, 2010 at 6:04 PM Thread Starter Post #1 of 27

porthillsbomber

Head-Fier
Joined
Jul 21, 2010
Posts
73
Likes
11
Hi guys, I posted this on the Rockbox forum but they didn't really seem too interested so I thought I would see what you Head-Fi DIY guys thought.
 
http://forums.rockbox.org/index.php/topic,26357.0.html
 
Basically using rockbox firmware on my Clip+ I get a DC offset when I pause it. It varies each time I pause it and goes up and down with the volume when paused. With my limited testing I found it reached over 200mV sometimes.
 
No such problem occurs when I boot the original Sansa firmware. My guess is that the rockbox firmware carries on outputting the current sample when paused rather than going to zero like I guess the original firmware does.
 
My question is, is it an issue having a large DC offset when paused? I think you guys normally say that you want to try and aim for under 20mV for an amp and even less for your source, is that correct?
 
I look forward to your thoughts,
James
 
Dec 15, 2010 at 3:40 AM Post #2 of 27
that doesnt make a great deal of sense, a signal is a signal, it does not contain any information that by itself can cause, or correct DC offset (except perhaps a DC coupled balanced signal, not single ended as here). if you have offset, its there all the time and only varies with the amplitude of the signal output. when amplified that is and since the clip does not have a lineout, that is what is happening here, with a line level signal the amount of offset should remain constant.
 
so i'm afraid I dont have any answers for you, because the circumstances as you report them do not make any sense to me.
 
as for the amount of DC, 200mv is indeed a bit of a worry, especially with low impedance headphones
 
Dec 15, 2010 at 8:16 AM Post #3 of 27
Did you measure with a load on the output?  Headphones or dummy load?  If you didn't, then you are just seeing a partial charge on the output caps, since it has no path for discharge
 
Dec 15, 2010 at 5:09 PM Post #4 of 27


Quote:
Did you measure with a load on the output?  Headphones or dummy load?  If you didn't, then you are just seeing a partial charge on the output caps, since it has no path for discharge



Never thought of that but I measured it with a 1k resistor I had at hand as a load. Here's what I think could possibly be the cause
 

 
although I don't remember if I was getting positive and negative offset. Obviously a real life pause would be a lot longer than the wave form.
 
I'll make a file of complete zeros and test it tonight, in theory it should give no DC offset when paused if the above is correct.
 
Edit: If anyone else has a Clip+ , a 3.5mm TRS they can open and a multimeter could they see if they get the same results?
 
Dec 16, 2010 at 12:04 AM Post #5 of 27
I could potentially try that out but I'm unlikely to have time over the next few days.
 
My real recommendation is to open a flyspray account (and follow the rules when doing so) and post a bug.
 
And then maybe go ask about it on the #rockbox irc channel in a few days if nobody responds to the bug.
 
I get the impression that most of the developers don't really wade into the forums all that often. But most of them are on IRC every day. And they DO respond to bug reports. At least, they respond to mine.
 
It might also help to dig around in the wiki or the source code to figure out the irc nickname of the developer who does the most work on that driver. It might be funman, but I'm not certain. If it is, keep in mind that he lives in France.
 
Dec 16, 2010 at 2:33 AM Post #6 of 27
Righto I'll do that, I'm pretty confident it is what is happening in the illustration. I tested it again and I get positive and negative offset and when I tried the file of silence that I generated there was no offset at all.
 
Dec 16, 2010 at 3:13 AM Post #7 of 27
but that would mean that you also get offset to the amplitude of the audio signal all the time (ie, your output IS DC). I still cannot wrap my head around how a signal or software can possibly cause DC offset. The only way I can think of this happening, is if you are feeding a balanced DC coupled output with an underlying DC offset caused by using a single supply with Vground set at supply/2; to a pair of headphones or other device with no ground connection and relying on CMMR to remove the common mode DC; then sending a signal that is not symmetrical to the output. otherwise with a single ended signal, any DC offset should be there all the time under the signal, paused or not, rockbox or not.
 
I know the fuse has DC on its line out and needs caps in its LOD like IMOD
 
maybe i'm being dense here, anyone else see where i'm coming from?
 
I suppose the clip could use some kind of DC servo as part of a digital amp and the RB firmware is causing this to malfunction? thats the only way I can think of software having any influence over the amount/level of DC in the output
 
Dec 16, 2010 at 5:17 AM Post #9 of 27
In response to: but that would mean that you also get offset to the amplitude of the audio signal all the time (ie, your output IS DC). (quote is not working for me right now)
I thought that is what it is supposed to do, that's how the signal gets to the headphones right? It only becomes DC when it paused and is no longer changing in time (AC) or have I misunderstood what you're saying?
 
Dec 16, 2010 at 7:24 AM Post #10 of 27
right OK it pauses the sample you are at and stays there, not that the DC is there the whole time and changes with amplitude like you said earlier. or rather what I misread earlier when you said this
 
 
 
Quote:
It varies each time I pause it and goes up and down with the volume when paused. With my limited testing I found it reached over 200mV sometimes.

 
I still dont quite see how DC makes it through to the output, surely there is some mechanism that prevents this after the dac, which is the only place the software could be interfering. but then I dont have intimate knowledge of the clips hardware.
 
which is why I said this
 
 
 
Quote:
I suppose the clip could use some kind of DC servo as part of a digital amp and the RB firmware is causing this to malfunction? thats the only way I can think of software having any influence over the amount/level of DC in the output

 
because the only way it could be happening is if the dac and headphone amp are integrated and DC coupled, IE its not a true AC signal so much as a DC signal that mimicks AC's effect (PWM?). i'm just surmizing here, so should probably shutup, not my area of expertise at all.
 
OK well I guess thats feasible if true, lets hope the RB guys sort it out, i'm guessing you have already reflashed the firmware to see if it was just a bad install?
 
also if thats the case, i'm not sure that there is any major danger to the headphones, because it cannot be higher in amplitude than the recorded signal and if you hit play it stops, so the excursion of the headphones from DC is not fighting the music signal or being multiplied with the signal to overdrive the driver. all the same best to sort it out; good luck. I may be misunderstanding what effect of DC is of most harm to the headphones there though
 
Dec 16, 2010 at 10:55 AM Post #11 of 27
I've seen the same effects with some DACs (Buffalo) and an older PC I used (via SPDIF).  It seems there's a missing set/reset on pause, to zero the output, it got stuck on the last sample when the stream is no longer streaming.  My resolution was to change DACs when using the older PC until I got a more modern PC (drivers were no longer made/updated for the old PC so there would be no resolution there).
 
Your issue is firmware related.
 
BTW, putting a bipolar cap in the line didn't remove the measured DC.  I didn't scope it, so I'm not sure what the waveform actually was.
 
In my case, there was a noticeable pop when changing tracks manually as there would be voltage emitted prior to the new track playing, and then it would rapidly drop to 0 at the start.
 
Dec 16, 2010 at 3:29 PM Post #12 of 27


Quote:
I've seen the same effects with some DACs (Buffalo) and an older PC I used (via SPDIF).  It seems there's a missing set/reset on pause, to zero the output, it got stuck on the last sample when the stream is no longer streaming.  My resolution was to change DACs when using the older PC until I got a more modern PC (drivers were no longer made/updated for the old PC so there would be no resolution there).
 
Your issue is firmware related.
 
BTW, putting a bipolar cap in the line didn't remove the measured DC.  I didn't scope it, so I'm not sure what the waveform actually was.
  
 
The last bit there doesn't make any sense - unless you measured at the output of the cap w/o a load across the cap and ground.
 
As for the clip+, that DAP is based on a highly integrated system-on-chip that includes a pretty decent codec with fairly powerful output.
 
I believe (but am not certain) that the Fuze - which uses almost the same SOC - has coupling capacitors, where the Clip and ClipPlus do not, owing to their tiny size. I have several fuzes so i can check those too, eventually, but I'm fairly busy until at least monday.
 
The datasheet for the SOC in the v2 version of the e200 and the v1 version of the fuze indicates that it can be configured for DC-coupled output, so my presumption is that this has been done in the tiny players (which use later versions of the same SOC). Chances are some buffer needs to be flushed when output is paused, or something.

 
Dec 16, 2010 at 4:18 PM Post #13 of 27
The last bit there doesn't make any sense - unless you measured at the output of the cap w/o a load across the cap and ground.
 
 
 
 
 I agree.
 
I put up a flyspray http://www.rockbox.org/tracker/task/11812 and saratoga has taken notice. He mentioned fade to pause which in theory would zero it on pause but I checked and I had it on.  I tested it and it doesn't make a difference either way so I'm not really sure what the cause is now. But I did find I get a squeak at pause and unpause with fade on but not with it off, the squeak is what led me to measure the DC offset in the first place
 
Dec 16, 2010 at 8:00 PM Post #14 of 27


Quote:
The last bit there doesn't make any sense - unless you measured at the output of the cap w/o a load across the cap and ground.
 
 

 
loaded into my amp with caps inline and tripped my e12 every time i paused and resumed or changed tracks. i didn't care to investigate it as the problem was no longer a problem with a different dac (which also didn't use output caps).
 
Dec 17, 2010 at 3:14 AM Post #15 of 27


Quote:
Quote:
I've seen the same effects with some DACs (Buffalo) and an older PC I used (via SPDIF).  It seems there's a missing set/reset on pause, to zero the output, it got stuck on the last sample when the stream is no longer streaming.  My resolution was to change DACs when using the older PC until I got a more modern PC (drivers were no longer made/updated for the old PC so there would be no resolution there).
 
Your issue is firmware related.
 
BTW, putting a bipolar cap in the line didn't remove the measured DC.  I didn't scope it, so I'm not sure what the waveform actually was.
  
 
The last bit there doesn't make any sense - unless you measured at the output of the cap w/o a load across the cap and ground.
 

That's a common misconception, IMHO. "Capacitors block DC" is not an unbreakable law of the universe. They block constant DC, but spikes and transients are totally different.  Holland has tripped his e12, but some of us have destroyed equipment finding this out.
wink.gif

 

Users who are viewing this thread

Back
Top