• Внешний USB-ЦАП-Аудиопроцессор CDD-010 можно купить

DSP проект 4. Система 2.1 с линейным входом (стерео & сабвуфер). DSP KIT 4x3 HD + AD1938 CODEC

Oleggraf

Well-known member
Что Вас смущает? Хорошая синусоида на выходе.
Смущает то, что эту синусоиду больше невозможно воспроизвести и ещё то, что частота у неё была чуть меньшше, чем частота MC. Частота MC, как видно на картинке 12,287924MHz, а частоту синусоиды я увидел приблизительно 11,5MHz.
 

Евгений

Administrator
Команда форума
Смущает то, что эту синусоиду больше невозможно воспроизвести и ещё то, что частота у неё была чуть меньшше, чем частота MC. Частота MC, как видно на картинке 12,287924MHz, а частоту синусоиды я увидел приблизительно 11,5MHz.
Ничего не понял. Частота mclk это частота сигнала, который подключается к mclk кодека для тактирования. Сигнал на выходе это аналоговый сигнал с выходов кодека, он определяется цифровым сигналом data, подаваемым на цифровой вход кодека. Что и куда у Вас подключено?
 

Oleggraf

Well-known member
Ничего не понял. Частота mclk это частота сигнала, который подключается к mclk кодека для тактирования. Сигнал на выходе это аналоговый сигнал с выходов кодека, он определяется цифровым сигналом data, подаваемым на цифровой вход кодека. Что и куда у Вас подключено?
Я подключил AD1938 к питанию материнки 5В и подал с материнки mclk. Джамперы все стоят 4 на SPI и 1 для внешнего тактирования ближе к гребёнке. Та картинка была когда я щупом без земли снял сигнал с mclk на AD1938. С землёй картинка немножко другая.
OSA103F-2.jpg
А это сигнал на выходах DAC1-DAC4 AD1938
OSA103F-1.jpg
PS Плюс на всех выходах, как можно видеть на картинках, присутствует постоянное напряжение, равное, примерно, половине напряжения питания платы AD1938. Я его даже обычным мультиметром тоже проверил.
 
Последнее редактирование:

Евгений

Administrator
Команда форума
mclk на контакт данных подавать не имеет смысла, на выходе будет мусор, что и отображено на картинке. Собственно, реакция на вход есть.
По второй картинке. В этот момент линия данных висит в воздухе? Если так, Вы видите опять же мусор на выходе, дребезг контакта.

Для частоты эксперимента попробуйте так:
1) Сигнал data входного порта подключите к GND. Какой сигнал будет на аналоговом выходе?
2) В SigmaStudio поставить на этот выход генератор синуса. На выходе должна быть синусоида такой же частоты, как в проекте.
 

Oleggraf

Well-known member
mclk на контакт данных подавать не имеет смысла, на выходе будет мусор, что и отображено на картинке. Собственно, реакция на вход есть.
По второй картинке. В этот момент линия данных висит в воздухе? Если так, Вы видите опять же мусор на выходе, дребезг контакта.

Для частоты эксперимента попробуйте так:
1) Сигнал data входного порта подключите к GND. Какой сигнал будет на аналоговом выходе?
2) В SigmaStudio поставить на этот выход генератор синуса. На выходе должна быть синусоида такой же частоты, как в проекте.
Линия данных у меня выведена на D4 осциллографа
D1 - MC
D2 - LR
D3 - BC
D4 - D1
Как на гребёнке.
SigmaStudio пойду пробовать.
 

Oleggraf

Well-known member
SigmaStudio пойду пробовать.
Мистика какая-то. Подключил USBi к SPI материнки, I2S OUT2 материнки подключил к входу DAC3 AD1938. Накинул 12 джампер на Reflex, подключил USBi к компу. В SigmaStudio загрузил проект на частоту 48КГц, который у меня работал гарантированно. Включаю питание на плату и загружаю его через USBi. На дисплее появляется надпись 44,1. В SS ставлю генератор 250Гц и вывожу его на все выходы. Опять загружаю через USBi. Лезу осциллографом на выход DAC3 и вижу картину Репина "Не ждали".
1.jpg
Сигнал вроде правильный - зелёный. Жёлтый сигнал это внутренний генератор осциллографа с частотой 2,5КГц (для привязки). Но на измеритель частоты, как видно на картинке, выведен канал D2 - LR. И на нём значение - 44,099КГц, а не загруженные в проекте 48КГц. Также из картинки следует, что частота выходной синусоиды меньше 250Гц, потому что в один период выходной частоты укладываются почти 11 периодов эталонного генератора на 2,5КГц. Измеряю частоту - 229,6Гц. И теперь на всех выходах AD1938 отсутствует постоянное напряжение равное половине напряжения питания AD1938, которое присутствует, если даже просто одно питание подать на неё, даже не подключая к материнке остальные провода.
 

