Страница 5 из 5 Первая ... 345
Показано с 81 по 87 из 87

Тема: I2S реклокер или FIFO

  1. #1 Показать/скрыть первое сообщение.
    Старый знакомый
    Автор темы
    Аватар для bbest
    Регистрация
    06.11.2011
    Сообщений
    843

    По умолчанию I2S реклокер или FIFO

    Всем привет!

    Нужно решить задачу: прием I2S с большим джитером и вывод jitter-free I2S. Погуглив нашел интересные варианты:
    * KALI https://volumio.com/allo-kali-i2s-re...e-gamechanger/
    * Mori https://www.diyaudio.com/community/t...locker.348074/
    * DIYINHK FIFO Reclock Jitter Eliminator https://www.diyinhk.com/shop/audio-k...annel-dac.html
    и т.д.
    Первый обещает джитер до 4pS. Кто прослушивал подобные устройства, какие сейчас самые перспективные, что может быть можно самому собрать?

    ---------- Сообщение добавлено 23:37 ---------- Предыдущее сообщение было 20:39 ----------

    Собственно вершина этого творчества скорее всего:
    https://github.com/iancanada/Documen...PiQ7Manual.pdf
    + основная ветка
    https://www.diyaudio.com/community/t...92465/page-655

  2. #81
    monster of reality Аватар для deemon
    Регистрация
    24.03.2006
    Адрес
    Пятигорск
    Возраст
    57
    Сообщений
    3,149

    По умолчанию Re: I2S реклокер или FIFO

    Цитата Сообщение от Alex Посмотреть сообщение
    P.S. Ты вообще знаешь, что есть теорема, что абсолютно любую цифровую схему, сколь угодно большой сложности, можно построить используя лишь элементы 2-х входовые "Штрих Шеффера" - он-же 2NAND, он-же 2И-НЕ, он же 7400 или 155ЛА3, где аж четыре штуки "штриха" внутри.
    Вот к примеру: соединил у этого чипа две ножки между собой - и получил RS-триггер. Еще две ножки- получил второй триггер.

    (Вместо Штриха Шеффера, можно использовать "Стрелку Пирса"- , NOR, или ИЛИ-НЕ).

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

    Offтопик:
    А мне ещё одна теорема нравится ( теорема де Моргана , кажется ) - что если в любой цифровой схеме , какой угодно сложности , заменить все элементы И на ИЛИ , элементы ИЛИ на И , и все входы и выходы схемы проинвертировать - то получится полностью эквивалентная схема На первый взгляд вроде бы не очевидно , но тем не менее - легко доказывается ... вообще забавный факт

  3. #82
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    39,138

    По умолчанию Re: I2S реклокер или FIFO

    Цитата Сообщение от deemon Посмотреть сообщение
    А мне ещё одна теорема нравится ( теорема де Моргана
    Отрицание конъюнкции есть дизъюнкция отрицаний.
    Отрицание дизъюнкции есть конъюнкция отрицаний.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  4. #83
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,943

    По умолчанию Re: I2S реклокер или FIFO


    Offтопик:
    Цитата Сообщение от deemon Посмотреть сообщение
    А мне ещё одна теорема нравится ( теорема де Моргана , кажется ) - что если в любой цифровой схеме , какой угодно сложности , заменить все элементы И на ИЛИ , элементы ИЛИ на И , и все входы и выходы схемы проинвертировать - то получится полностью эквивалентная схема На первый взгляд вроде бы не очевидно , но тем не менее - легко доказывается ... вообще забавный факт
    Это как бы азы булевой алгебры, что Alex и сформулировал. А еще есть всякие методы оптимизации логики (типа карт Карно), тоже не очевидные, но работающие.
    Соб-но компилятор ПЛИС при синтезе схемы подобные преобразования и осуществляет.
    Т.е. то что описано в коде или нарисовано в графическом редакторе - это одно из представлений данного булевого выражения, которое можно собрать множеством других способов, и которое синтезатор все равно соберет по своему (как правило более оптимально, на меньшем кол-ве вентилей).

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

    По умолчанию Re: I2S реклокер или FIFO


    Offтопик:
    Цитата Сообщение от dortonyan Посмотреть сообщение
    которое можно собрать множеством других способов, и которое синтезатор все равно соберет по своему (как правило более оптимально, на меньшем кол-ве вентилей).
    Программистам может быть понятна такая аналогия - то что выдаст хорошо оптимизирующий компилятор, может иногда иметь мало чего общего с исходным текстом, для чего при отдадке с бряками и шагами, настоятельно рекомендуют отключать оптимизацию вообще.
    Вот смотртишь, в тексте for(i=A; i<B;i++){..} а в реальности вообще цикла нет (т.е он "развернут" в отдельные строчки).


    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  6. #85
    Старый знакомый
    Автор темы
    Аватар для bbest
    Регистрация
    06.11.2011
    Сообщений
    843

    По умолчанию Re: I2S реклокер или FIFO

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Вот и погружайся. https://forum.cxem.net/index.php?/to...ие-плис-в-dac/
    Для начала купи такую отладку:
    https://sl.aliexpress.ru/p?key=vZOsGtz
    программатор:
    https://sl.aliexpress.ru/p?key=T3OsG6H

    поморгай светодиодиками, сделай часы на 7 сегментниках, ну придумай еще чего, чисто для входа в тему.
    Да спасибо, посмотрю почитаю.

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Из моего описания этого не следует. ALU - это не какой-то процессорный модуль. Он не "запускается", - это просто набор логики.
    Например, это может быть 4-х входовый логический мультиплексор. Как мультиплексор может запускаться?
    Выход мультиплексора можно включить на вход триггера, а можно вывести куда либо еще, хоть на выходные пины.
    Очень просто запускается: в какой то момент времени, по какому то событию ALU выполняет заложенные в нем действия.

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Совсем коротко это выглядит примерно так:
    Данные из I2S загружаются в сдвиговый регистр (на триггерах). Потом в параллельном виде копируются в FIFO в виде массива регистров (который синтезатором заменяется выделенными блоками памяти).
    С выхода FIFO данные так же параллельно копируются в другой модуль.
    Кроме описания самой памяти FIFO нужно еще описать схему управления этим фифо: счетчики генерации адресов на запись и на чтение, а так же генераторы всяких вспомогательных сигналов, типа готовности данных.
    Не совсем понятно, что значит слово параллельно в "С выхода FIFO данные так же параллельно копируются в другой модуль.". Параллельно с чем? Просто данные из FIFO передаются в модуль апсемплинга и т.д.
    Мы рассматриваем "приключения" (бизнес процесс) прохождения какого то определенного набора данных от начала входа с I2S до выхода на сдвиговые регистры. И только относительно этого процесса можем говорить асинхронные операции или последовательные. При этом понятно что у нас поток данных идет непрерывно.

    Цитата Сообщение от dortonyan Посмотреть сообщение
    С ПЛИС так не прокатит.
    Можно написать абстрактный код, но для этого все равно нужно понимать как работает схема на самом низком уровне.
    Ну или использовать уже готовые (кем-то написанные) модули, или библиотечные модули.
    Но опять же, для того чтобы правильно эти модули применить - все равно нужно разбираться как они работают, или по крайней мере - какой у них интерфейс ввода/вывода данных.
    Пока речь шла об абстрактной блок схеме, что за чем следует. Потом, когда перекладываем на реализацию в каком то техническом устройстве (плис, процессор и т.д.), тогда уже можно говорить о вариантах реализации.

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Я в своей ветке про ЦФ выкладывал описание, там в блок-схемах отображено устройство ЦФ.

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


    Комбинаторную логику придумывать конечно не надо. Но в общих чертах нужно понимать как оно работает.
    Например, для вашего кода схема примерно такая: синхронный счетчик и триггер, в который синхронно пишется значение по значению счетчика.
    Т.е. в вашем примере все равно описана схема.
    Почитаю ветку, только там основное описание наверное в первой части.

  7. #86
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    39
    Сообщений
    3,943

    По умолчанию Re: I2S реклокер или FIFO

    Цитата Сообщение от bbest Посмотреть сообщение
    Не совсем понятно, что значит слово параллельно в "С выхода FIFO данные так же параллельно копируются в другой модуль.". Параллельно с чем?
    Параллельно - не "с чем", а "как". Это значит параллельной шиной.

    Цитата Сообщение от bbest Посмотреть сообщение
    Пока речь шла об абстрактной блок схеме, что за чем следует. Потом, когда перекладываем на реализацию в каком то техническом устройстве (плис, процессор и т.д.), тогда уже можно говорить о вариантах реализации.
    И что здесь обсуждать?
    Начало обсуждения.
    Структура устройства: I2S вход -> FIFO -> фильтр-апсемплер -> интерфейс вывода.
    Конец обсуждения.

    Цитата Сообщение от bbest Посмотреть сообщение
    Почитаю ветку, только там основное описание наверное в первой части.
    В начале там описаны характеристики, потом интерфейсы управления и передачи данных, в конце блок-схемы внутренней структуры.

  8. #87
    Старый знакомый
    Автор темы
    Аватар для bbest
    Регистрация
    06.11.2011
    Сообщений
    843

    По умолчанию Re: I2S реклокер или FIFO

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Почитал, там все блоками. Не знаю на сколько это может быть оптимально и самое главное - универсально ли.

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

    Цитата Сообщение от Delta213 Посмотреть сообщение
    Не надо схемы, тупиковый путь. Если он программер, то сразу писать на верилоге, тем более, что в квартусе есть прекрасный эмулятор, можно посмотреть что получается.
    https://marsohod.org/verilog
    Этот язык вроде более гибкий, в нем есть даже объектно-ориентированное программирование. Вот на такой язык наверняка будет проще перенести логику работы логических блоков.

Страница 5 из 5 Первая ... 345

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

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

Ваши права

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