Форум программистов, компьютерный форум, киберфорум
Программируемая логика: ПЛИС, ПАИС
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 08.02.2016
Сообщений: 48
1

Синхронизация по фронту импульса

05.04.2021, 00:40. Показов 1670. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В устройстве, описанном с помощью Verilog, при моделировании, возникает ситуация, которую можно наблюдать на эпюре во вложении. По фронту синхроимпульса (те,что снизу) должны считываться с "линии" (сверху) значение битов и записываться в регистр (последнее не столь важно).
Преподаватель говорит, что у меня НЕ реализовано "стробирование по фронту", что " сигнал должен фиксироваться по фронту (переходу с 0 на 1) синхросигнала. У Вас не так. На диаграмме, например, видно, что первая единица на линии line будет потеряна". Последнего я вовсе не понял, потому что, изначально я сам и подразумевал, что единица и не будет записана, будет записан именно ноль,. Подскажите пожалуйста, что здесь имеется ввиду?
Миниатюры
Синхронизация по фронту импульса  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2021, 00:40
Ответы с готовыми решениями:

Синхронный RS- триггер с синхронизацией по фронту
В общем, завтра экзамен, пытаюсь подготовиться, но вот информации по такому триггеру я не нашел....

Прерывание по заднему фронту
Всем привет,есть код который считывает данные с клавиатуры и выводит ее на динамический...

Внешние прерывания по фронту/спаду
Если у меня в регистрах RTSR и FTSR прописано, чтобы прерывание срабатывало по фронту и по спаду,...

Вопрос от чайника - Срабатывание по фронту на STM8s
Моих скудоумных мозгов не хватает для того чтобы понять одну простую вещь: как переключить...

5
138 / 103 / 35
Регистрация: 28.11.2013
Сообщений: 351
05.04.2021, 20:49 2
все просто, когда передний фронт третьего синхроимпульса равен 1 у вас на line =0. данные считываются обычно по переднему фронту. То, что буквально через доли такта появится на linе импульс уже ничего не решает, в регистре будет 0. Ваш импульс на line должен начинаться с передним фронтом, а в идеале на пол такта раньше, чтобы к приходу переднего фронта синхроимпульса уже данные были установлены
0
138 / 103 / 35
Регистрация: 28.11.2013
Сообщений: 351
05.04.2021, 20:57 3
Вот типичная диаграмма
Миниатюры
Синхронизация по фронту импульса  
1
210 / 163 / 36
Регистрация: 15.11.2012
Сообщений: 788
05.04.2021, 22:32 4
Лучший ответ Сообщение было отмечено Maksim45554 как решение

Решение

Цитата Сообщение от Skryp Посмотреть сообщение
Вот типичная диаграмма
Диаграмма в общем случае рабочая, но плохо подходит для высоких скоростей. Поскольку считывание данных в ней происходит в середине окна данных (строго говоря даже позже, ведь t13 не нулевое), быстродействие приемника должно быть более чем вдвое выше возможного (tsetup составляет лишь время между окончанием t13 и фронтом синхроимпульса).
Если считывание данных сделать по спадам импульса, требования к приемнику будут существенно более низкими (tsetup составит время между t13 и спадом синхроимпульса).

Если говорить о диаграмме ТС, то под
Цитата Сообщение от Maksim45554 Посмотреть сообщение
"стробирование по фронту"
, на мой взгляд, понимается как раз то, что сигнал входных данных должен обновляться одновременно с фронтом тактового сигнала.

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