Евгений

Administrator
Команда форума
. Включаю питание на плату и загружаю его через USBi. На дисплее появляется надпись 44,1.
Потому что генераторы переключает Reflex в комбопроекте, а аппаратно по умолчанию выбран генератор для сетки 44,1 кГц.
 

Oleggraf

Well-known member
Потому что генераторы переключает Reflex в комбопроекте, а аппаратно по умолчанию выбран генератор для сетки 44,1 кГц.
Главный прогресс - AD1938 начала подавать признаки жизни. До этого при любых подключениях только постоянка по всем выходам была и ничего больше.
 

Vitalii

Well-known member
Для загрузки проекта используйте последнюю версию ChipStudio.

Для добавления в проекты аналоговых входов необходимо использовать АЦП. Например в кодеке AD1938.
Ниже будет описан способ подключения платы AD1938 CODEC V2 к материнской плате с аудио процессором ADAU1452. Без изменений вы можно перенести этот проект на DSP KIT 4x3 UHD с аудио процессором ADAU1467.

Посмотреть вложение 2209

Для построения темброблока с линейными входами будем использовать:

DSP KIT 4x3 HD - USB DAC+DSP. Материнская плата с цифровым аудио процессором ADAU1452
Reflex - USB Hi-Res transport 32bit/96kHz, 2xI2S, TDM8, STM32F446RC
AD1938 CODEC V2 - Преобразователь: I2S - Аудио - I2S. 8 линейных выходов, 4 дифференциальных входа, 192kHz/24bit
2 x RDC1-0034a - Дифференциальный, высокопроизводительный предварительный усилитель. OPA1632

Управление и ндикация

Неон 90R - Правый поворот из трех светодиодов Neopixel
2 x WS2812B (Neopixel), Светодиод SMD 5050 RGB с пиксельной адресацией
4 x Резистор переменный с линейной характеристикой
2 x Кнопка тактовая

Конструкция.

На материнскую плату DSP KIT 4x3 HD устанавливаем транспорт Reflex. Преобразователь I2S-audio AD1938 CODEC подключаем так:
  • I2S порт DAC1 на AD1938 CODEC V2 соединить пин-пин с I2S портом OUT 1 на материнской плате.
  • I2S порт ADC1 на AD1938 CODEC V2 соединить пин-пин с I2S портом IN 1 на материнской плате.
  • SPI порт AD1938 CODEC V2 подключаем к SPI порту материнской плате. См. Блок схему.
  • Аналоговые выходы DAC3 и DAC4 на AD1938 CODEC V2 в проекте назначаются как стерео дифференциальные аналоговые выходы. Через предварительные дифференциальные усилители RDC1-0034 сигнал подаем на усилитель мощности.
  • Аналоговый выход DAC2 на AD1938 CODEC V2 это дифференциальный выход на сабвуфер.
  • Аналоговый вход ADC1 на AD1938 CODEC V2 это линейные дифференциальные входы.
Элементы управления:

громкость, тембр НЧ, тембр ВЧ, переключатель входов – четыре переменных резистора с линейной шкалой номиналом от 10 до 50 кОм. Крайние выводы подключаются между GND и 3V3, а средний вывод на входы GPIO материнской платы.

Громкость – GPIO8
Тембр НЧ – GPIO0
Тембр ВЧ – GPIO7
Селектор входов – GPIO1
SuperBass и MUTE кнопки замыкающие входы GPIO на GND.
SuperBass – GPIO21
MUTE - GPIO20

Индикация: пять включенных последовательно адресных светодиодов WS2812. Три на плате Неон90R на них будет индикация селектора входов. Плату удобно располагать рядом с переменным резистором селектора. За ними светодиоды MUTE и SuperBass.

Всё эти элементы установлены на готовой панели управления DSP KIT SBTW с Алюминиевой лицевой накладкой DSP KIT SBTW панель

Посмотреть вложение 2210

Проект SigmaStudio

Посмотреть вложение 2211

На схеме. Четыре входа: SPDIF/TOSLINK, Reflex USB audio, HDMI via I2S и Analog IN. Сигналы подаются на селектор входов. Сигнал SPDIF/TOSLINK предварительно обрабатывается схемой удаления щелчков во время синхронизации. За селектором регулятор громкости. Дальше с помощью Т- коннекторов сигнал разделяется на два потока: широкополосный стерео и сабвуферный.
В стерео канале установлены регулируемые фильтры НЧ и ВЧ для изменения тембра.
В низкочастотном канале для саба - фильтр НЧ с частотой среза 65Гц за ним включаемый алгоритм SuperBass с частотой 32Гц. На выходе низкочастотного канала установлен миксер для формирования единого моно сигнала для сабвуфера.

