Каким протоколом обединить несколько МК

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Каким протоколом обединить несколько МК

Сообщение Andrew_7 »

Ребят, необходимо объединить несколько МК AVR одним протоколом. На форуме почитал несколько статей, рекомендаций не много нашёл. Смысл в том, что расстояния от Master контроллера до Slave контроллеров может достигать до 20 - 30 метров максимум. Прочитал про I2C. На форуме ребята использовали его до 10 метров. 1 - Wire расчитан на большое расстояние, но я не смог найти его практическое применение в примерах для обмена данных с несколькими AVR.
Ребят, может кто соединял по i2c больше чем на 10 метров? Возможно сможете порекомендовать по шине 1 - wire примеры соединения нескольких AVR?
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
mr.Kirill
Мучитель микросхем
Сообщения: 438
Зарегистрирован: Вт сен 25, 2007 19:40:26
Откуда: Челябинск

Re: Каким протоколом обединить несколько МК

Сообщение mr.Kirill »

А помеховая обстановка какая?
Вообще для таких расстояний рекомендовал бы поставить на каждой из сторон драйверы RS485, а их в свою очередь к USART (программый или аппаратный - не важно).
Да, по деньгам чуть дороже, но зато не будет головняков с расстоянием и вытекающих из этого проблем.
[color=#0000BF]"Какой тоской душа не сражена - быть твердым заставляют времена"© "Король Лир" У.Шекспир.[/color]
Аватара пользователя
Pika4u
Поставщик валерьянки для Кота
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Re: Каким протоколом обединить несколько МК

Сообщение Pika4u »

А про RS232 никто не вспомнит?
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Аватара пользователя
Negor
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср мар 07, 2007 22:58:02
Откуда: Черкассы, Украина
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение Negor »

RS232 в токовую петлю - один из вариантов.
There is only 10 kind of people: those who understands binary code and those who dont!!!
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение ARV »

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

для связи на большие расстояния в условиях помех и при достаточно высокой скорости очень хорошо подходит CAN - минимум головняка с протоколом, гарантия доставки пакета данных, возможность передачи "каждый каждому" и т.п. преимущества.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение Andrew_7 »

mr.Kirill, помехи и наводки не исключены. Скланяюсь в сторону ARV, 1-Wire интерфейс как я читал, обеспечивает передачу и gnd и +5 вольт (дата шина) до 300 метров. Скорость упадёт конечно же. Мне и не надо большую скорость. Передавать всего надо будет несколько бит, "Да", "Нет".

Спасибо и Pika4u, за подсказку, я как - то забыл про него.. )) Рассмотрю как вариант.

Can интерфейс в контроллерах, которые я хочу использовать (Atmega32, Atmega8) нет, насколько я знаю :)

Попробую проэкспериметнировать с 1-Wire..
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
Pika4u
Поставщик валерьянки для Кота
Сообщения: 2064
Зарегистрирован: Пт апр 24, 2009 11:39:16
Откуда: г.Оренбург

Re: Каким протоколом обединить несколько МК

Сообщение Pika4u »

Эксперимеинтируй, о результатах-сообщи))))
Steve Jobs. 1955-2011. Мы помним, как ты преобразовал наш мир....
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение Andrew_7 »

.. был бы благодарен за примеры, по реализации 1-Wire интерфейса на одном - двух МК, любой простенький.. От чего двигаться хотяб понять :) Может у кого - то есть наработки, было бы здорово, я продолжу, доработаю.. )


Сообщу конечно :)
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение ARV »

Andrew_7 писал(а):Can интерфейс в контроллерах, которые я хочу использовать (Atmega32, Atmega8) нет, насколько я знаю :)
CAN добавляется к любому МК (хоть к тини2313) довольно просто при помощи отдельного контроллера CAN-шины типа MCP2515/2510 (соединяется с МК по SPI) и соответствующего драйвера физической линии.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Aaantonnn15
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт авг 20, 2010 18:31:05
Контактная информация:

Re: Каким протоколом обединить несколько МК

Сообщение Aaantonnn15 »

Привет, всем! Уважаемый, ARV можете немного подробнее рассказать о драйвере физической линии? Хочу передавать информацию на большое растояние, выбрал CAN.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»