I use a ADAU1361 on the audio path of a radio. The value of the digitilized input signal does not match with the input measured signal. The "error" is between 0.4dB to 0.8dB, for 150mVrms/1kHz sine input (its alomst the same error with smaller or bigger signals).
Could this come from the specified typical (!) "−12% to 14% Gain Error" of the data sheet ?
Could you explain this −12% to 14% Gain Error ?
Why is this value in the typical column ?
I can globaly measure the same error on several cards.
The design goal was to have 1Vrms come out of the serial port at 0dBFS. In reality during characterization we found that the mean of gain error was centered around -12 % for the line in going to the ADC and for the PGA it adds a bit more gain error so it is specified at -14%.
So a 1Vrms signal - 14% is 860mV so that is -1.31dB from a 1V reference level. So applying a 1V rms signal you will read about -1.31dBFS on the serial data. This is a typical value. For these consumer grade parts we tend to not place the Min and Max values. If you look at the automotive version of this part you will see a Min and Max but keep in mind that this is calculated to automotive standards. So we have to place a large guard band so that any part that passes the production test will never exceed these values. So the Min and Max can look quite high but it is over the wider automotive temperature range and over a wide variation in silicon skews. So we end up having to place a large range in the datasheet.
One other think I need to point out. If you are using the PGA then look carefully at the level right on the pin itself. The input impedance of the PGA can be quite low with some settings and so you might be getting some loss in the output stage of what is driving the input of the codec. If you are using a decent opamp with low output impedance and little to no series resistor then you should not have a problem.
Thank you for these clarifications.
Another point I wish could be explained, is the non-linearity of ROUTVOL steps.
On the here-above graph we can see the result of the PGA « ROUTVOL » evolution step by step : with a same output digital signal, simply incrementing routvol register 1dB by 1dB, I can mesaure an increment of +0.6 to +1.4dB, from a step to the next one...
I find the same values with several CODECs/boards.
Could you explain this non-linear increment ?
The design goal was 1dB per step. If you look at the datasheet specifications the analog volume control step has a mean of 0.75dB so it will not be 1dB exactly. That said, your data and my tests show it to be closer to 1dB. This volume control is analog and the design goal for performance was to be zipper-less. To make it very precise would have required laser trimming and that would be cost prohibitive.
So I did go into the lab to quickly test this and I found that it was fairly close to 1dB. I saw that many of the steps were about 0.2dB to 0.3dB off and a few were 0.4dB. Overall it stayed fairly close to what it was supposed to be as in the errors were not cumulative such that setting it to -15dB did not result in -11dB or something like that, it was within a few tenths of a dB of the target level.
This is a digitally controlled analog volume control not a digital volume control. So it will not be perfect.
One other thing to note is that it is zipper-less. This means it looks at the zero crossing and will change at that point and there will be intermediate steps. So it will take a little time to reach the new value. Keep that in mind when setting your test equipment to test this. You have to give it plenty of time to settle for automated sweeps.