This is about the Bluetooth headphone adapter, which have turned into a Bluetooth/USB/analog line-in codec/headphone amp.
I am submitting to this architecture for the first board revision:
* DSP with codec: ADAU1701.
* Bluetooth/USB Audio module: Qualcomm CSR64215, streams via I2S
* Microphone ADC: CS5343, two channels tied together
* System Microcontroller: STM32L031F6P6 or STM32F303CCT6, depending on DSP code size and the necessity of onboard tone generation.
* Audio operational amplifiers: LME49721
* Headphone power amplifier: LMH6643.
Some audiophoolery may be committed with the amplifiers and (fairly simplistic) analog circuitry, but the real audiophile crafts stands in the digital domain within the DSP. The next revision will replace the ADAU1701 and STM32 with a ADSP-BF532 fully programmable DSP.
— Original Contents —
I was head aching about the volume control and analog loop for the line input to headphone output, but it occurred on me that I might as well move those features into the digital domain with a DSP sitting between the Bluetooth/USB audio module and the I2S codec. At this location I can not only switch but also mix the streams, implement an equalizer and even insert audio effects.
Stream specs:
* Bluetooth/USB audio module: Qualcomm CSRA64215, I2S stream, 16-bit @96kHz
* Audio codec: Cirrus Logic CS4272, I2S stream, 24-bit @96kHz. Output permanently connected to a fixed OPA-BUF headphone AFE. Input permanently connected to line input.
* Microphone input: I have not decided whether I should MUX it onto line input, or give it a separate I2S ADC, or (in case of DSP with good internal ADC like STM32F373) use the built-in ADC for the microphone.
Here is my questions:
* Does STM32F373, STM32F405 or STM32F722 make a good DSP?
* If a dedicated DSP is preferred, is there any low pin count QFP DSP that supports two (or three) I2S streams and offer enough performance?
Edit: wrong part number