Easyelectronics.ru

Электроника для всех
Текущее время: 23 фев 2018, 05:44

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 16:34 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
Привет. Есть желание собрать портативный источник звука. В наличии имеется ЦАП WM8740, sd карта и МК. Проигрываться будет - WAV 16 bit 48 кГц. С изготовлением ЦАП ранее не сталкивался да и вообще, во многих вопросах туплю. Надеюсь на посильную помощь. Вопрос который стоит первым на данный момент - тактирование. в Datasheet приведена таблица system clock frequencies versus sampling rate
Show

В частности для моего Samplingrate: 48kHz доступны 6 табличных значений:
6.114 для 128fs;
9.216 для 192fs;
12.288 для 256fs и т.д. Оставляя за собой право на ошибку, предполагаю, что это таблица частот кварцевых генераторов mclk. Встает вопрос - что такое 128fs, 192fs? 256fs и т.д. b каким собственно соображениями руководствоваться при выборе тактирующего кварцевого генератора?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 16:52 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1154
там интерфейс I2S.
Значения fs определяют кратность передискретизации - увеличение внутренней частоты дискретизации относительно входящей с интерфейса. Повышенная внутренняя частота дискретиз. нужна для более качественной фильтрации аналогового выхода. Это - нормальное явление и есть во всех уважающих себя аудио-ЦАПах


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 17:28 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
BusMaster писал(а):
Повышенная внутренняя частота дискретиз. нужна для более качественной фильтрации аналогового выхода.

BusMaster - спасибо за ответ!
Если позволите - задам еще пару вопросов по теме.
Таким образом, как я понимаю на вывод Din (data input) последовательно передаются 16 бит.
Передача сопровождается 16 тактами на выводе BCKIN (bit clock input). По окончании передачи срабатывает такт на выводе LRCIN (Sample rate clock input).
Таким образом в минуту должно произойти 48 000 тактов LRCIN. LRCIN должен быть как то синхронизирован с основной частотой MCLK? Как в данном случае происходит разделение на каналы - левый и правый?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 17:44 
Только пришел

Зарегистрирован: 29 авг 2012, 00:11
Сообщения: 19
В документации даже картинка есть:


Вложения:
dac.PNG
dac.PNG [ 13.1 Кб | Просмотров: 355 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 18:37 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
ztkl писал(а):
В документации даже картинка есть:

Show

таким образом, как я понимаю, задача МК сводится к отправке каждую секунду 48000 пакетов по 32 бита данных и выставлению соответствующих тактов по BCKIN (48 000 * 32 раза) и LRCIN(48 000 * 2 раза). Как эти действия синхронизируются с основной частотой MCLK?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 02 дек 2017, 21:13 
Старожил
Аватара пользователя

Зарегистрирован: 30 янв 2014, 18:09
Сообщения: 575
Откуда: Киев
MCLK в 2-4 раза выше BCLK. Вы же сами справшивали выше.
Для нормальной работы МК и ЦАП нужна поддержка I2S. Например в STM32F4 серии. Прочитайте описание блока, вам станет понятнее. На прерываниях и таймерах звука не получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 03 дек 2017, 15:38 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
SOVA писал(а):
MCLK в 2-4 раза выше BCLK. Вы же сами справшивали выше.
Для нормальной работы МК и ЦАП нужна поддержка I2S. Например в STM32F4 серии. Прочитайте описание блока, вам станет понятнее. На прерываниях и таймерах звука не получится.

Разделы datasheet прочел, но ясности это прибавило для меня незначительно.
У микроконтроллера stm32f407 вывод pc9 может быть определен как I2S_CKIN (audio clock input). Таким образом, если подключить к этому выводу кварцевый генератор например на 12.288 МГц мы получаем связку master - slave, где в роли ведущего выступает МК. Как тогда будет выглядеть связка master - slave где МК выступал бы ведомым?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 03 дек 2017, 15:55 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 1154
Если бы МК был ведомым по интерфейсу I2S, тогда он бы сам воспроизводил звук. И это вполне реально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 03 дек 2017, 17:18 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
Позвольте еще один вопрос, если рассматривать схему: генератор 12.288, МК-ведущий и ЦАП-ведомый - правильно ли я понимаю, что процедура передискретизации, для приведенного случая в 256 раз производится в самом АЦП? Выше было упомянуто, что:
SOVA писал(а):
На прерываниях и таймерах звука не получится.

- Если, не затруднит прошу доходчиво пояснить каким образом синхронизировать работу МК (который к примеру работает на частоте 16 МГц) с частотой работы внешнего кварцевого генератора i2S - 12.288 МГц?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 03 дек 2017, 17:26 
Старожил
Аватара пользователя

Зарегистрирован: 14 дек 2011, 01:53
Сообщения: 484
В сообществе была статья по воспроизведению звука (программный декодер mp3).
http://we.easyelectronics.ru/STM32/programmnyy-dekoder-mp3-perehod-na-platformu-stm32f407.html
Может помочь.
p.s. у stm32f4 достаточно развитая система тактирования, кварц на 12.288 не обязателен.
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 04 дек 2017, 02:50 
Только пришел

Зарегистрирован: 29 авг 2012, 00:11
Сообщения: 19
Этот ЦАП может работать и без I2S, конфигурация задаётся ногами 23-28. В "обычном" режиме ему нужно три синхросигнала, если fₛ=48000 Гц и ширина слова 16 бит, то:

fLRCIN=48000 Гц
fBCKIN=32*fLRCIN=1.536 MГц
fMCLK=N*fₛ, N=256/384/512/768, fMCLK=12.288/16.934/22.5792/33.8688 МГц

Приёмник данных у него асинхронный и fLRCIN может слегка отличаться от fₛ, в этом случае ЦАП пропускает семплы или дублирует их.

Мне кажется, проще работать когда МК и ЦАП тактируются от одного кварца. Например, использовать для МК 12.288 МГц, и с помощью PLL, MCO и таймеров сделать нужную синхронизацию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 05 дек 2017, 19:30 
Только пришел

Зарегистрирован: 03 ноя 2017, 20:00
Сообщения: 20
Всем спасибо за потраченное время и оказанную поддержку...
ztkl писал(а):
Мне кажется, проще работать когда МК и ЦАП тактируются от одного кварца. Например, использовать для МК 12.288 МГц, и с помощью PLL, MCO и таймеров сделать нужную синхронизацию.

Сейчас пытаюсь проработать это вариант. Думаю над решением пары задач:
1) у МК есть всего два вывода MCO, можно вывести master clock на MCO1, bit cloc на MCO2 ну а frame cloc колхознить как то иначе.
2) при установленном в качестве HSE кварца на 12.288 МГц и собственно организации тактирования от него, встроенная PLL не дает понизить частоту до 1.536 МГц - cubeMX подсвечивает делители как недопустимые...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: тактирование mclk в DAC
СообщениеДобавлено: 06 дек 2017, 00:22 
Старожил
Аватара пользователя

Зарегистрирован: 14 дек 2011, 01:53
Сообщения: 484
Ставьте стандартный кварц (8 или 25 Мгц) на hse и все.
Тактирование I2S настроите, не надо ничего колхозить.
Примеры для STM32F4DISCOVERY посмотрите чтоли, там внешний цап


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB