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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Высокоскоростной однопроводный интерфейс, Нужно часы и данные передать по одному проводу со скоростью до 20 Mb/s
VCO
сообщение Aug 19 2010, 08:02
Сообщение #1


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Здравствуйте, уважаемые форумчане!
Пришла в голову идея разработать высокоскоростной однопроводный интерфейс, передающий и часы, и данные от мастера к слэйву по одной витой паре RS-485 со со скоростью до 20 МБит/сек (12,5 МБит/сек в номинале). Сразу оговорюсь: у слэйва нет тактового генератора!
Возможно, что-либо подобное уже есть или кто-либо такой интерфей уже разрабатывал, тогда прошу поделиться знаниями или опытом.
У меня уже есть пара вариантов, как это сделать, но они пока вызывают сомнения в плане надёжности.
И ещё детали: мастер - SpartanII с тактовым генератором 50 МГц, слэйв - XC9572 без тактового генератора, RS-485 - MAX3062.
Буду премного благодарен, если поможете решить эту хитрую задачку!


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
smalcom
сообщение Aug 19 2010, 23:20
Сообщение #2


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



грубо говоря телевизеру от антенны приходят частоты и повыше, но... коаксиал. контраргумент - хорошая витая пара тоже в экране. впринципе, передать такой сигнал по обычному проводу не проблема, но вопрос помехозащищенности и предельной длины выходят на первый план. хотелось бы услышать подробней чего хочеца.
Go to the top of the page
 
+Quote Post
AndriAno
сообщение Aug 20 2010, 02:39
Сообщение #3


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

Группа: Свой
Сообщений: 103
Регистрация: 17-03-06
Из: Томск
Пользователь №: 15 319



както на приемном конце немного ресурсов нехватает.
В голову пришла одна идейка с методом похожим на методы советских инженегров.
Метод решения полуаналоговый. Если на приемном конце, к линии подцепить чтото наподобие интегратора с постоянной времени порядка периода тактовой. на него подавать принятый сигнал. В сигнале менять скважность.
В результате к следующему такту на выходе интегратора будет 0 или 1. Сам неискаженный сигнал из линии подавать на тактовый вход.
Не очень красиво но может получиться.
Go to the top of the page
 
+Quote Post
Andron_
сообщение Aug 20 2010, 03:18
Сообщение #4


.NET developer
***

Группа: Свой
Сообщений: 218
Регистрация: 20-10-07
Из: Новосибирск
Пользователь №: 31 532



Стык согласно ГОСТ 18977-79 не требует на приемном конце тактового генератора, реализуется элементарно на рассыпухе... Но насчет таких скоростей - есть сомнения, он в номинале работает на 100 кбит.
Go to the top of the page
 
+Quote Post
VCO
сообщение Aug 20 2010, 07:03
Сообщение #5


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(smalcom @ Aug 20 2010, 03:20) *
грубо говоря телевизеру от антенны приходят частоты и повыше, но... коаксиал. контраргумент - хорошая витая пара тоже в экране. впринципе, передать такой сигнал по обычному проводу не проблема, но вопрос помехозащищенности и предельной длины выходят на первый план. хотелось бы услышать подробней чего хочеца.

Телесигнал не в счёт, в видеоимпульс встроить синхросигнал не проблема. В моём случае - чистая цифра, встроить синхроимпульсы без серьёзного снижения скорости намного сложнее. Хочется именно узнать, как наиболее эффективней слить в единый цифровой поток часы и данные в мастере, а затем их наиболее достоверно растащить в слэйве без существенного снижения скорости передачи полезной информации.
Цитата(AndriAno @ Aug 20 2010, 06:39) *
както на приемном конце немного ресурсов нехватает.
В голову пришла одна идейка с методом похожим на методы советских инженегров.
Метод решения полуаналоговый. Если на приемном конце, к линии подцепить чтото наподобие интегратора с постоянной времени порядка периода тактовой. на него подавать принятый сигнал. В сигнале менять скважность.
В результате к следующему такту на выходе интегратора будет 0 или 1. Сам неискаженный сигнал из линии подавать на тактовый вход.
Не очень красиво но может получиться.

Вы почти угадали пока самое близкое к идеалу из моих решений:
Кодируем 0 скважностью 1/4, 1 - скважностью 3/4, разделяя соседние "биты" импульсами со скважностью 1/2 (для наглядности при отладке). На слэйве по переднему фронту T-триггером выделяем синхроимпульсы и задерживаем их на четверть периода. Данные считываем из входного потока по положительному фронту синхроимпульсов. Для наглядности надо было бы временные диаграммы нарисовать, но сейчас некогда, да и алгоритм нехитрый, можно и без них понять.
Сомнительным элементом является задержка на 1/4 периода, которая при максимальной скорости составит 100 нс. Чем её наиболее точно реализовать? На логических элементах - стрёмно, RC-цепочкой - неточно, ЛЗ в схеме пока не предусмотрена. Какие идеи?


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
VCO
сообщение Aug 22 2010, 04:42
Сообщение #6


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Доработал интерфейс на идейном уровне: smile3046.gif
Так как всё равно внутри ПЛИС XC9572XL работаю только по положительному фронту, решил выбросить T-триггер (он только создаёт дополнительную погрешность в задержке сигнала и уменьшает скорость интерфейса в два раза). Описанный в верхнем посте цифровой поток корректирую, выбрасываю пустые импульсы со скважностью 1/2, и подаю на входы ПЛИС без задержки и с задержкой 180°. Данные выделяю по положительному фронту задержанного сигнала.
В качестве ЛЗ пока буду использовать LC-цепочку, а в профессиональном исполнении - ЦЛЗ. Для повышения надёжности можно изменить скважность ценою снижения скорости.
При скважностях 1/4 для 0 и 3/4 для 1 скорость такого интерфейса может достигнуть 5 Мбит/сек на максимальной скорости MAX3062, но учитывая передачу фронта часов информативная скорость будет вдвое выше. Если всё гладко получится, то, по-моему - неплохо, но интуиция мне подсказывает, что я сейчас велосипед изобретаю! cranky.gif
Неужели такого никто ещё не делал? Поиск в Google мне пока не дал ответа на этот вопрос! laughing.gif


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
smalcom
сообщение Aug 25 2010, 14:59
Сообщение #7


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
Неужели такого никто ещё не делал?

а зачем нужен такой геморрой?
Go to the top of the page
 
+Quote Post
VCO
сообщение Aug 25 2010, 18:02
Сообщение #8


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(smalcom @ Aug 25 2010, 18:59) *
а зачем нужен такой геморрой?

Это не "геморрой", а "находка" для сверхмалошумящих устройств (СМШУ) ВЧ и СВЧ. По-хорошему, такое надо патентовать и наухавить, но уверен, что такое уже существует, просто Google привык замечать ширпотреб, а узкоспециализированные решения не замечает... smile.gif
...Всё дело в том, что в СМШУ и синтезаторах тактовый генератор создаёт ненужные наводки и биения (даже если выход последнего отключен от входа синхронизации), а так как ими иногда приходится управлять на приличном расстоянии, интерфейс неизбежен. Выхода 2: передавать SDATA, SCLK и SEN по трём витым парам или всё это "сжать" в одну витую пару. Когда речь идёт о двухкратном-трёхкратном резервировании контактов на разъёмах управляющего устройства и объектов управления, которых может быть несколько десятков, и минимизации размеров аппаратуры, выглядит весьма актуально. А так как архивысокая скорость интерфейса не нужна, последнее решение кажется оптимальным.


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Aug 25 2010, 18:35
Сообщение #9


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

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(YIG @ Aug 25 2010, 22:02) *
Это не "геморрой", а "находка" для сверхмалошумящих устройств (СМШУ) ВЧ и СВЧ. По-хорошему, такое надо патентовать и наухавить, но уверен, что такое уже существует, просто Google привык замечать ширпотреб, а узкоспециализированные решения не замечает... smile.gif
...Всё дело в том, что в СМШУ и синтезаторах тактовый генератор создаёт ненужные наводки и биения (даже если выход последнего отключен от входа синхронизации), а так как ими иногда приходится управлять на приличном расстоянии, интерфейс неизбежен. Выхода 2: передавать SDATA, SCLK и SEN по трём витым парам или всё это "сжать" в одну витую пару. Когда речь идёт о двухкратном-трёхкратном резервировании контактов на разъёмах управляющего устройства и объектов управления, которых может быть несколько десятков, и минимизации размеров аппаратуры, выглядит весьма актуально. А так как архивысокая скорость интерфейса не нужна, последнее решение кажется оптимальным.

Да все это есть. Присмотритесь повнимательней не физическом уровне к USB, SATA, ETHERNET. Читайте литературу по кодированию и передаче информации.
Go to the top of the page
 
+Quote Post
smalcom
сообщение Aug 25 2010, 18:53
Сообщение #10


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
"находка" для сверхмалошумящих устройств (СМШУ) ВЧ и СВЧ

Чегооо? Вы с электроникой современной вообще знакомы? Как Ethernet к примеру решает проблемы высокоскоростной передачи при помехах, как ATM работает...

А про езернет сказали, ну, повторенье - мать ученья.

Цитата
просто Google привык замечать ширпотреб

если каша не по вкусу, то есть ее не надо.

Go to the top of the page
 
+Quote Post
VCO
сообщение Aug 26 2010, 03:39
Сообщение #11


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(MaslovVG @ Aug 25 2010, 22:35) *
Да все это есть. Присмотритесь повнимательней не физическом уровне к USB, SATA, ETHERNET.

Вам тоже стоит присмотреться повнимательней к теме. Ещё в первом посте я сразу сказал: у слэйва нет тактового генератора!
Насчёт SATA не вкурсе (это короткий и ненадёжный интерфейс, он меня не интересует), а USB и ETHERNET, равно как и классический RS-485 требуют наличия у слэйва тактового генератора.
Цитата(smalcom @ Aug 25 2010, 22:53) *
Чегооо? Вы с электроникой современной вообще знакомы? Как Ethernet к примеру решает проблемы высокоскоростной передачи при помехах, как ATM работает...

Не хотелось на такое отвечать, но по ходу - Вы не в теме и суть разработки не понимаете или игнорируете...
Что Вы имеете ввиду под современной электроникой, если компьютерную технику, то на PC мир клином не сошёлся! Кроме того, Ethernet - слишком громоздкий и неудобный для меня интерфейс: при скорости до 10 Гбит/сек имеет достаточно ощутимое время групповой задержки, для управления он неудобен и избыточен, по нему только потоки данных перегонять удобно, а мне иногда 8 бит вполне достаточно.
Физическую среду для интерфейса я уже выбрал: RS-485 и точка. Просьба ко Всем быть повнимательнее к сути задачи!


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
Andron_
сообщение Aug 26 2010, 04:22
Сообщение #12


.NET developer
***

Группа: Свой
Сообщений: 218
Регистрация: 20-10-07
Из: Новосибирск
Пользователь №: 31 532



Цитата
Физическую среду для интерфейса я уже выбрал: RS-485 и точка.


Неудачнее выбор было сложно сделать...
Go to the top of the page
 
+Quote Post
otrog
сообщение Aug 26 2010, 04:36
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 22-02-06
Из: Воронеж
Пользователь №: 14 589



Цитата(YIG @ Aug 26 2010, 07:39) *
Физическую среду для интерфейса я уже выбрал: RS-485 и точка. Просьба ко Всем быть повнимательнее к сути задачи!

Если мастер и слейв в системе одни и расстояния между ними не сотни метров, то в качестве физической среды неплохо будет смотреться LVDS. Скорости можно достичь порядка 800 Мбит/сек(правда на небольших растояниях).


--------------------
Истина рождается в спорах; но когда страсти кипят, истина испаряется.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 26 2010, 07:29
Сообщение #14


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Вот мне тоже непонятно. Если "только одна витая пара" это не цель, а средство получить минимальные наводки, то почему выбран RS485 а не LVDS, у которого гораздо меньше размах сигнала?
Мне кажется, что стоит попробовать вернуться к двум парам, но LVDS и такое (кажется, в IEEE1394-ом используется)
По одной из линий передаются данные.
По второй - дополнительные перепады. Вот так
Код
   101011001111000011111111
D  -_-_--__----____--------
C  _____--__-_--_-__-_-_-_-

На приёме (D xor C) работает как DDR такт для D, только задержать нужно немножко (но «лишь бы за setup-hold выйти», а не нужная доля периода).
Количество любых перепадов на обеих линиях вместе в два раза меньше, чем у Вас сейчас на одной линии (один перепад на бит вместо двух). Соответственно падает энергия помех. Плюс LVDS не такой шумный, как RS485.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 26 2010, 07:43
Сообщение #15


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(YIG @ Aug 26 2010, 07:39) *
Вам тоже стоит присмотреться повнимательней к теме. Ещё в первом посте я сразу сказал: у слэйва нет тактового генератора!
Насчёт SATA не вкурсе (это короткий и ненадёжный интерфейс, он меня не интересует), а USB и ETHERNET, равно как и классический RS-485 требуют наличия у слэйва тактового генератора.

Если передача в одну сторону, может подойти M-II.
Самосинхронизирующийся код, можно обойтись вместо ТГ в приёмнике линией задержки на 3/4 периода.

И вообще, интерфейс у 485 как минимум 2-проводный, а в общем случае 3-х.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

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

 


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


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