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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Cдвиг частоты на 500 ps, Spartan6, как получить?
boul
сообщение Feb 25 2014, 11:46
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677



Здравствуйте, уважаемые коллеги.
Стоит такая задача.
Система формирует частоту 50 МГц для АЦП, которую к тому же надо сдвигать с шагом 500 ps (всего 40 сдвигов на период 20 нс). Либо система должна держать эту частоту, но с такой же задержкой (40 сдвигов) формировать импульс. Длительность же импульса программируемая, с шагом 5 ns.
Пытался задействовать функцию "PhaseShifter" в DCM (который позволяет сдвигать выходную частоту, в зависимости от количества поступивших в него импульсов), там можно перестроить фазу частоты на выходе, с определенным шагом ( у меня получался 1 шаг = 28-30 ps). Поначалу даже все получилось, но оказалось, что со сменой партии микросхем шаг может изменится, не намного, 1-2 ps, но может. Получается что для каждой серии микросхем надо задавать новую таблицу (количество нужных шагов у меня задается таблицой), что несовсем удобно.
В даташите на Spartan6 ("ds162" стр. 60) также написано "DCM_DELAY_STEP (Finest delay resolution, averaged over all steps) - 10...40 ps. A typical delay step size is 23 ps." Шаг от 10 до 40 ps. - очень большой разброс.

Как еще можно добиться "надежного" сдвига в 500 ps.

Спасибо.
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Feb 25 2014, 16:06
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Цитата(boul @ Feb 25 2014, 14:46) *
Как еще можно добиться "надежного" сдвига в 500 ps.

Ну частоту 2GHz вы очевидно в кристалле не получите. Значит сделайте грубые и точные шаги. Какой частоты достигните в кристалле? 300-400МНz? Эта частота определит грубую сетку. Точную сетку добейте лог. примитивами.
Go to the top of the page
 
+Quote Post
des00
сообщение Feb 25 2014, 16:20
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



это вы плисину еще не грели и не морозили sm.gif


--------------------
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 25 2014, 17:11
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



в общем, в ПЛИС, никак, чтобы с такой точностью
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 25 2014, 17:54
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Цитата(SM @ Feb 25 2014, 19:11) *
в общем, в ПЛИС, никак, чтобы с такой точностью

Ну зачем так категорично.

Например берем и запускаем мультигигабит трансивер на 2 GHz без всякого 8/10 кодирования,
соответственно меня последовательность байт на входе трансивера можно управлять "фазой" и "скважностью" выходного сигнала и с шагом точно 500 ps. sm.gif Однако вот абсолютная задержка относительно входной референтной частоты будет также зависит от температуры и вольтажа. Чтобы уменьшить это вредное влияние враждебной среды можно формировать таким образом 2 выхода - один из которых будет работать опорным, а второй с изменяемой задержкой относительно первого.

2 boul
Вы бы объяснили более полно зачем Вам такое нужно. Тогда было бы легче давать Вам вредные советы.
Мне вот так кажется что Вы мил человек пытаетесь стробоскопический режим для АЦП сварганить.
Тогда я думаю проще поискать внешнюю мс регулируемой задержки которая бы обеспечивала требуемые точности.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
boul
сообщение Feb 26 2014, 07:42
Сообщение #6





Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677



Объясню зачем мне это нужно.
Проект - оптический рефлектометр. Запускается импульс лазера в оптоволокно и измеряется отражение в линии. При дескретизации 20 нс будем иметь сетку 2 метра (свет он довольно быстрый), а минимальный шаг должен быть 5 см, т.е. в 40 раз меньше, поэтому и нужно 20 нс разбить на 40 частей. Тут есть 2 варианта: клок АЦП стоит на месте, а двигается импульс запуска с шагом 500 пс, либо наоборот - запуск на месте, двигается клок.

это вы плисину еще не грели и не морозили sm.gif

и морозил и грел. Да, клок относительно импульса немного уходил, приходилось добавлять вентили (инвертены на лутах) в цепь формирования импульса и говорить синтезатору чтобы не оптимизировал. И все было нормально. Но в итоге возникла проблема, которую я описал.

И еще одна проблема, возможно связанная с разводкой платы, боролись долго, но пока безрезультатно. Когда работает модуль сдвига фазы в DCM, но сильно фонит на аналоговую часть, ту которая стоит до АЦП, что увеличивает шумы, один из ключевых параметров для рефлектометра. Отключил эту схему и все стало хорошо.
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Feb 26 2014, 07:48
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(boul @ Feb 26 2014, 14:42) *
Объясню зачем мне это нужно.
Проект - оптический рефлектометр. Запускается импульс лазера в оптоволокно и измеряется отражение в линии. При дескретизации 20 нс будем иметь сетку 2 метра (свет он довольно быстрый), а минимальный шаг должен быть 5 см, т.е. в 40 раз меньше, поэтому и нужно 20 нс разбить на 40 частей. Тут есть 2 варианта: клок АЦП стоит на месте, а двигается импульс запуска с шагом 500 пс, либо наоборот - запуск на месте, двигается клок.

это вы плисину еще не грели и не морозили sm.gif

и морозил и грел. Да, клок относительно импульса немного уходил, приходилось добавлять вентили (инвертены на лутах) в цепь формирования импульса и говорить синтезатору чтобы не оптимизировал. И все было нормально. Но в итоге возникла проблема, которую я описал.

