Перейти к содержанию
    

Ведущий - ведомый

Добрый день.

Есть два устройства, связанные между собой по CAN-интерфейсу (не суть какой интерфейс может быть и RS485 протокол Modbus-RTU - например). Питание на устройства будет подаваться практически одновременно. Возник вопрос – как этим устройствам в программе договориться по интерфейсу кто из них будет ведущим, а кто ведомым?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CSMA/CA -

Ключевой момент -- "останавливает передачу на отрезок времени случайной длины и затем повторяет попытку".

Осталось реализовать в устройствах генератор случайных чисел.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

связанные между собой по CAN-интерфейсу

Дайте им разные ID и можете передавать когда угодно.

Мультимастер - это норма для CAN.

 

RS485 протокол Modbus-RTU

Мультимастер в Modbus-RTU отсутствует, ровно как и в RS485.

Можно придумать свой протокол с передачей "мастерности" соседу,

но, не зная зачем вам это все нужно, сложно что-то советовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

Есть два устройства, связанные между собой по CAN-интерфейсу (не суть какой интерфейс может быть и RS485 протокол Modbus-RTU - например). Питание на устройства будет подаваться практически одновременно. Возник вопрос – как этим устройствам в программе договориться по интерфейсу кто из них будет ведущим, а кто ведомым?

Если они могут договориться кто будет ведущим, а кто - ведомым, то почему бы им не упростить задачу, и не назначить одного постоянно ведущим, а другого - постоянно ведомым. Как будто-то бы они так случайно договорились?)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбор ведущего иногда делают по внешним состояниям и событиям - наличие/отсутствие определенного сигнала, подключенного устройства и т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выбор ведущего иногда делают по внешним состояниям и событиям - наличие/отсутствие определенного сигнала, подключенного устройства и т.п.
Если ТС всерьез написал про CAN, то есть некоторая вероятность, что, зная работу этого интерфейса на физ. уровне и канальном (?),

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

(об этом упоминалось выше - "CSMA" и "мультимастер" ).

Ну, а если уж нужно выделить "ведущего" на шине - то тот, который имеет более новый серийный номер (и свежее FW) - тот и мастер.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, а если уж нужно выделить "ведущего" на шине - то тот, который имеет более новый серийный номер (и свежее FW) - тот и мастер.

Не очень понятно в чём именно затруднения? И какое именно назначение требуется? Динамическое, при каждом включении заново?

Алгоритмов назначения мастера можно придумать кучу + ещё маленькая тележка. В зависимости от характера их взаимодействия.

Например: "Кто первый встал того и тапки".

 

Ну, а если уж нужно выделить "ведущего" на шине - то тот, который имеет более новый серийный номер (и свежее FW) - тот и мастер.

Для этого как минимум каждый должен знать какой SN у другого. Ну если только длина этого SN не влазит в длину адреса CAN - тогда автоматом. :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

. . .Для этого как минимум каждый должен знать какой SN у другого. Ну если только длина этого SN не влазит в длину адреса CAN - тогда автоматом. . . .
Владелец тапков смотрит кому их отдать или оставить себе, сравнивая SN или версии FW.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...