| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Выбор интерфейса обмена между платами
14.06.2010, 20:13
|
|
|
Прописка
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Выбор интерфейса обмена между платами
Необходимо организовать обмен между двумя МК на разных платах. Расстояние проводов 10 см. Какой интерфейс выбрать SPI, I2C, USART? Какой более помехоустойчивый?
|
|
|
|
14.06.2010, 20:23
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 28.05.2010
Сообщений: 1,117
Сказал спасибо: 150
Сказали Спасибо 604 раз(а) в 310 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами.
LVDS
p.s.: выбирай uart, на нем проще... с другой стороны 10см это не такое расстояние, чтобы не использовать параллельную шину и выделить на шлейф целый порт с привязкой матрицей резисторов к общему ...или ограничение по количеству портов? вообще помехоустойчивость можно повысить использованием поверх интерфейса (неважно какого) протокола обмена с контролем ошибок.
|
|
|
|
14.06.2010, 20:35
|
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами.
Если на мк есть аппаратный SPI тогда и вопроса выбора интерфейса не должно быть.
__________________
Найди путь или проложи сам!
|
|
|
|
14.06.2010, 22:26
|
|
|
Прописка
Регистрация: 25.10.2008
Сообщений: 125
Сказал спасибо: 1
Сказали Спасибо 36 раз(а) в 26 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
А какие требования к скорости обмена? Влияние каких помех хотите устранить?
Может прав raxp и поможет только LVDS.
Но я бы отдал предпочтение параллельной шине, а при наличии помех - применяя мажоритарную логику 2 из 3-х или аналогичную
|
|
|
|
14.06.2010, 23:57
|
|
|
Гражданин KAZUS.RUN
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
В дополнение к raxp - можно использовать протокол WAKE
А можно просто почитать А. А. Лапин Интерфейсы. Выбор и реализация
Или Сетевые МК. Соединение 1-10
Последний раз редактировалось XoDoK11; 15.06.2010 в 00:00.
|
|
|
|
15.06.2010, 00:20
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами.
Сообщение от MasterMushi
|
|
Если на мк есть аппаратный SPI тогда и вопроса выбора интерфейса не должно быть.
|
Только надо помнить, что SPI чувствителен к помехам - лишний стробик собъет обмен нафиг и ничем это не обнаруживается (ну разве что "верхним" протоколом обмена). В usart-е же есть стартовые и стоповые, как минимум.
И еще - надо помнить, что посылая байт слейву, вы получаете и байт от него, причем это байт, переданный слейвом ДО приема вашего. Блин, сумбурно как-то написал. Короче, есть "запаздывание" 1 байт. И без ухищрений слейв не может передать информацию мастеру самостоятельно.
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
15.06.2010, 00:28
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.01.2008
Сообщений: 1,140
Сказал спасибо: 379
Сказали Спасибо 429 раз(а) в 273 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
Подумайте какие интерфейсы невозможно будет применить в вашем случае.
Ограничивающими факторами могут стать необходимость гальванической развязки интерфейса и согласование уровне сигналов (если напряжение питания контролеров разное), а также связанное с этим ограничение скорости передачи и удешевление устройства.
Помехоустойчивость - не знаю, в принципе если нету рядом источника сильных помех типа драйверов шаговых двигателей, GSM модулей и тд. то все перечисленные интерфейсы будут работать нормально.
При выборе интерфейса надо учитывать его аппаратную реализацию на МК.
С программной реализацией я бы не связывался.
SPI удобнее использовать если вы хотите на одну шину посадить несколько микросхем ЗУ, АЦП, ..., специализированные контролеры, плюс использовать эту же шину для передачи данных на другой МК.
Но SPI предусматривает что одно устройство является ведущим остальные ведомыми.
Это в принципе не проблема, можно по изощрятся. Но если не устраивает такой принцип обмена данными, SPI проще не использовать.
Тоже можно сказать про I2C. Его целесообразно использовать, если есть ведущий МК к которому подключены ведомые устройства (датчики, МК).
Главное определится с протоколом передачи. А потом вы сами сделаете свой выбор.
|
|
|
|
15.06.2010, 00:28
|
|
|
Вид на жительство
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
nml, А если подправить SPI как раз лишней линией контроля старта стопа? тоесть докинуть RS канал?
__________________
Найди путь или проложи сам!
|
|
|
|
15.06.2010, 06:54
|
|
|
Вид на жительство
Регистрация: 12.04.2007
Сообщений: 339
Сказал спасибо: 2
Сказали Спасибо 34 раз(а) в 30 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
Сообщение от anton_1000
|
|
Необходимо организовать обмен между двумя МК на разных платах. Расстояние проводов 10 см. Какой интерфейс выбрать SPI, I2C, USART? Какой более помехоустойчивый?
|
Начните историю с повествования в каких условиях работают платы (тип корпуса плат(ы)/всего изделия, что и на каких расстояниях имеется, с указанием потенциальных источников помех). А так - это все пальцем в небо.
__________________
Гидравлика + электроника = POWER
|
|
|
|
15.06.2010, 10:28
|
|
|
Гражданин KAZUS.RUN
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Выбор интерфеса обмена между платами
Сообщение от MasterMushi
|
|
nml, А если подправить SPI как раз лишней линией контроля старта стопа? тоесть докинуть RS канал?
|
А зачем? Зачем городить огород, а потом из этого "крассиво выходить"?
SPI - один из самых неудобных интерфейсов с точки зрения соединения 2 контроллеров. Начиная с момента синхронизации и ресинхронизации, отсутствие вменяемых протоколов более высокого уровня, большое количество ног.
I2C и, естественно, UART имеют преимущество. И там и там 2 ноги, на 10-30 см не требуются драйвера. UART позволит параллельную работу в 2 стороны организовать.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:20.
|
|