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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> генератор импульсов, помогите в выборе кристалла
alkinoy
сообщение May 24 2011, 11:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 4-11-05
Из: Киев
Пользователь №: 10 466



Всем привет.
Есть такая задача. Необходимо формировать два синхронизированных импульса (две линии). Первый длиной 8 - 16 нс, период повторения - 64 нс. Второй - длиной 6-10 нс, период повторения 32 нс. Второй сигнал должен быть синхронизирован с первым и иметь управляемый сдвиг фазы относительно первого с шагом 1-2 нс.
Остановился на идее использования LVDS интерфейса. Записываю нужную последовательность параллельно и в цикле выдаю эту последовательность через LVDS. Записал новую - получил сдвиг. На скорость 500МБит/с получу свой шаг в 2 нс в регулировании как ширины импульса, так и сдвига одного сигнала относительно другого.
Сначала смотрел в сторону отдельных передатчиков (сериализаторов). Есть несколько интересных решений, например 32-х разрядный (http://www.national.com/pf/DS/DS92LV3221.html). Великолепно подошел бы к моей задаче, если бы не старт-стоп биты, которые он вставляет в передачу. Так же большинство сериализаторов имеют в своей структуре DC балансир, который тоже вставляет лишние импульсы.
Таким вот образом плавно подошел к необходимости использования ПЛИС с LVDS интерфейсом (к тому же сдвиг надо будет циклически менять в процессе работы, схема хорошо решается логическими элементами). И вот тут завис. Имею опыт работы с контроллерами, не имею с плисами (кажется, часто встречающийся случай, да? wink.gif ).
Посему суть вопроса: какую ПЛИС лучше всего использовать в данном случае? Интересуют минимальные размеры (мне не нужны сотни ног), минимальную стоимость и простоту разработки. Кто что может посоветовать? Я правильно понимаю, что могу использовать LVDS ПЛИСа для решения этой задачи?

Спасибо!
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 24 2011, 12:17
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(alkinoy @ May 24 2011, 14:09) *
Всем привет.
Есть такая задача. Необходимо формировать два синхронизированных импульса (две линии). Первый длиной 8 - 16 нс, период повторения - 64 нс. Второй - длиной 6-10 нс, период повторения 32 нс. Второй сигнал должен быть синхронизирован с первым и иметь управляемый сдвиг фазы относительно первого с шагом 1-2 нс.

Спасибо!

не уверен, что в ПЛИС можно сделать изменяемый сдвиг фазы с 1 нс шагом, а шаг 2 нс - возможен.


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
zombi
сообщение May 24 2011, 12:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



А почему нет?
Выбираете плиску с допустимой тактовой 500MHz, организуете в ней два 32-х битных паралельно загружаемых сдвиговых регистра, грузите их с помощью внешнего мк.
сможете менять любой из сигналов с шагом 2нс
Go to the top of the page
 
+Quote Post
alkinoy
сообщение May 24 2011, 12:34
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 4-11-05
Из: Киев
Пользователь №: 10 466



Цитата(zombi @ May 24 2011, 15:26) *
А почему нет?
Выбираете плиску с допустимой тактовой 500MHz, организуете в ней два 32-х битных паралельно загружаемых сдвиговых регистра, грузите их с помощью внешнего мк.
сможете менять любой из сигналов с шагом 2нс

Такое реализуемо? Подскажите - каким кристаллом?

У меня идея была в том, что в качестве сдвигового регистра выступает LVDS. То есть я в него гружу необходимую мне последовательность - и получаю на выходе импульсы нужной мне длительности. при 500 МБит/с длительность одного бита как раз будет 2 нс.
одним каналом LVDS вывожу что то типа
1111110000000000000000000000000
а вторым -
0001111000000000000111100000000
вот и получил, на первом канале один импульс с длительностью 12 нс и периодом 64, а на втором - 8 нс, период 32 нс, сдвиг относительно первого - 6 нс.
Или это мои розовые девичьи мечты?
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 24 2011, 12:43
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(alkinoy @ May 24 2011, 15:34) *
Такое реализуемо? Подскажите - каким кристаллом?

У меня идея была в том, что в качестве сдвигового регистра выступает LVDS. То есть я в него гружу необходимую мне последовательность - и получаю на выходе импульсы нужной мне длительности. при 500 МБит/с длительность одного бита как раз будет 2 нс.
одним каналом LVDS вывожу что то типа
1111110000000000000000000000000
а вторым -
0001111000000000000111100000000
вот и получил, на первом канале один импульс с длительностью 12 нс и периодом 64, а на втором - 8 нс, период 32 нс, сдвиг относительно первого - 6 нс.
Или это мои розовые девичьи мечты?

нет... осталось только сделать схему управления sm.gif

Например ПЛИС фирмы Xilinx Spartan 6; Virtex 5; Virtex 6 и конечно ПЛИС 7 серии


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение May 24 2011, 12:55
Сообщение #6


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Или стратикс4 и выше, только сначала на цену обратите внимание. Ищите лучше какой-нибудь другой способ.
Цитата
У меня идея была в том, что в качестве сдвигового регистра выступает LVDS. То есть я в него гружу необходимую мне последовательность - и получаю на выходе импульсы нужной мне длительности

DDR регистры физически реализованы, загрузка в них все будет идти из регистров. У них максимальная частота будет немногим более 500МГц, т.е. DDR будут щелкать на 1000МГц. Ну да, схему управления, только нужно написать.

Сообщение отредактировал bogaev_roman - May 24 2011, 13:03
Go to the top of the page
 
+Quote Post
alkinoy
сообщение May 24 2011, 13:01
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 4-11-05
Из: Киев
Пользователь №: 10 466



Цитата(Maverick @ May 24 2011, 15:43) *
нет... осталось только сделать схему управления sm.gif

Например ПЛИС фирмы Xilinx Spartan 6; Virtex 5; Virtex 6 и конечно ПЛИС 7 серии

Не затруднит помочь сделать выбор?
Посмотрел на спартан6 - корпус TQG144 мне подходит по габаритам. Все спартаны6 имеют LDVS интерфейсы? Два выхода можно заставить стабильно синхронно работать? Какая максимальная тактовая частота работы (если вообще есть такое понятие)?

Цитата(bogaev_roman @ May 24 2011, 15:55) *
Или стратикс4 и выше, только сначала на цену обратите внимание. Ищите лучше какой-нибудь другой способ.

эээ, а что с ценой? какие порядки цен - не сложно назвать?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 24 2011, 13:05
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Как вариант:
DDR на 250MHz

Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение May 24 2011, 13:06
Сообщение #9


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(alkinoy @ May 24 2011, 17:01) *
эээ, а что с ценой? какие порядки цен - не сложно назвать?

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

Сообщение отредактировал bogaev_roman - May 24 2011, 13:09
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 24 2011, 13:11
Сообщение #10


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(alkinoy @ May 24 2011, 16:01) *
Не затруднит помочь сделать выбор?
Посмотрел на спартан6 - корпус TQG144 мне подходит по габаритам. Все спартаны6 имеют LDVS интерфейсы? Два выхода можно заставить стабильно синхронно работать? Какая максимальная тактовая частота работы (если вообще есть такое понятие)?

Ответ на первые два вопроса - да (ответ на второй вопрос зависит еще как Вы сделаете схему управления - синхронную или асинхронную)
На третий вопрос - ответ здесь, а просто цифра приведена ниже:

Цитата
Data rates up to 800 Mb/s (12.8 Gb/s peak bandwidth)


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение May 24 2011, 13:19
Сообщение #11


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Извиняюсь, тупость написал выше. Kuzmi4 правду сказал. Можно взять к примеру сериализатор на 4 и использовать DDR регистры. При этом частота загрузки в DDR - 250МГц, частота на выходе - 1000МГц. Получается что Вам нужно будет определить по документации максимальную триггерную частоту в 250МГц, максимальную частоту на выходах DDR - 1000МГц.
Go to the top of the page
 
+Quote Post
alkinoy
сообщение May 24 2011, 13:26
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 4-11-05
Из: Киев
Пользователь №: 10 466



Цитата(bogaev_roman @ May 24 2011, 16:06) *
Тысячи у.е., если очень надо, то смотрите, действительно, в сторону xilinx и spartan6
А Вам обязательно две линии брать или может как-то большим кол-вом на приеме можно обойтись, тут все в максимальную тактовую упирается для одного канала.

wacko.gif
ничего себе. но вот вроде нашел спартан6 за 13 баксов (XC6SLX4-3TQG144I - $12.42)
мне не нужен прием. мне нужен генератор импульсов. По этому приемного устройства не будет...

Цитата(Maverick @ May 24 2011, 16:11) *
Ответ на первые два вопроса - да (ответ на второй вопрос зависит еще как Вы сделаете схему управления - синхронную или асинхронную)
На третий вопрос - ответ здесь, а просто цифра приведена ниже:

великолепно! пошел читать мануалы.
Если у кого есть примеры реализации передачи данных по LVDS - буду благодарен за ссылки. или почту. (tam.78@mail.ru)

Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 24 2011, 13:50
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 alkinoy
в таком случае как вариант UG381, раздел про OSERDES2

Только сначала сверьтесь с даташитом на счёт времянок laughing.gif
Go to the top of the page
 
+Quote Post
alkinoy
сообщение May 24 2011, 14:17
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 4-11-05
Из: Киев
Пользователь №: 10 466



Цитата(Kuzmi4 @ May 24 2011, 16:50) *
2 alkinoy
в таком случае как вариант UG381, раздел про OSERDES2

Только сначала сверьтесь с даташитом на счёт времянок laughing.gif

Да, спасибо.
По указанному документу возник вопрос. Фигурирует I/O Clock - частота, с которой будут выводится последовательные данные. Она подается извне или ее можно синтезировать внутри? Если да - то как?
Я правильно понимаю, что внутри плис можно реализовать подобие ПЗУ для хранения данных?
Я правильно понимаю, что спартану нужно снаружи вешать ПЗУ, которое будет хранить сам проект?
Есть много непонятной информации о частотах. Как обозначается максимальная тактовая частота внутренней логики? Как определить максимально достижимую частоту на выходе, сконфигуренном как LDVS? Есть указания 800 МБ/с, но указано, что это Integrated Memory Controller blocks - то есть это максимальная частота обращения к внутренней памяти? А мне нужно получить импульсы на выводе плис.

КАк я себе вижу реализацию внутренностей. Есть несколько сдвиговых 32-х разрядных регистров. С частотой 125 мгц это все дело пачками по 4 бита подается на сериализатор и с 4х скоростью плюется на выход. В сдвиговые регистры последовательно загружаются заранее предопределенные наборы данных, таким образом получаю свои меняющиеся ширину импульсов и сдвиг фаз.
То есть в виде логических элементов я схему могу нарисовать. Осталось это реализовать внутри плис....

Спасибо.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 26 2011, 10:27
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 alkinoy
1) судя по всему вам для вашей задачи понадобится PLL - то есть сделаете частоту внутри. Как именно - изучайте XAPP1064.ZIP (там для аутпута IBUFGDS(для дифа)/PLL_ADV/BUFPLL/OSERDES2 - ничего сложного, а вот для инпута там танцы с плясками wacko.gif )
2) да (BRAM/LUT-based ROM)
3) да (конфигурационный е2пром: XCF01S~XCF32P)
...
Go to the top of the page
 
+Quote Post

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

 


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


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