USB интерфейс UI-01

Сейчас в стадии железотестирования и отладки ПО мой первый USB интерфейс на основе процессора XMOS XUF208.

Структурная схема интерфейса:

На данный момент в первой версий используется USB соединение с компьютером. SPDIF ввод/вывод не реализован, по планам будет только во Pro версии.

Краткие характеристики:

  • USB 1.1/2.0, 12/480 Мбит.
  • USB Audio Class 2.0
  • режим вывода: PCM 16-32 бита, 44.1 — 384 кГц, DSD 2.8МГц — 11.2 МГц (при USB 2.0).
  • режим ввода: PCM 16-32 бита, 44.1 — 384 кГц
  • 2х канальный вход/2х канальный выход, с возможностью выбора кол-ва каналов ввода-вывода при заказе (возможные режимы: 4 выхода, 2 входа/2 выхода, 2 входа, всего 2 линии данных).
  • вход/выход в формате I2S
  • выход TDM (в версии прошивки 2.0), кол-во каналов до 16.
  • тактирование мастерклока от платы ЦАП/АЦП, частоты 22.5972/24.576 МГц.
  • питание изоляторов — 3.3В.
  • питание от внешнего источника питания (Self Power, с возможностью USB power при модификации платы).

На плате присутствует 3 источника питания: первичный стабилизатор 5В, 2 DC-DC преобразователя на 3.3В и 1В для питания ядра процессора. Так же на плате есть генератор 24 МГц, для тактирования USB PHY процессора.

В качестве гальванической изоляции используются SI8662, SI8640 и ADUM1250.

Управляющяя плата с дисплеем и кнопками подключается по I2C интерфейсу без гальванической развязки.

Планируется 3 режима работы:

  1. Legacy режим. Параллельный режим работы, при котором управляющие команды выдаются как статические сигналы (MUTE, RESET, DSD, F0,F1). Этот режим позволяет работать интерфейсу без платы управления.
  2. Soft режим, при котором управление ИМС ЦАП/АЦП осуществляется по шине I2C или SPI. Конфигурация выбирается из меню. Необходима плата управления.
  3. Native режим. При котором конфигурация режимов управления хранится в EEPROM памяти на плате ЦАП/АЦП. Наиболее функциональный режим, при котором всё управление осуществляется с процессора интерфейса. Управляющие сигналы на плате ЦАП/АЦП формируются с помощью I2C экспандера. Этот режим позволит использовать самую различную периферию на плате преобразователя (регулятор громкости и т.п.) без необходимости настройки, т.к. конфигурация будет храниться в EEPROM. Разъем 10 пиновый, т.к достаточно только I2S и I2C сигналы. Этот режим позволяет работать интерфейсу как с платой управления, так и без неё.

Legacy режим:

Soft режим

Native режим

Программируется плата с помощью специализированного адаптера XA-XTAG.

Т.к. адаптер походит только для процессоров XMOS и почти нигде не встречается, прошивка будет закрытой, т.к. распространять её нет никакого смысла.

Обновление ПО интерфейса возможно через DFU. Алгоритм прошивки будет позднее, после окончательной отладки интерфейса.

Распиновка разъема:

Выводы сгруппированы по функциональному назначению, поэтому в случае неиспользуемых функций (например не нужен SPI), изолятор отвечающий за эту группу сигналов может не устанавливаться на плату.

Полнофункциональные драйверы подходят отсюда:

http://jlsounds.com/drivers.html

Фото первой отладочной платы:

Готовый вариант с SMD генератором и изоляторами — полностью рабочая плата.
Т.к. платы не для продажи, решил порадовать дочку, и на обратной стороне красуется один из героев Спайк, её любимого мультсериала MLP.

Отчет Right Mark Audio Analyser: цифровой loopback 24 бита 192 кГц.

Ссылки:

История версий Firmware:

2019/04/17 — V1.0RC2_L

Исправлена ошибка с подвисанием интерфейса при перезагрузке ОС и одновременном проигрывании аудио.

Известные проблемы: Наличие щелчка при переключении PCM-DSD и обратно.

2019/04/03 — V1.0RC1_L

Полностью реализован режим Legacy. Исправлены ошибки SDK, приводящие к искажению данных при выводе во всех режимах DSD.

Известные проблемы: периодическое подвисание интерфейса при перезагрузки из ОС Linux (Ubuntu 18.04 x64), требующее HW сброса. Возможно проблема в USB Core операционной системы Ubuntu, т.к. проблема массовая с различным периферийным оборудованием USB. Наличие щелчка при переключении PCM-DSD и обратно.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *