|
Как зависит скорость SPI от расстояния., Влияние помехо защищенности. |
|
|
|
Jan 17 2006, 19:33
|
Частый гость
 
Группа: Свой
Сообщений: 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/).
|
|
|
|
|
Jan 18 2006, 05:07
|
Местный
  
Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003

|
Цитата(Serega Doc @ Jan 17 2006, 20:52)  Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно
Данные по большому щету только в одну сторону! Можно контроль но в принципе не обязательно А что такое манчестер Манчестер - способ кодирования сигнала, при котором ноль или единица кодируются положительным или отрицательным фронтом соответственно. Делается это для того, чтобы в принимаемом сигнале не было длинных периодов отсутствия фронта сигнала (то бишь чтобы легко было засинхронизовать приемник и передатчик). Можно это делать скремблированием или применять кодировки типа 4b5b - смысл тот же: надо обеспечить наличие фронта в конечный промежуток времени (определяемый максимальным расхождением частот тактовых генераторов на приемной и передающей стороне).
|
|
|
|
|
Jan 18 2006, 06:58
|

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). Как это Вы сравниваете огурцы с яблоками?  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 МГц.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jan 18 2006, 08:27
|
Местный
  
Группа: Свой
Сообщений: 238
Регистрация: 17-01-05
Из: Новосибирск
Пользователь №: 2 003

|
Цитата(dxp @ Jan 18 2006, 12:58)  Как это Вы сравниваете огурцы с яблоками?  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
|
|
|
|
|
Jan 18 2006, 09:37
|

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), то гнал бы через Манчестер.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Jan 18 2006, 15:33
|

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

|
Цитата Можно отказаться от SPI и последующих преобразований, применяя технологию Bluetooth, которая позволит обеспечить до 723 Mb/с на расстоянии 20 метров (http://www.w-lan.ru/wl.php?Id=1383). А вы стоимость видели За эти деньги я на плату FPGA поставлю и обмен по LVDS или манчестеру реализую Нужно быстро просто и не дорого
|
|
|
|
|
Jan 18 2006, 17:01
|
Местный
  
Группа: Свой
Сообщений: 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). Думаю значительно усложниться прием данных с таким двойным преобразованием.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|