Страница 12 из 12 Первая ... 2101112
Показано с 221 по 233 из 233

Тема: DF2 - Вторая версия DIY ЦФ

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,327

    По умолчанию DF2 - Вторая версия DIY ЦФ

    Итак, обещанный проект нового ЦФ.
    Опыт прошлой ветки показал, что вопросы построения ЦФ сводятся к конкретному проекту. Поэтому решил создать отдельную.

    Исходная ветка с обсуждением различных реализаций ЦФ здесь.
    Ветка про ЦФ DF1 здесь.

    С момента публикации прошлой версии ЦФ прокачал скилл по верилогу, поэтому новый ЦФ выполнен проще, и с более сложной арифметикой. В частности добавлены опции шейпера и дополнительного апсемплера, что позволяет выводить данные в том числе на малоразрядные ЦАП, типа AK4499EX.
    Получив определенный опыт понял о чем писал Сергей Агеев (на счет реализации умножителей и многовходовых сумматоров на FPGA). Если правильно выбирать длину конвейера, то нет смысла изобретать оригинальную схему умножителя. Компилятор синтезирует лучше.
    То же самое касается описания сумматоров: использование многовходовых сумматоров оптимизируется лучше, чем ручная разбивка на двух-входовые.

    В отличие от предыдущего проекта, новый делался как заготовка для самостоятельного применения и доработки под свои задачи. Поэтому все режимы досконально не тестировались, и проект выкладывается "как есть" в версии альфа.
    В исходниках есть только пара примеров: для FPGA cyclone и lcmxo2.
    Описание содержит краткое перечисление основных параметров, а так же инструкцию по самостоятельной сборке проекта и генерации собственных коэф-тов в MatLab.
    Картинок много, текста мало. Все как мы любим.
    Утилита и ее исходник для автоматизированной конверсии коэф-тов в формат верилога прилагается.
    Так же прилагаются матлабовские модели всех каскадов фильтра, архив со сгенерированными коэф-тами фильтров, примененных в проекте и симулинк-модель. Для запуска симулинк-модели нужен матлаб версии r2018b.

    - 25.09.2023 - Добавил MatLab модель шейпера в симулинке. На этот раз версии r2013b. В 2018-ом матлабе че-то намудрили со спектроанализатором, и в нем амплитуда сигнала получается зависима от порядка шейпера, или от кратности оверсемплинга.

    - 27.09.2023 - Правка шейпера 3-го порядка

    Шейпер 3-го порядка в проекте выполнен по схеме:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132616551.png 
Просмотров:	97 
Размер:	17.0 Кб 
ID:	441606
    NTF шейпера на 1кГц сигнале:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132509846.png 
Просмотров:	91 
Размер:	29.1 Кб 
ID:	441605
    Данный шейпер оптимизирован для работы на невысокой частоте семплирования (х16..х32) и с разрядностью данных не менее 7..8 бит.
    На работы на более высоких ЧД при меньшей разрядности данных можно упростить коэф-т шейпера, улучшив SNR и сэкономив на логике. Для этого исключается слагаемое Gain3 (по схеме симулинка):
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_132931529.png 
Просмотров:	58 
Размер:	17.0 Кб 
ID:	441607
    В проекте это слагаемое находится в файле DATA_READ.v:
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133349302.png 
Просмотров:	86 
Размер:	20.6 Кб 
ID:	441609
    Данное слагаемое отклоняет значение коэф-та от 3-х, создавая дополнительный полюс на NTF. После упрощения коэф-та NTF шейпера принимает вид классического модулятора 3-го порядка.
    Нажмите на изображение для увеличения. 

Название:	изображение_2023-09-27_133125636.png 
Просмотров:	78 
Размер:	26.8 Кб 
ID:	441608
    Можно также это слагаемое не удалять, а менять его величину (увеличивать сдвиг), двигая тем самым полюс NTF.
    [свернуть]

    - 28.09.2023 - Отрефакторил модули DATA_READ и SAI_OUTPUT. Поправил описание.
    - 05.10.2023 - Поправил DF_CONTROL. Поправил описание.
    Вложения Вложения
    Последний раз редактировалось dortonyan; 05.10.2023 в 22:16.

  2. #221
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,527

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Злой Посмотреть сообщение
    Особенно если перевести выход в слейв и тактировать от ЦАП.
    Тактировать мастерклоком само собой со стороны ЦАПа, а вот выход ASRC в слейве - это лишний геморрой. Чем его тактировать? Не многие ЦАПы умеют быть мастером и генерировать WCLK/BCLK.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    А где бы почитать про основы (принципы) функционирования ASRC? Как там идут расчёты внутри итд. Может и Алексей заинтересуется.

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

    Неужто это очень сложно? Ведь в ADAU1467 этих ASRC почти десяток.

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

    А какая точность измерения отношения частот ЧД реально требуется? Разницу в 1/100 Гц можно посчитать за 1.5 сек, если сравнивать BCLK. А если сравнивать MCLK, то будет ещё быстрее или точнее.

  4. #223
    Частый гость Аватар для Злой
    Регистрация
    30.10.2009
    Сообщений
    474

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Alex Посмотреть сообщение
    Не многие ЦАПы умеют быть мастером и генерировать WCLK/BCLK.
    Я на логике делал, как в эвалюшене на ад1896

  5. #224
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    36,527

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Злой Посмотреть сообщение
    Я на логике делал,
    Сделать не проблема, только зачем?
    Нормальные ASRC (типа AK4137) прекрасно работают в мастере, тактируясь со стороны ЦАПа (например у меня в 1-м на АД1862).
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  6. #225
    Частый гость Аватар для Злой
    Регистрация
    30.10.2009
    Сообщений
    474

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Alex Посмотреть сообщение
    Сделать не проблема, только зачем?
    А это лет десять назад было, может и больше.

  7. #226
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,996

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    А если сделать всё же, то тогда можно будет сделать спдиф входы без фифо. И ген взять ровно 50МГц, как 1024фс для ЧД 48,828кГц. Безумная идея. Аудиогены исключить.
    Небольшой спин-офф: ещё можно поставить генератор на частоту кратную 7056000Гц (НОК 44100 и 48000), тогда вместо переключения генераторов можно будет переключать коэффициенты ЦФ. И кстати, 7056000*7=49392000, это всего на 1.2% отличается от 50Мгц, то есть не труЪ хай-энд, но чтобы попробовать, думаю, годится.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Небольшой спин-офф: ещё можно поставить генератор на частоту кратную 7056000Гц (НОК 44100 и 48000), тогда вместо переключения генераторов можно будет переключать коэффициенты ЦФ. И кстати, 7056000*7=49392000, это всего на 1.2% отличается от 50Мгц, то есть не труЪ хай-энд, но чтобы попробовать, думаю, годится.
    Не..е, плохо получается, лучше 192*147=176.4*160=28224, но чего-то звёзды не сошлись, забросил.

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Платки приехали.
    Вопрос сообществу: как ещё можно использовать SDRAM 256Mbit, что стоят на платке. ФИФО получается ну очень большим. Полный буфер выходит 128 секунд для 44100 Гц. Можно использовать только 1 банк из этого ОЗУ, он =1/4 ёмкости.

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Для эксперимента убрал аудио-гены на 1024Fs. Вместо них использовал 2 шт. PLL. Из 50МГц делаю 3072Fs для обеих сеток для семплирования потока спдиф. Для сетки х48 Kpll=59/20, а для х44 Kpll=65/24.
    Погрешность для Fs уложилась в +14/-19 Гц. ФИФО сейчас мало для таких отклонений (для 44100 Гц примерно 4 минуты ФИФО 48х4096). Но далее будет SDRAM 256Мбит.
    Сетки переключаю автоматически по встроенному частотомеру. Неиспользуемая в данный момент PLL подавляется.
    Звук вполне годный.

    ---------- Сообщение добавлено 22:28 ---------- Предыдущее сообщение было 21:16 ----------

    Временно вернулся на внешнее ОЗУ 1Мбит.

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

Название:	50MHz_gen+SRAM.jpg 
Просмотров:	39 
Размер:	432.2 Кб 
ID:	455639

  11. #230
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,327

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Временно вернулся на внешнее ОЗУ 1Мбит.
    Это получше SDRAM. 256Мбит для фифо избыточно.

    А вообще вот Сергей пишет, что можно и свой VCXO собирать:
    Цитата Сообщение от sia_2 Посмотреть сообщение
    VCXO тогда можно сделать свой и очень крутой.
    Может в самом деле сообразить какой-нить ген на "трехточке" с подстройкой варикапом и буфером на AUP вентиле?

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Это получше SDRAM. 256Мбит для фифо избыточно.
    В принципе да, но хочется использовать плату по максимуму. Да и освоить интерфейс с внешней SDRAM для ФИФО тоже интересно в образовательных целях.

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    сообразить какой-нить ген на "трехточке" с подстройкой варикапом
    Лет 10 назад Сергей мне тоже советовал сделать VCXO, но тогда он говорил про кварц между 2-х эмиттеров 2-х транзисторов генератора. Я тогда до конца не врубился про схему генератора, а чуть позже ASRC или ФИФО пришло.

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

    Свой VCXO получится на 256, 384 или 512Fs, и его всё равно придётся умножать на PLL, хотя это и не страшно.

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

    Алексей, а свежий софт Xilinx поддерживает графическое редактирование? Интересна платка

    https://aliexpress.ru/item/100500596...00035059024749

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

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Лет 10 назад Сергей мне тоже советовал сделать VCXO, но тогда он говорил про кварц между 2-х эмиттеров 2-х транзисторов генератора.
    В такой схеме довольно сложно добиться достаточно широкого диапазона перестройки кварца. Он будет всегда генерировать очень близко к последовательному резонансу. Придётся добавлять катушки для компенсации ёмкости кристаллодержателя и для расширения резонансного интервала. Всё это не очень хорошо сказывается на фазовом шуме. Зачастую хороший металлический корпус-экран у заводского генератора даёт лучший результат, чем изощрённая схемотехника.

  14. #233
    Завсегдатай
    Автор темы
    Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,327

    По умолчанию Re: DF2 - Вторая версия DIY ЦФ

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Алексей, а свежий софт Xilinx поддерживает графическое редактирование? Интересна платка
    Не знаю, по идее должен быть.
    Я только один раз пробовал собирать свой верилоговский проект в ихнем ISE.

    Цитата Сообщение от tomtit Посмотреть сообщение
    Зачастую хороший металлический корпус-экран у заводского генератора даёт лучший результат, чем изощрённая схемотехника.
    В данном случае вопрос не в наилучшести, а тупо в доступности. Хорошие VCXO на нужные частоты днем с огнем не сыщешь, даже в американских магазинах.
    Вот и остается только "колхозить" на россыпи.

Страница 12 из 12 Первая ... 2101112

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

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

Ваши права

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