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

 
 
> Сериальные протоколы
maailmankaikkeus
сообщение Sep 23 2008, 08:18
Сообщение #1


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

Группа: Validating
Сообщений: 91
Регистрация: 23-09-08
Из: г. Томск
Пользователь №: 40 409



Здравствуй, господа знатоки!

Подскажите, пожалуйста, какие последовательные протоколы можно реализовать для связи между микросхемами ПЛИС, расположенными на разных платах, стоящих в общей стойке?

Дано:
1) FLEX10KA
2) Расстояние между ПЛИС: не более 50 см
3) Связь по двум линиям: эрикс, тэикс (каждая - LVDS)

Надо:
1) Скорость не менее 1 Мбод, лучше всего - 5 Мбод smile.gif

P.S. В принципе, [а]синхронность работы приемопередатчика не имеет значения. Однако, можно ли применять синхронные протоколы, такие, как например, HDLC, если имеется ОБЩАЯ синхронизация всех плат от единого такта (очень стабильного порядка 100 МГц)?

Сообщение отредактировал maailmankaikkeus - Sep 23 2008, 08:26


--------------------
Все может быть, и все быть может. И все, что может - может быть. Но одного лишь быть не может - того, чего не может быть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sazh
сообщение Sep 23 2008, 10:55
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(maailmankaikkeus @ Sep 23 2008, 12:18) *
Дано:
1) FLEX10KA
2) Расстояние между ПЛИС: не более 50 см
3) Связь по двум линиям: эрикс, тэикс (каждая - LVDS)

Надо:
1) Скорость не менее 1 Мбод, лучше всего - 5 Мбод smile.gif


У Вас есть приемники передатчики LVDS на два сигнала RX, TX. (У старых флексов таких буферов нет)
Ну что тут можно кроме асинхронного придумать типа старт - данные - стоп.
Go to the top of the page
 
+Quote Post
maailmankaikkeus
сообщение Sep 24 2008, 02:41
Сообщение #3


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

Группа: Validating
Сообщений: 91
Регистрация: 23-09-08
Из: г. Томск
Пользователь №: 40 409



Цитата(sazh @ Sep 23 2008, 17:55) *
У Вас есть приемники передатчики LVDS на два сигнала RX, TX. (У старых флексов таких буферов нет)
Ну что тут можно кроме асинхронного придумать типа старт - данные - стоп.


А может, можно smile.gif
Вдруг есть какой-нибудь opencore типа синхронного HDLC на opencores.org (c которым разбираюсь). Зачем зря ручками писать такие сложные вещи? smile.gif Вдруг кто-нибудь знает еще что-нибудь?
Ну даже пусть если асинхронный старый-добрый УАРТ взять, существуют ли их high speed (более чем 1Мбод) модификации?


--------------------
Все может быть, и все быть может. И все, что может - может быть. Но одного лишь быть не может - того, чего не может быть.
Go to the top of the page
 
+Quote Post
sazh
сообщение Sep 24 2008, 07:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(maailmankaikkeus @ Sep 24 2008, 06:41) *
А может, можно smile.gif
Вдруг есть какой-нибудь opencore типа синхронного HDLC на opencores.org (c которым разбираюсь). Зачем зря ручками писать такие сложные вещи? smile.gif Вдруг кто-нибудь знает еще что-нибудь?
Ну даже пусть если асинхронный старый-добрый УАРТ взять, существуют ли их high speed (более чем 1Мбод) модификации?


Значит HDLC - это легко, а УАРТ сложно. И причем тут high speed на частоте 5 мГц. Это уж от драйверов приемника передатчика зависит. RS -232. RS -429
Манчестер - дорогое удовольствие. Там принципиально нужно два ЦИФРОВЫХ сигнала, преобразованных драйвером из линии, для качественного выделения синхроимпульса (искаженный манчестер). И пропускная способность канала должна быть удвоенной относительно необходимой.
Гораздо проще каналы SpaceWire (Там данные сопровождаются стробом. Фактически тот же манчестер но на несущей). Посмотрите документ Альтеры an.332 pdf
The purpose of this reference design is to demonstrate that Altera
Stratix™ and Cyclone™ devices are suitable in performance to
implement link-port interfaces to Analog Devices DSPs.
А вообще по идее сначала выбирают необходимый протокол, а затем реализуют, а не наоброт.
Если добавить к линии данных еще хотя бы линию клока и линию строба данных, так вообще пара строчек описания.
Прикрепленные файлы
Прикрепленный файл  gorb_ds.zip ( 348.17 килобайт ) Кол-во скачиваний: 96
 
Go to the top of the page
 
+Quote Post
maailmankaikkeus
сообщение Sep 24 2008, 07:57
Сообщение #5


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

Группа: Validating
Сообщений: 91
Регистрация: 23-09-08
Из: г. Томск
Пользователь №: 40 409



Спасибо за линки!

Цитата(sazh @ Sep 24 2008, 14:08) *
А вообще по идее сначала выбирают необходимый протокол, а затем реализуют, а не наоброт.


Истинная правда, но то ли руки из жопы, то ли пушок еще не сошел, не знаю smile.gif Взрослеем, однако

Цитата(sazh @ Sep 24 2008, 14:08) *
Если добавить к линии данных еще хотя бы линию клока и линию строба данных, так вообще пара строчек описания.


Дык нету! Есть только по одному туда и сюда.


Манчестер, в принципе, при наличиии LVDS, можно себе повзолить.
Однако, проблема даже не столько в синхронизации, а в создании контроллера передачи данных сетевого уровня (по двум линиям) с фрэймингом, CRC, FIFO, обранужением ошибок, повторной передачей и пр. вкусностями, который бы работал не через жопу. А то год назад пробовал сделать подобную обвязку на UART. Кое-как оно завелось на 115200 и то с клоком не выше 5 МГц и тучей глюков. Например, если добавляю строчку типа "wire НИКОГДА_НЕИСПОЛЬЗУЕМЫЙ_В_ПРОЕКТЕ_ПРОВОД" и оно уже не работает. Ибо писать код надо правильно. Не умею. Поэтому хочется скачать чего-нибудь готовое и работающее, особенно если кто-то уже юзал.

Сообщение отредактировал maailmankaikkeus - Sep 24 2008, 07:59


--------------------
Все может быть, и все быть может. И все, что может - может быть. Но одного лишь быть не может - того, чего не может быть.
Go to the top of the page
 
+Quote Post



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

 


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


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