alexeypopov 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Уперся в следующую проблему, необходима помощь! Устройство состоит из 5 совершенно одинаковых плат собранных на FPGA Cyclone IV GX (EP4CGX75DF27С7), все платы оцифровывают входные сигналы. Проблема в том, что платы должны оцифровывать сигналы в одно и тоже время, синхронно. Как синхронизировать работу всех плат? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eugen_pcad_ru 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Используя единый для всех плат источник синхронизации? Фазы выровнять во встроенных ФАПЧ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeypopov 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба После включения питания смогут ли PLLи в ПЛИСах завестись синхронно? Допустим на вход каждой платы приходит клок 80МHz, в каждой ПЛИС ставлю PLL чтобы сделать 200MHz. Эти 200MHz будут ли синхронными в каждой ПЛИСине или PLLки сдвинут их пока будет идти подстройка частоты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба После включения питания смогут ли PLLи в ПЛИСах завестись синхронно? Допустим на вход каждой платы приходит клок 80МHz, в каждой ПЛИС ставлю PLL чтобы сделать 200MHz. Эти 200MHz будут ли синхронными в каждой ПЛИСине или PLLки сдвинут их пока будет идти подстройка частоты? Если требуется точная синхронизация 200МГц, то сомнительно с моей точки зрения, единственная возможность - попробовать выровнять все пути от источника (одного) тактовой до входов каждой из pll (ну или вручную замерять и пытаться двигать фазу выхода pll с определенной точностью). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeypopov 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Каждая PLL имеет асинхронный сброс areset, пока он держится в 1, PLL не выдает сигнал, после того как этот areset перейдет в 0, PLL запускается и начинает подстраивать выходной сигнал до тех пор пока не подстроит как задано, после чего выводит locked (сигнал подстроен). Но в документации на PLL не говориться что это время фиксировано, только максимальное время Tlock = 1ms (Cyclone IV Device Handbook / PLL Specifications). Так получается что на всех PLLях этот сигнал locked может выйти в разное время и заведомо все синхросигналы убегут по фазе? Или нет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
litv 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Да locked будет в разное время. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Костян 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба После включения питания смогут ли PLLи в ПЛИСах завестись синхронно? Скорее всего нет. Вам прийдется еще давать сигнал старта. Синхронизировать платы лучше всего от одного источника, соединяя дальше платы цепочкой. Т.е PLLout одной платы идет на PLLin другой. Разность фаз иногда не нужно выравнивать. Зависит от задачи. Разность фаз можно компенсировать в цифре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Так получается что на всех PLLях этот сигнал locked может выйти в разное время и заведомо все синхросигналы убегут по фазе? Или нет? Сигнал этот говорит о том, что pll залочилась, т.е. на выходе будет стабильная частота. Но подстройка pll у Вас ведется по изменению фронта/среза входной частоты и если входная частота (общая) имеет разную задержку до разных pll, то выходные частоты будут синхронными (при одинаковых настройках pll), но с разными фазами. Но в документации на PLL не говориться что это время фиксировано, только максимальное время Tlock = 1ms Pll включает аналогувую часть, и время подстройки зависит от "качества" входной частоты соответственно и время разное, поэтому и приведено максимальное время подстройки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeypopov 0 17 января, 2013 Опубликовано 17 января, 2013 (изменено) · Жалоба По моим соображениям, чтобы все эти 5 плат захватили данные в определенное время причем синхронно, то не возможно в каждой плате вести отсчет времени непосредственно по клоку который будет делать каждая PLL в этой плате. Необходимо сначала в каждой плате PLLкой подогнать синхросигнал к одному значению частоты и фазы и не важно за какое время каждая PLL это сделает, лишь бы они точно подстроились в пределах 1мс установки. Затем необходимо посылать сигнал (захват данных) на все эти платы, которые в свою очередь будут его ловить с помощью уже подстроенных клоков (что-то вроде следящей системы), поймав его делать выборки. Скорее всего нет. Вам прийдется еще давать сигнал старта. Синхронизировать платы лучше всего от одного источника, соединяя дальше платы цепочкой. Т.е PLLout одной платы идет на PLLin другой. Разность фаз иногда не нужно выравнивать. Зависит от задачи. Разность фаз можно компенсировать в цифре. Как разность фаз можно компенсировать в цифре? Что имелось в виду? Подстройкой фазы в PLL или непосредственно логикой? Изменено 17 января, 2013 пользователем alexeypopov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
telix 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Ну правильно же написали, подать на все платы сигнал тактовой частоты, чтобы синхронизировать все платы по фронту. И затем на все платы подать еще один сигнал запуска собственно преобразования, тогда все платы начнут работать синхронно с точностью до фазы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexeypopov 0 17 января, 2013 Опубликовано 17 января, 2013 (изменено) · Жалоба Скорее всего нет. Вам прийдется еще давать сигнал старта. Синхронизировать платы лучше всего от одного источника, соединяя дальше платы цепочкой. Т.е PLLout одной платы идет на PLLin другой. Разность фаз иногда не нужно выравнивать. Зависит от задачи. Разность фаз можно компенсировать в цифре. Как разность фаз можно компенсировать в цифре? Что имелось в виду? Подстройкой фазы в PLL или непосредственно логикой? Изменено 17 января, 2013 пользователем alexeypopov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Допустим мы имеем 2 ПЛИС которые имеют одинаково настроенные PLL (вход 80MHz, выход 200MHz). Пусть входной клок 80MHz на вторую ПЛИС придет с задержкой 3ns. Значит ли это, что полученные 200MHz клоки будут также сдвинуты на 3ns? Если фронт/срез входной частоты задержан на 3нс (источник один), то да (ну +/- дельта). Ну правильно же написали, подать на все платы сигнал тактовой частоты, чтобы синхронизировать все платы по фронту. И затем на все платы подать еще один сигнал запуска собственно преобразования, тогда все платы начнут работать синхронно с точностью до фазы. Тактовая никогда не будет иметь одинаковую задержку, поэтому в реальном режиме времени фаза сигналов будет зависеть от нее, сигнал запуска тоже будет иметь разную задержку. Вот проект с которым я сейчас работаю - 4 ПЛИС, высокая общая частота подается на все плис - выровненности нет, есть мастер-плис который пингует все плисины и вычисляет реальные задержки и раздает их остальным. Все ПЛИС в результате имеют синхронную низкую частоту (формируемую на основе полученных данных и общей высокой частоты с помощью счетчика) с точностью до одного такта высокой. В принципе можно было бы вычислить эту задержку и все засинхронизировать с помощью настроек фаз входных pll, но при существенном изменении входной тактовой вся схема летит из-за того, что сдвиг по фазе завязан на значении частоты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Костян 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Как разность фаз можно компенсировать в цифре? Что имелось в виду? Подстройкой фазы в PLL или непосредственно логикой? первый и второй вариант подойдет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lmx2315 2 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Я не пойму, как разные блоки/платы узнают на сколько они друг от друга разбежались. Имхо фазовые ошибки всегда будут не просто разные но и непредсказуемые. Я вижу решение проблемы только в калибровке - на вход подаётся тестовый сигнал и по нему оценивают разбег фаз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 17 января, 2013 Опубликовано 17 января, 2013 · Жалоба Я не пойму, как разные блоки/платы узнают на сколько они друг от друга разбежались. За счет чего выходные частоты pll могут разбежаться, если на вход подается частота от одного источника? Фазы у них действительно будут немного отличаться, но синхронными они будут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться