Страница 11 из 15 Первая ... 910111213 ... Последняя
Показано с 201 по 220 из 298

Тема: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Давно планировал создать отдельную ветку для этого отдельного направления своих устройств. И вот своё обещание выполняю, поскольку устройство закончено.

    См. фото универсальной платы конвейера.

    Нажмите на изображение для увеличения. 

Название:	Конвейер1.jpg 
Просмотров:	2202 
Размер:	752.5 Кб 
ID:	309649 Нажмите на изображение для увеличения. 

Название:	Конвейер2.jpg 
Просмотров:	1689 
Размер:	496.6 Кб 
ID:	309648 Нажмите на изображение для увеличения. 

Название:	conv_pmd100.jpg 
Просмотров:	1678 
Размер:	285.4 Кб 
ID:	323852

    Заинтересованные вегалабовцы, конечно, уже в курсе о чём идёт речь, а остальным немного поясню.

    Каждая микросхема «мультибитного» ЦАП имеет свои ограничения по максимальной частоте Ц-А преобразования. Как правило, это не более 8…16Fs (за Fs принято принимать стандартную частоту 44,1 или 48 кГц), полученные в цифровом фильтре (ЦФ) типа SM5847AF например.
    Таким образом, пределом по частоте для них будет 352…768кГц (для разных микросхем ЦАП разная предельная частота преобразования). Хотя на практике TDA1541A прекрасно работает и на 768кГц (16х), а PCM1702P на 1536кГц (32х). Правда это не документировано и не гарантируются качественные характеристики.

    Так вот, чтобы обойти эти ограничения и получить МНОГО больше, можно включить N штук (2…16) в режиме конвейера, когда они работают одновременно со сдвигом во времени в рамках одного периода частоты преобразования. Суммарный результат при этом получается в N раз более быстродействующим.
    Интересно это в первую очередь тем пользователям, которые таким образом хотят снизить требования или практически исключить восстанавливающий ФНЧ после ИУ преобразователя.

    Что ОЧЕНЬ позитивно сказывается на пространственных характеристиках получающегося "саунд-стейджа" фонограммы. Локализация мнимых источников звука (КИЗов) получается просто ошеломляющей. Такого не удавалось получить ни от одного другого ЦАП-а.

    А поскольку при этом складываются аналоговые сигналы с выходов микросхем ЦАП с жёсткими временными сдвигами, то попутно и получить AFIR (или гребенчатый фильтр), подавляющий нежелательные остаточные продукты преобразования цифровых фильтров (ЦФ).

    Кроме этого, для сторонников NOS-ЦАП-ов, в конвейере предусмотрено отключение (обход) ЦФ по желанию.

    В предлагаемом устройстве дополнительно к изложенному осуществляется 16-ти кратная линейная интерполяция (ЛИ) аудио-семплов, полученных от ЦФ. То есть мы получаем итоговую скорость аудио-потока 8 (ЦФ) х 16 (ЛИ) = 128Fs. А уже этот скоростной поток мы распределяем на 8 потоков по 16Fs (или 8Fs для TDA1541(A) - переключается управляющим сигналом), с которым легко и непринуждённо справляется каждая микросхема ЦАП в конвейере. Всё изложенное справедливо для каждого исходного левого (ЛК) и правого (ПК) каналов.

    Таким образом, к предлагаемой плате конвейера можно подключить до 2 по 8 микросхем «мультибитных» ЦАП-ов.
    Для удобства пользователя и обеспечения гибкости использования на плате предусмотрено место для ЦФ SM5847AF (точнее там их 2, но 1 теперь не используется и был предусмотрен для экспериментов) и PLL формирователя 768Fs для неё. А также стабилизатор +5В для питания платы изолятора USB.

    Существует несколько вариантов прошивки ПЛИС, специализированных для разных типов применяемых микросхем ЦАП (пока доступны для PCM1702P, TDA1541(A) и AD1862N (общая с PCM63ми). Скоро будут готово и для PCM58P, AD1865, PCM1704U). Варианта сразу для нескольких типов ЦАП не планируется. Менять прошивку можно будет дополнительно, если планы пользователя поменяются.

    Теперь описание разъёмов устройства:
    Х1 – вход управления режимами платы конвейера (8 управляющих сигналов).
    Х2 – вход аудио-потока I2S до 384кГц от платы ФИФО или иного цифрового аудио-источника. А также входы 2х управляющих сигналов и выход +5В для питания изолятора USB.
    Х3…Х6 – выходы 2 по 8 (суммарно 16) аудио-потоков для подачи на 16 моно-микросхем ЦАП (или 8 стерео типа TDA1541(A)). На каждом разъёме по 4 потока.
    Х7 – вход питания платки генов 1024Fs. (+7…12В примерно 30…50 мА). Гальванически развязанный и стабилизированный.
    Х8 – вход питания остальной цифровой части конвейера, включающий основную ПЛИС и PLL и стаб +5В для USB. (+7…9В примерно 70…100 мА). Гальванически развязанный и стабилизированный.

    Подробное описание контактов каждого разъёма следует…



    Привожу фото для иллюстрации возможного применения конвейера, управляющего 2мя платами NOS ЦАП на 8 шт. PCM1702P суммарно.

    Нажмите на изображение для увеличения. 

Название:	8x1702.jpg 
Просмотров:	3134 
Размер:	635.8 Кб 
ID:	309650
    Последний раз редактировалось Turbo_man; 10.07.2018 в 21:19.

  2. #201
    Частый гость Аватар для segr
    Регистрация
    28.11.2015
    Сообщений
    364

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Давно приперло. Пока такой конвертер не нашелся. Карты вывода есть для PCI-E под Win7-10.

  3. #202
    Завсегдатай Аватар для SergioT
    Регистрация
    02.12.2004
    Адрес
    Сан-Марино
    Сообщений
    1,458

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Пока первое приближение с ЦФ K2HD почти готово. Этап отладки.
    Потом уже вместе с DF1706E.


    Вложение 345005
    А на этот волшебный фильтр есть инфа? Даташит? И его можно купить?

  4. #203
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Официальной нет. Только неофициальная инфа.

  5. #204
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Давно собирался, но всё как-то руки не доходили. В ПЛИС-ине сделал дизеринг для 16-ти битной TDA1541(A). По рекомендациям Дортоньяна:
    https://forum.vegalab.ru/showthread....=1#post2531783
    Только поменял всё на 16-битный вариант. И конечно, всё в конвейрном варианте.
    Теперь нужно спектры посмотреть. Точнее разницу без дизеринга и с дизерингом.

    ---------- Сообщение добавлено 12:43 ---------- Предыдущее сообщение было 12:38 ----------

    По крайней мере, теперь при включённом дизеринге последний 16-й бит молотит там чего-то. При замьюченном цифровом потоке.
    Последний раз редактировалось Turbo_man; 27.06.2021 в 12:57.

  6. #205
    Завсегдатай Аватар для DIM
    Регистрация
    14.05.2005
    Адрес
    Санкт Петербург
    Возраст
    52
    Сообщений
    2,601

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    С уважением, Дмитрий Чуманов.

  7. #206
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от dortonyan Посмотреть сообщение
    суммируете с младшими 7-ю битами 24-х битных данных.
    Не могу сообразить, здесь необходимо суммирование со знаком (аудио-данные ведь знаковые)? Если да, то ещё старший разряд требуется?

    Если подсказки не будет, придётся пробовать оба варианта.

  8. #207
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    придётся пробовать оба варианта.
    Оба варианта не меняют спектры.
    Последний раз редактировалось Turbo_man; 29.06.2021 в 16:23.

  9. #208
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    В общем поигрался я с дизерингом белым шумом на 7...8 младших бит. Пришлось уменьшать входной аудио-сигнал на 1/128-ю.
    Иначе сумматор перегружался шумом. А терять 1 бит конечно жалко.
    Шумок слегка прослушивался в твитере, когда вплотную к нему приближаешься. В месте прослушивания он незаметен.
    Улучшений в качестве звука не заметил. Пока отказываюсь от такого дизеринга.
    Фото сигналов на входах LE и DATA-L у TDA1541 в режиме мьют.

    Нажмите на изображение для увеличения. 

Название:	dizer_tda1541.jpg 
Просмотров:	115 
Размер:	231.2 Кб 
ID:	400092


    Как видно на фото TDA1541 работает на частоте Fs=705кГц.

    На спектрах шумовая полка поднимается с -130 до -110дБ. Гармошки практически не меняются (только тонут частично в полке). Чудно как-то.
    ************************************************************************************************************************
    А вот такого уровня дизер идёт с PMD100 в режиме №6 (максимальный).

    Нажмите на изображение для увеличения. 

Название:	dizer_pmd100.jpg 
Просмотров:	104 
Размер:	221.2 Кб 
ID:	400093 Нажмите на изображение для увеличения. 

Название:	pmd100.jpg 
Просмотров:	92 
Размер:	170.9 Кб 
ID:	400094

    Правда там уже шум не белый, конечно.

  10. #209
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    На очереди вариант конвейера с ЦФ SM5845AF от DENON. Нашёлся плеер с таким ЦФ, узучаю.
    Плохо, что у него корпус QFP44, и его сложно поместить на платку DIP28.
    Есть ли идеи как это лучше сделать?

  11. #210
    Завсегдатай Аватар для SergioT
    Регистрация
    02.12.2004
    Адрес
    Сан-Марино
    Сообщений
    1,458

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Поместить можно, у меня сейчас работает такой переходник с 5847 на дип28, 5845 тоже есть в наличии

    ---------- Сообщение добавлено 11:13 ---------- Предыдущее сообщение было 11:11 ----------

    Идеи, три площадки ножек припаиваются только внизу, второй вариант фильтр под 45 градусов

    ---------- Сообщение добавлено 11:17 ---------- Предыдущее сообщение было 11:13 ----------

    Нажмите на изображение для увеличения. 

Название:	DSC_4470.JPG 
Просмотров:	156 
Размер:	5.63 Мб 
ID:	400335
    Мелочи не имеют решающего значения, мелочи решают все

  12. #211
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    SergioT, спасибо. Попробую развести как вы пишете.
    -----------------------------------------------------------------------------
    Сегодня получил приятный сюрприз от SM5845AF - его можно переключить в "режим 16-ти кратного апсемплинга". Пояснения тут:
    https://forum.vegalab.ru/showthread....=1#post2929784
    Ни один другой промышленный ЦФ не может такого.
    Плюс ещё и в том, что он нормально может работать на частотах 88 и 96 кГц. На 176 и 192 - шипение со звуком.

    Пока на макетке все эксперименты.

    Нажмите на изображение для увеличения. 

Название:	sm5845_16x.jpg 
Просмотров:	72 
Размер:	324.4 Кб 
ID:	400364

    Сам макет:

    Нажмите на изображение для увеличения. 

Название:	sm5845_maket.jpg 
Просмотров:	129 
Размер:	430.0 Кб 
ID:	400356

    Звуком доволен, хотя формально с него идёт лишь 20 бит. Но для TDA1541 в конвейере 4 шт. это неважно.
    Минус у него вижу пока только один - не принимается 176 и 192 кГц.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Минус у него вижу пока только один
    Забыл про второй.
    Входной I2S интерфейс только 16-ти битный. Но это не везде критично.

    Поправка к первому фото - там следует читать не WCK2, а WCK. Сорри. Фото попробую заменить.

    ---------- Сообщение добавлено 17:27 ---------- Предыдущее сообщение было 17:16 ----------

    На 12...14-х ногах выход I2S 1хFs с расширением исходных 16 до 20...24 бит. Тут похоже, и содержится адаптивная фильтрация. Число бит зависит от уровня сигнала, как я понял. Проверено снижением уровня в цифре.

    ---------- Сообщение добавлено 23:16 ---------- Предыдущее сообщение было 17:27 ----------

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    приятный сюрприз от SM5845AF - его можно переключить в режим 16-ти кратного апсемплинга.
    Поправка - апсемплинг 16х, но АЧХ у фильтра странная. Синус 20кГц похож на режим NOS, т.е. слабое подавление выше 22кГц.
    И меандр 1кГц тоже с малым звоном.
    Последний раз редактировалось Turbo_man; 07.07.2021 в 20:11.

  13. #212
    Завсегдатай Аватар для SergioT
    Регистрация
    02.12.2004
    Адрес
    Сан-Марино
    Сообщений
    1,458

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от Turbo_man
    Плюс ещё и в том, что он нормально может работать на частотах 88 и 96 кГц. На 176 и 192 - шипение со звуком.
    Поправка - апсемплинг 16х, но АЧХ у фильтра странная. Синус 20кГц похож на режим NOS, т.е. слабое подавление выше 22кГц.
    И меандр 1кГц тоже с малым звоном.
    Интересно как в 16 х включить, 96 кГц при какой тактовой? 16х при 96 работает? Про малый звон на меанре у этого фильтра писали помоему здесь на веге. По spi у него управление такое же как у 5840 или 41 если память не изменяет
    Мелочи не имеют решающего значения, мелочи решают все

  14. #213
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от SergioT Посмотреть сообщение
    Интересно как в 16 х включить, 96 кГц при какой тактовой? 16х при 96 работает? Про малый звон на меанре у этого фильтра писали помоему здесь на веге. По spi у него управление такое же как у 5840 или 41 если память не изменяет
    Соберу всю информацию, причешу и тут положу. Пару дней наверно понадобится.

  15. #214
    Старый знакомый Аватар для alexesgg
    Регистрация
    23.01.2011
    Адрес
    Москва
    Возраст
    52
    Сообщений
    555

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от SergioT Посмотреть сообщение
    По spi у него управление такое же как у 5840 или 41 если память не изменяет
    5840 есть и с хардварным управлением. Как и 41-й есть и с софтовым и с хардварным. Есть вообще лютые экзоты в этих сериях под конкретный контроллер привода диска от конкретного заказчика.

    ---------- Сообщение добавлено 01:40 ---------- Предыдущее сообщение было 01:36 ----------

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Соберу всю информацию,
    По 40-м и 41-м ВСЮ информацию точно не соберете. Могу даже заспорить. Если проиграю - в ножки поклонюсь и смиренно попрошу даташитов.

    Offтопик:
    Мало кто представляет себе, сколько мошенников и безумцев населяет ничейную зону между современной наукой и психиатрическими лечебницами. (С) С.Лем "Глас господа"

  16. #215
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от alexesgg Посмотреть сообщение
    По 40-м и 41-м ВСЮ информацию точно не соберете.
    А я разве собирался? Речь про 5845. Да и то, только интересные моменты. "Всё" было сказано фигурально.
    Про НИОКР речь не шла.

    ---------- Сообщение добавлено 10:35 ---------- Предыдущее сообщение было 10:33 ----------

    Цитата Сообщение от SergioT Посмотреть сообщение
    По spi у него управление такое же как у 5840 или 41 если память не изменяет
    Да, весьма похоже. В DCD-1015 при старте на 5845 посылается лишь 3 слова: 0х80, 0хс0 и 0х00 (это соответствует всем "0" в управляющих 6 битах всех слов). Что как раз пригодно для 18-ти битных ЦАП-ов после ЦФ.

    ---------- Сообщение добавлено 10:43 ---------- Предыдущее сообщение было 10:35 ----------

    Кстати, все мои вчерашние опыты были без участия SPI. Там тупо висели 3 "1" на управляющих входах. Только RSTN был задействован.

    ---------- Сообщение добавлено 10:58 ---------- Предыдущее сообщение было 10:43 ----------

    Регистры все были по дефолту.

  17. #216
    Частый гость Аватар для aitras
    Регистрация
    17.08.2009
    Адрес
    Ульяновск
    Возраст
    33
    Сообщений
    184

    Идея! Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    В общем поигрался я с дизерингом белым шумом на 7...8 младших бит
    Я в одном из своих проектов тоже игрался. Нужно было из 16 бит получить 14. Много разных вариантов попробовал, пришел к следующему решению.
    Так как разрядность понижается на 2 бита, то, чтобы затронуть младший бит, шум нужен 3-битный. Его я получил с треугольным распределением по такой формуле:

    Код:
    noise = n1 + n2 + 1
    n1 и n2 - двухбитные сигналы шума с равномерным распределением. Итоговый результат - 3-битный шум с треугольным распределением (снимал статистику, это действительно так). +1 здесь для того, чтобы сдвинуть интервал шума до диапазона от -3 до +3.
    Сам алгоритм дизеринга заключается в том, что я к очередному семплу данных data прибавляю ошибку предыдущего округления dither_err (это называется Error Diffusion) и шум, учитывая возможные переполнения (сигнал dither взят заведомо бОльшей разрядности). Dither - это и есть результат, у которого отбрасываю 2 младших бита, которые считаются ошибкой.
    Все операции должны быть со знаковыми числами.

    Код:
    dither = data + dither_err + noise
    if (dither > 32767) 
        dither = 32767
    else if (dither < -32768) 
        dither = -32768
    else
        dither = dither 
    dither_err = dither[1:0]
    out = dither_L[15:2]
    Результат можно увидеть на графиках ниже. Здесь показаны спектры тестовых сигналов RMAA - исходник 16 бит, 14 бит с усечением 2 младших битов без дизеринга, 14 бит с дизерингом Adobe Audition с 2 видами шума и мой вариант дизеринга (с буковкой М в названии):

    Нажмите на изображение для увеличения. 

Название:	2021-07-07_12-41-21.png 
Просмотров:	119 
Размер:	19.2 Кб 
ID:	400405

    Все операции с сигналами проводились в цифровом виде, результаты дизеринга из Adobe Audition я считал эталоном, свой вариант дизеринга я делал в ПЛИС.

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

    В ПЛИС можно получить True Random. Есть вот такой вариант генератора 1 бита шума на основе кольцевого генератора Галуа с указанием синтезатору не оптимизировать его:
    Код:
    module GARO (input stop, clk, reset, output random);
    
    //(* OPTIMIZE="OFF" *)                    //stop *xilinx* tools optimizing this away
    wire [31:1] stage /* synthesis keep */; //stop *altera* tools optimizing this away
    reg meta1, meta2;
    
    assign random = meta2;
    
    always @ (posedge clk or posedge reset)
    	if(reset) begin
    		meta1 <= 1*b1;
    		meta2 <= 1*b0;
    	end
    	else if(clk) begin
    		meta1 <= stage[1];
    		meta2 <= meta1;
    	end
    
    assign stage[1]  = ~&{stage[2] ^ stage[1], stop};
    assign stage[2]  = !stage[3];
    assign stage[3]  = !stage[4]  ^ stage[1];
    assign stage[4]  = !stage[5]  ^ stage[1];
    assign stage[5]  = !stage[6]  ^ stage[1];
    assign stage[6]  = !stage[7]  ^ stage[1];
    assign stage[7]  = !stage[8];
    assign stage[8]  = !stage[9]  ^ stage[1];
    assign stage[9]  = !stage[10] ^ stage[1];
    assign stage[10] = !stage[11];
    assign stage[11] = !stage[12];
    assign stage[12] = !stage[13] ^ stage[1];
    assign stage[13] = !stage[14];
    assign stage[14] = !stage[15] ^ stage[1];
    assign stage[15] = !stage[16] ^ stage[1];
    assign stage[16] = !stage[17] ^ stage[1];
    assign stage[17] = !stage[18];
    assign stage[18] = !stage[19];
    assign stage[19] = !stage[20] ^ stage[1];
    assign stage[20] = !stage[21] ^ stage[1];
    assign stage[21] = !stage[22];
    assign stage[22] = !stage[23];
    assign stage[23] = !stage[24];
    assign stage[24] = !stage[25];
    assign stage[25] = !stage[26];
    assign stage[26] = !stage[27] ^ stage[1];
    assign stage[27] = !stage[28];
    assign stage[28] = !stage[29];
    assign stage[29] = !stage[30];
    assign stage[30] = !stage[31];
    assign stage[31] = !stage[1];
    
    endmodule
    [свернуть]
    Последний раз редактировалось aitras; 07.07.2021 в 12:12.
    С уважением, Михаил.

  18. #217
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Цитата Сообщение от aitras Посмотреть сообщение
    Много разных вариантов попробовал, пришел к следующему решению.
    Спасибо за информацию. Не исключаю, что у меня могла быть ошибка, которую я не замечаю. Шум у меня был не треугольный, а белый (обычный LFSR на 31 бит).
    Нажмите на изображение для увеличения. 

Название:	lfsr-31.jpg 
Просмотров:	65 
Размер:	392.8 Кб 
ID:	400413

    Цитата Сообщение от aitras Посмотреть сообщение
    к очередному семплу данных data прибавляю ошибку предыдущего округления dither_err (это называется Error Diffusion)
    Это не делал, а зря наверно. Это было моим следующим приближением по пути.
    Цитата Сообщение от aitras Посмотреть сообщение
    Все операции должны быть со знаковыми числами.
    Так и делал у себя.

    ---------- Сообщение добавлено 15:53 ---------- Предыдущее сообщение было 15:04 ----------

    Собственно вот вся схема:
    сумматор:
    Нажмите на изображение для увеличения. 

Название:	dizer16.jpg 
Просмотров:	98 
Размер:	425.7 Кб 
ID:	400414
    и РГ-аттенюатор на 127/128х:
    Нажмите на изображение для увеличения. 

Название:	RG127_128.jpg 
Просмотров:	68 
Размер:	149.7 Кб 
ID:	400415
    Сделать как у вас ограничители значений, у меня не получилось. Решил убавить сам сигнал, чтобы не было переполнения.


    На TDA1541 брались старшие 16 бит результата дизеринга.
    Если укажете на ошибку, буду благодарен.
    Последний раз редактировалось Turbo_man; 07.07.2021 в 21:16.

  19. #218
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Error Diffusion это новояз для Noise Shaping. То что предлагается будет двигать спектр дизеринга.
    Генератор Галуа - чистый вброс. По крайней мере на Xilinx оптимизатор его почикает на 100%,
    директивы компилятору не сработают. LFSR надо прокручивать на полную длину от сэмпла к сэмплу, иначе будет корреляция, потому что это сдвиговый регистр. Если нужно меньше бит чем длина регистра, все равно, при их формировании нужно использовать всю длину регистра. Я в последнее время использую хороший конгруэнтный генератор или ген. на нелинейном клеточном автомате.
    Убавить сигнал - это гемор с передискретизацией, лучше всего отнормировать коэффициенты КИХ если не используется готовый ЦФ.

  20. #219
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,553

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    Ладно, к дизерингу мы ещё наверно вернёмся немного позже.


    А пока по SM5845AF рассказываю:
    1. Ноги 1...3 (MDT, MCK, MLEN) будут исследоваться во второй серии опытов. Отправной точкой будут сведения из даташитов по SM5840 и SM5841.
    2. Нога 4 (RSTN) вопросов не вызывает.
    3. Нога 5 (SEL43) - переключатель на вход с внешего ЦФ ноги 15...18 (DFWCK, DFDTL, DFDTR, DFBCK). Если на этих входах ничего нет, то вся выходная шина останавливается.
    Лог.0 - работа от внутреннего ЦФ, лог.1 - от внешнего.
    4. Нога 6 (GND) - вопросов нет, общий.
    5. Ноги 7...9 (DBCK, DDT, DLRCK) - входная шина I2S от источника аудио-сигнала. У меня формат на ней RJ16. Возможно (проверю во второй серии), через регистры управления можно сменить формат на I2S.
    6. Нога 10 (MAINS) - лог.1 включает алгоритм Alpha Processing, лог.0 его отключает (по моему мнению, т.е. ИМХО). См. также описание ног 28...32 и 34...38.
    7. Нога 11 (SHFTN) - вход, самая для меня непонятая. При лог.0 идёт перегрузка аудиовыхода. Пробовал менять форматы входной шины как обычно, не помогло. Если сигнал в цифровом РГ сильно ослабить, то можно получить звук почти без искажений. Но там мало бит остаётся.
    8. Ноги 12...14 (Y1DT0, Y1BK0, Y1LR0) - выходная 1xFs 20 (MAINS=0) или 21...24-ти (MAINS=1) битная I2S шина для внешнего использования, если нужно. Полагаю с Alpha Processing-ом (при сильном цифровом ослаблении входного сигнала число бит увеличивается с 21 до 24).
    9. Ноги 15...18 (DFWCK, DFDTL, DFDTR, DFBCK) - входы от внешнего ЦФ с необходимым апсемплингом.
    10. Нога 19 (INV1) - вход инвертирования сигналов S01L и S01R. Для использования в дифференциальном выхлопе.
    11. Нога 20 (ADEEM) - вход, оказалось не деэмфазис (как можно было предположить), а включение то ли дизеринга на выходах 28...32 и 34...38, то ли нойз-шейпинга (см. ниже). Спада АЧХ на ВЧ я не наблюдал при лог.1. Лог.0 - отключение "дизеринга".
    12. Нога 21 (INV2) - вход то же что и нога 20, только на 18-ти битных выходах. Подробно не изучал, т.к. неинтересно было.
    13. Нога 22 (OMODR) - вход управления выходными 18 и 20-ти битными шинами. Лог.1 включены 20-ти битные выходы 28, 29 и 34, 35.
    При этом 18-ти битные выходы 30...32 и 36...38 отключены.
    Лог.0 Наоборот, 20-ти битные отключены (можно использовать как мьют), 18-ти битные включены.
    14. Нога 23 (TESTN) - вход включения (лог.0)/выключения (лог.1) постоянки в выходном сигнале. При мьюте примерно 8...9-й бит появляется.
    15. Нога 24 (BCK) - выход пачки 20 импульсов BCLK, не зависит от выбранной битности ногой 22. Т.е. в 18-ти битном режиме импульсов всё равно 20.
    Просто данные на S18L,R смещаются на 2 битклока "вправо" (задерживаются). Поэтому нет ошибки при защёлкивании. Ширина пропуска зависит от выбранного мастерклока 256/384Fs.
    Аналогично в других ЦФ. См. их даташиты.
    16. Нога 25 (WCK) - выход LE частотой 8/16 Fs, не меандр.
    17. Нога 26 (WCK2) - выход половинной частоты от WCK, меандр.
    18. Нога 27 (VDD) - вход +5V, вопросов не вызывает.
    19. Ноги 28 (S01L) и 29 (S02L) - выходы 20-ти битных аудиоданных левого канала для подачи на соответствующую(ие) микросхему(ы) ЦАП.
    20. Ноги 30 (S18L), 31 (P19L) и 32 (P20L) - выходы (18+2)-ти битных аудиоданных левого канала для подачи на соответствующую(ие) микросхему(ы) ЦАП. + 2 младших бита параллельно.
    Схему включения см. даташит на DCD-1015 например.
    21. Ноги 33 (OVERL) и 39 (OVERR) - выходы индикации перегрузки (полагаю). Всё время = 1. 0 ни разу не увидел в работе.
    22. Ноги 34 (S01R) и 35 (S01R) - 20-ти битные выходы правого канала, аналогично см. п19.
    23. Ноги 36 (S18R), 37 (P19R) и 38 (P20R) - (18+2)-битные выходы правого канала, аналогично см. п.20.
    24. Нога 40 (CKSLN) - вход выбора частоты мастерклока на ноге 42 (XTI): лог.0 - (128 не проверял, но думаю должна)/256/512Fs или лог.1 - 192/384/768Fs.
    25. Нога 41 (WFR) - вход выбора делителя частоты мастерклока XTI, ошибочно принятый мною за 16-ти кратный апсемплинг. . ВСЕМ СОРРИ.
    26. Нога 42 (XTI) - вход мастерклока, 128?...768Fs.
    Если WFR=0, то годятся частоты 256/384Fs для 44...48кГц (апсемплинг 8х 352...384кГц), 512/768Fs для 88...96кГц (апсемплинг 8х для двойного потока 705...768кГц).
    Если WFR=1, то годятся 128?/192Fs для 44...48кГц (апсемплинг 8х 352...384кГц, фильтрация правильная), 256/384Fs для 44...48кГц ("апсемплинг 16х" 705...768кГц, слабое подавление в диапазоне 22...44кГц), 256/384Fs для 88...96кГц (аналогично 705...768кГц??? надо перепроверить, может и 1411...1536кГц).
    27. Нога 43 (XTO) - выход инвертора XTI.
    28. Нога 44 (CKO) - выход буфера клока XTI.

    Спасибо за внимание. До следующей серии опытов.

    ---------- Сообщение добавлено 18:24 ---------- Предыдущее сообщение было 18:15 ----------

    Небольшие дополнения:
    по п.11 при MAINS=1 и ADEEM=1 появляется "дизеринг" в 18, 19 и 20 битах выходов. При MAINS=1 и ADEEM=0 3 последних бита =1 (режим цифрового мьюта в источнике). При MAINS=0 всё это выключено, независимо от ADEEM

    ---------- Сообщение добавлено 18:27 ---------- Предыдущее сообщение было 18:24 ----------

    На всякий случай добавлю картинку. Может кому-то лень рыться.

    Нажмите на изображение для увеличения. 

Название:	SM5845AF.jpg 
Просмотров:	138 
Размер:	195.5 Кб 
ID:	400423
    Последний раз редактировалось Turbo_man; 07.07.2021 в 18:51.

  21. #220
    Частый гость Аватар для aitras
    Регистрация
    17.08.2009
    Адрес
    Ульяновск
    Возраст
    33
    Сообщений
    184

    По умолчанию Re: Плата конвейера для работы с «мультибитными» микросхемами ЦАП

    tomtit, у меня Cyclone 10, директива вполне работает, без нее никакого шума не генерируется.
    Нет, по-моему Error Diffusion и Noise Shaping это разные вещи. Смотрел спектр шума. Никакого шейпинга там нет.
    С уважением, Михаил.

Страница 11 из 15 Первая ... 910111213 ... Последняя

Социальные закладки

Социальные закладки

Ваши права

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