-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test new audio codec revision #12
Comments
Some fun with the dtoverlay: https://www.raspberrypi.org/forums/viewtopic.php?p=1914969#p1914969 Today's task is to figure out why I'm not getting audio output. I can see i2s data being sent by the pi, and the headphone pins jump to some nonzero DC offset (which is odd... the whole point of switching to this codec was to get ground-centered headphone output.) I think my plan here is to look at the datasheet, figure out what registers need to be set to what value to get output on HPL/HPR or LOL/LOR, and then see which settings in alsamixer affect those registers. |
I think I forgot to connect ring2/GND_sense to ground. |
I should rearrange the decoupling caps to put a 10uF near pin 39 (DVDD_CP). |
oh, boo, the tlv320aic32x4 driver doesn't seem to know how to configure the charge pump in the 3206. |
boo, it also doesn't seem to know how to configure the headset detection feature, page 0 reg 67. (2.11.1 Headset Detection in https://www.ti.com/lit/an/slaa463b/slaa463b.pdf) |
Various registers to check:
Experiments:
|
I finally got audio by setting page 0 reg 0x04 to 0x01 (BCLK is CODEC_CLKIN), among some other settings. By setting DOUT to CLKOUT, and CDIV_CLKIN to PLL_CLK, I could see that the PLL was not generating a clock. |
with this script, I can get a steady 4xBCLK out of the PLL:
There's a lot of white noise on the output, but it does work. |
I think I left the headphone connector's ground pin (GND_SENSE) ungrounded. I wonder if this is why it seems to be also swinging around with the output signal, and things seem to get louder when one channel is muted. |
Played around with enabling the charge pump tonight:
I'm seeing significant droop on AVDD and DVDD_CP when audio levels get high; I may need to bump the size of the capacitors. In particular, slaa463b says I should have a 10uF cap on DVDD_CP, but I have 0.1uF. Earlier in the day (when I was not using ground-centered mode), I had compared left and right channels against each other with an XY chart; this showed significant correlation between the two when playing silence. (With an interesting banding pattern which I think is due to dithering applied by the DAC.) I should do this again in ground-centered mode. I should also try to measure the droop on the various Vcc pins. |
By playing some white noise and looking at the FFT with my oscilloscope, it appears that the frequency response of the output drops off significantly from about 2.4kHz to 2.7kHz. I think I need to take a look at the various user-defined filters (slaa463b, page 44 and onwards). I'm also still getting a lot of broad-spectrum noise mixed with my output signal. I'd like to get to the bottom of that. Based on how it looks on my scope (quantized), I think it may be added by codec as dithering, to reduce quantization error. |
Refer back to my project log about testing the last codec revision.
The text was updated successfully, but these errors were encountered: