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

Nov 03, 2020 21:45

Написал свой драйвер для 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).

esp8266, #esp8266, diy

Previous post Next post
Up