Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр У самурая нет цели, есть только путь. Длинный путь. Улучшая свои навыки, он пробирается все дальше.

Долгий путь: idle

Кликер, Ролевые, Фэнтези

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
31
maxssau
maxssau
6 лет назад
Лига Радиолюбителей

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

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


Добрый вечер уважаемые 22(!) подписчика и многоуважаемые читатель Пикабу.


Продолжаю свой эльфийский бред, на тему проектирования и изготовления аудио железок.


Сегодня хочу рассказать о своей очередной разработке, USB-I2S аудиоинтерфейсе UI-01.


Идея сделать свой USB транспорт родилась во время проектирования АЦП. Проблема подключения к компьютеру изначально решалась с помощью SPDIF через звуковую карту E-MU 0404 PCIe. Но это накладывало определенные ограничения в виде лимита сэмплрейта в 44.1-96 кГц, сложность настройки PatchMixer'а, а так же глюки драйверов в современных ОС.


Первый адаптер пытался сделать на плате STM32Discovery на процессоре STM32F411, но очень быстро пришел к тому, что с этими процессорами нет возможности сделать хайрез адаптер, т.к. в процессоре присутствует только USB 1.0 PHY, а нужен был как минимум USB 2.0 PHY, цеплять внешний PHY небыло никакого желания.


Под рукой долгое время скучала плата XMOS startKit с 16 ядерным процессором, но в этой плате есть одно большое НО: 1 тайл залочен под дебаггер, а с ним и USB PHY, т.е. прямого доступа к порту USB нет, только 1 тайл с 8 ядрами и GPIO, поэтому было решено разработать собственную плату.

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

Выбор пал на процессор XUF208.


После довольно долгого изучения технической документации была разработана, заказана в китае и собрана первая плата:

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

На обратной стороне решил увековечить одного из героев MLP - Спайка, т.к. дочка очень любит этот мультсериал :)

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

Получился адаптер со следующими характеристиками:


- USB 2.0 High speed


- ввод: PCM 44.1 - 384 кГц, стерео


- вывод: PCM 44.1 - 384 кГц, DSD DoP 64-128, DSD Native 64-256, стерео


- формат ввода/вывода PCM - I2S


- тактирование от платы ЦАП/АЦП


- питание Self Power


- 8 линий GPIO


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

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

Возможно обновление прошивки через DFU, т.е. прямо с компьютера без адаптера, по USB.


На плате предусмотрел разъем с I2C шиной для подключения дисплея, кнопок и т.п.


Задумал 3 режима работы: Legacy, Soft и Native.



Legacy


Параллельный режим работы, при котором управляющие команды выдаются как статические сигналы (MUTE, RESET, DSD, F0,F1). Этот режим позволяет работать интерфейсу без платы управления. Этот режим работы предназначен для плат ЦАП/АЦП с контроллером, управляющим режимами работы

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

Soft режим.


Режим, при котором управление ИМС ЦАП/АЦП осуществляется по шине I2C или SPI. Конфигурация выбирается из меню. Необходима плата управления.

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

Native режим.


Режим, при котором конфигурация управления хранится в EEPROM памяти на плате ЦАП/АЦП. Наиболее функциональный режим, при котором всё управление осуществляется с процессора интерфейса. Управляющие сигналы на плате ЦАП/АЦП формируются с помощью I2C экспандера. Этот режим позволит использовать самую различную периферию на плате преобразователя (регулятор громкости и т.п.) без необходимости настройки, т.к. конфигурация будет храниться в EEPROM. Разъем 10 пиновый, т.к достаточно только I2S и I2C сигналы. Этот режим позволяет работать интерфейсу как с платой управления, так и без неё.

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

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


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

USB интерфейс UI-01 Xmos, Музыка, Аудиофилия, Аудиотехника, USB, Длиннопост

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


http://jlsounds.com/drivers.html


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


Первое что попалось - неверное воспроизведение DSD, только с генератором на 48 кГц, порывшись на форуме xcore.com было найдено решение - добавление дефайнов в аудио ядро. Следующая проблема - исключение, при попытке "разбудить" устройство по шине USB, т.е. после того, как посылается команда Resume. Вылечилось костылём от прошивки evolution board на процессоре XE216, решение дубовое, но работает. Инженеры из XMOS скрыли исходный код модуля XUD, отвечающего за низкоуровневую работу с USB PHY, видимо там запрятан платный код, для работы с яблочными телефонами.


Необходимо будет провести проверку на битперфектность, для этого нужно написать софт, генерирующий Wav и записывающий звук. Грубо говоря сделать цифровой loop и посмотреть, что же возвращается по факту, ну и конечно же сосчитать кол-во ошибок.


На данный момент полностью реализован режим Legacy. Так же исправлены большинство "детских" болезней. В процессе работы удаление щелчков при переключении PCM-DSD и обратно.


Сейчас плата проходит стадию железотестирования и отладки ПО. Использую со свои ЦАПом на АК4490, звук устраивает, что же еще для счастья нужно?


На сегодня пока всё, всем добра и котиков.

Показать полностью 8
[моё] Xmos Музыка Аудиофилия Аудиотехника USB Длиннопост
28
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии