Casa > Q > Quão Difícil É Programar Um Codec De Áudio?

Quão difícil é programar um codec de áudio?

Em resumo, não é fácil. Eu escrevi drivers para vários codecs diferentes, incluindo o Cirrus Logic WM8904 e o AKM AK4954, como parte da estrutura Harmony 3 para os microcontroladores PIC32 e SAM 32-bit do Microchip.

Internalmente, estes são bestas bastante complicadas. A folha de dados para o codec WM8904, por exemplo, tem 184 páginas. Tem quase 100 registos internos. Então você tem que entender como configurá-los e usá-los, além de como usar I2S e I2C, este último usado para acessar esses registros. Outros codecs podem usar, SPI, UART, ou uma interface paralela em seu lugar.

Aqui está o diagrama de blocos do WM8904:

main-qimg-5fda6954e52bb66df750f7a33c77db4c

Durante a inicialização, deve-se configurar os vários caminhos de sinal e ganho associado, viés de microfone, parâmetros de temporização (incluindo a configuração do FLL, ou Frequency Locked Loop), configuração do I2S, etc.

Durante o tempo de execução, pode haver a necessidade de ajustar parâmetros como a taxa de amostragem, volume e ganho do microfone, e silenciar o microfone e/ou as saídas.

A fonte C do meu driver WM8904 tem quase 3000 linhas. Provavelmente levei algumas semanas para escrever e depurar.

De Hulda

É seguro usar fones de ouvido Bluetooth o tempo todo? :: Que jogos são bons para relaxar?