Skip to content
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

TLV320AIC23B is no longer available #174

Open
thejpster opened this issue Aug 5, 2023 · 27 comments
Open

TLV320AIC23B is no longer available #174

thejpster opened this issue Aug 5, 2023 · 27 comments

Comments

@thejpster
Copy link
Member

thejpster commented Aug 5, 2023

TI withdrew the TLV320AIC23B, marking it obsolete. This means JLCPCB no longer stock it.

Specifications included:

  • TSSOP package, so you can see the pins and hand-solder it
  • Stereo line-level out
  • Amplified stereo out for headphones (with volume control)
  • Mono microphone input and stereo line-level input (selectable, with bypass and sidetone)
  • I2C control interface
  • I2S digital interface, with host providing BCLK, LRCLK, and DATA.
  • Ran from 12 MHz crystal
  • Supports 16-bit, at 48 kHz and 44.1 kHz

Edit: Experiments show the RP2040 can take in a 12 MHz BCLK and 44.1 kHz or 48 kHz LRCLK, meaning any notes below about PLLs or taking in clocks are moot. Anything that can generate a BCLK up to 12 MHz should be fine - higher is untested.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster
Copy link
Member Author

Another option is to put the RP2040 into receive-mode. You just massively oversample the BCLK pin, waiting for the transition, and then clock out the DAC bit and clock in the ADC bit, using auto-push/pull on the FIFO. You spin once waiting for LRCLK on start-up to lock yourself to the left/right. This removes the need to find a CODEC with a PLL that can lock to LRCLK without an MCLK.

@thejpster
Copy link
Member Author

thejpster commented Aug 5, 2023

TLV320AIC3104

TLV320AIC3104 Low-Power Stereo Audio Codec for Portable Audio and Telephony

  • VQFN :/
  • The BCLK input can also be used to generate the internal audio master clock ✔️
  • Two mono microphone inputs
  • One stereo line input
  • Headphone output
  • Line output
  • 2,600 in stock at JLCPCB @ $1.66

@thejpster
Copy link
Member Author

thejpster commented Aug 5, 2023

PCM510x

As used on the Pico Explorer board and the Pico VGA demo board. Internal PLL to generate SCK from BCLK - you can just ground the SCK pin and feed it BCLK, LRCLK and DATA. Single analog stereo output, so you'd need a headphone amplifier.

PCM5100A, PCM5101A and PCM5102A only differ in SNR - PCM5102A is best.

JLCPCB have 4000 in stock at $1.45.
You'd need a matching ADC...

PCM1863

I2S ADC with internal PLL. Only requires LRCLK and BCLK in, and generates DATA out. Designed to go with PCM5100. Four stereo inputs. PCM1862 same but worse SNR. TSSOP-30.

JLCPCB have 4000 in stock at $1.43.

Edit: No JLCPCB now have none

@thejpster
Copy link
Member Author

thejpster commented Aug 5, 2023

PCM5121

Like a PCM5100 but it has I2C volume control. Unfortunately it's not in stock at JLCPCB.

@thejpster
Copy link
Member Author

PCM514x

Like a PCM512x but you can program the DSP instead of relying on the ROM routines. $5 at JLCPCB and only low stocks available.

@thejpster

This comment was marked as outdated.

@thejpster
Copy link
Member Author

ALC5616

Ultra-Low Power Audio CODEC for Mobile Devices

  • JLCPCB have 5,000 at $0.77
  • QFN-32
  • Headphone amplifier
  • 7-band parametric Equalizer
  • Microphone input with pre-amp
  • Stereo line input
  • Stereo line output
  • PLL to generate MCLK from BCLK
  • 24-bit 192 kHz I2S interface
  • It's only available from JLCPCB - not the catalog vendors

image

@thejpster
Copy link
Member Author

thejpster commented Aug 5, 2023

NAU88C22YG

24-bit Stereo Audio Codec with Speaker Driver

  • QFN-32
  • In stock at Digikey
  • 1500 in stock at JLCPCB for $0.62
  • 5-band equalizer
  • PLL that runs from BCLK
  • Headphone Out
  • 8 ohm speaker out
  • Line Out
  • Line In
  • Stereo Microphone In
  • I2S interface
  • I2C control interface

image

RSPKOUT receives its audio signal via an additional submixer. This submixer supports combining a traditional alert sound (from the RAUXIN input) with the right channel headphone output mixer signal.

We can wire the BMC PWM beeper output into the RAUXIN pin, which will then be passed to the built-in loudspeaker drive circuit. So, the unit can do PCM beeps but also play PCM audio over the internal speaker (like a Risc PC). This also means it can chime on start-up like a Macintosh.

The MA35D1 board from Nuvoton includes this CODEC, and the user manual has a full schematic including the audio section.

@thejpster

This comment was marked as outdated.

@thejpster

This comment was marked as outdated.

@thejpster
Copy link
Member Author

Stop the press! The PIO at 150 MHz ish is more than fast enough to oversample a 12 MHz BCLK and 48 kHz LRCLK from the CODEC. So I need to start again and stop worrying about PLLs.

@thejpster
Copy link
Member Author

I think the next step is to make a NAU88C22YG break-out board using the schematic from the MA35D1 board as noted above.

@thejpster
Copy link
Member Author

See https://oshwlab.com/Analityk/nau8822, where someone has already made a break-out board.

@thejpster
Copy link
Member Author

TLV320AIC3204

  • JLCPCB have 3100 in stock @ $2.34
  • QFN 5x5
  • Stocked at Mouser and Digikey

fbd_slos602e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant