|
генератор импульсов, помогите в выборе кристалла |
|
|
|
May 24 2011, 11:09
|
Участник

Группа: Участник
Сообщений: 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 интерфейсом (к тому же сдвиг надо будет циклически менять в процессе работы, схема хорошо решается логическими элементами). И вот тут завис. Имею опыт работы с контроллерами, не имею с плисами (кажется, часто встречающийся случай, да?  ). Посему суть вопроса: какую ПЛИС лучше всего использовать в данном случае? Интересуют минимальные размеры (мне не нужны сотни ног), минимальную стоимость и простоту разработки. Кто что может посоветовать? Я правильно понимаю, что могу использовать LVDS ПЛИСа для решения этой задачи? Спасибо!
|
|
|
|
|
May 24 2011, 12:34
|
Участник

Группа: Участник
Сообщений: 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 нс. Или это мои розовые девичьи мечты?
|
|
|
|
|
May 24 2011, 12:43
|

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

|
Цитата(alkinoy @ May 24 2011, 15:34)  Такое реализуемо? Подскажите - каким кристаллом?
У меня идея была в том, что в качестве сдвигового регистра выступает LVDS. То есть я в него гружу необходимую мне последовательность - и получаю на выходе импульсы нужной мне длительности. при 500 МБит/с длительность одного бита как раз будет 2 нс. одним каналом LVDS вывожу что то типа 1111110000000000000000000000000 а вторым - 0001111000000000000111100000000 вот и получил, на первом канале один импульс с длительностью 12 нс и периодом 64, а на втором - 8 нс, период 32 нс, сдвиг относительно первого - 6 нс. Или это мои розовые девичьи мечты? нет... осталось только сделать схему управления  Например ПЛИС фирмы Xilinx Spartan 6; Virtex 5; Virtex 6 и конечно ПЛИС 7 серии
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
May 24 2011, 12:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Или стратикс4 и выше, только сначала на цену обратите внимание. Ищите лучше какой-нибудь другой способ. Цитата У меня идея была в том, что в качестве сдвигового регистра выступает LVDS. То есть я в него гружу необходимую мне последовательность - и получаю на выходе импульсы нужной мне длительности DDR регистры физически реализованы, загрузка в них все будет идти из регистров. У них максимальная частота будет немногим более 500МГц, т.е. DDR будут щелкать на 1000МГц. Ну да, схему управления, только нужно написать.
Сообщение отредактировал bogaev_roman - May 24 2011, 13:03
|
|
|
|
|
May 24 2011, 13:01
|
Участник

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

|
Цитата(Maverick @ May 24 2011, 15:43)  нет... осталось только сделать схему управления  Например ПЛИС фирмы Xilinx Spartan 6; Virtex 5; Virtex 6 и конечно ПЛИС 7 серии Не затруднит помочь сделать выбор? Посмотрел на спартан6 - корпус TQG144 мне подходит по габаритам. Все спартаны6 имеют LDVS интерфейсы? Два выхода можно заставить стабильно синхронно работать? Какая максимальная тактовая частота работы (если вообще есть такое понятие)? Цитата(bogaev_roman @ May 24 2011, 15:55)  Или стратикс4 и выше, только сначала на цену обратите внимание. Ищите лучше какой-нибудь другой способ. эээ, а что с ценой? какие порядки цен - не сложно назвать?
|
|
|
|
|
May 24 2011, 13:11
|

я только учусь...
     
Группа: Модераторы
Сообщений: 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.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
May 24 2011, 13:26
|
Участник

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

|
Цитата(bogaev_roman @ May 24 2011, 16:06)  Тысячи у.е., если очень надо, то смотрите, действительно, в сторону xilinx и spartan6 А Вам обязательно две линии брать или может как-то большим кол-вом на приеме можно обойтись, тут все в максимальную тактовую упирается для одного канала. ничего себе. но вот вроде нашел спартан6 за 13 баксов (XC6SLX4-3TQG144I - $12.42) мне не нужен прием. мне нужен генератор импульсов. По этому приемного устройства не будет... Цитата(Maverick @ May 24 2011, 16:11)  Ответ на первые два вопроса - да (ответ на второй вопрос зависит еще как Вы сделаете схему управления - синхронную или асинхронную) На третий вопрос - ответ здесь, а просто цифра приведена ниже: великолепно! пошел читать мануалы. Если у кого есть примеры реализации передачи данных по LVDS - буду благодарен за ссылки. или почту. (tam.78@mail.ru)
|
|
|
|
|
May 24 2011, 14:17
|
Участник

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

|
Цитата(Kuzmi4 @ May 24 2011, 16:50)  2 alkinoy в таком случае как вариант UG381, раздел про OSERDES2 Только сначала сверьтесь с даташитом на счёт времянок  Да, спасибо. По указанному документу возник вопрос. Фигурирует I/O Clock - частота, с которой будут выводится последовательные данные. Она подается извне или ее можно синтезировать внутри? Если да - то как? Я правильно понимаю, что внутри плис можно реализовать подобие ПЗУ для хранения данных? Я правильно понимаю, что спартану нужно снаружи вешать ПЗУ, которое будет хранить сам проект? Есть много непонятной информации о частотах. Как обозначается максимальная тактовая частота внутренней логики? Как определить максимально достижимую частоту на выходе, сконфигуренном как LDVS? Есть указания 800 МБ/с, но указано, что это Integrated Memory Controller blocks - то есть это максимальная частота обращения к внутренней памяти? А мне нужно получить импульсы на выводе плис. КАк я себе вижу реализацию внутренностей. Есть несколько сдвиговых 32-х разрядных регистров. С частотой 125 мгц это все дело пачками по 4 бита подается на сериализатор и с 4х скоростью плюется на выход. В сдвиговые регистры последовательно загружаются заранее предопределенные наборы данных, таким образом получаю свои меняющиеся ширину импульсов и сдвиг фаз. То есть в виде логических элементов я схему могу нарисовать. Осталось это реализовать внутри плис.... Спасибо.
|
|
|
|
|
May 26 2011, 10:27
|

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

|
2 alkinoy 1) судя по всему вам для вашей задачи понадобится PLL - то есть сделаете частоту внутри. Как именно - изучайте XAPP1064.ZIP (там для аутпута IBUFGDS(для дифа)/PLL_ADV/BUFPLL/OSERDES2 - ничего сложного, а вот для инпута там танцы с плясками  ) 2) да (BRAM/LUT-based ROM) 3) да (конфигурационный е2пром: XCF01S~XCF32P) ...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|