|
|
  |
2 MASTERA RS 485 и доминирующий |
|
|
|
Feb 2 2016, 13:54
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Denisam @ Feb 2 2016, 15:35)  Вот,видите уже реально значит............ Тогда послушайте историю, приключившуюся со мной много лет назад. Устанавливали мы светодиодные строки на КПП. Строки работали по RS-422, но сильно это сути не меняло. Получалось так, что поодиночке все табло работают, но когда они на одной шине - не работает одно из них. Монтажники радостно побежали за упаковкой, чтоб этого паршивца вернуть изготовителю, а я отправился за осциллографом... Оказалось, что в одном из табло неисправен передатчик и он всегда включен. Когда общаешься с этим табло, то все нормально, т.к. в RS-422 полный дуплекс, и этот передатчик ничему не мешает. Но когда пытаются вещать другие табло, то им приходится с этим включенным передатчиком перетягивать шину. Кто сильнее, и кто поближе к приемнику, тот и побеждал. Самое дальнее табло не могло победить этот передатчик, и система не могла принять от него данные. Создавалось впечатление, что табло неисправно, хотя на самом деле неисправно было другое. Внимание вопрос: вам нужны такие пляски? А вы ведь именно на это хотите подписаться, и zltigo всячески вас убеждает в гиблости такого подхода, причем я с ним согласен: гарантированно коллизию не обнаружить. То что вы хотите - называется CAN. Там не просто мультимастер, но и приятный бонус в виде неразрушающего арбитража. В чем проблема делать на CAN? Или с применением CAN-phy...
|
|
|
|
|
Feb 2 2016, 14:52
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 27-09-15
Пользователь №: 88 582

|
Это все хорошо и я понимаю,как оно должно работать. Но мне как раз не нужно качество,мне нужен факт. Нужно чтобы на шине был мастер сильнее.....
|
|
|
|
|
Feb 2 2016, 15:23
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Denisam @ Feb 2 2016, 17:52)  Нужно чтобы на шине был мастер сильнее..... Это невозможно гарантировать. Гарантированное решение точно не будет называться "RS485". Например, вы можете сделать аналоговый огород, где передатчики будут вгонять в шину определенный ток. У одних передатчиков будет ток максимум 1 мА, а у самого сильного минимум 100 мА. Но это же не RS485! Проще всего поменять физический уровень на CAN (их тоже несколько вариантов); протокол, как я описывал выше с детекцией коллизий (физика CAN может детектировать коллизии); а для связи с МК использовать обычный UART. Например, в электросчетчиках Меркурий есть CAN-модуль. Но никакой это не CAN, а лишь can-овская физика. Протокол один и тот же для CAN-, RS485- и RS232-моделей. Видимо, там среди разработчиков тоже попался, прошу прощенья, "через-попу-дел".
|
|
|
|
|
Feb 2 2016, 15:57
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 27-09-15
Пользователь №: 88 582

|
Цитата(adnega @ Feb 2 2016, 15:23)  Это невозможно гарантировать. Гарантированное решение точно не будет называться "RS485". Например, вы можете сделать аналоговый огород, где передатчики будут вгонять в шину определенный ток. У одних передатчиков будет ток максимум 1 мА, а у самого сильного минимум 100 мА. Но это же не RS485! Проще всего поменять физический уровень на CAN (их тоже несколько вариантов); протокол, как я описывал выше с детекцией коллизий (физика CAN может детектировать коллизии); а для связи с МК использовать обычный UART.
Например, в электросчетчиках Меркурий есть CAN-модуль. Но никакой это не CAN, а лишь can-овская физика. Протокол один и тот же для CAN-, RS485- и RS232-моделей. Видимо, там среди разработчиков тоже попался, прошу прощенья, "через-попу-дел". Так мне надо в рамках 485 готово добавить уже своего доминирующего.
|
|
|
|
|
Feb 2 2016, 16:12
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 27-09-15
Пользователь №: 88 582

|
Цитата(adnega @ Feb 2 2016, 16:03)  Т.е. у вас уже есть работающая шина с каким-то Мастером, а вы хотите подсадить своего Мастера, чтоб первый Мастер заткнулся и не мешал новому хозяину работать со слейвами?
Это невозможно! Похоже на попытку найти среди всех моделей продаваемых калькуляторов того, кто может "2 * 2 = 5". Ну как невозможно,говорю же есть макет который так работает.
|
|
|
|
|
Feb 2 2016, 16:24
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 27-09-15
Пользователь №: 88 582

|
Цитата(adnega @ Feb 2 2016, 16:14)  А какое отношение этот макет имеет к готовой системе? В том что надо понять почему один мастер затыкается,и сделать наоборот по такомуже принципу.
|
|
|
|
|
Feb 2 2016, 16:31
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Denisam @ Feb 2 2016, 19:24)  В том что надо понять почему один мастер затыкается,и сделать наоборот по такомуже принципу. Я вам говорю, сделать можно. Но вы говорите, что система уже готовая и ничего, кроме нового "мощного" Мастера в нее не добавить. Макет, на который вы ссылаетесь изначально выполнен для мультиместера на шине, ибо, без соответствующего протокола ничего работать не будет. Ваша, существующая система не готова к мультимастеру даже на уровне протокола. О чем дальше можно говорить? Вы это понимаете?
|
|
|
|
|
Feb 3 2016, 06:27
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(Denisam @ Feb 2 2016, 19:24)  В том что надо понять почему один мастер затыкается,и сделать наоборот по такомуже принципу. Вам уже написал усё специалист zltigo : для RS485 никак. Для дальнейших рассуждений требуется знания протокола который ложится поверх RS485. Что описывает rs485 - уже разжевали выше. Как только решите данный вопрос(название протокола) вот тодысь и появится предмет обсуждения в Вашем вопросе. удачи вам (круглый) ЗЫ RS485 описывает физический уровень, а не логический(на случай, если Вы не вдумчиво прочитали ответ zltigo )
Сообщение отредактировал kolobok0 - Feb 3 2016, 06:28
|
|
|
|
|
Feb 3 2016, 11:14
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (vladec @ Feb 3 2016, 10:38)  Решайте вопрос на уровне протокола, посмотрите, например, протокол MODBUS. 1) Уж в котрый раз - на RS485 физике невозможно даже сколь-нибудь надежно определить наличие коллизии. 2) MODBUS ни разу ни мультимастер и не имеет никаких средств для разрешения коллизий, даже если-бы их активному передатчику удалось отдетектировать.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 3 2016, 20:19
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(mantech @ Feb 3 2016, 22:58)  Ну вот, докопались до человека  Вероятно, человек хочет по-простому: ну, там... пару резисторов... может, диодиков. Главное, чтоб готовые устройства не трогать. А слова "коллизия", "протокол", "временное разделение" - это все лишнее. ТСу ведь нужно, чтоб один драйвер стал сильнее, а второй слабее. А как это делается? Резисторами, разумеется))
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|