реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как реализовать цифровую автоподстройку частоты на ПЛИС?, Есть ли литература на эту тему?
ANT
сообщение Dec 29 2006, 21:16
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Есть внешний генератор синхроимпульсов фиксированной частоты порядка нескольких мегагерц. Нужно сделать в устройстве запасной внутренний генератор, который в случае пропадания хотя бы одного внешнего импульса подменит внешний генератор, причем с сохранением фазы. При восстановлении внешнего синхросигнала нужно плавно подогнать фазу и переключиться на него. Фазу запасного генератора относительно внешнего нужно держать в пределах нескольких процентов.
Хотелось бы всё это реализовать на одной ПЛИС без использования аналоговой ФАПЧ. И ещё: крайне нежелательно вносить джиттер во внешний синхросигнал.
Go to the top of the page
 
+Quote Post
Shread
сообщение Dec 30 2006, 23:13
Сообщение #2


иногда заглядывающий
****

Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170



Цитата(ANT @ Dec 29 2006, 21:16) *
Есть внешний генератор синхроимпульсов фиксированной частоты порядка нескольких мегагерц. Нужно сделать в устройстве запасной внутренний генератор, который в случае пропадания хотя бы одного внешнего импульса подменит внешний генератор, причем с сохранением фазы. При восстановлении внешнего синхросигнала нужно плавно подогнать фазу и переключиться на него. Фазу запасного генератора относительно внешнего нужно держать в пределах нескольких процентов.
Хотелось бы всё это реализовать на одной ПЛИС без использования аналоговой ФАПЧ. И ещё: крайне нежелательно вносить джиттер во внешний синхросигнал.

С плис как правило использую внешний генератор. Если внешняя частота может плавать, отфильтровать ее иногда можно с помошью DPLL(цифровой PLL), но все зависит от диапазона этих самых плаваний. Опишите подробнее, может ли частота пропадать совсем. В каких примерно пределах она изменяется?
Go to the top of the page
 
+Quote Post
ANT
сообщение Dec 31 2006, 19:19
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(Shread @ Dec 30 2006, 23:13) *
С плис как правило использую внешний генератор. Если внешняя частота может плавать, отфильтровать ее иногда можно с помошью DPLL(цифровой PLL), но все зависит от диапазона этих самых плаваний. Опишите подробнее, может ли частота пропадать совсем. В каких примерно пределах она изменяется?

Тактировать саму ПЛИС я собираюсь от собственного кварцевого генератора частотой, кратной внешней и большей её в десятки раз - в пределах 50-100 Мгц. Внешняя частота не плавает, она очень стабильна и известно её значение, но в случае обрыва кабеля (или кратковременного пропадания контакта в разъёмах) нельзя допустить пропадания даже одного импульса, а надо сразу сгенерить "фальшивые" импульсы, близкие по частоте и фазе к исходным.
Go to the top of the page
 
+Quote Post
cupertino
сообщение Jan 1 2007, 06:44
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(ANT @ Dec 31 2006, 19:19) *
Цитата(Shread @ Dec 30 2006, 23:13) *

С плис как правило использую внешний генератор. Если внешняя частота может плавать, отфильтровать ее иногда можно с помошью DPLL(цифровой PLL), но все зависит от диапазона этих самых плаваний. Опишите подробнее, может ли частота пропадать совсем. В каких примерно пределах она изменяется?

Тактировать саму ПЛИС я собираюсь от собственного кварцевого генератора частотой, кратной внешней и большей её в десятки раз - в пределах 50-100 Мгц. Внешняя частота не плавает, она очень стабильна и известно её значение, но в случае обрыва кабеля (или кратковременного пропадания контакта в разъёмах) нельзя допустить пропадания даже одного импульса, а надо сразу сгенерить "фальшивые" импульсы, близкие по частоте и фазе к исходным.

Какова допустимая фазовая ошибка "фальшивых" импульсов? Годится ли 1-2 периода кварцевого генератора, или надо точнее?
Go to the top of the page
 
+Quote Post
ANT
сообщение Jan 1 2007, 13:27
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(cupertino @ Jan 1 2007, 06:44) *
Какова допустимая фазовая ошибка "фальшивых" импульсов? Годится ли 1-2 периода кварцевого генератора, или надо точнее?

Точность должна быть не хуже 40 нс, т.е. при тактовой выше 50 Мгц 2 периода будет достаточно.
Go to the top of the page
 
+Quote Post
cupertino
сообщение Jan 1 2007, 15:22
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Цитата(ANT @ Dec 29 2006, 21:16) *
И ещё: крайне нежелательно вносить джиттер во внешний синхросигнал.


Цитата(ANT @ Jan 1 2007, 13:27) *
Точность должна быть не хуже 40 нс, т.е. при тактовой выше 50 Мгц 2 периода будет достаточно.


Зчачит ли это что на выход ПЛИС при наличии внешнего синхросигнала он должен поступать непосредственно, или возможно пересадить его на тактовую (внеся до 20 нс джиттера)?
Go to the top of the page
 
+Quote Post
ANT
сообщение Jan 1 2007, 16:10
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(cupertino @ Jan 1 2007, 15:22) *
Зчачит ли это что на выход ПЛИС при наличии внешнего синхросигнала он должен поступать непосредственно, или возможно пересадить его на тактовую (внеся до 20 нс джиттера)?

Когда внешний сигнал в норме, его нужно пропускать без джиттера. Джиттер допустим только для запасного генератора!
Go to the top of the page
 
+Quote Post
HardJoker
сообщение Jan 1 2007, 18:48
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713



Цитата(ANT @ Jan 1 2007, 16:10) *
Цитата(cupertino @ Jan 1 2007, 15:22) *

Зчачит ли это что на выход ПЛИС при наличии внешнего синхросигнала он должен поступать непосредственно, или возможно пересадить его на тактовую (внеся до 20 нс джиттера)?

Когда внешний сигнал в норме, его нужно пропускать без джиттера. Джиттер допустим только для запасного генератора!


А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода?
Go to the top of the page
 
+Quote Post
ANT
сообщение Jan 1 2007, 20:18
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(HardJoker @ Jan 1 2007, 18:48) *
А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода?

В резервном генераторе не проблема, а проблема в его согласовании с внешним генератором и правильном переключении между ними. Всё можно сделать на _одной_ПЛИС_, просто может кто-то подскажет стандартные пути исполнения: детектора пропадания импульсов, фазового компаратора, фильтра, цифровой ФАПЧ? Нужен также блок принятия решения, какой генератор использовать в данный момент.
Можно, конечно, попробовать сделать "в лоб": программируемый счётчик/делитель тактовой частоты и обвязка к нему, но хотелось бы что-нибудь покрасивей...
Go to the top of the page
 
+Quote Post
HardJoker
сообщение Jan 1 2007, 22:26
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713



Цитата(ANT @ Jan 1 2007, 20:18) *
Цитата(HardJoker @ Jan 1 2007, 18:48) *

А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода?

В резервном генераторе не проблема, а проблема в его согласовании с внешним генератором и правильном переключении между ними. Всё можно сделать на _одной_ПЛИС_, просто может кто-то подскажет стандартные пути исполнения: детектора пропадания импульсов, фазового компаратора, фильтра, цифровой ФАПЧ? Нужен также блок принятия решения, какой генератор использовать в данный момент.
Можно, конечно, попробовать сделать "в лоб": программируемый счётчик/делитель тактовой частоты и обвязка к нему, но хотелось бы что-нибудь покрасивей...


Для резервирования тремя комплектами все просто - схема "два из трех", в серии 564 должна быть. Что касается цифрового ФАПЧ и т.д., без собственного генератора все равно не обойтись. Еще вариан - аналоговый LC-генератор с внешним запуском. Контур принудительно задемпфировать и добиться постепенного пропадания генерации после снятия внешнего запуска? Но это все экзотика. Если требуется надежность в первую очередь, лучше потратить силы на синхронизацию работы основного и резервного генераторов. Но вот по какому из них равняться - большой вопрос.
Go to the top of the page
 
+Quote Post
cupertino
сообщение Jan 2 2007, 06:26
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683



Исходя из Ваших требований возможны два варианта решения. В первом Вам надо использовать VXCO в качестве кварцевого генератора и вести его внешним синхросигналом построив остальные элементы ФАПЧ внутри ПЛИС (+ внешний RC фильтр). Во втором, надо в ПЛИС поставить делитель неподсраеваемой асинхронной тактовой с переменным коэффициентом деления (думаю, +/- 1 будет достаточно), синхронизируемый импульсами внешнего синхросигнала, и счетчик - измеритель интервалов между этими импульсами, который служит детектором пропадания. Синхронизация делителя должна быть разрешена только в узком диапазоне ожидания (исключение при старте системы) - в остальных случаях разность фаз между внешним и внутренним генератором используется для подстройки делителя последнего (а можно этого и не делать, просто подождать пока фазы совпадут). Если внешний сигнал попадает в диапазон синхронизации, он непосредственно проходит на выход, если нет - используется выход делителя.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Jan 4 2007, 16:14
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Детектор "есть синхропоследовательность/нет" это отдельная песня и его реализация очень зависима от конкретной задачи. Даже такая мелочь, как "дребезг контакта" может внести существенные коррективы в начальную постановку задачи "если очередной импульс пропал".
А вот в качестве внутреннего генератора можно использовать запись внешнего. Имея опорную частоту, на порядок превышающую внешнюю тактовую, Вы можете записать в ОЗУ ПЛИС "кадр", состоящий из нескольких периодов тактовой частоты (допустим, 32-ух). Если этот кадр сформировать грамотно, то при пропадании внешней - его можно будет циклически прокручивать.
Если "молчание" внешнего будет коротким, то синхронизация с записи на внешний не потребуется.
Вообще, задача очень интересная - если не секрет, в какой области требуется её решение?


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
ANT
сообщение Jan 4 2007, 18:20
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(Евгений Николаев @ Jan 4 2007, 16:14) *
Детектор "есть синхропоследовательность/нет" это отдельная песня и его реализация очень зависима от конкретной задачи. Даже такая мелочь, как "дребезг контакта" может внести существенные коррективы в начальную постановку задачи "если очередной импульс пропал".
А вот в качестве внутреннего генератора можно использовать запись внешнего. Имея опорную частоту, на порядок превышающую внешнюю тактовую, Вы можете записать в ОЗУ ПЛИС "кадр", состоящий из нескольких периодов тактовой частоты (допустим, 32-ух). Если этот кадр сформировать грамотно, то при пропадании внешней - его можно будет циклически прокручивать.
Если "молчание" внешнего будет коротким, то синхронизация с записи на внешний не потребуется.
Вообще, задача очень интересная - если не секрет, в какой области требуется её решение?

В общем, это такая система, которая может "перевозбудиться" вплоть до выхода из строя, если ей вовремя не подавать импульсы. Есть как верхняя, так и нижняя границы частоты следования этих импульсов, относительно опорной, например - 10%. Аналоговый способ решения я представляю так: ГУН с центральной частотой, равной опорной, диапазон качания +/- 10%; фазовый детектор по фронтам; стандартный фильтр; выход брать с ГУН. При выборе стабильных компонентов можно обеспечить решение задачи. Полагаю, что джиттер при этом не будет большим. А как построить аналог этого хозяйства в цифре?

Внешняя частота может пропасть на неопределённое время, оказаться с другим значением, вместо частоты может идти шум... Т.е. расчитывать надо на все случаи.
Go to the top of the page
 
+Quote Post
slog
сообщение Jan 4 2007, 22:59
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Журнал Chip-News №9 за 2005 г. Есть статья "Реализация цифрового преобразователя частоты на ПЛИС" Может там что интересное найдёшь.


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
ANT
сообщение Jan 6 2007, 15:56
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(slog @ Jan 4 2007, 22:59) *
Журнал Chip-News №9 за 2005 г. Есть статья "Реализация цифрового преобразователя частоты на ПЛИС" Может там что интересное найдёшь.

Большое спасибо за ссылку, очень интересная статья. Оказалось, в архивах журнала ещё много материалов на эту тему. Например:
"Аппаратная реализация двоичной полностью цифровой системы фазовой автоподстройки частоты".
Chip News №1/2003
Очень жаль, что ссылка в статье на Verilog - файлы проекта не работает. Может у кого-нибудь они сохранились?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 08:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01533 секунд с 7
ELECTRONIX ©2004-2016