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

  • MatrixClock v2.0.0 уже на Github

    Выкатил финалочку. Писалось в свободное от работы, семьи время. На все про все ушло 1.5 года. Осталось нарисовать корпус для печати на 3D принтере.…

  • Собрал Ka-Radio32 на ESP32

    Два года слушал младшую модель Ka-Radio на ESP8266, но не хватало экрана, нормального управления и 320kbps. На github нашел интересную плату.…

  • Печатный корпус для клона Hakko T12

    Пересел с Hakko T900 на T12. Долго сопротивлялся, но наконец-то жаба сдалась. Контроллеры на STM32 не дешевеют и потихоньку исчезают. Им на смену…

  • 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