Было интересно получить скорость передачи аудиоданных, достаточную для воспроизведения PCM потока 24 бита с частотой дискретизации 192 кГц, при одном ограничении - все элементы транспорта должны синхронизироваться генератором ЦАП. По предыдущим эксперементам у меня сложилось мнение, что частоты генератора ЦАП 18МГц будет недостаточно, чтобы получить данную скорость на контролере AtXmega, поэтому передачу аудиоданных решил организовать аппаратно с помощью ПЛИС и микросхемы FIFO. Источником данных выбрал карточку SDHC для реализации интерфейса с ней не нужно дополнительных генераторов и резонаторов.
Скрытый текст
В результате получился транспорт который позволяет:
Скорость чтения файла (с учетом обработки FAT32) при тактовке транспорта 18,4МГц составила 5,5 Мбайт/с, что вполне хватает для воспроизведения 24 бит 192кГц без разрыва аудиопотока при переходе на следующий файл. В принципе данной скорости хватит и для воспроизведения 24 бит 384кГц и шести каналов 24 бит 192кГц
- Передавать блок 512 байт от SDHC в FIFO без участия Xmega
- Получать и формировать поток I2S, RJ или LJ без участия Xmega
- Подключить SDHC по 4 битному SD bus
[свернуть]
Основные характеристики:
1. Воспроизводит не сжатые wave файлы c SDHC или SDXC карточек
2. Размер аудиоданных 16 или 24 бита
3. Частоты дискретизации 44.1, 88.2, 176.4 кГц и 48, 96, 192 кГц
4. Поддерживает файловые системы FAT32 и ExFAT
5. Поддерживает кирилицу в именах файлов и длинные имена в FAT32
6. Размер плэйлиста 250 элементов, 10 уровней вложенности папок
7. Сортировка элементов в плэйлисте по первым 10 символам, отдельно для папок и треков, папки всегда в начале
8. Выход - квадратная шина (lrclk, bclk, sdt) с размером кадра 48 или 64 бита форматом I2S, RJ, LJ (для работы устройства необходима подача mclk)
9. Дополнительная колодка на 5 выводов для конфигурирования ЦАПа (1й - выбор генератора, остальные 4 настраиваются для разных форматов wave)
10. Управление на выбор
- Пульт на ИК-канале с тачскрином (схема, плата, исходный текст программы доступны для повторения)
- знакосинтезирующей ЖКИ 4 строки на 20 символов, четырех кнопок (Play, Stop, Prev, Next) и ДУ NEC
- UART 115200 с протоколом обмена как у ИК-пульта
Пульт управления на ИК-канале
Скрытый текст
имеет встроенный TFT-экран 2.4" и тачскрин. Два основных режима работы:
При нажатие в центре экрана пульт переходит в спящий режим. Максимальная длина названия элемента плэйлиста 40 символов, время начального заполнения плэйлиста при открытии папки в режиме выбора - около 2 секунд. Эти ограничения связаны с тем, что для обеспечения комфортной дистанции работы пульта пришлось применить ик-приемник с несущей частотой сигнала 38кГц, что ограничило скорость передачи данных (3600 бит в секунду). Дальность работы (которую удалось измерить) 12 метров, в пределах комнаты работает и от отраженного сигнала. Несущая частота ИК-канала 38 кГц, формируется на транспорте путем деления тактовой частоты ЦАП в момент передачи данных. Передача данных транспортом пульту осуществляется только после получения запроса от пульта. Питание пульта от двух пальчиковых батареек АА.
- выбор папки и трека для воспроизведения
- режим воспроизведения
[свернуть]
Социальные закладки