Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: "Поймать" конец сигнала
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Angel
На вход ПЛИС приходит сигнал неизвестной длинны.
Как поймать его конец, точнее переход с 1 в 0. По которому мне нужно сгенереровать строб. Строб должен стать активным только в конце сигнала (когда он еще в 1) и сниматся когда внешний сигнал станет 0.
v_mirgorodsky
Не достаточно информации для решения данного вопроса. Если неизвестный сигнал и строб должны перекрываться, то это не возможно. Причинно-следственную связь еще никто не отменял. ПЛИС не знает когда надо начать выставлять строб, т.к. по Вашему описанию никакой информации о длительности входящего сигнала нет. Возможно только среагировать на падающий фронт неизвестного сигнала и выставить строб на некоторое время. При этом неминуемо при резких фронтах между ппадающим фронтом неизвестного сигнала и нарастающим фронтом строба будет пробел.
v_mirgorodsky
Можно еще поиграться с уровнями срабатывания входных триггеров - искусственно задрать порог между нулем и единицей для некоторого банка, так, что для внешнего устройства это все еще будет единица, а ФПГА уже воспримет этотт сигнал как нуль. Тогда может получиться перекрытие в небольшом диапазоне, если неизвестный входной сигнал имеет пологий спадающий фронт, однако такое решение черевато пониженной помехоустойчивостью всего устройства.
vovic
Решение первое (некрасивое): а - вход сигнала, b - выход строба, b=a xor lcell(a)
Количеством lcell-ов регулируется длина строба.

Решение второе (еще хуже): поставить на входе ПЛИС схемку из инвертора и дифференцирующей RC-цепочки... И долго развлекаться с величинами R и C.
Grumbler_2002
Лучше написать, зачем понадобился такой изврат.
vetal
Длительность сигнала - константа? или как? Для решения нужно знать больше о запускающем импульсе. Какие у него фронты?
Если константа, то можно померять длину, и на следующем импульсе выдать результат.
Еще как вариант - поставить лз на сигнал, и отдавать во внешннее устройство его, а импульс формировать по его окончании.
Гяук
Присоединяюсь к v_mirgorodsky как в смысле того что мало данных для решения задачи так и в смысле того что закон причинно-следственных связей никто не отменял.
khach
Линию задержки на сигнал (аналоговую). Компаратор на входе, компаратор на выходе. Величина задержки равна длине импульса строба.
Angel
Неизвестный сигнал и строб должны перекрываться, и это действительно не возможно. Строб нужен для сдвигового ресгитра, тоесть инициировать сдвиг.
Я просто себе усложнил жизнь.
Потому что, поскольку внешний сигнал периодический (такты) то я просто подал его на тактовый вход сдвигового регистра и по спаду делаю сдвиг.
Все оказалось очень просто smile.gif
Прошу прощения за то что недостаточно информативно описал проблему. И спасибо за советы ;-)
Wilde
Непонятно зачем такой строб нужен, если по этому стробу происходит работа с сигналом на некоторой шине, ну например запись с нее я бы сделал так: этот длительный сигнал подал бы на цепочку из триггеров (те сдвиговый регистр). Сигнал на шине пропустил бы по цепочке такой же длины. По внутреннему синхросигналу происходит сдвиг в обеих цепочках.
Как только на выходе предпоследнего триггера сигнала 0, формируется строб, захлопывающий данные на выходе последнего триггера шины. В следующем такте происходит захлопывание.
Цепочка из триггеров может иметь длину 2 и более, я бы взял 3 -4, тк. твой внутренний такт вероятнее всего асинхронен с внешними сигналами и может возникнуть метастабильное состояние .
Grumbler_2002
Проще завести внешний тактовый сигнал WR на СЕ триггера через инвертор,а на клоковый вход - внутреннюю высокую тактовую. Глюков гарантированно не будет.
k_george
Была как-то необходимость фронты ловить - делал так.
Синтезиться в DFF+Latch то ли наоборот - точно уже не помню, но работает железно.
net
Цитата(Angel @ Mar 10 2005, 14:56)
Неизвестный сигнал и строб должны перекрываться, и это действительно не возможно. Строб нужен для сдвигового ресгитра, тоесть инициировать сдвиг.
Я просто себе усложнил жизнь.
Потому что, поскольку внешний сигнал периодический (такты) то я просто подал его на тактовый вход сдвигового регистра и по спаду делаю сдвиг.
Все оказалось очень просто smile.gif
Прошу прощения за то что недостаточно информативно описал проблему. И спасибо за советы ;-)
*


