|
Как реализовать цифровую автоподстройку частоты на ПЛИС?, Есть ли литература на эту тему? |
|
|
|
Dec 31 2006, 19:19
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(Shread @ Dec 30 2006, 23:13)  С плис как правило использую внешний генератор. Если внешняя частота может плавать, отфильтровать ее иногда можно с помошью DPLL(цифровой PLL), но все зависит от диапазона этих самых плаваний. Опишите подробнее, может ли частота пропадать совсем. В каких примерно пределах она изменяется? Тактировать саму ПЛИС я собираюсь от собственного кварцевого генератора частотой, кратной внешней и большей её в десятки раз - в пределах 50-100 Мгц. Внешняя частота не плавает, она очень стабильна и известно её значение, но в случае обрыва кабеля (или кратковременного пропадания контакта в разъёмах) нельзя допустить пропадания даже одного импульса, а надо сразу сгенерить "фальшивые" импульсы, близкие по частоте и фазе к исходным.
|
|
|
|
|
Jan 1 2007, 06:44
|
Местный
  
Группа: Свой
Сообщений: 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 периода кварцевого генератора, или надо точнее?
|
|
|
|
|
Jan 1 2007, 13:27
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(cupertino @ Jan 1 2007, 06:44)  Какова допустимая фазовая ошибка "фальшивых" импульсов? Годится ли 1-2 периода кварцевого генератора, или надо точнее? Точность должна быть не хуже 40 нс, т.е. при тактовой выше 50 Мгц 2 периода будет достаточно.
|
|
|
|
|
Jan 1 2007, 15:22
|
Местный
  
Группа: Свой
Сообщений: 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 нс джиттера)?
|
|
|
|
|
Jan 1 2007, 16:10
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(cupertino @ Jan 1 2007, 15:22)  Зчачит ли это что на выход ПЛИС при наличии внешнего синхросигнала он должен поступать непосредственно, или возможно пересадить его на тактовую (внеся до 20 нс джиттера)? Когда внешний сигнал в норме, его нужно пропускать без джиттера. Джиттер допустим только для запасного генератора!
|
|
|
|
|
Jan 1 2007, 18:48
|
Знающий
   
Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713

|
Цитата(ANT @ Jan 1 2007, 16:10)  Цитата(cupertino @ Jan 1 2007, 15:22)  Зчачит ли это что на выход ПЛИС при наличии внешнего синхросигнала он должен поступать непосредственно, или возможно пересадить его на тактовую (внеся до 20 нс джиттера)?
Когда внешний сигнал в норме, его нужно пропускать без джиттера. Джиттер допустим только для запасного генератора! А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода?
|
|
|
|
|
Jan 1 2007, 20:18
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(HardJoker @ Jan 1 2007, 18:48)  А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода? В резервном генераторе не проблема, а проблема в его согласовании с внешним генератором и правильном переключении между ними. Всё можно сделать на _одной_ПЛИС_, просто может кто-то подскажет стандартные пути исполнения: детектора пропадания импульсов, фазового компаратора, фильтра, цифровой ФАПЧ? Нужен также блок принятия решения, какой генератор использовать в данный момент. Можно, конечно, попробовать сделать "в лоб": программируемый счётчик/делитель тактовой частоты и обвязка к нему, но хотелось бы что-нибудь покрасивей...
|
|
|
|
|
Jan 1 2007, 22:26
|
Знающий
   
Группа: Свой
Сообщений: 995
Регистрация: 3-06-05
Пользователь №: 5 713

|
Цитата(ANT @ Jan 1 2007, 20:18)  Цитата(HardJoker @ Jan 1 2007, 18:48)  А второй (резервный) генератор, например, HG8002xx поставить нельзя? Правда, необходимо еще обеспечить их сведение. Или линию задержки (аналоговую без внешнего тактирования) на два-три периода?
В резервном генераторе не проблема, а проблема в его согласовании с внешним генератором и правильном переключении между ними. Всё можно сделать на _одной_ПЛИС_, просто может кто-то подскажет стандартные пути исполнения: детектора пропадания импульсов, фазового компаратора, фильтра, цифровой ФАПЧ? Нужен также блок принятия решения, какой генератор использовать в данный момент. Можно, конечно, попробовать сделать "в лоб": программируемый счётчик/делитель тактовой частоты и обвязка к нему, но хотелось бы что-нибудь покрасивей... Для резервирования тремя комплектами все просто - схема "два из трех", в серии 564 должна быть. Что касается цифрового ФАПЧ и т.д., без собственного генератора все равно не обойтись. Еще вариан - аналоговый LC-генератор с внешним запуском. Контур принудительно задемпфировать и добиться постепенного пропадания генерации после снятия внешнего запуска? Но это все экзотика. Если требуется надежность в первую очередь, лучше потратить силы на синхронизацию работы основного и резервного генераторов. Но вот по какому из них равняться - большой вопрос.
|
|
|
|
|
Jan 2 2007, 06:26
|
Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 19-12-06
Из: Silicon Valley, California
Пользователь №: 23 683

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

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

|
Детектор "есть синхропоследовательность/нет" это отдельная песня и его реализация очень зависима от конкретной задачи. Даже такая мелочь, как "дребезг контакта" может внести существенные коррективы в начальную постановку задачи "если очередной импульс пропал". А вот в качестве внутреннего генератора можно использовать запись внешнего. Имея опорную частоту, на порядок превышающую внешнюю тактовую, Вы можете записать в ОЗУ ПЛИС "кадр", состоящий из нескольких периодов тактовой частоты (допустим, 32-ух). Если этот кадр сформировать грамотно, то при пропадании внешней - его можно будет циклически прокручивать. Если "молчание" внешнего будет коротким, то синхронизация с записи на внешний не потребуется. Вообще, задача очень интересная - если не секрет, в какой области требуется её решение?
--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
|
|
|
|
|
Jan 4 2007, 18:20
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(Евгений Николаев @ Jan 4 2007, 16:14)  Детектор "есть синхропоследовательность/нет" это отдельная песня и его реализация очень зависима от конкретной задачи. Даже такая мелочь, как "дребезг контакта" может внести существенные коррективы в начальную постановку задачи "если очередной импульс пропал". А вот в качестве внутреннего генератора можно использовать запись внешнего. Имея опорную частоту, на порядок превышающую внешнюю тактовую, Вы можете записать в ОЗУ ПЛИС "кадр", состоящий из нескольких периодов тактовой частоты (допустим, 32-ух). Если этот кадр сформировать грамотно, то при пропадании внешней - его можно будет циклически прокручивать. Если "молчание" внешнего будет коротким, то синхронизация с записи на внешний не потребуется. Вообще, задача очень интересная - если не секрет, в какой области требуется её решение? В общем, это такая система, которая может "перевозбудиться" вплоть до выхода из строя, если ей вовремя не подавать импульсы. Есть как верхняя, так и нижняя границы частоты следования этих импульсов, относительно опорной, например - 10%. Аналоговый способ решения я представляю так: ГУН с центральной частотой, равной опорной, диапазон качания +/- 10%; фазовый детектор по фронтам; стандартный фильтр; выход брать с ГУН. При выборе стабильных компонентов можно обеспечить решение задачи. Полагаю, что джиттер при этом не будет большим. А как построить аналог этого хозяйства в цифре? Внешняя частота может пропасть на неопределённое время, оказаться с другим значением, вместо частоты может идти шум... Т.е. расчитывать надо на все случаи.
|
|
|
|
|
Jan 6 2007, 15:56
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127

|
Цитата(slog @ Jan 4 2007, 22:59)  Журнал Chip-News №9 за 2005 г. Есть статья "Реализация цифрового преобразователя частоты на ПЛИС" Может там что интересное найдёшь. Большое спасибо за ссылку, очень интересная статья. Оказалось, в архивах журнала ещё много материалов на эту тему. Например: "Аппаратная реализация двоичной полностью цифровой системы фазовой автоподстройки частоты". Chip News №1/2003Очень жаль, что ссылка в статье на Verilog - файлы проекта не работает. Может у кого-нибудь они сохранились?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|