|
Синхронизация нескольких плат |
|
|
|
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, 16:17
|

Частый гость
 
Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486

|
Решение может сильно отличаться от допустимой величины отклонения шкалы времени. Есть стандарт PXI для модульных измерительных систем http://www.pxisa.org/Specifications/Default.aspxТам как-раз описывают способы синхронизации и требования к синхросигналам.
|
|
|
|
|
Jan 17 2013, 18:49
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(alexeypopov @ Jan 17 2013, 18:02)  не очень понятно как мастер пингует и вычисляет задержки? Какие задержки? как с помощью полученной информации slave подстраивает свою частоту. В Вашем случая это скорее всего не применимо, но используется много где. Есть две частоты - низкая и высокая, на низкой идет вся обработка, мастер имеет с остальными две связи - на прием и передачу (разведены по плате они должны одинаково). Высокая частота синхронна (пусть и с разными фазами) и изначально в каждой ПЛИС генерится низкая посредством счетчиков. Ну а дальше все просто - мастер посылает в ведомый импуль, который совпадает с фронтом его низкой частоты и получает в ответ его же. Вычисляется разница и делится пополам, следующий импульс в ведомый (он же служит сбросом для счетчика) запускает заново счетчик низкой частоты на ведомом. В итоге к примеру - мастер послал импульс (фронт низкой частоты, формируется на высокой) и получил ответ через 4 такта (высокой), т.к. пути одинаковые, то получается что задержка составляет в одну сторону 2 такта (высокой) и сброс счетчика ведомого должен формироваться на 2 такта раньше. Таким образом получается синхронность низкой частоты с точностью до одного такта высокой. ЗЫ// извиняюсь за мой русский язык, если идея не понятна попробую описать подробней. to Lmx2315 просто в моем понимании термин "разбежались" означает то, что одна частота больше другой на дельту, т.е. как будто есть два одинаковых генератора частоты на разных плисинах с равными характеристиками, но фактичкески они не одинаковы.
|
|
|
|
|
Jan 18 2013, 06:28
|
Группа: Новичок
Сообщений: 7
Регистрация: 14-05-12
Пользователь №: 71 821

|
Все достаточно понятно описано. Так, ради интереса, какова высокая и низкая частота в вашем проекте, если не секрет?
|
|
|
|
|
Jan 18 2013, 16:24
|
Местный
  
Группа: Участник
Сообщений: 313
Регистрация: 2-07-11
Пользователь №: 66 023

|
Цитата(alexeypopov @ Jan 17 2013, 12:10)  После включения питания смогут ли PLLи в ПЛИСах завестись синхронно? Допустим на вход каждой платы приходит клок 80МHz, в каждой ПЛИС ставлю PLL чтобы сделать 200MHz. Эти 200MHz будут ли синхронными в каждой ПЛИСине или PLLки сдвинут их пока будет идти подстройка частоты? Чтобы получить только один возможный вариант работы PLL, нужно чтобы коэффициент деления в PLL был равен 1. Значит входная частота должна быть где то 5...10 МГц, конкретно запускайте мастер в Квартусе и смотрите при каких входных частотах коэффициент деления в PLL равен 1. В противном случае, PLL должна сама делить. Например, из 80 МГц получать 10 МГц. Счётчик делитель на 8. И выход этого счётчика может переключаться по этому импульсу 80 МГц, по следующему и т.д., всего 8 вариантов.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|