в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!!
цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи ninja.gif
makc
Цитата(net @ Mar 20 2005, 09:26)
в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!!
цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи  ninja.gif
*


А как Вы тогда объясните существование событийного метода моделирования цифровых схем? wink.gif
net
Цитата(makc @ Mar 20 2005, 11:34)
Цитата(net @ Mar 20 2005, 09:26)
в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!!
цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи  ninja.gif
*


А как Вы тогда объясните существование событийного метода моделирования цифровых схем? wink.gif
*



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

для того чтобы обсудить эти понятия - сначала необходимо дать ОПРЕДЕЛЕНИЕ используемых терминов maniac.gif
makc
Цитата(net @ Mar 20 2005, 12:42)
Цитата(makc @ Mar 20 2005, 11:34)
Цитата(net @ Mar 20 2005, 09:26)
в цифровой технике причинно следственная связь не работает- и сигнал со стробом можно сдвигать во времени как угодно!!!
цифровая линия задержки (фифо,сдвиговый регистр и тд ) позволяют делать любые причинно следственные связи  ninja.gif
*


А как Вы тогда объясните существование событийного метода моделирования цифровых схем? wink.gif
*



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

для того чтобы обсудить эти понятия - сначала необходимо дать ОПРЕДЕЛЕНИЕ используемых терминов maniac.gif
*



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

Возвращаясь к исходному вопросу, получается, что для одновременного появления выработанного строба и окончания сигнала схема либо должна знать, когда этот сигнал закончится, либо (но это уже немного другой случай) сдвинуть во времени момент окончания сигнала (на выходе), с тем, чтобы по окончанию входного сигнала выработать строб. В этом случае строб будет параллелен окончанию сигнала, то только сам сигнал будет отличаться от своего исходного значения (он будет по-другому расположен во времени, хотя может сохранить свою длительность).
net
О каком базисе во времени можно говорить, когда мы говорим про событийное моделирование? Ведь в нем, если я правильно понимаю, есть только последовательность событий. Т.е. причинно-следвенная связь, нарушив которую мы разрушаем все, что дает нам основу для анализа и моделирования цифровой схемы. Да, любому событию в последовательности событий можно поставить в соответствие некоторую метку абсолютного времени, но и с этом случае более позднее событие будет обладать большим значением метки времени. Тогда о какой относительности можно говорить?

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

[/quote]


когда вы говорите о причинно следственной связи и говорите что было первым что второе - вы вводите понятие ВРЕМЯ

поэтому сначал дайте ОПРЕДЕЛИНЯ о чем вы хотите подискутировать

в качесвте примера еще раз повторюсь - цифровые линии задержки позволяют получить события в тактах и построить схему зная что происходит с сигналом как в будущем так и в прошлом поскольку позволяет иметь в элементах хранящих состояние системы в тактах и позволяет построить систему с использованием этого
tongue.gif

более тог если бы изучали аналоговые вычислительные машины то там точно также все делается только для аналоговой формы - с использованием производной и итеграла - аналогично в механике вы може компенсировать усилие по производной и тд и тп
все дело в определениях и терминах !!!
поэтому сначала дайте то о чем хотим говорить smile.gif
makc
Цитата(net @ Mar 20 2005, 13:42)
когда вы говорите о причинно следственной связи и говорите что было первым что второе - вы вводите понятие ВРЕМЯ 
*


Время - средство для выстраивания последовательности событий в определенном порядке (в понятном человеку порядке). На самом деле это понятие придумали люди и для людей, а в данном случае мы говорим от том, чтоб было причиной и что стало следсвием. Причина - всегда более раннее событие во времени, чем следствие. Если Вы считаете, что это не так - приведите пример, опровергающий мое утверждение.


