Перейти к содержанию
    

flammmable

Свой
  • Постов

    298
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные flammmable


  1. Как стандарт IEEE1149 регламентирует поведение TAP-контроллера в состоянии SELECT-DR или CAPTURE-DR, если в регистре IR оказался код, который не соответствует ни одной из инструкций?

    • Downvote 1
  2. On 4/8/2024 at 11:17 AM, yes said:

    Существует целая наука, которая развивалась как в СССР, так и у вероятных противников (самосинхронные схемы / asynchronous circuit (clockless or self-timed circuit)), как делать такие цепи. Там разные подходы, есть академические книжки, есть чтото в сети

    https://en.wikipedia.org/wiki/C-element

    В 90е было много проектов делать простенькие АРМы тех лет на этих схемах. Но, похоже, коммерческой пользы не вышло.

    Я в своей деятельности применял только один раз, для космоса сделали плату, в которой надо было чтото загрузить в тактовый генератор, чтобы пошел такт. Ну и такой самосинхронный spi сделал, заменил ff на латчи, ну и путь управления g входом сделал длиннее, чем логика на d, повезло, что была отстойная актеловская плис, где такие манипуляции были возможны. Да, частота этого spi сильно зависила от питания (наверно и от температуры - сам не смотрел, но надеюсь, что тестировали в термокамере).
    Mожно было какой то тактовый генератор на задержках сделать и обычный rtl, но руки чесались сделать чтото асинхронное

     

    upd: https://www.semanticscholar.org/paper/AMULET1%3A-a-micropipelined-ARM-Furber-Day/f2d688d32f0b812d3a3aec97f8a4cef8cc92a9b9

    upd2: https://workcraft.org/  - раньше не видел, но гугль рекомендует

     

    Оо! Вот за этот ответ и ссылки большое спасибо!

  3. On 4/4/2024 at 7:04 PM, MegaVolt said:

    Да без проблем. В чём сложность? Какое ни будь умножение будет явно длиннее одного такта. И результат будет готов сильно позже. Нет проблемы.

    Смотрите, на текущий момент основой любого оперативного запоминающего устройства, её элементарной ячейкой, является или транзистор+конденсатор (для динамических памятей), или 6-транзисторная ячейка статической памяти, или триггер. Но так было не всегда. Когда-то в качестве оперативной памяти применялись линии задержки.
     

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

    Но. Что если длинная и безтриггерная структура, реализующая операции fetch-decode-execute-save будет, так скажем, "запоминать" промежуточные результаты подобно тому, как это делали линии задержки? То есть триггеров нет, но полное исполнение инструкции занимает больше одного такта и в структуре идёт одновременная обработка разных стадий инструкции. И в той части, что функционально соответствует стадии execute есть вывод, заходящий в стадию fetch для сброса этого псевдоконвейера в случае не-угадывания направления ветвления.
     

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

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

  4. On 4/4/2024 at 5:11 PM, MegaVolt said:

    Тут какая то путаница... Слово конвейер как раз и задаёт схему где между логикой вставляются триггеры.

    Если от туда выкинуть триггеры то останется обычная логика. Но исчезнет конвейер.

    Её применяли испокон веков и нет проблемы её использовать сейчас. Любой длины и сложности. Главное результат забирать вовремя 🙂

    Переформулирую. Возможно ли такое неконвейризированное процессорное ядро, в котором время выполнения инструкции (точнее, время прохождения очередной инструкции от её выборки до исполнения) было бы больше периода тактового сигнала?

  5. Добрый день!
    Восполняя пробелы своего образования иногда натыкаюсь на тематические пробелы комьюнити - на темы, которые не принято обсуждать в приличном обществе.

    Например, некоторое время назад я задавал ряд вопросов про работу конвейера STM32F1xx (Cortex-M3).
    Глобально, меня интересовало, как детерминированно определить время исполнения любой команды в Cortex-M3.
    Если формулировать вопрос более узко, то сейчас я пожалуй спросил бы, отражено ли где-нибудь в документации, как именно Cortex-M3 производит предварительную выборку команды в конвейер в случае ветвления. То есть каким правилом он руководствуется. Крайне маловероятно, чтобы это правило у микроконтроллеров в корпусах LQFP-48 предусматривало какую-то сложную эвристику.

    Ответы оказалось возможным сгруппировать в три категории:
    1) А зачем вам это всё знать?
    2) Используйте регистр DWT для статистической оценки времени выполнения команд.
    3) В XXI веке в приличном обществе не принято считать такты. Вот раньше Жигули заводились с крюка, а теперь вы ищите этот крюк в Мерседесе. Вы всё делаете не так, а надо делать так.

    - По поводу комментариев, подобных первому, я изложил суть здесь.
    - Использование статистических методов для определения результатов детерминированного процесса у меня вызывает ассоциации с бегом в мешке - можно, но зачем?
    - По поводу крюка, Мерседеса и приличий я совсем недавно открыл для себя микроконтроллеры Sitara AM437x 2014 года от Texas Instruments. По сути эти микроконтроллеры являются Мерседесом с двумя крюками. В них помимо ядра Cortex-A присутствует пара сопроцессоров PRU0/PRU1. Сопроцессоры представляют из себя неконвейризированные(!) вычислительные ядра, работающие на частоте 200МГц и имеющие гарантированное и фиксированное время выполнения инструкций в 5 нс. А ещё есть статья Ensuring real-time predictability, рассказывающая об этой серии микроконтроллеров и намекающая, что подсчёт тактов в XXI веке вполне актуален.
     

    Но теперь у меня появился новый неприличный вопрос.
    Возможен ли конвейер без триггеров? Точнее так, конечно он возможен. Но есть ли такой класс задач, где подобное нетипичное решение имело бы какие-либо преимущества? И если да, то каковы особенности конструирования подобного устройства? Гуглинг по словам trigger-free pipeline и triggerless pipeline не выявил никаких процессоро-подобных изделий. Но возможно кто-нибудь сталкивался с подобным. Или сможет объяснить, почему подобная структура принципиально не применима ни в одной практической задаче. 

  6. On 3/11/2024 at 3:12 PM, khach said:

    - В стране не существует средств измерения точнее, чем национальные первичные эталоны.
    - Существуют.
    - Например?
    - Автокоррелятор для измерения пикосекундных импульсов.
    - СКО государственного эталона времени обеспечивает субфемтосекундную точность.
    - А причем тут СКО к значению измеряемой величины? Я честно говоря без понятия, какое СКО достигается например у такого прибора и внесен ли он в госреестр СИ.

    Позвольте узнать, а зачем же вы тогда приводите в качестве примера наивысшей точности то устройство, о точности которого вы "без понятия"?
    Вам не кажется это нелогичным? ))))))))))))))))))))))))

    Кроме этого. Если вдруг ваше устройство не внесено в реестр СИ, и вы в ходе измерений получили значение длительность входного импульса в 1пс, что вас убеждает в том, что это действительно 1пс, а не 1,01пс или 100500пс?

  7. On 3/11/2024 at 12:47 PM, khach said:

    Конечно. Лазерный автокоррелятор. Типа такого. http://www.laser-portal.ru/content_792

    Измеряет время, вернее длительность лазерного импульса, который исползуется в качестве  строб-импульсом в оптическом УВХ для измерения глазковой диаграммы.  Ничем другим эти пикосекунды не измерить, а с точки зрения метрологии там только китайский штангенциркуль используется для измерения длины плеча оптической линии задержки. Ну и скорость света, которая константа.

    Не хочу вас расстраивать, но СКО у ГЭТ 1-2022 при измерении одной секунды составляет одну фемтосекунду. При измерении более коротких длительностей СКО соответственно уменьшится.
    Да, ГЭТ 1-2022 не получится напрямую использовать для измерения пикосекундных длительностей. Ну так и у эталона длины ГЭТ 2-2021 диапазон передачи единицы от 1нм до 30м. Но это не значит, что, скажем, геодезические тахеометры, измеряющие расстояние на 5000 метров, выкинуты из поверочной схемы.

  8. On 3/8/2024 at 2:29 PM, khach said:

    - Смотрите. По определению, в мире не существует средств измерения точнее, чем международные первичные эталоны. А в стране не существует средств измерения точнее, чем национальные первичные эталоны. Иначе почему первичным эталоном является эталон, а не является это "самое точное средство измерения"
    - Существуют...

    И вы, разумеется, способны привести пример такого средства измерения, а также назвать измеряемую им физическую величину?

  9. On 3/6/2024 at 10:00 PM, flammmable said:

    - зачем нужна глазковая диаграмма?

    On 3/7/2024 at 12:09 PM, _4afc_ said:

    - Нужна только в приёмниках синхронных интерфейсов.

    On 3/7/2024 at 12:20 PM, flammmable said:

    Правильно ли я понимаю, что если мы строим глазковую диаграмму, у нас помимо сигнала с данными как бы в комплекте должен отдельно идти синхросигнал?

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    Нет.

    On 3/7/2024 at 3:02 PM, flammmable said:

    То есть _4afc_ ошибается, верно?

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    Не факт. Я думаю его вариант тоже имеет право на жизнь. Но синхросигнал не обязателен.

    Его вариант - синхросигнал обязателен.
    Ваш вариант - его вариант тоже имеет право на жизнь, но синхросигнал не обязателен.

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    Повторно прошу сменить тон. Если вы чего то не знаете то спрашивайте и а не стебитесь. Это выглядит странно.

    Держу себя в руках изо всех сил.

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    С того что если мы ищем одиночный джиттер то...

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

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    И тут мы оп и ошиблись. Формально вроде как мы можем учесть корень. Но корень справедлив только при если джиттер имеет гаусово распределение.

    Первая мысль, которая у меня возникла: "А с чего бы ему не быть гауссовым? А каким ещё ему быть, как не гауссовым?". Но я быстро сообразил, что здесь есть большой простор для софистики. Ведь если, к примеру, вершина распределения смещена на бесконечно малое эпсилон, это уже как бы и не гауссово распределение вовсе. И вообще, что такое гауссово распределение, как не некая идеализированная абстракция?

    Поэтому давайте представим, что у нас последовательность из двух бит, и неизвестным распределением джиттера.
    Передний, так скажем фронт первого бита "закреплён". Задний - колеблется. При этом задний фронт первого бита одновременно является передним фронтом второго бита. Можем ли мы утверждать, что задний фронт второго бита будет колебаться ещё сильнее (относительно переднего, "закреплённого" фронта первого бита)?
    Если да, то далее рассматриваем последовательность из трёх бит. А затем по индукции последовательность в которой есть N и N-1 биты.
    Я утверждаю, что N бит всегда будет дрожать сильнее, чем N-1 бит.
    Вы утверждаете, что такое справедливо лишь для нормально распределённого джиттера. Крайне любопытно, что за тип распределения, на ваш взгляд, может дать иную картину? И почему джиттер в битовой последовательности может, даже ультратеоретически, быть распределён таким образом?

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    - Тем не менее. От чего, на ваш взгляд, отсчитывается фаза идеального, и, разумеется, полностью аналитического сигнала?
    - От 0 времени захваченной и анализируемой осциллограммы.

    Так. Предположим у нас есть передатчик битовой последовательности и приёмник битовой последовательности, синхросигнала нет. Передатчик и приёмник в 0 времени синхронизированы. Ввиду тактирования от разных источников, в некий момент t произойдёт рассинхронизация. Чтобы данные передавались стабильно, протокол - любой протокол - должен будет предусматривать пересинхронизацию до наступления момента t (пока предположим для простоты, что t - фиксирована).
    Предположим, мы записали осциллограмму длительностью M*t. То есть за это время произошло, как минимум, M-1 синхронизаций. И соответственно, M-1 скачков фазы идеального синхросигнала.
    Мы выделяем из передаваемых данных частоту синхросигнала. А фазу синхросигнала ставим на 0 записанной осциллограммы. Какой будет прок от этого синхросигнала в момент времени, скажем, (M-1)*t, когда фаза реального синхросигнала (относительно 0 времени) прыгнула уже M-2 раз? Если мы в соответствии с нашим аналитическим сигналом нарубим осциллограмму на глазковую диаграмму, то она покажет, что глаз закрыт. В то время, как в реальности данные бодро и безошибочно передавались.

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    Шум сдвигает уровень сигнала по амплитуде. Следовательно порог компаратора смещается

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    Порог никто не сдвигает. Он задан микросхемой и весьма стабилен.

    On 3/7/2024 at 3:54 PM, MegaVolt said:

    Повторно прошу сменить тон. Если вы чего то не знаете то спрашивайте и а не стебитесь. Это выглядит странно.

    Попробую последовать вашей просьбе и уточню два важные детали. У нас имеется система:
    передатчик -> линия_передачи -> приёмник. Вопрос: куда вы подключите осциллограф, чтобы снять глазковую диаграмму?
    Если до приёмника, то что за компаратор вы имеете ввиду?

    On 3/7/2024 at 3:54 PM, MegaVolt said:

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

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

    Так вот. Осциллографы, реализующие функцию построения глазковой диаграммы являются рабочими средствами измерения и встроены в поверочную иерархию. То, что вы пытаетесь вывести, является на мой взгляд формой какого-то бытового агностицизма. На мой взгляд это достаточно сомнительное занятие.

  10. On 3/7/2024 at 1:27 PM, MegaVolt said:
    On 3/7/2024 at 12:09 PM, _4afc_ said:

    Нужна только в приёмниках синхронных интерфейсов.
    Там где данные защёлкиваются по клоку, фронт которого должен находится по середине данных.
    Проверяется именно синхронность и синфазность клоков на передаче и приёме.
    Грубо: на UART глаз не нужен, на USART, SPI, GTP - нужен.

    On 3/7/2024 at 12:20 PM, flammmable said:

    Правильно ли я понимаю, что если мы строим глазковую диаграмму, у нас помимо сигнала с данными как бы в комплекте должен отдельно идти синхросигнал?

    Нет.

    То есть _4afc_ ошибается, верно?

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    Джиттер последнего бита будет равен корню из количества битов умноженному на максимальный джиттер.

    Говоря чуть строже, джиттер N-ого бита будет равен корню из N, умноженному на джиттер первого после пересинхронизации бита (так скажем, на элементарный джиттер).
    Корень из N, он больше, чем корень из N-1. И больше, чем корень из N-2. И больше, чем корень из N-K, где N и К целые положительные числа и N больше, чем K.
    Поэтому возникает вопрос...

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    - При наличие такой последовательности наихудшим с точки зрения джиттера битом является бит перед синхронизирующей последовательностью. Ну или же последний бит пакета.
    - Нет. Это ошибочное мнение.

    ...с чего бы, если последний бит в пакете имеет наибольшее N?
    Я понимаю, что это, типа, интернет-дискуссия и здесь вместо тезисов, аргументов и контраргументов можно даже ммм... пукнуть подмышкой, заложив туда ладонь противоположной руки и резко прижав одноимённую руку к корпусу. Но всё же. Можно как-то аргументировать свои "нет, это так/нет, это не так". А то у меня ощущение, что половина здесь - доктора технических наук и как минимум член-корреспонденты - по стилю безапелляционности, конечно.

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    - частоту "идеального" сигнала для построения глазковой диаграммы можно выделить из анализируемого сигнала. Но от чего отсчитывается фаза "идеального" сигнала? От синхронизирующей последовательности?
    - Идеальный сигнал полностью аналитический. Т.е. офицрованный сигнал нарезается на равные кусочки и складывается. Размер кусочка вычисляется аналитически.

    Кроме безапелляционности мне ещё нравится в интернет-дискуссиях отвечают не на вопросы/аргументы/комментарии собеседника, а на что-то своё.

    - Частоту "идеального" сигнала можно выделить из анализируемого сигнала. А от чего отсчитывается фаза "идеального" сигнала?
    - Идеальный сигнал полностью аналитический.

    - Частоту "идеального" сигнала можно выделить из анализируемого сигнала. А от чего отсчитывается фаза "идеального" сигнала?
    - офицрованный сигнал нарезается на равные кусочки и складывается.

    - Частоту "идеального" сигнала можно выделить из анализируемого сигнала. А от чего отсчитывается фаза "идеального" сигнала?
    - Размер кусочка вычисляется аналитически.


    Нашёлся даже комментатор, который говорил, что ничего такого нет и я в своей статье слишком сгустил краски )))))

    Тем не менее. От чего, на ваш взгляд, отсчитывается фаза идеального, и, разумеется, полностью аналитического сигнала?

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    Шум сдвигает уровень сигнала по амплитуде. Следовательно порог компаратора смещается и в результате есть сдвиг сигнала уже по времени что и есть джиттер. Т.е. джиттер по времени это есть преобразование шума по амплитуде на компарторе в сдвиг времени.

    Сдвигается уровень сигнала, сдвигается порог компаратора. Если они в пределах одной микросхемы - этот сдвиг идентичен. Откуда взяться амплитудозависимому джиттеру - решительно непонятно.

    On 3/7/2024 at 1:27 PM, MegaVolt said:

    - Опять же, чем тогда отличается глазковая диаграмма от простого накопления кривых по триггеру фронта клока? Или глазковая диаграмма - это и есть накопление сигналов по триггеру клока?
    По идеальному триггеру который в реале не факт что реализуем.

    Первое. Да, идеальных средств измерения не существует. Но это весьма инфантильная позиция: "как же вы вообще что-либо можете измерять, раз всегда есть погрешность???". В реальной жизни вопрос с идеальным триггером, а также с идеальным вольтметром, идеальным штангенциркулем, идеальным секундомером и так далее решается так. Если вам нужна точность X, вы берёте средство измерение примерно в 10 раз точнее X. И считаете, что оно идеальное.

    И опять же, вот эта интонация "...который в реале не факт что реализуем", заставляет вспомнить нестареющую классику:
    Я сомневаюсь, что Маркс прав, поэтому он неправ

     

     

     



     

     

     

  11. On 3/7/2024 at 12:09 PM, _4afc_ said:

    Нужна только в приёмниках синхронных интерфейсов.

     

    Там где данные защёлкиваются по клоку, фронт которого должен находится по середине данных.

    При этом источником клока является внутренний стабильный генератор или ГУН от ФАПЧ от внешних данных/клока.

    Проверяется именно синхронность и синфазность клоков на передаче и приёме.

     

    Если у вас синхро-последовательность,  нет длинных нулей/единиц и вы защёлкиваете данные через "х наносекунд" после фронта - глаз можно и не смотреть.

    Грубо: на UART глаз не нужен, на USART, SPI, GTP - нужен.

    Ага.

    Правильно ли я понимаю, что если мы строим глазковую диаграмму, у нас помимо сигнала с данными как бы в комплекте должен отдельно идти синхросигнал?

    Если так, то верно ли, что разговоры о выделении опорной частоты (либо битрейта, не суть) из сигнала данных - это ну... дичь какая-то, потому, что частота, точнее клок нам как бы уже должен быть отдельно предоставлен?

     

    И если интерфейс синхронный, значит джиттер не накапливается. Вот он какой есть, относительно синхроимульсов, такой и есть. Чем тогда обуславливается его наличие? Разным временем перещёлкивания логических элементов? Если у нас, скажем, фиксирована температура и прочие внешние параметры, то почему образуется джиттер? Из-за разного времени прохождения сигнала, скажем, по различным внутренним цепям передающей микросхемы? Но тогда он должен быть по идее детерминирован в нескольких фиксированных состояниях - их количество должно соответствовать количеству возможных путей прохождения сигнала.
    Или здесь как раз играет роль, что полупроводник логических элементов - нелинейная среда, и при определённых условиях предыдущие сигналы могут воздействовать на последующие?

     

    Опять же, чем тогда отличается глазковая диаграмма от простого накопления кривых по триггеру фронта клока? Или глазковая диаграмма - это и есть накопление сигналов по триггеру клока?

  12. On 3/7/2024 at 12:04 PM, _Sergey_ said:

    Например, наводки со стороны других сигналов будут сдвигать ваши фронты.

    Святая корова!!!! А ничего, что сигналы в многопроводной шине (для которой и характерен кроссток) тактируются, по сути, от одного источника тактирования и, да, они могут проникать в соседние линии, но не могут влиять на джиттер, потому, что он у всех линий шины одинаковый?

    On 3/7/2024 at 12:04 PM, _Sergey_ said:

    За сим прекращаю эту дискуссию, ибо не имею времени и средств на ваше обучение..

    Не люблю играть в шахматы с голубями )))))

  13. On 3/7/2024 at 11:37 AM, _Sergey_ said:

    Затем с помощью встроенных средств

    Иначе говоря, есть некоторые встроенные средства, которые строят глазковую диаграмму. Как именно они работают - вы объяснить не в состоянии (скорее всего не особо знаете), как эти средства ищут фазу сигнала, как нарезают сигнал на куски и как накладывают куски друг на друга - вы не знаете. У вас просто есть некий инструмент, который показывает нечто. Типа как мультиметр с прозвонкой (мы же обычно задаёмся вопросами, каким именно напряжением мультиметр тестирует линию и каково пороговое сопротивление, которое мультиметр уже считает отсутствием контакта), но посложнее и подороже. Вы им пользуетесь, не вдаваясь в подробности.
     

    Это хорошо и уж точно не зазорно. Но это не совсем тот опыт, который мне бы нужен.

  14. On 3/7/2024 at 11:08 AM, _Sergey_ said:

    Материалы имеют частотно-зависимую характеристику потерь.

    Которая снимается на векторном анализаторе путём подачи синусов разной частоты.

    On 3/7/2024 at 11:08 AM, _Sergey_ said:

    Энергия электромагнитной волны может отражаться или излучаться по причине плохо спроектированного канала.

    Что проверяется однократной подачей ступеньки лог.0->лог.1

    Плюс, канал передачи не способен добавлять сигналу джиттер.

    Причём здесь глазковая диаграмма?

  15. On 3/7/2024 at 10:48 AM, dimka76 said:

    Неравномерность распределения выборок по времени.

    Ну так этот джиттер не накапливается со временем. Триггер по восходящему фронту SCK, накопление следующего нисходящего фронта SCK. Измерение ширины "размазывания" нисходящего фронта. Всё.
    Причём здесь глазковая диаграмма и I2S?

    On 3/7/2024 at 10:54 AM, _Sergey_ said:

    Глазковая диаграмма показывает качество физического канала передачи.

    Да. Именно такие комментарии, не говорящие ничего конкретного, но демонстрирующие, что говорящий что-то где-то слышал я и отшифровываю способом, который вы процитировали.

  16. On 3/7/2024 at 9:53 AM, eugen_pcad_ru said:

    Избирательное накопление вроде бы как увеличивает время измерения?

    Увеличивает по сравнению с чем? С глазковой диаграммой? А при её генерации, по вашему, типа, нет накопления и она появляется как-то сразу?

    On 3/7/2024 at 9:53 AM, eugen_pcad_ru said:

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

    В чём общий, глобальный смысл что глазковой диаграммы, что простого накопления? В том, чтобы передать N единиц информации и выяснить, сколько из этих N потерялось бы.
    Вот вы знаете, что один бит, очень-очень условно, дрожит по длительности максимум на 1%. Значит два бита будут максимум дрожать на 2%. Да, они могут дёрнуться в разные стороны. И тогда всё ок. Но могут дёрнутся и в разные. И этот факт, эта возможность для нас является ключевой.

    On 3/7/2024 at 9:53 AM, eugen_pcad_ru said:

    Глазковая диаграмма позволяет формализовать методику проверки изделия. Например, в качестве одного из требований указывается глазковая диаграмма, значит и проверять нужно её.

    Подобные объяснения я для себя отшифровываю так:
    "Эта какая-то модная магическая штуковина. Модная, в смысле, что о ней надо говорить с умным видом и показывать, что слышал подобные термины. Иначе засмеют и выгонят из песочницы. Магическая, в смысле, что я понятия не имею, что это такое, как оно работает и зачем нужно. Но умные мудрецы где-то там в небесных сферах говорили, что это ого-го!"

    On 3/7/2024 at 10:29 AM, dimka76 said:

    А как в I2S ?
    Там определяющим является джиттер тактового сигнала. Он не имеет ни начала, ни конца. 

    Кто не имеет ни начала ни конца?? Тактовый сигнал? Эээ. Да там же три провода, почти как в SPI: клок, данные и стробирование пакета (WS). То есть мало того, что отдельная линия под клоки, так ещё и линия, которая позволяет нарубать поток данных на пакеты. Этот протокол, как бы, вдвойне защищён от набегания разности фаз.

    On 3/7/2024 at 10:29 AM, dimka76 said:

    А как в I2S ?
    Там определяющим является джиттер тактового сигнала. Он не имеет ни начала, ни конца. 

    Определяющим что?
    Предвосхищая общие слова вроде "Ну как - что, качество звука" - как джиттер тактового сигнала I2S хоть что-то может определять?

     

  17. On 3/7/2024 at 12:18 AM, A.V.Avtomat said:

    К чему такая избирательность? Вы не уверены в остальных битах?

    Я уверен, что джиттер остальнях битов будет статистически меньше, чем джиттер последнего.

    On 3/7/2024 at 12:18 AM, A.V.Avtomat said:

    А в случае сигнала на выходе LVDS-генератора, где у него последний бит?

    Какого именно генератора? Ну, я смотрю на микросхему DS90C365 - LVDS, но при этом есть отдельная линия для тактирования. А значит можно триггериться по восходящему фронту тактирования и разглядывать последний бит в пакете.

    Статистически, два устройства с различными опорными генераторами рано или поздно рассогласуются на 100%. Поэтому в любом протоколе будет как-то обеспечен регулярный сброс рассогласования. Раз есть сброс и раз последний бит перед сбросом "разносит" джиттером сильнее всего, то почему не триггериться по паттерну сброса и не рассматривать последний бит?

    Приведите конкретный пример протокола, где нужна была бы глазковая диаграмма.

  18. On 3/6/2024 at 10:56 PM, A.V.Avtomat said:

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

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

    Таким образом исследуется стабильность сигнала и фиксируются случайные процессы.

     

    Это всё столь же прекрасно, сколь и расплывчато. Почему вместо глазковой диаграммы нельзя снимать в режиме накопления просто последний бит пакета?

  19. В отличие от кучи бит просто наловленных по восходящему фронту и демонстрирующих джиттер в пределах одного бита, глазковая диаграмма демонстрирует совокупный джиттер за множество бит.
    Однако многие протоколы, в которых нет отдельных линий для синохроимпульсов предусматривают наличие синхронизирующей последовательности, по которой обнуляется разность фаз между источником и приёмником.
    При наличие такой последовательности наихудшим с точки зрения джиттера битом является бит перед синхронизирующей последовательностью. Ну или же последний бит пакета.
    Вопросы: 
    - зачем нужна глазковая диаграмма, если можно установить триггер осциллографа на срабатывание по синхронизирующей последовательности и пронаблюдать дрожание фронтов в последнем бите?
    - частоту "идеального" сигнала для построения глазковой диаграммы можно выделить из анализируемого сигнала. Но от чего отсчитывается фаза "идеалтного" сигнала? От синхронизирующей последовательности?
    - зачем нужна глазковая диаграмма?

  20. Читаю статьи про глазковые диаграммы (Anatomy of an Eye DiagramГлазковые диаграммы инструмент для анализа серийных данных) - везде в описании метода формирования диаграммы говорится про множественное наложение паттернов, про 001,010,100,011,110 и прочее бла-бла-бла.

    Но вот непонятно, каким образом определяется начало очередного паттерна?

    По пересечению некой отсечки фронта?
    Но тогда на левой части глазковой диаграммы был бы узел - точка, которую пересекают все паттерны. И сама левая часть была бы максимально тонкая. А правую глазковой диаграммы "разносило" бы из-за джиттера. Однако нередко, что глазковые диаграммы практически симметричны.

    По центру бита?
    Но по центру бита - пустота, там не за что зацепиться. Можно было бы цепляться за середину между восходящим и нисходящим фронтом, но как тогда навешивать паттерн 110, у которого только один фронт (и вообще, любой паттерн с нечётным количеством фронтов)?

    В общем, как ловятся паттерны для глазковой диаграммы?

  21. On 10/13/2023 at 4:02 PM, EdgeAligned said:

    Код в 50 м.ц. не будет выполняться дольше 1000 м.ц. никогда, можно быть спокойным!

    Нужно просто взять всего лишь 20-кратный запас по скорости - и всё будет гарантировано хорошо :)

  22. On 10/13/2023 at 3:27 PM, Arlleex said:

    избавляйтесь от любого желания что-то детерминировать "в тактах" в CPU такого ранга.

    А, собственно, почему избавляться? Вот, к примеру, на определённую операцию, которая должна быть выполнена гарантированно и максимально быстро, периодически не хватает времени. Кто виноват в первую очередь: прерывание, другой мастер на шине или не оптимально скомпилированный код? Вы утверждаете, что нужно стать на позицию агностицизма. Но тогда решением остаётся либо повышение частоты, либо "урезание осетра" - ограничение скорости работы критического кода. Частоту не получится повышать до бесконечности. А "урезание"... Ну заявили вы заказчику, что данная операция не будет выполняться на N микросекунд, а будет выполняться за, скажем, 0,7*N микросекунд. А вероятность невыполнения критического кода взяла и не упала до нуля. И до скольки теперь откручивать N ?

  23. On 10/13/2023 at 3:20 PM, EdgeAligned said:

    А вот например если запустите исполнение кода из SRAM (внутренней), то инструкции начнут исполняться неравномерно - то быстрее, то медленнее. Из-за тормозов общей шины. Когда-то давно я интересовался этим и экспериментировал в различных вариациях условий. 

    Предположим, что условия запуска приведённого кода наименее экзотичны. В том числе, программа исполняется не из SRAM, а из памяти программ.

  24. On 10/13/2023 at 2:58 PM, Plain said:

    Невозможно, если тактовая частота неизвестна, как в Вашем примере.

    Чтобы вам было проще и понятнее, положим, частота - 8 МГц, от внутреннего HSI, все переключаемые делители в единице. PLL выключен. Температура корпуса микроконтроллера +20 градусов по Цельсию. Атмосферное давление - норма. Солнечная активность - на минимуме. Марс - в созвездии Девы. Вроде всё.

    On 10/13/2023 at 2:58 PM, Plain said:

    И в чём отличие этой темы от предыдущей? Вам там уже было сказано, что быстродействия памятей разных типов разные, и таблица дана.

    Отличие, очевидно, в вопросе - возможно ли посчитать максимальное время исполнения участка кода в тактах?

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