И еще одна проблема, возможно связанная с разводкой платы, боролись долго, но пока безрезультатно. Когда работает модуль сдвига фазы в DCM, но сильно фонит на аналоговую часть, ту которая стоит до АЦП, что увеличивает шумы, один из ключевых параметров для рефлектометра. Отключил эту схему и все стало хорошо.

Я конечно дико извиняюсь, но ... использовать АЦП с приемлемой частотой дискретизации (2ГГц в вашем случае) религия не позволяет?
Go to the top of the page
 
+Quote Post
boul
сообщение Feb 26 2014, 07:59
Сообщение #8





Группа: Участник
Сообщений: 11
Регистрация: 25-02-14
Пользователь №: 80 677



Цитата(Джеймс @ Feb 25 2014, 18:06) *
Ну частоту 2GHz вы очевидно в кристалле не получите. Значит сделайте грубые и точные шаги. Какой частоты достигните в кристалле? 300-400МНz? Эта частота определит грубую сетку. Точную сетку добейте лог. примитивами.

Да, я думал об этом. У меня есть 200МГц, по которым я формирую импульс запуска с шагом 5 нс. Но получается уж очень сложная схема. Синхронизация от фронта импульса, 4 импульса клока, в каждом из которых надо на примитивах сделать 10 задержек. Тут я абсолютно не уверен что можно получить 500 пс или близкую к ней, будет например 400 пс или 600 на одном луте. И в добавок ко всему на выходе большой мультиплексор 40/1, который тоже даст непонятный перекос фаз. Ну или каскад мультиплексоров для меньшего перекоса. Все это, конечно, надо будет привязать в Floorplanner чтобы при новой раскладке все не разъехалось.


Цитата(Bad0512 @ Feb 26 2014, 09:48) *
Я конечно дико извиняюсь, но ... использовать АЦП с приемлемой частотой дискретизации (2ГГц в вашем случае) религия не позволяет?

Да именно религия. У нас портативное устройство на батарейках, соответственно первый параметр - время автономной работы, прибор должен работать многие часы, а не минуты.
Go to the top of the page
 
+Quote Post
Джеймс
сообщение Feb 26 2014, 08:09
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 20-01-06
Пользователь №: 13 399



Посмотрите еще программируемые линии задержки Maxim/Dallas DS10xxxx
(для точной сетки, грубая сетка остается внутри ПЛИС)

http://www.digikey.com/product-search/en?F...amp;pageSize=50
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Feb 26 2014, 08:14
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(boul @ Feb 26 2014, 14:59) *
Да именно религия. У нас портативное устройство на батарейках, соответственно первый параметр - время автономной работы, прибор должен работать многие часы, а не минуты.

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

Go to the top of the page
 
+Quote Post
jks
сообщение Feb 27 2014, 11:36
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 3-04-11
Из: .
Пользователь №: 64 084



Как вариант.

Можно попробовать сформировать два тактовых сигнала CLK1 и CLK2 с периодом T1=20нс и T2=20,5нс.
Период когерентности двух сигналов T0 = 41*T1 = 40*T2 = 820нс.
Т.е. два сигнала будут в одинаковой фазе каждый 41-й период CLK1 или каждый 40-й период CLK2.
В каждом периоде между двумя сигналами будет фазовый сдвиг равный N*500ps, где N - номер такта.
Первым тактовым сигналом CLK1 формировать сигнал сбора данных и сигнал разрешения импульса в нужный такт.
Вторым тактовым сигналом CLK2 в этот же такт по сигналу разрешения формировать импульс.
Между сигналом сбора данных (сигнал разрешения импульса) и фронтом импульса по идее должен быть нужный фазовый сдвиг (+/- джиттер + некоторая фиксированная задержка).
Go to the top of the page
 
+Quote Post
o_khavin
сообщение Feb 27 2014, 12:52
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 230
Регистрация: 29-08-09
Пользователь №: 52 094



Цитата(boul @ Feb 25 2014, 15:46) *
Как еще можно добиться "надежного" сдвига в 500 ps.

Подтверждаю слова вышеотписавшихся товарищей - стабильные задержки вы на tap-ах не получите, они не для этого предназначены. Единственный вариант (помимо чисто внешних задержек) - это калибровка, но для неё всё равно нужен некий внешний опорный элемент или придумывать статистический вариант по аналогии с калибровкой, которая производится у Xilinx-а для SDRAM-интерфейсов (в MIG-е).

Сообщение отредактировал o_khavin - Feb 27 2014, 13:36
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Feb 28 2014, 07:01
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Ставьте внешний DDS. Только с экономией тепла у подходящих вам DDS будет не очень... laughing.gif
Если не секрет, чем лазер модулируете? Я сейчас подобным, занимаюсь
Go to the top of the page
 
+Quote Post
Timmy
сообщение Feb 28 2014, 08:06
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Стоит посмотреть на продукцию Altera и Lattice, у них PLL умеют делать калиброванный динамический сдвиг фазы. Особенно, на Lattice MachXO2, они относительно дешёвые и малопотребляющие.
Go to the top of the page
 
+Quote Post
SM
сообщение Feb 28 2014, 08:28
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



В MachXO2 Tdly = 250 ps, не пойдет. У LattidceXP2 там 16 шагов по 22.5 градусов фазы, тоже маловато будет. Хотя пишут, что для клока в 420 МГц удается получить 32 шага по 70 ps (с использованием WRDEL), но, как бы, тоже маловато будет. У ECP3 есть одновременно и то и это, но там tPA (Tdly по machxo2) 65...260 ps (!разброс!), а фаза с тем же шагом... В общем не катит
Go to the top of the page
 
+Quote Post

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

 


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


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