vLx0F 0 27 июня, 2007 Опубликовано 27 июня, 2007 · Жалоба Из вне (ПЛИС Spartan 3) приходят импульсы длительностью Td, периодом Tp., по которым начинается работа схемы в данном периоде. Работа идёт по фронту, началу импульса, т.е. длительность не важна. 1. Есть ли какие особенности, нюансы, "хитрые приёмчики" синхронизации импульса в данном случае ? Достаточно ли стандартных синхронизаторов, используемых при переходе из одного домена в другой ? 2. Период клока, которым ловлю старт, - Ти. Следовательно, дребезг внутренних сигналов, относительно импуьсов старта между периодами будет - Ти. Можно ли этого избежать или хотябы уменьшить дребезг? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Escorial 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Из вне (ПЛИС Spartan 3) приходят импульсы длительностью Td, периодом Tp., по которым начинается работа схемы в данном периоде. Работа идёт по фронту, началу импульса, т.е. длительность не важна. 1. Есть ли какие особенности, нюансы, "хитрые приёмчики" синхронизации импульса в данном случае ? Достаточно ли стандартных синхронизаторов, используемых при переходе из одного домена в другой ? 2. Период клока, которым ловлю старт, - Ти. Следовательно, дребезг внутренних сигналов, относительно импуьсов старта между периодами будет - Ти. Можно ли этого избежать или хотябы уменьшить дребезг? 1. Пропустить внешние входные сигналы через 2 последовательных триггера. 2. Если Fи>Fp для избавления от дребезга можно использовать счетчик, который считает по Fи вверх пока импульс активен и сбрасывается в ноль как только пропадает. Один из старших разрядов этого счетчика и будет тригерный сигнал признака старта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYCHOFF 0 2 июля, 2007 Опубликовано 2 июля, 2007 · Жалоба Если требуется перенести сигнал с одной частоты на другую я использую вот такую схему, я ее уже выкладывал. В ней на вход подается импульс не важно какой длительности, а на выходе имеем короткий импульс уже на другой частоте, и фронт который вам нужен будет отработан. Если хотите избавиться от дребезга сделайте защелку на триггере и когда то что нужно выполнить выполнится, сбрасывайте ее т. е. обратная связь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 3 июля, 2007 Опубликовано 3 июля, 2007 · Жалоба Если требуется перенести сигнал с одной частоты на другую я использую вот такую схему, я ее уже выкладывал. В ней на вход подается импульс не важно какой длительности, а на выходе имеем короткий импульс уже на другой частоте, и фронт который вам нужен будет отработан. Но этот сигнал ко мне приходит от совсем другого усройства, и не тактовой, порождающей его, не данных о путях распространения, по которому он приходит (куча кабелей, разные задержки), у меня нет. Так что обычный синхронизатор будет давать звон, равный Ти (период клока). Если хотите избавиться от дребезга сделайте защелку на триггере и когда то что нужно выполнить выполнится, сбрасывайте ее т. е. обратная связь. Не советую подавать внешние управляющи сигналы (не клоки) на тактовые входы синхронных элементов (не только из-за помехо-не- защищённости). Длительность импульса старта больше Ти. Придётся, видимо, DCM'ом клок поднимать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYCHOFF 0 4 июля, 2007 Опубликовано 4 июля, 2007 · Жалоба "Не советую подавать внешние управляющи сигналы (не клоки) на тактовые входы синхронных элементов (не только из-за помехо-не- защищённости). Длительность импульса старта больше Ти." Совершенно верно, никогда так не делаю. Я не это имел в виду сделать защелку путем подачи сигнала с выхода триггера через инвертор на его сигнал разрешения, тогда он защелнется и будет в этом состоянии до тех пор пока вы его не сбросите. Вот вам и реакция на появление сигнала на входе, с отработкой дребезга, только частота на которой приходит импульс должна быть меньше чем частота приемной части, а то триггер не воспримет этот сигнал, в общем это все равно что внешнее прерывание отработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 4 июля, 2007 Опубликовано 4 июля, 2007 · Жалоба Совершенно верно, никогда так не делаю. Я не это имел в виду сделать защелку путем подачи сигнала с выхода триггера через инвертор на его сигнал разрешения, тогда он защелнется и будет в этом состоянии до тех пор пока вы его не сбросите. Вот вам и реакция на появление сигнала на входе, с отработкой дребезга, только частота на которой приходит импульс должна быть меньше чем частота приемной части, а то триггер не воспримет этот сигнал, в общем это все равно что внешнее прерывание отработать. Я немного не такой дребезг имел ввиду :) Период следования импульсов старта Тп=const и Тп >>Ти, длительность имп-са тож больше Ти (~ раз 20). Теперь представьте, что принимается старт каким-то n-ым фронтом клока. Потом старт пришёл с задержкой (jitter) и защёлкнулся (n+1)-ым фронтом. Т.е. схема начала работать на Ти позже, чем в предыдущем периоде и все сигналы, которые зависят от старта, сдвинулись относительно их положений в предыдущем периоде. Тут, я думаю, поможет только увеличени частоты клока и обложение сигнала старта констрейнами, чтоб уменьшить его звон и время распространения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYCHOFF 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба "Следовательно, дребезг внутренних сигналов, относительно импуьсов старта между периодами будет - Ти." Может я не совсем понимаю какой дребезг Вы имеете в виду. При чем тут вообще внутренние сигналы они как работали так и будут работать на своей частоте и какой там может быть дребезг. Я так понимаю что задача стоит просто гарантированно принять сигнал старта, который следует на другой частоте. Если частота приемной части больше чем частота на которой приходит импульс старта, так в чем же проблема? Почему бы просто не перенести этот сигнал на приемную частоту? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба Может я не совсем понимаю какой дребезг Вы имеете в виду. При чем тут вообще внутренние сигналы они как работали так и будут работать на своей частоте и какой там может быть дребезг. Дребезг междупериодный - дрожание сигналов между периодами прихода сигналов старта. Точней, наверное, сказать jitter. Внутри каждого периода всё работает синхронно. Я так понимаю что задача стоит просто гарантированно принять сигнал старта, который следует на другой частоте. Нет. Синхронизаторы работают нормально. Почему бы просто не перенести этот сигнал на приемную частоту? Так и делаю :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYCHOFF 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба Так у Вас получилось то что Вы хотели сделать? А вот это все равно не понятно "Дребезг междупериодный - дрожание сигналов между периодами прихода сигналов старта. Точней, наверное, сказать jitter. Внутри каждого периода всё работает синхронно." Что значит "внутри каждого периода", если схема синхронна то она и работает синхронно на протяжении всего времени. :cranky: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба Так у Вас получилось то что Вы хотели сделать? Работает всё синхронно, стабильно - перенёс сигнал старта в свой клок домен нормально. Что значит "внутри каждого периода", если схема синхронна то она и работает синхронно на протяжении всего времени. :cranky: В том-то и дела, что схема работает, то синхронно, но не на протяжении всего времени. Схема работает только начиная с момента прихода импульса старта втечение времени Тр < Тп, где Тп период следования импульсов старта. Время Тп-Тр (минус) схема "спит" и ждёт нового импульса. Допустим, есть сигнал EN, который падает в "0" с приходом старта и поднимается в "1" через время Тр (Время Тр определяется схемой, но оно всегда меньше Тп). Пусть Т0 - время прихода первого старта, и сигнал EN упал в "0" - началась работа. Следующий Импульс старта придёт через Т1=Т0+Тп+d, где d - некаторая дельта, которая обусловлена путями распространения сигнала старта до ПЛИС. d != const, и разброс может быть достаточно большой ~ 2-7нС. Таким образом импульс старта будет подаваться на вход триггера с временным сдвигом d (дрожанием), что приведёт к защёлкиванию его разными клоками, следовательно сигнал EN1 (EN в момент времени Т1) будет сдвинут относительно себя, но в другие периоды (EN0 - Т0, EN2-Т2...ENN-ТN) на величину Ти (периода клока). Это всё касается и других сигналов. Это легко представить, если выстраить сигналы в разных периодах один под другим (вертикально), но со здвигом по горизонтали (влево или вправо). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYCHOFF 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба А на какой частоте работает схема ? У меня сейчас на 120 МГц нет никаких проблем. Еще такой вопрос что это за исполнительное устройство которое воспринимает импульс старта, это комбинационная схема, конечный автомат или что? У меня такие сигналы ( разумеется перенесенные на рабочую частоту ) подаются на конечные автоматы, а автомат уже дальше рулит остальными устройствами, раздает сигналы разрешения и т. д. и все работает прекрасно. Я все элементы стараюсь делать по возможности с регистровыми выходами. Чтобы сигналы появлялись в нужные моменты. Кстати что за ПЛИС? Может Вам ваши сигналы "EN" в критичных местах прощелнуть через триггер. А вообще если схема синхронна, то она работает синхронно всегда. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба А на какой частоте работает схема ? У меня сейчас на 120 МГц нет никаких проблем. Еще такой вопрос что это за исполнительное устройство которое воспринимает импульс старта, это комбинационная схема, конечный автомат или что? У меня такие сигналы ( разумеется перенесенные на рабочую частоту ) подаются на конечные автоматы, а автомат уже дальше рулит остальными устройствами, раздает сигналы разрешения и т. д. и все работает прекрасно. Я все элементы стараюсь делать по возможности с регистровыми выходами. Чтобы сигналы появлялись в нужные моменты. Кстати что за ПЛИС? Может Вам ваши сигналы "EN" в критичных местах прощелнуть через триггер. А вообще если схема синхронна, то она работает синхронно всегда. Да синхронно всё работает :) Проблем нет. Спасибо за помощь. Наверное, мне не удасться объяснить, что надо :) Но, если есть желание понять, проведите такой эксперимент. Подайте на Ваше устройство внешний старт с периодом Тп и засинхронизируйте от него осциллограф. На вход осцилла подайте сигнал, который _обязательно_ будет изменяться по сигналу старта. И посмотрите на фронт/срез этого сигнала. Jitter в Вашем случае будет = 8.33nS. Это к синхронности/несинхронности работы схемы не имеет никакого отношения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба Спасибо за помощь. Наверное, мне не удасться объяснить, что надо /////////////////////////////// Понятно, что надо. Если Ваш старт нужно привязать к системе глобальной синхронизации, то проявиться это явление, который вы джиттером называете. Чем выше частота, тем точнее привязка. Вот и все. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vLx0F 0 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба который вы джиттером называете. А как назвать ? Чем выше частота, тем точнее привязка. Вот и все. Так это и понятно. Просто думал, может ещё можно как-то извращнуться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 3 5 июля, 2007 Опубликовано 5 июля, 2007 · Жалоба А как назвать ////////////////////////////////// А назвать можно издержками перехода из одного клокового домена в другой. Ведь это всегда не больше периода клока глобальной синхронизации. И в системе это компенсируется, если надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться