Страница 1 из 1
Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 09:06:26
Andrew_7
Ребят, необходимо объединить несколько МК AVR одним протоколом. На форуме почитал несколько статей, рекомендаций не много нашёл. Смысл в том, что расстояния от Master контроллера до Slave контроллеров может достигать до 20 - 30 метров максимум. Прочитал про I2C. На форуме ребята использовали его до 10 метров. 1 - Wire расчитан на большое расстояние, но я не смог найти его практическое применение в примерах для обмена данных с несколькими AVR.
Ребят, может кто соединял по i2c больше чем на 10 метров? Возможно сможете порекомендовать по шине 1 - wire примеры соединения нескольких AVR?
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 09:12:21
mr.Kirill
А помеховая обстановка какая?
Вообще для таких расстояний рекомендовал бы поставить на каждой из сторон драйверы RS485, а их в свою очередь к USART (программый или аппаратный - не важно).
Да, по деньгам чуть дороже, но зато не будет головняков с расстоянием и вытекающих из этого проблем.
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 10:20:15
Pika4u
А про RS232 никто не вспомнит?
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 10:38:27
Negor
RS232 в токовую петлю - один из вариантов.
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 10:44:33
ARV
связь между МК по 1-wire вполне возможна, надо только обеспечить каждому МК уникальный идентификатор, как положено по стандарту 1-wire. этот же алгоритм, но с увеличенными тайм-слотами сможет передавать на очень большие расстояния, но, соответственно, при снижении скорости обмена. можно взяв за основу сам принцип передачи информации (передаем ноль, а единичка - это отпущенная линия) сделать свой протокол попроще (без больших адресов и т.п.)
для связи на большие расстояния в условиях помех и при достаточно высокой скорости очень хорошо подходит CAN - минимум головняка с протоколом, гарантия доставки пакета данных, возможность передачи "каждый каждому" и т.п. преимущества.
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 13:10:10
Andrew_7
mr.Kirill, помехи и наводки не исключены. Скланяюсь в сторону
ARV, 1-Wire интерфейс как я читал, обеспечивает передачу и gnd и +5 вольт (дата шина) до 300 метров. Скорость упадёт конечно же. Мне и не надо большую скорость. Передавать всего надо будет несколько бит, "Да", "Нет".
Спасибо и
Pika4u, за подсказку, я как - то забыл про него.. )) Рассмотрю как вариант.
Can интерфейс в контроллерах, которые я хочу использовать (Atmega32, Atmega8) нет, насколько я знаю

Попробую проэкспериметнировать с 1-Wire..
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 13:12:22
Pika4u
Эксперимеинтируй, о результатах-сообщи))))
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 13:18:52
Andrew_7
.. был бы благодарен за примеры, по реализации 1-Wire интерфейса на одном - двух МК, любой простенький.. От чего двигаться хотяб понять

Может у кого - то есть наработки, было бы здорово, я продолжу, доработаю.. )
Сообщу конечно

Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 14, 2010 14:50:30
ARV
Andrew_7 писал(а):Can интерфейс в контроллерах, которые я хочу использовать (Atmega32, Atmega8) нет, насколько я знаю

CAN добавляется к любому МК (хоть к тини2313) довольно просто при помощи отдельного контроллера CAN-шины типа MCP2515/2510 (соединяется с МК по SPI) и соответствующего драйвера физической линии.
Re: Каким протоколом обединить несколько МК
Добавлено: Ср июл 06, 2011 00:21:07
Aaantonnn15
Привет, всем! Уважаемый, ARV можете немного подробнее рассказать о драйвере физической линии? Хочу передавать информацию на большое растояние, выбрал CAN.