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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как зависит скорость SPI от расстояния., Влияние помехо защищенности.
Serega Doc
сообщение Jan 17 2006, 13:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Нужно пересылать за короткий интервал времени пересылать большой объем информации!
Идеально подходит SPI по скорости но пугает его не защищенность от помех.
Как защитить от помех или какой интерфейс использовать для для больших объемов информации.

Есть идея SPI трансформировать в 3 - RS 485! Не уверен в правильности решения.

Растояние передачи до 20 м скорость около 1 Mbit но не менее 400 - 500 kbit

Посоветуйте что предпринять!
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 17 2006, 14:02
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Serega Doc @ Jan 17 2006, 19:07) *
Есть идея SPI трансформировать в 3 - RS 485! Не уверен в правильности решения.
Растояние передачи до 20 м скорость около 1 Mbit но не менее 400 - 500 kbit
Посоветуйте что предпринять!

Мысль верная - задифференциалить сигналы, т.е. каждый из сигналов (MOSI, MISO, SCK) пустить через RS-422 передатчик на соответствующий приемник на противоположном конце. Должно работать без проблем.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jan 17 2006, 14:32
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Сигналы надо дифференциально передавать, вот только SPI здесь на мой взгляд не лучшее решение. В частности могут возникнуть проблемы с задержкой при передаче тактового сигнала. Может просто два 485 с выделением синхронизации на принимающей стороне (манчестер, hdb3 и т.п.)

Может воспользоваться такими решениями как CAN или LVDS.

Данные надо передавать в обе стороны?
Go to the top of the page
 
+Quote Post
Serega Doc
сообщение Jan 17 2006, 14:52
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно

Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно
А что такое манчестер
Go to the top of the page
 
+Quote Post
Roma_te
сообщение Jan 17 2006, 19:33
Сообщение #5


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

Группа: Свой
Сообщений: 123
Регистрация: 13-12-05
Из: Украина, Тернополь
Пользователь №: 12 161



Цитата(dxp @ Jan 17 2006, 18:02) *
Мысль верная - задифференциалить сигналы, т.е. каждый из сигналов (MOSI, MISO, SCK) пустить через RS-422 передатчик на соответствующий приемник на противоположном конце. Должно работать без проблем.

Я думаю, что если все сигналы пустить на передатчик RS-422(485) то в результате принятые сигналы (особенно SCK) будут искажены (смещены во времени) . Это не повлияет на работоспособность схеммы при низких частотах обмена, однако при увеличении частоты наступит момент, когда запаздывания сигналов приведут к искажению принятой информации. Граничная частота будет зависеть от типов микросхем передатчика приемника, температуры и многих других факторов и не факт, что при указанных частотах обмена схемма будет работать. Поетому я считаю, что лучше сразу использовать RS485 (без SPI). Если же нет такой возможности то, я считаю, лучше использовать преобразователь SPI-RS485 (например MAX3140 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2033/ln/).
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 18 2006, 01:11
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Поскольку SPI это синхронный интерфейс, то помехоустойчивость его зависит от длительности фронтов и запаздывания сигналов. Использование дифференциальных сигналов это верная мысль, но нужно убедиться, что завалы фронтов и запаздывания сигналов при их преобразовании ( в диф.сигнал и обратно) на используемой частоте тактирования не будут криминальными. Естественно нужно предусмотреть контроль достоверности передачи на уровне пакетов.
P.S. хотя, если честно, SPI это все-таки внутриплатный интерфейс. А для передачи на большие расстояния обычно используют асинхронные интерфейсы для которых синхронность нескольких сигналов не особенно важна. По тому же RS485 (при использовании соответствующих передатчиков) можно довольно просто организовать битовый поток до 1Мбит/с (и даже выше). Посмотрите у Maxim RS-485 High Speed Transeiver.
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jan 18 2006, 05:07
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Цитата(Serega Doc @ Jan 17 2006, 20:52) *
Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно

Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно
А что такое манчестер


Манчестер - способ кодирования сигнала, при котором ноль или единица кодируются положительным или отрицательным фронтом соответственно. Делается это для того, чтобы в принимаемом сигнале не было длинных периодов отсутствия фронта сигнала (то бишь чтобы легко было засинхронизовать приемник и передатчик). Можно это делать скремблированием или применять кодировки типа 4b5b - смысл тот же: надо обеспечить наличие фронта в конечный промежуток времени (определяемый максимальным расхождением частот тактовых генераторов на приемной и передающей стороне).
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 18 2006, 06:58
Сообщение #8


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Roma_te @ Jan 18 2006, 01:33) *
Цитата(dxp @ Jan 17 2006, 18:02) *

Мысль верная - задифференциалить сигналы, т.е. каждый из сигналов (MOSI, MISO, SCK) пустить через RS-422 передатчик на соответствующий приемник на противоположном конце. Должно работать без проблем.

Я думаю, что если все сигналы пустить на передатчик RS-422(485) то в результате принятые сигналы (особенно SCK) будут искажены (смещены во времени) . Это не повлияет на работоспособность схеммы при низких частотах обмена, однако при увеличении частоты наступит момент, когда запаздывания сигналов приведут к искажению принятой информации. Граничная частота будет зависеть от типов микросхем передатчика приемника, температуры и многих других факторов и не факт, что при указанных частотах обмена схемма будет работать. Поетому я считаю, что лучше сразу использовать RS485 (без SPI).

Как это Вы сравниваете огурцы с яблоками? smile.gif SPI - это логический интерфейс, определяющий какие логические сигналы в нем присутствуют и их взаимодействие. А RS-422/485 - это аппаратный интерфейс, регламентирующий требования к передачтику, приемнику и проч. Т.е. SPI - логический уровень, RS-422/485 - физический.

Что касается искажений по времени, то думается, что при использовании рекомендованного RS-422 (заметьте - не RS-485), который расчитан на работу до 10 МГц при максимальной частоте в 1 МГц на 20 метрах дистанции ничего страшного произойти не должно. Конечно, еще тут помеховая обстановка может внести вопросы, но это уже за пределами данного обсуждения. RS-422 на 20 м при 1 МГц должен передавать без проблем.


Цитата(Serega Doc @ Jan 17 2006, 20:52) *
А что такое манчестер

Манчестер - способ модуляции несущей. В итоге получается что каждый бит закодирован двумя уровнями. Достоинства: простота реализации, воможность фазовой подстройки частоты прямо по несущей, т.е. отдельные синхросигналы не нужны, остутствие постоянной составляющей. Недостаток - требуется вдвое большая частота для передачи (несущая), т.е. если надо передать 1 Мбит поток по синхронному интерфейсу, т.е. тактовая 1 МГц, то с Манчестером потребуется 2 МГц.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
BVU
сообщение Jan 18 2006, 07:59
Сообщение #9


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

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Можно отказаться от SPI и последующих преобразований, применяя технологию Bluetooth, которая позволит обеспечить до 723 Mb/с на расстоянии 20 метров (http://www.w-lan.ru/wl.php?Id=1383).


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jan 18 2006, 08:27
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Цитата(dxp @ Jan 18 2006, 12:58) *
Как это Вы сравниваете огурцы с яблоками? smile.gif SPI - это логический интерфейс, определяющий какие логические сигналы в нем присутствуют и их взаимодействие. А RS-422/485 - это аппаратный интерфейс, регламентирующий требования к передачтику, приемнику и проч. Т.е. SPI - логический уровень, RS-422/485 - физический.

Что касается искажений по времени, то думается, что при использовании рекомендованного RS-422 (заметьте - не RS-485), который расчитан на работу до 10 МГц при максимальной частоте в 1 МГц на 20 метрах дистанции ничего страшного произойти не должно. Конечно, еще тут помеховая обстановка может внести вопросы, но это уже за пределами данного обсуждения. RS-422 на 20 м при 1 МГц должен передавать без проблем.



Ну насчет того, что SPI - логический уровень это вы загнули. Проблема как раз в том, что это физический уровень и для правильного его функционирования необходимо обеспечить одинаковые пути прохождения сигналов SCK и SDATA, а задержки вносимые двойным преобразованием физ. уровня неоднозначны и могут испортить всю картину.

Сообщение отредактировал Aleks17 - Jan 18 2006, 08:28
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 18 2006, 09:37
Сообщение #11


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Aleks17 @ Jan 18 2006, 14:27) *
Ну насчет того, что SPI - логический уровень это вы загнули. Проблема как раз в том, что это физический уровень

Если это физический уровень, то огласите тогда требования к аппаратной части приемника и передатчика, их токи, напряжения и прочее. Ничего подобного в случае SPI не оговаривается. Я не помню, как называются все семь уровней протоколов передачи (не связист), может со словом "логический" и действительно загнул, но то, что это не физический уровень, это точно.

Цитата(Aleks17 @ Jan 18 2006, 14:27) *
и для правильного его функционирования необходимо обеспечить одинаковые пути прохождения сигналов SCK и SDATA, а задержки вносимые двойным преобразованием физ. уровня неоднозначны и могут испортить всю картину.

Вот будь это физическим уровнем, то все эти перекосы были бы там регламентированы. А там есть лишь перечень сигналов, их смысловое наполнение, полярности и фазы тактирования. Что касается времянок и сдвигов, то с этим никто не спорит, просто на такие дальности при таких времянках не должно быть особых проблем. Хотя я бы SPI тут не применял, а если есть возможность (например, если FPGA), то гнал бы через Манчестер.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jan 18 2006, 09:53
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Допустим по поводу физического уровня я был не корректен. Хотя к какому из семи уровней это относится - не понять. Вроде уже не физический но ещё не канальный.

По поводу сдвигов на таком расстоянии: я имею в виду задержки не на линии а внутри RS-485 преобразователей, которые по порядку сравнимы с задержкой между данными и сигналом стробирования. (например у 10 мбитного MAX3485 задержки до 120 нс в одну сторону(или около того)). При этом может значительно нарушиться времянка приходящих сигналов доже при длине линии 10 см.
Go to the top of the page
 
+Quote Post
dxp
сообщение Jan 18 2006, 12:26
Сообщение #13


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Aleks17 @ Jan 18 2006, 15:53) *
По поводу сдвигов на таком расстоянии: я имею в виду задержки не на линии а внутри RS-485 преобразователей, которые по порядку сравнимы с задержкой между данными и сигналом стробирования. (например у 10 мбитного MAX3485 задержки до 120 нс в одну сторону(или около того)). При этом может значительно нарушиться времянка приходящих сигналов доже при длине линии 10 см.

Откуда такие данные? У него типовая задержка распространения 22 нс (максимальная 35 нс). При этом данные на MOSI выталкиваются на одном фронте SCK, а семплируются на противоположном, т.е. задерка в полпериода, т.е. 500 нс для 1 МГц. Не должно быть никаких проблем с SPI и RS-422 на 1 МГц.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Serega Doc
сообщение Jan 18 2006, 15:33
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 267
Регистрация: 11-11-04
Из: Одесса
Пользователь №: 1 103



Цитата
Можно отказаться от SPI и последующих преобразований, применяя технологию Bluetooth, которая позволит обеспечить до 723 Mb/с на расстоянии 20 метров (http://www.w-lan.ru/wl.php?Id=1383).


А вы стоимость видели
За эти деньги я на плату FPGA поставлю и обмен по LVDS или манчестеру реализую

Нужно быстро просто и не дорого
Go to the top of the page
 
+Quote Post
Aleks17
сообщение Jan 18 2006, 17:01
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003



Цитата(dxp @ Jan 18 2006, 18:26) *
Цитата(Aleks17 @ Jan 18 2006, 15:53) *

По поводу сдвигов на таком расстоянии: я имею в виду задержки не на линии а внутри RS-485 преобразователей, которые по порядку сравнимы с задержкой между данными и сигналом стробирования. (например у 10 мбитного MAX3485 задержки до 120 нс в одну сторону(или около того)). При этом может значительно нарушиться времянка приходящих сигналов доже при длине линии 10 см.

Откуда такие данные? У него типовая задержка распространения 22 нс (максимальная 35 нс). При этом данные на MOSI выталкиваются на одном фронте SCK, а семплируются на противоположном, т.е. задерка в полпериода, т.е. 500 нс для 1 МГц. Не должно быть никаких проблем с SPI и RS-422 на 1 МГц.


35 нс драйвер + 120 приемник (Datasheet на 3485) - худший случай разумеется. + задержки в линии передачи. (это для 10 Мбитного пп). Вот и подумайте. 500 нс разницы - это типовой случай (datasheet на ATMega). Думаю значительно усложниться прием данных с таким двойным преобразованием.
Go to the top of the page
 
+Quote Post

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

 


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


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