Cеть контроллеров по rs485

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
xmavr
Родился
Сообщения: 4
Зарегистрирован: Пн окт 10, 2011 14:42:42

Cеть контроллеров по rs485

Сообщение xmavr »

Доброго времени суток, форумчане! :wink:
Необходимо к ATmega128 (master) подключить 8 х ATmega8 по RS485. Задача 128ой: очередный опрос мег8 с целью получения показаний датчиков, подцепленных к мегам8.
Схема вроде этой как понимаю: http://masters.donntu.edu.ua/2004/fema/ ... /pic05.gif

Собственно:
1. Как правильно подключить все 8 МК ( 8 rx и 8 tx ) к меге128?
2. Для связывания МК с МК можно использовать MAX485?
3. Есть ли у кого протоколы для передачи данных по 485му на СИ? Или хотя бы примеры инициализации, приема, передачи..... - с интерфейсами не сталкивался ни разу (1-wire не в счет)
Реклама
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Cеть контроллеров по rs485

Сообщение Мастер Ломастер »

485-й - это ФИЗИЧЕСКИЙ интерфейс, он не определяет ПРОТОКОЛ. с точки зрения МК он ничем не отличается от USART. соответственно, можно использовать все те же самые решения для сети на 485-ом интерфейсе, какие существовали для сети RS-232-девайсов :) во многих источниках о сети RS-232-ых сказано весьма подробно - USART МК имеет 9-битный режим, который хорошо позволяет реализовать адресацию ведомых...
битва с дураками проиграна, победители торжествуют. слава победителям!
Реклама
vAv
Прорезались зубы
Сообщения: 221
Зарегистрирован: Пн июн 13, 2011 20:04:59
Откуда: Новочебоксарск
Контактная информация:

Re: Cеть контроллеров по rs485

Сообщение vAv »

С 8-ю мегами придется реализовывать какой-либо протокол типа master-slave. Точка-точка прокатит только для двух устройств.
А вообще для чего все это? Если что-то типа умного дома, то может и есть смысл, а если для производства, то есть куча готовых контроллеров.
Аватара пользователя
coredumped
Опытный кот
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Re: Cеть контроллеров по rs485

Сообщение coredumped »

Чтоб не изобретать колесо, советую взять готовый протокол ModBus http://ru.wikipedia.org/wiki/Modbus.
С одним мастером реализовать несложно. Опрашивайте по очереди подчиненные контроллеры по приблизительно такой схеме:
1. Отправить команду контроллеру N
2. Переключиться в режим приема и слушать ответ с тайм-аутом.
3. Если тайм-аут, обработать ошибку, перейти к следующему контроллеру (N+1)
4. Если есть ответ - принять данные, обработать, перейти к следующему контроллеру (N+1)

У подчиненного алгоритм еще проще.
1. Слушаем линию, при получении данных, проверяем адрес.
2. Если адрес наш - выполняем команду, отсылаем ответ.
3. Переходим к пункту 1
Все будет только лучше, в крайнем случае - хуже.
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

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