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

 
 
> Длина SPI?, Связать две платы ~10см
Tarakanich
сообщение Nov 29 2008, 02:12
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 18-11-08
Из: СПб
Пользователь №: 41 744



Прошу прощения если вопрос глупый... Ни в одном описании не нашел длины линии связи, подозреваю что не велика. Хочется около 5 МГц. Если да, то какой кабель и разъем использовать, если нет, то какие альтернативы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Nov 29 2008, 20:43
Сообщение #2


Гуру
******

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



Цитата(Tarakanich @ Nov 29 2008, 07:12) *
Ни в одном описании не нашел длины линии связи, подозреваю что не велика. Хочется около 5 МГц.
Длина линии связи зависит от нескольких факторов, поэтому прямо так в документации не регламентируется. Попробую построить объяснение "на пальцах" smile.gif
Представьте себе одиночный импульс который был сгенерирован на одном конце линии и "прибежал" на другой конец. У него есть два варианта: полностью поглотиться в нагрузке приемника, либо частично или полностью отразившись "убежать" назад к источнику сигнала. В свою очередь у источника сигнала его никто не ждет и принимать не желает, поэтому импульс "бежит" опять к приемнику сигнала. И т.д. было до бесконечности, если бы в линии связи не было затухания и на концах линии сигнал бы частично не поглощался.
Чем это плохо? А тем, что вместо одного импульса на входе приемника получаем их множество, "прибежавших" ко входу с различной задержкой. Задержка определяется тем, что скорость ЭМ волны (скорость света) является вовсе не бесконечной величиной. Так что время задержки будет зависеть впрямую от длины линии. Амплитуда повторных импульсов будет зависеть от степени затухания сигнала в линии и от согласования импеданса линии и входа приемника. Слишком больше затухание делать нельзя, потому что тогда импульс может быть настолько ослаблен, что вход приемника его уже не сможет воспринять. А вот уравнять импедансы линии и входа это наипервейшая задача, которую к сожалению не всегда можно сделать впрямую. Если их импеданс очень близкий, то энергия всего импульса поглотится нагрузкой и отраженка будет слабой или отсутствовать. Но ведь входное сопротивление у современной логики весьма высокое, а у линии связи волновое сопротивление обычно невысокое. Если втупую зашунтировать вход сопротивлением близким к волновому сопротивлению линии, то выходной каскад передатчика может и не "прокачать" его. Тогда нужно будет дополнительно буферировать выходной сигнал. Лучше всего в таком случае использовать сбалансированный (дифференциальный) интерфейс, который проще поддается согласованию. Оправдано это или нет см. ниже.
Как все это проявляется? Когда на входе устройства присутствует два или более импульса вместо одного "истинного" то, естественно могут возникнуть сбои в передаче. Поскольку вы используете синхронный интерфейс (SPI), то наверняка знаете, что в нем данные передаются на выход синхронно с одним фронтом, а "защелкиваются" на входе по другому фронту тактового сигнала. Сбои в отношении тактового сигнала проявляются как ложное защелкивание данных вследствие того, что приемник "не знает" какие импульсы "истинные", а какие возникли вследствие отраженки. Аналогично с данными. Фронт изменения потенциала на линии данных может многократно отражаться бегая по линии туда-сюда и в результате к моменту прихода (истинного) фронта тактового сигнала может "защелкнуться" не новое, а старое состояние линии данных.
Как с этим бороться? Для начала следует оценить все "опасности". Для примера возьмем длину линии из сообщения Artem_Petrik (40см) и вашу частоту (5МГц). Отраженный сигнал в линии данных должен пробежать туда-сюда 2*0,4м со скоростью 3*10^8м/с, поэтому он будет запаздывать на 2*0,4м/(3*10^8м/с)=2,67нс. Фронт по которому будут защелкнуты данные придет через 1/2*1/5МГц=100нс. Т.е. в этот промежуток времени может сравнительно "безопасно" "прибежать" до 37 переотраженных импульсов. Понятно, что в реальности столько не будет. Во-первых, у реальной линии есть свой импеданс (даже у дорожки на печатной плате и то индуктивность порядка 10нГн/1см, не говоря уже о каком-нибудь ленточном кабеле на котором защелкнуты разъемы IDC). А во-вторых, у выхода, от которого сигнал будет переотражаться, сопротивление обычно весьма небольшое (в отличие от высокоимпедансного входа), поэтому амплитуда отраженного сигнала будет там ослаблена. Так что при таких данных 2-3-4 отраженных импульса (достаточной по амплитуде для срабатывания входной логики приемника величине) на шине данных нам ничего не испортят. Но ведь такие же импульсы могут быть и на линии тактирования! Да, но давайте смотреть, какая логика у нас на входе? Она вообще способна реагировать на импульсы длительностью 2,67нс? Если нет, то неплохо, если же да, то имеем проблему. Можно попробовать заменить ее на логику с меньшим быстродействием. Например, вместо 74AC04 тут будет предпочтительнее 74HC04. Распиновка и диапазон напряжений питания такие же, а быстродействие ниже, что в данном случае нам на руку. Для увеличения затухания в линии также применяют последовательное включение (с линией) резисторов номиналом от десятков до сотни Ом. Резистор вносит потери в добротность линии связи и способствует более быстрому затуханию амплитуды переотраженных импульсов.
Все вышеизложенное только одну часть проблемы освещает - процессы в самой линии. Но ведь существует еще и внешнее воздействие на линию связи. А вот как бороться с внешними ЭМИ, читайте, например, в статье Алексея Кузнецова "Помехоустойчивые устройства".
P.S. извиняюсь, если что-то непонятно или нелогично изложил. Вопрос-то не такой уж простой, чтобы вот так "галопом по Европам" можно было его полно и понятно осветить laughing.gif Просто ответы типа такого что дал Artem_Petrik (это не наезд и не попытка оскорбления!) "у меня на ~40см в 19" стойке работает" в общем-то ничего не гарантируют и не объясняют, почему именно работает или не работает. cool.gif
Go to the top of the page
 
+Quote Post
Artem_Petrik
сообщение Nov 29 2008, 21:07
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



Цитата(rezident @ Nov 30 2008, 00:43) *
....


Вот это я понимаю ответ!!! a14.gif Огромное спасибо за разъяснение от имени всех новичков ( себя правда к ним не отношу biggrin.gif )

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

не совсем корректна, так как коэффициент отражения от короткозамкнутого выхода, также как и от открытого равен еденице. Тоесть амплитуда отраженного сигнала в этом случае ослаблена не потому, что там сопротивление "весьма небольшое", а потому что оно значительно сильнее отличается от 0, чем сопротивление высокоимпедансного входа - от бесконечности. В идеале нужно, чтобы внутреннее сопротивление выхода равнялось волновому сопротивлению линии передачи. Обычно приходится еще и резистор ставить, чтоб его увеличить.

Все же считаю, что 5МГц @ 10см - далеко не те условия, при которых уже нужно заморачиваться по поводу согласования. Хотя признаюсь что на всякий пожарный согласующий резистор 33 ома у меня возле выхода SCK стоит. wink.gif
Go to the top of the page
 
+Quote Post



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

 


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


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