elchupanibrei (elchupanibrei) wrote,
elchupanibrei
elchupanibrei

Proof of concept драйвер для VS1053 Audio Codec with DSP processor

Написал свой драйвер для web radio. В отличии от Ka-Radio поддерживает все плюшки VS1053. Попробую прикрутить к часам.

Arduino IDE settings:
- Board: Generic ESP8266 Module
- CPU Frequency: 80MHz
- Flash Size: 4MB (FS:none OTA:~1019KB)
- Flash Mode: QIO (fast)
- Flash Frequency: 80MHz
- IwIP Variant: v2 Higher Bandwidth
- Espressif FW: nonos-sdk 2.2.1 + 100 (190703)



У VS1053 два FIFO буфера. Первый bitstream buffer на 2КБ для сжатых данных типа MP3, AAC и тд. Второй audio buffer то ли на 4КБ то ли на 8КБ для DAC. Через прямой доступ к памяти можно узнать сколько свободно памяти в bitstream buffer и понять насколько хорошо он заполняется. У меня получилось в пике свободно 444байт или 2048-440=1604байт данных в виде подушки если ESP8266 переклинит. Аудиопоток гоняется по SPI шине на частоте 10MHz, команды на скорости 6MHz. Битрейт 256Kbps тянет без проблем, на 320Kbps иногда проваливается буфер. Буду городить кольцевой.



UDP: Подрихтовал запись в bitstream buffer и прикрутил софтовый кольцевой буфер на 20КБ в heap память ESP8266. Теперь 320Kbps без единого разрыва (c).
Tags: #esp8266, diy, esp8266
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments