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

Определение мастера в многомастерной сети

Добрый день.

Может не совсем правильно озаглавил тему, поэтому освещаю суть проблемы.

 

Имеется некоторое устройство, считающее значение фазы и формирующее на основании данного значения управляющие импульсы. Данное устройство должно работать как индивидуально, так и в группе с несколькими аналогичными устройствами. При работе в компании, одно из устройств должно быть ведущим и раздавать остальным рассчитанное значение фазы. Для организации сети планируется использовать один из вариантов: CAN или SCI(UART). CAN поддерживает аппаратный арбитраж, но может не удовлетворить по скорости передачи. SCI же удовлетворяет по скорости, но, как мне кажется, придется придется прибегать к привлечению человека в вопросе выбора мастера (допустим ставить перемычку в разъеме соединения блоков, куда выведены линии цифрового входа устройства, или ставить на каждый блок клавишу запуска/указания мастера).

 

Вопрос: какой из методов можно использовать, чтобы обеспечить работу устройства как в одиночном режиме, так и в сети, с минимальным набором действий и участием человека по указанию мастера в сети, а лучше вообще без участия человека?

 

Заранее благодарен за внимание.

 

 

Изменено пользователем Славентий

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


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

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

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

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


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

Выбор ведущего должен определяться по какому-либо свойству, программному или аппаратному. Аппаратное - перемычка, кнопка и т.п. Программное - число в памяти. В первом варианте необходимо контролировать перемычки/кнопки, а во втором в каждой прошивке изменять число. Может есть альтернативные варианты?

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


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

Может есть альтернативные варианты?

Есть) По умолчанию устройсто всегда слушает линию. Неважно, работает оно автономно, или в сети.

При включении устройства, через случайный промежуток времени, если по линии ничего не пришло, оно назначает себя мастером, и отправляет широковещательный пакет. Таким образом, мастер сам назначается в сети...

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


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

...через случайный промежуток времени..

 

кстати о йожиках...

 

осталось понять откуда его красиво взять.

1) прошивать уникальный номер и привязываться к нему - возня с уникальностью при прошивке железа.

2) ацп шумы

???

 

 

(круглый)

 

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


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

2) ацп шумы

и если этот пин уже отдан под другую функцию... какой шум в кристалле (допустим, для 10бит разрешения)?

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

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


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

Если в устройстве есть RTC то при включении использовать его значение в качестве случ.вел.

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


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

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

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


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

А наличие ацп сомнению не подвергается :biggrin:

ну уж всяко чаще есть на борту, а вот RTC может и не быть... да даже если есть, то не используется :laughing:

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


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

ну уж всяко чаще есть на борту, а вот RTC может и не быть... да даже если есть, то не используется :laughing:

Вот и самое время использовать оный!

 

А вообще то я не совсем понимаю зачем нужен именно "случайный промежуток времени"?

Ведь включение это уже случайность.

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


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

Вот и самое время использовать оный!

 

Ведь включение это уже случайность.

если нет батарейки, то после включения всегда получим одно и то же значение

И где тут случайность? :laughing:

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


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

если нет батарейки, то после включения всегда получим одно и то же значение

И где тут случайность? :laughing:

Я имел ввиду не RTC без батарейки, а то что вкючить несколько устройств одновременно не возможно.

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


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

Я имел ввиду не RTC без батарейки, а то что вкючить несколько устройств одновременно не возможно.

нууу... спорно. Общий рубильник выкл/вкл, например

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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