Перейти к содержанию
    

синхронизировать тактовые частоты двух ПЛИС

а пропустив через интерфейс 100Гц с мастера и используя их как опорный генератор, еще и по фазе генераторы выровняете :)
вот этот момент, если честно, не понял

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вот этот момент, если честно, не понял

для работы фазового детектора нужна опорная частота 100Гц, ее можно получить двумя способами :

1. Подав с мастера 100Гц

2. Подав с мастера тактовую частоту и регенировать из нее 100Гц в слейве.

 

Во втором случае между частотами мастера и слейва будет ошибка по фазе, определяемая начальной фазой регенаратора частоты в сейве.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО в порядке ошиблись. Требуемая стабильность частоты 100Гц = 2мкс/10мс = 200ppm.

Просто мне показалось, что ТС говорит не об отклонении периода частоты 100Гц на 1 мкс в течение 5 мин, а об интегральной разности фаз, набегающей за 5 мин. В первом случае задача вроде решается однократной подстройкой обычного цифрового делителя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вместо KXO-V97 ставим подходящий VCXO, выделяем две ноги Спатрана под выход фазового детектора, операционник и ФНЧ на вход управления VCXO. В начале общения по протоколу договариваемся, кто будет ведущим, а кто ведомым. У ведущего отключаме ФД и устанавливаем PWM половину диапазона регулировки VCXO, ну или предустановленное при калибровках из епрома или откуда еще. А второй вводим в синхронизацию с первым. Или тупо подаем на ФД такотовые 100 Гц импульсы от внешней и от внутренней системы, или разность фаз определяем счетным методом- в последенем случае можно быстрее войти в синхронизм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вместо KXO-V97 ставим подходящий VCXO, выделяем две ноги Спатрана под выход фазового детектора, операционник и ФНЧ на вход управления VCXO. В начале общения по протоколу договариваемся, кто будет ведущим, а кто ведомым. У ведущего отключаме ФД и устанавливаем PWM половину диапазона регулировки VCXO, ну или предустановленное при калибровках из епрома или откуда еще. А второй вводим в синхронизацию с первым. Или тупо подаем на ФД такотовые 100 Гц импульсы от внешней и от внутренней системы, или разность фаз определяем счетным методом- в последенем случае можно быстрее войти в синхронизм.

Это уже потом будет, обязательно будет, увы не сейчас...

Я не профи, для меня настолько безобразная разница в таких дешевеньких генераторах оказалась неожиданностью.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 AVR вы бы задачу описали, тогда можно было бы не гадать

Задача:

Есть две ПЛИС. У каждой свой генератор. Частоты различаются. На несколько секунд их можно соединить кабелем, затем 5 минут работы автономно.

Необходимо сделать так, чтобы импульсы (пусть будет 1 КГц, не 100 Гц) в течение 5 минут на одной плате были как можно более синхронны к 1 КГц импульсам на второй плате.

 

Цель: необходимо замерять время хода звука с высокой точностью (есть датчики к ПЛИС с соответствующей аналоговой схемой), поэтому хотя бы 5 минут должно быть более менее стабильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Необходимо решить задачу синхронизации двух ПЛИС Spartan 6. Мне надо чтобы были синхронными импульсы 100 Гц, а уже расхождение в течение 10 мс в рамках допустимой погрешности будет при любом раскладе. Необходимо чтобы синхронность в пределах 1-2 мкс сохранялась в течение 5 минут. Казалось бы, требования простые, придумывая и тестируя различные методы на Verilog в симуляторе (имитируя расхождение частот в плюс и минус) мне удавалось решить задачу. А вот реальные испытания с осциллографом и двумя каналами (по триггеру смотрел расхождение) показали что решение никуда не годится...

 

У каждой ПЛИС свой внешний генератор на 50 МГц (KXO-V97, но не суть, там 50 ppm). Между собой они соединены по диф.-паре LVDS_33, помех нет.

 

Важный момент: после синхронизации ПЛИС должны быть разъединены, поэтому надо чтобы 5 минут потом сохранялось равенство тактовых частот, только вот установить еще надо их равными.

 

Я так понимаю что встроенный DCM решает такую задачу. Им я пользовался лишь для преобразования одной частоты в другую.

 

Вопрос: как пользоваться DCM для синхронизации двух тактовых частот? Как называется процесс или режим работы DCM? Есть ли статьи или туториалы?

 

Чтобы если одна базовая ПЛИС ушла по частота от 50 МГц на 752 Гц например, то чтобы вторая тоже имела такое же смещение (50000752 Гц).

 

Боюсь, что сделать "часы реалього времени" на дешевой комерческой базе, но с точностью атомных ччастов не получиться. Все зависит от точности опорного тактового генератора. Никакие синтезаторы не могут скомпенсировать неточность тактового генератора. Это не их задача. Они для этого не предназначены. Они лишь делят и умножают опорную частоту, чтобы получить требуемую. Сами посчитайте. При 50 ppm за 5 минут в худшем случае разбегутся на 30 мс. Чтобы обеспечить ваши требования нужно чтобы точность тактовых генераторов была 0,00х ppm. Лично я таких генераторов не встричал.

 

Можно попробовать подобрать. Но нужно обязательно генератор с компенсацией температурного дрейфа. Иначе все усилия пойдут "коту под хвост"

 

Задача:

Есть две ПЛИС. У каждой свой генератор. Частоты различаются. На несколько секунд их можно соединить кабелем, затем 5 минут работы автономно.

Необходимо сделать так, чтобы импульсы (пусть будет 1 КГц, не 100 Гц) в течение 5 минут на одной плате были как можно более синхронны к 1 КГц импульсам на второй плате.

 

Цель: необходимо замерять время хода звука с высокой точностью (есть датчики к ПЛИС с соответствующей аналоговой схемой), поэтому хотя бы 5 минут должно быть более менее стабильно.

 

Для этого не надо высокоточных генераторов.

Задача решается калибровкой системы по эталонному звуковому сигналу. Грубо говоря, подбираете сколько тактов 50 МГ-цовой частоты укладывается в периоде эталонного 100 Г-цового сигнала

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для этого не надо высокоточных генераторов.

Задача решается калибровкой системы по эталонному звуковому сигналу. Грубо говоря, подбираете сколько тактов 50 МГ-цовой частоты укладывается в периоде эталонного 100 Г-цового сигнала

Именно так я сейчас и делаю и это нашел как единственное решение, которое мне видимо придется доводить до ума, потому что пока что разлетается частота быстрее расчетов.

 

Только сигнал у меня 20-40 КГц, а 1 КГц - это лишь частота синхроимпульсов.

 

Я создал тему чтобы узнать - есть ли в Spartan 6 что-нибудь для идеального решения задачи. Оказалось нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Необходимо сделать так, чтобы импульсы (пусть будет 1 КГц, не 100 Гц) в течение 5 минут на одной плате были как можно более синхронны к 1 КГц импульсам на второй плате.

Что дальше происходит с этими импульсами ? они идут вне плис или используются в качестве стробов/сигналов для обработки внутри плис ?

 

 

Как бы есть простая технология цифровой привязки "виртуальных тактовых частот" (т.е. частоты, на которой идет обработка сигнала, не путать с тактовой частотой), как раз на описанной выше ФАПЧ. Использую ее в связных модемах, в задачах когда нужно передавать/принимать синхронные потоки при использовании одного эталонного генератора. Но не знаю подойдет ли она вам, там есть определенные ограничения (например требование на тактовую частоту устройства Ft > Fsymb), в особенности что касается аналого-цифровых стыков.

 

вот только генераторы надо будет подобрать получше, хотя бы 5ппм %)

 

Вместо KXO-V97 ставим подходящий VCXO, выделяем две ноги Спатрана под выход фазового детектора, операционник и ФНЧ на вход управления VCXO. В начале общения по протоколу договариваемся, кто будет ведущим, а кто ведомым. У ведущего отключаме ФД и устанавливаем PWM половину диапазона регулировки VCXO, ну или предустановленное при калибровках из епрома или откуда еще. А второй вводим в синхронизацию с первым. Или тупо подаем на ФД такотовые 100 Гц импульсы от внешней и от внутренней системы, или разность фаз определяем счетным методом- в последенем случае можно быстрее войти в синхронизм.

угу, а когда внешний клок пропадает, как будете фиксировать уровень управления гуном? генерировать требуемую последовательность фазового детектора? Петлевой фильтр в цифре делать надо. Ну и по управлению либо шумоподобный шим либо ЦАП ставить %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На ведущей плате передатчик посылающие синхросигналы, на ведомой плате приемник. Или не?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На ведущей плате передатчик посылающие синхросигналы, на ведомой плате приемник. Или не?

не внимательно читали условие задачи :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот же.

Задача:

Есть две ПЛИС. У каждой свой генератор. Частоты различаются. На несколько секунд их можно соединить кабелем, затем 5 минут работы автономно.

Необходимо сделать так, чтобы импульсы (пусть будет 1 КГц, не 100 Гц) в течение 5 минут на одной плате были как можно более синхронны к 1 КГц импульсам на второй плате.

 

Цель: необходимо замерять время хода звука с высокой точностью (есть датчики к ПЛИС с соответствующей аналоговой схемой), поэтому хотя бы 5 минут должно быть более менее стабильно.

Поэтому платы разнесенные на некоторое растояние. На этом растоянии измеряется скорость звука. Вообще может можно некую тактирующую частоту

передовать, а ведомый будет работать от этой частоты. Или не?

 

Хм. Опять непонятно наверное выразился.

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

синхроимпульсов на ведущем устройстве и приемником на ведомом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот я и предлагаю синхронизироваться удаленно с помощью передатчика синхроимпульсов на ведущем устройстве и приемником на ведомом.

На каком принципе? Может оптическом? Потому что расстояние в течение 5 минут будет неизвестно.

 

Есть светодиод, он мигает синхроимпульсами, зная инерционность этого процесса - определяем точное время, так?

 

Устройства будут разъединены и находиться на произвольном расстоянии и произвольной ориентацией в пространстве.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...