Цитата
поэтому сначал дайте ОПРЕДЕЛИНЯ о чем вы хотите подискутировать


Пытаюсь. smile.gif

Цитата
в качесвте примера еще раз повторюсь - цифровые линии задержки позволяют получить события в тактах и построить схему зная что происходит с сигналом как в будущем так и в прошлом поскольку позволяет иметь в элементах хранящих состояние системы в тактах и позволяет построить систему с использованием этого
tongue.gif


Цифровые линии задержки, вносят задержки. Т.е. позволяют перейти от времени исходного (назовем его T), к некоторому производному (назовем его T'), при этом если величина задержек постоянна, то T'=T+dT. Это и есть принцип работы линии задержки. В данном случае, сохраняя прошлое и считая его будущим (создав соответствующую задержку) можно получить то, о чем Вы говорите. Но это уже будет не в исходном масштабе времени.


Цитата
более тог если бы изучали аналоговые вычислительные машины то там точно также все делается только для аналоговой формы - с использованием производной и итеграла - аналогично в механике вы може компенсировать усилие по производной и тд и тп
все дело в определениях и терминах !!!
поэтому сначала дайте то о чем хотим говорить  smile.gif


Изучал... Было дело, только до практического использования дело так и не дошло по вполне понятным в настоящее время причинам. (С цифровой техникой проще). Но что касается аналоговой техники, то там запомнить времена и форму сигнала совсем не так просто, как в цифровой. Да, там есть возможность создания линий задержки и т.д. Но это не изменяет и не отменяет последовательности событий и изменения состояний схемы. Только в случае с цифровой техникой мы имеем дело с цискретными величинами, а в случае аналоговой - с непрерывными. Но это сути дела не меняет. smile.gif

PS: Вы сказали о компенсации. Можно-ли компенсировать то, чего еще пока нет? Мне кажется, что сложно. С моей точки зрения - компенсация является аналогом отрицательной обратной связи, реализованной в системе. Но эта связь не будет работать до тех пор, пока не появится входного воздействия. Опять приходим к причинно следственной связи.
PPS: Очень интересно услышать Ваше определение времени.
net
[quote=makc,Mar 20 2005, 14:12]
[quote=net,Mar 20 2005, 13:42]когда вы говорите о причинно следственной связи и говорите что было первым что второе - вы вводите понятие ВРЕМЯ 
*

[/quote]

Цифровые линии задержки, вносят задержки. Т.е. позволяют перейти от времени исходного (назовем его T), к некоторому производному (назовем его T'), при этом если величина задержек постоянна, то T'=T+dT. Это и есть принцип работы линии задержки. В данном случае, сохраняя прошлое и считая его будущим (создав соответствующую задержку) можно получить то, о чем Вы говорите. Но это уже будет не в исходном масштабе времени.

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


добавлю еще вы про магнитофон наверное слышали ? так вот записать аналоговый сигнал и воспроизвести его с любым опережением или отставинием очень легко tongue.gif





PS: Вы сказали о компенсации. Можно-ли компенсировать то, чего еще пока нет? Мне кажется, что сложно. С моей точки зрения - компенсация является аналогом отрицательной обратной связи, реализованной в системе. Но эта связь не будет работать до тех пор, пока не появится входного воздействия. Опять приходим к причинно следственной связи.
PPS: Очень интересно услышать Ваше определение времени.
->> да можно компенсировать то чего нет - называется принцип Даламбера - обратная связь по возмущению - или на нормальном языке - использование производной - или гибкая обратная связь - это позволяет производить компенсацию без изменения самого параметра smile.gif
makc
Цитата(net @ Mar 20 2005, 15:06)
Цифровые линии задержки, вносят задержки. Т.е. позволяют перейти от времени исходного (назовем его T), к некоторому производному (назовем его T'), при этом если величина задержек постоянна, то T'=T+dT. Это и есть принцип работы линии задержки. В данном случае, сохраняя прошлое и считая его будущим (создав соответствующую задержку) можно получить то, о чем Вы говорите. Но это уже будет не в исходном масштабе времени.

->вот вы сами опять вернулись к понятию времени - тоесть пытаетесь все время оперировать им - а если рассмотреть все в событиях то вы не можете опрелить что было первым что вторым поэтому масштаб времени не имеет значения и система спокойно будет работать основываясь на событиях используя ваш термин другого масштаба времени - но для событий это не важно  smile.gif
*


Прошу прощения, но это не я первый сказал про цифровые линии задержки. Если Вы имели в виду не задержки времени событий, то что же вы имели в виду? wink.gif

Что же касается моего взгляда на эту проблему событий, то ее можно еще выразить следующим образом. Допустим у нас есть система на входе которой есть величина X, а значение ее выхода обозначим Y. При этом поведение системы описывается уравнением Y = ~X, где "~" - знак отрицания. Множество допустимых значений X и Y сотоит из двух значение: {0,1}. Вопрос - может ли в этой системе измениться значение выхода без изменения входного значения? Если да, то как? А если нет, то получается что изменение выхода является следствием изменения входа и может произойти не раньше, чем произойдет изменение входа. Вот она связь событий.

Цитата
добавлю еще вы про магнитофон наверное слышали ? так вот записать аналоговый сигнал и воспроизвести его с любым опережением или отставинием очень легко  tongue.gif


Слышали, слышали... Не совсем уж мы дремучие люди. wink.gif
Только это пример не очень корректный и вот почему. Допустим Вы хотите записать на пленку звуки моего голоса. Сможете-ли Вы из записать, если я ничего не произнесу. (Заметьте, я ничего тут не говорю про время, а только про причинность). Думаю, что нет. А значит запись всегда может следовать за тем событием, когда появится записываемая информация, в каком бы виде она не была представлена. smile.gif


Цитата
PS: Вы сказали о компенсации. Можно-ли компенсировать то, чего еще пока нет? Мне кажется, что сложно. С моей точки зрения - компенсация является аналогом отрицательной обратной связи, реализованной в системе. Но эта связь не будет работать до тех пор, пока не появится входного воздействия. Опять приходим к причинно следственной связи.
PPS: Очень интересно услышать Ваше определение времени.
->> да можно компенсировать то чего нет - называется принцип Даламбера - обратная связь по возмущению - или на нормальном языке - использование производной  - или гибкая обратная связь - это позволяет производить компенсацию без изменения самого параметра  smile.gif


К сожалению хотя Вы и говорите об терминологии и определениях, я так и не услышал от Вас Вашего определения Времени. А теперь, когда Вы используете понятие производной, то было бы очень интересно, как Вы определите это понятие. И, кстати, что такое возмущение? wink.gif
Андрей Харитонов
Ну и развел тут makc словоблудие. Net однозначно прав что задача Angela очень просто решается цифровой линией задержки. И не о чем тут было больше сочинения писать.
makc
Цитата(Андрей Харитонов @ Mar 29 2005, 00:02)
Ну и развел тут makc словоблудие. Net однозначно прав что задача Angela очень просто решается цифровой линией задержки. И не о чем тут было больше сочинения писать.
*


Прошу прощения, это не словоблудие. Я за свои слова отвечаю. Что же касается использования линии задержки, то возможность ее использования зависит от того, как полностью сформулирована задача и если задача сформулирована таким образом, что импульс на выходе должен быть одновременно с окончанием сигнала на входе, то линия задержки здесь неприменима. Только об этом я и говорил. ninja.gif
net
Цитата(makc @ Mar 29 2005, 20:07)
Цитата(Андрей Харитонов @ Mar 29 2005, 00:02)
Ну и развел тут makc словоблудие. Net однозначно прав что задача Angela очень просто решается цифровой линией задержки. И не о чем тут было больше сочинения писать.
*


Прошу прощения, это не словоблудие. Я за свои слова отвечаю. Что же касается использования линии задержки, то возможность ее использования зависит от того, как полностью сформулирована задача и если задача сформулирована таким образом, что импульс на выходе должен быть одновременно с окончанием сигнала на входе, то линия задержки здесь неприменима. Только об этом я и говорил. ninja.gif
*



понятие одновремеено в студию blink.gif
любое устройство вносит задержку и поэтому когда говорят одновременнно то это словоблудие smile.gif
makc
Цитата(net @ Mar 29 2005, 22:09)
Цитата(makc @ Mar 29 2005, 20:07)
Цитата(Андрей Харитонов @ Mar 29 2005, 00:02)
Ну и развел тут makc словоблудие. Net однозначно прав что задача Angela очень просто решается цифровой линией задержки. И не о чем тут было больше сочинения писать.
*


Прошу прощения, это не словоблудие. Я за свои слова отвечаю. Что же касается использования линии задержки, то возможность ее использования зависит от того, как полностью сформулирована задача и если задача сформулирована таким образом, что импульс на выходе должен быть одновременно с окончанием сигнала на входе, то линия задержки здесь неприменима. Только об этом я и говорил. ninja.gif
*



понятие одновремеено в студию
*



Легко! Это значит, что задний фронт выработанного сигнала будет равен заднему фронту входного сигнала, как по времени, так и по продолжительности. smile.gif

Цитата
любое устройство вносит задержку и поэтому когда говорят одновременнно то это словоблудие  smile.gif


Понятие задержки в студию! blink.gif

PS: Выше я и говорил именно про задержки и про невозможность получения того, о чем Вы говорили. Т.е. теперь Вы повторяете мои слова... smile.gif
PPS: Кстати, Вы так и не дали своего определения времени. blink.gif
net
Цитата(makc @ Mar 30 2005, 09:01)
Цитата(net @ Mar 29 2005, 22:09)
Цитата(makc @ Mar 29 2005, 20:07)
Цитата(Андрей Харитонов @ Mar 29 2005, 00:02)
Ну и развел тут makc словоблудие. Net однозначно прав что задача Angela очень просто решается цифровой линией задержки. И не о чем тут было больше сочинения писать.
*


Прошу прощения, это не словоблудие. Я за свои слова отвечаю. Что же касается использования линии задержки, то возможность ее использования зависит от того, как полностью сформулирована задача и если задача сформулирована таким образом, что импульс на выходе должен быть одновременно с окончанием сигнала на входе, то линия задержки здесь неприменима. Только об этом я и говорил. ninja.gif
*



понятие одновремеено в студию
*



Легко! Это значит, что задний фронт выработанного сигнала будет равен заднему фронту входного сигнала, как по времени, так и по продолжительности. smile.gif

Цитата
любое устройство вносит задержку и поэтому когда говорят одновременнно то это словоблудие  smile.gif


Понятие задержки в студию! blink.gif

PS: Выше я и говорил именно про задержки и про невозможность получения того, о чем Вы говорили. Т.е. теперь Вы повторяете мои слова... smile.gif
PPS: Кстати, Вы так и не дали своего определения времени. blink.gif
*



вы либо не поняли что вам говорят либо не хотите понять что вам говорят
и разговаривать спустотой чтото не охота
и повоторю что вы говорите пустоту - поскольку задержка одновременно не может существовать и тд и тп
вообщем словоблудие утомляет
ninja.gif
Андрей Харитонов
до того как makc подключился к обсуждению, angel уже послал 2 сообщения, из которых условия задачи вполне понятны.
Непонятны только попытки makca ограничить в свое оправдание условия задачи до рамок понятной и полному дебилу невозможности поиграть в футбол со своим еще не родившимся ребенком.
вот одна из возможных простейших схем, которая решит задачу angelа
Grumbler_2002
2 Андрей Харитонов:
А почему асинхронный сигнал заходит на клоковый вход триггера? Будут глюки и ничего хорошего. На вход D триггера асинхронный сигнал лучше тоже не пускать. В реальности работать будет, но при временном моделировании будут глюки (иногда). Это связано со временем установки сигнала D перед и после рабочего фронта клока.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.