Перейти к содержанию
  • запись
    31
  • комментария
    453
  • просмотров
    68 207

Модуль генераторов для Mercury DAC


aitras

1 952 просмотра

В последней ревизии своего ЦАПа на PCM1794 я заложил возможность подачи внешнего сигнала мастерклока. А для переключения генераторов разных сеток частот на входной разъем I2S следует подать управляющий сигнал на 2 вывод. Лог. 0 соответствует сетке x48, лог. 1 - сетке x44. Далее после гальванической развязки он попадает на разъем CTRL.

Поэтому был разработан модуль, который содержит пару генераторов на обе сетки частот мастерклока и управляющий микроконтроллер ATtiny24/44/84.

5c8820c66add4_2019-03-1301-03-26.thumb.JPG.f8dccbead197e92aa71691f3b012bf69.JPG

Схема модуля имеет вид:

image.png.5f510f3d92844766d14073905ef36ec7.png

Логика работы программы до безобразия проста. После инициализации контроллера производится инициализация ЦАПа (опционально), включается один из генераторов в зависимости от сигнала SEL_OSC (Select of Oscillator). Далее МК переключается в режим сна с отключением всех источников тактирования (режим Power-Down). При изменении уровня сигнала SEL_OSC МК пробуждается,  приглушает выход ЦАПа путем записи соответствующего бита в его регистр по SPI (бит MUTE регистра 18 PCM1796), переключает генератор и возвращает нормальный режима работы ЦАПа. После этого МК снова уходит в сон до очередной смены уровня сигнала управления генераторами.

Объем программы не занимает и 512 байт.

Печатная плата:

5c882114b6b19_mercgbtop.thumb.png.eedc00f5e7dc5ca014e84398210cfa39.png 5c8820eeccd37_mercgbbot.thumb.png.786fad61646d7c086b34868c3ef104f3.png

Скрытый текст

mercury_gb_top.png.43631155cbe1b041141064519c66ce5f.png mercury_gb_bot.png.feb6e0585c0118303118573cc41a127e.png

Скачать прошивку под микроконтроллер ATtiny44 (13/03/19) для SW управления.

Конфигурационные биты (fuses) следует установить в следующие значения:

SELFPRGEN = [ ]
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [X]
BODLEVEL = 4V3
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = INTRCOSC_8MHZ_6CK_14CK_0MS

EXTENDED = 0xFF (valid)
HIGH = 0xD4 (valid)
LOW = 0xC2 (valid)

 

0 Комментариев


Рекомендуемые комментарии

Комментариев нет

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Добавить комментарий...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...