У вас обновление сигнала данных происходит в самое плохое время - как раз незадолго до фронта тактового сигнала. Если у вашего изделия tsetup меньше времени между изменением сигнала данных и фронтом тактового сигнала - будет записываться одно значение, если tsetup больше - другое. А если tsetup примерно равен времени между изменением сигнала и фронтом тактового сигнала - будет неопределенное состояние. А ведь оно зависит от температуры, напряжения питания, партии, конкретного экземпляра... Поэтому всегда надо стараться максимально отдалить момент изменения состояния линии данных от фронта тактового сигнала. Как максимум, как уже написано выше, на момент собственно фронта тактового сигнала. Тогда tsetup составит длительность периода тактовой частоты - максимально возможное значение в рамках синхронного дизайна.
1
138 / 103 / 35
Регистрация: 28.11.2013
Сообщений: 351
07.04.2021, 22:41 5
Цитата Сообщение от alexey6689 Посмотреть сообщение
Диаграмма в общем случае рабочая, но плохо подходит для высоких скоростей
На самом деле такая диаграмма правильная, особенно на высоких частотах. Есть такое понятие как jitter (дрожание) и чем больше частота, температура тем больше джитер, поэтому всегда работать надо по центру данных иначе промахи будут часто.
1
210 / 163 / 36
Регистрация: 15.11.2012
Сообщений: 788
08.04.2021, 00:48 6
Цитата Сообщение от Skryp Посмотреть сообщение
Есть такое понятие как jitter (дрожание)
Влияние джиттера на частотах до сотен МГц несущественно, конечно в грамотно построенной системе. Нынешняя DDR4 SDRAM память имеет время между циклами чтения/записи в 300 пс и менее и "промахи" там бывают, судя по нормально работающим компам, нечасто. Это я именно про джиттер, который составляет в "быстрых" системах первые десятки пс и менее. Время фронта/спада тактовой частоты и сигналов данных существенно превышает его, хотя конечно и их можно считать джиттером.

Цитата Сообщение от Skryp Посмотреть сообщение
чем больше частота
Я не встречал данных о зависимости джиттера от температуры, хотя какая-то она наверное есть. Зависимость от частоты не очевидна.

Теперь про фронты тактовой частоты и окна сигналов данных. Данные, которые система принимает кто-то формировал, и формировал их этот "кто-то" по тактовым сигналам, которые выходят из него вместе с линиями данных (повторю, мы говорим о нормально построенной системе). Пусть будет по фронту.
Это означает, что сигнал на линии данных уже на выходе этого "кто-то" задержан относительно фронта такового сигнала (ведь он выходит с триггера, который вносит задержку, а тактовый сигнал идет напрямую). Несильно, но задержан. Ожидать, что эта задержка под влиянием каких-то факторов (температура, джиттер, напряжение питания и т.д.) вдруг станет нулевой или отрицательной едва ли следует.
Значит, если в приемнике достаточно иметь thold=0, вы гарантированно будете принимать достоверные данные.

Если данные надо принимать и по фронту и по спаду - у вас вообще нет выбора.

Если говорить о совсем больших частотах, где уже действительно появляется "окно", надо наверное использовать "специально обученные блоки" для приема-передачи данных. Всякие сериализаторы/десериализаторы и прочее. В задаче ТС речь вроде не о гигагерцах.
1
08.04.2021, 00:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2021, 00:48
Помогаю со студенческими работами здесь

STM8L101 не ловит прерывание по спадающему фронту
Эта абиссинская свинья отлично работает при EXTI_SetPinSensitivity(IRQ_EXTI,...

Сохранение импульса. Во сколько раз модуль импульса тела при броске больше модуля импульса в верхней точке траектории
Тело брошено под углом 60град. к горизонту со скоростью, модуль которой равен 20м/с.. Во сколько...

Найти приращение импульса тела и среднее значение импульса за время полета
Тело массой m бросили под углом к горизонту с начальной скоростью Vo. Спустя время Vo\tau тело...

Как из формулы импульса вывести формулу момента импульса
Здравствуйте! подскажите , пожалуйста, как из формулы импульса получить формулу момента импульса?...

Модуль EVO II синхронизация 50гц, На какой ножке контроллера синхронизация шим двигателя?
Частый дефект для модулей EVO II с коллекторным двигателем - нет управления двигателем при помехах...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru