Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-сен-22 02:04

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 2 сообщения ] 
Автор Сообщение
 Заголовок сообщения: UART. Как реализовать мультимастер?
СообщениеДобавлено: 2013-ноя-12 15:06 
Не в сети

Зарегистрирован: 2011-май-11 07:35
Сообщения: 25
Приветствую всех. Есть задача реализовать работу нескольких контроллеров (1986Вх) на одной шине (RS485) в режиме мультимастер. Всё бы ничего, только не могу понять, как организовать работу нескольких мастеров. Т.к. возникает сразу куча подводных камней, например конфликт при одновременном доступе к шине и т.д. Буду благодарен за советы и примеры.


Вернуться к началу
СообщениеДобавлено: 2013-ноя-13 11:03 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 539
Если сеть полностью своя, то лучше отказаться от RS-485 впользу CAN. Арбитраж доступа реализован аппаратно.
Если же стыковка с соседями и уйти никак, то обходить подводные камни протоколом.
Зафиксировать порядок доступа к шине и разбор коллизий.
Например передача маркера (кто мастер) по кругу между устройствами + приоритет на захват по таймауту. Позволит избежать одновременного доступа к шине нескольких устройств.
Обязательный контроль переданных данных с помощью своего приемника. Если не данные не совпали - коллизия на шине, кто-то тоже начал передачу. Полезно еще и по тому, что флаг окончания передачи отсутствует, а отключаться от шины надо, По завершению приема собственных данных можно определить конец сообщения.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 2 сообщения ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB