|
Синхронизация нескольких плат |
|
|
|
Jan 17 2013, 07:00
|
Группа: Новичок
Сообщений: 7
Регистрация: 14-05-12
Пользователь №: 71 821

|
Уперся в следующую проблему, необходима помощь! Устройство состоит из 5 совершенно одинаковых плат собранных на FPGA Cyclone IV GX (EP4CGX75DF27С7), все платы оцифровывают входные сигналы. Проблема в том, что платы должны оцифровывать сигналы в одно и тоже время, синхронно. Как синхронизировать работу всех плат?
|
|
|
|
|
 |
Ответов
|
Jan 17 2013, 12:59
|
Группа: Новичок
Сообщений: 7
Регистрация: 14-05-12
Пользователь №: 71 821

|
Цитата(Костян @ Jan 17 2013, 14:15)  Скорее всего нет. Вам прийдется еще давать сигнал старта.
Синхронизировать платы лучше всего от одного источника, соединяя дальше платы цепочкой. Т.е PLLout одной платы идет на PLLin другой.
Разность фаз иногда не нужно выравнивать. Зависит от задачи. Разность фаз можно компенсировать в цифре. Как разность фаз можно компенсировать в цифре? Что имелось в виду? Подстройкой фазы в PLL или непосредственно логикой?
Сообщение отредактировал alexeypopov - Jan 17 2013, 12:59
|
|
|
|
|
Jan 17 2013, 14:02
|
Группа: Новичок
Сообщений: 7
Регистрация: 14-05-12
Пользователь №: 71 821

|
Цитата(Lmx2315 @ Jan 17 2013, 16:11)  Я не пойму, как разные блоки/платы узнают на сколько они друг от друга разбежались. Они естественно не узнают им и не надо этого знать. Необходимо чтобы эти платы по входной команде смогли забрать данные со своих датчиков в одно и тоже время. Если частоты, на которых будут работать эти платы, будут одинаковыми но сдвинутыми по фазе то соответственно данные с датчиков они соберут в разные моменты времени.... Необходимо синхронизировать их. Цитата(bogaev_roman @ Jan 17 2013, 16:01)  Тактовая никогда не будет иметь одинаковую задержку, поэтому в реальном режиме времени фаза сигналов будет зависеть от нее, сигнал запуска тоже будет иметь разную задержку. Вот проект с которым я сейчас работаю - 4 ПЛИС, высокая общая частота подается на все плис - выровненности нет, есть мастер-плис который пингует все плисины и вычисляет реальные задержки и раздает их остальным. Все ПЛИС в результате имеют синхронную низкую частоту (формируемую на основе полученных данных и общей высокой частоты с помощью счетчика) с точностью до одного такта высокой. В принципе можно было бы вычислить эту задержку и все засинхронизировать с помощью настроек фаз входных pll, но при существенном изменении входной тактовой вся схема летит из-за того, что сдвиг по фазе завязан на значении частоты. не очень понятно как мастер пингует и вычисляет задержки? Какие задержки? как с помощью полученной информации slave подстраивает свою частоту.
|
|
|
|
|
Jan 17 2013, 18:49
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(alexeypopov @ Jan 17 2013, 18:02)  не очень понятно как мастер пингует и вычисляет задержки? Какие задержки? как с помощью полученной информации slave подстраивает свою частоту. В Вашем случая это скорее всего не применимо, но используется много где. Есть две частоты - низкая и высокая, на низкой идет вся обработка, мастер имеет с остальными две связи - на прием и передачу (разведены по плате они должны одинаково). Высокая частота синхронна (пусть и с разными фазами) и изначально в каждой ПЛИС генерится низкая посредством счетчиков. Ну а дальше все просто - мастер посылает в ведомый импуль, который совпадает с фронтом его низкой частоты и получает в ответ его же. Вычисляется разница и делится пополам, следующий импульс в ведомый (он же служит сбросом для счетчика) запускает заново счетчик низкой частоты на ведомом. В итоге к примеру - мастер послал импульс (фронт низкой частоты, формируется на высокой) и получил ответ через 4 такта (высокой), т.к. пути одинаковые, то получается что задержка составляет в одну сторону 2 такта (высокой) и сброс счетчика ведомого должен формироваться на 2 такта раньше. Таким образом получается синхронность низкой частоты с точностью до одного такта высокой. ЗЫ// извиняюсь за мой русский язык, если идея не понятна попробую описать подробней. to Lmx2315 просто в моем понимании термин "разбежались" означает то, что одна частота больше другой на дельту, т.е. как будто есть два одинаковых генератора частоты на разных плисинах с равными характеристиками, но фактичкески они не одинаковы.
|
|
|
|
Сообщений в этой теме
alexeypopov Синхронизация нескольких плат Jan 17 2013, 07:00 eugen_pcad_ru Используя единый для всех плат источник синхрониза... Jan 17 2013, 08:28 alexeypopov После включения питания смогут ли PLLи в ПЛИСах за... Jan 17 2013, 09:10 bogaev_roman Цитата(alexeypopov @ Jan 17 2013, 13:10) ... Jan 17 2013, 09:50 Костян QUOTE (alexeypopov @ Jan 17 2013, 07:10) ... Jan 17 2013, 11:15 maksimp Цитата(alexeypopov @ Jan 17 2013, 12:10) ... Jan 18 2013, 16:24 alexeypopov Каждая PLL имеет асинхронный сброс areset, пока он... Jan 17 2013, 10:41 bogaev_roman Цитата(alexeypopov @ Jan 17 2013, 14:41) ... Jan 17 2013, 11:17 litv Да locked будет в разное время. Jan 17 2013, 10:58 alexeypopov По моим соображениям, чтобы все эти 5 плат захвати... Jan 17 2013, 12:54 bogaev_roman Цитата(alexeypopov @ Jan 17 2013, 16:54) ... Jan 17 2013, 13:01 telix Ну правильно же написали, подать на все платы сигн... Jan 17 2013, 12:54   bogaev_roman Цитата(Lmx2315 @ Jan 17 2013, 17:11) Я не... Jan 17 2013, 13:17    Lmx2315 QUOTE (bogaev_roman @ Jan 17 2013, 16:17)... Jan 17 2013, 13:27 polyakovav Решение может сильно отличаться от допустимой вели... Jan 17 2013, 16:17 alexeypopov Все достаточно понятно описано. Так, ради интереса... Jan 18 2013, 06:28 bogaev_roman Цитата(alexeypopov @ Jan 18 2013, 10:28) ... Jan 18 2013, 11:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|