Схема удаления щелчков предназначена для удаления щелчков в момент синхронизации SPDIF.

Sigma2click.jpg



Считываются данные с регистра F580. После синхронизации выделяется нужной бит, который на алгоритме Slew vol изменяет уровень громкости от приглушенного до нормального уровня. Чтобы щелчок замаскировался этим алгоритмом основной сигнал должен быть задержан на некоторое время. Мы установили задержку в 500 выборок (samples).
Для настройки регистров в паре ADAU1452 и AP1938 важно знать, что для выходных портов кодека AD1938 был выбран режим работы TDM. Поэтому в конфигурациях необходимо обратить внимание на настройки портов Serial Ports Output. Для ADAU1452 для выходного порта 1 (Serial output port 1) необходимо указать, что здесь будут выводится 8 каналов.


RegisterControls.jpg



Необходимо для AD1938 указать, что порт тоже работает в режиме – TDM.


RegisterControlsAD1934.jpg


Входные порты ADAU1452 (ADAU1467) остаются в режиме 2channels, 32bit/channel. Соответственно порты АЦП AD1938 также настраиваются в формате Stereo.

Всё это уже настроено в прикреплённом проекте в котором вы найдете проекты SigmaStudio для всех частот дискретизации и комбо проект для ChipStudio.

Фото нашей мини системы

Посмотреть вложение 2213
Здравствуйте. Только что собрал схему в этой ветке. Все прекрасно работает. Вот только в схеме ошибка. Благо не значительная. Перепутаны выходы стерео канала и выход сабвуфера. Стерео выходы должны быть в верхней части по схеме, а выход сабвуфера в нижней части. А так все работает прекрасно.
 
Последнее редактирование:

Solanto

Well-known member
Схема удаления щелчков предназначена для удаления щелчков в момент синхронизации SPDIF.

Sigma2click.jpg



Считываются данные с регистра F580. После синхронизации выделяется нужной бит, который на алгоритме Slew vol изменяет уровень громкости от приглушенного до нормального уровня. Чтобы щелчок замаскировался этим алгоритмом основной сигнал должен быть задержан на некоторое время. Мы установили задержку в 500 выборок (samples).
Для настройки регистров в паре ADAU1452 и AP1938 важно знать, что для выходных портов кодека AD1938 был выбран режим работы TDM. Поэтому в конфигурациях необходимо обратить внимание на настройки портов Serial Ports Output. Для ADAU1452 для выходного порта 1 (Serial output port 1) необходимо указать, что здесь будут выводится 8 каналов.
Поясните по схеме... Откуда что брать? Откуда брать эти модули, из каких веток?
 

Solanto

Well-known member
Здравствуйте. Этот проект 100% рабочий. И все грузиться легко и работает сразу.
Я знаю... Только из одного проекта в другой не получилось перенести (скопировать)... Попробую ещё раз, может просто копировать не нажал😁
 

s0Va

Well-known member
И на нём значение - 44,099КГц, а не загруженные в проекте 48КГц.
Это можно относительно безболезненно переколхозить с 44.1 кГц на 48 кГц по умолчанию. Вот мамка в CDD-010:

gen_botch.jpg


Достаточно перекинуть одну ногу R15 с земли на 3.3 В (я, из соображений симметрии подтяжек, выбрал линию VDD_GEN1_3V3) и после этого переключение генераторов по сигналу от Reflex работает штатно, а при его отсутствии на ADAU1467 подаётся сигнал для сетки 48 кГц. Могли бы, кстати, и джампер предусмотреть для этого.
 

Oleggraf

Well-known member
Подскажите, пожалуйста! Если в этот проект добавить 32,33,40 и 41 выходы, я смогу прицепить к OUT2 и OUT3 материнки ещё две пцм5242 для воспроизведения двух стереосигналов?
 
Последнее редактирование:

Oleggraf

Well-known member
А ещё не подскажете? Кроме добавления вышеуказанных выходов нужно в проекте ещё какие-нибудь изменения делать? Я как-то давно уже пробовал добавить две пцм 5242, но не смог их заставить работать через OUT2 и OUT3. Через OUT1 они по отдельности работали. Я пару дней повозился и забросил. А сейчас понадобился звук получше - наушники покруче подарили. А на пцм 5242 звуковые характеристики посимпатичней выглядят.
 
Верх