|
Сеть из AVR |
|
|
|
May 8 2011, 22:11
|
Группа: Новичок
Сообщений: 1
Регистрация: 26-10-09
Пользователь №: 53 214

|
Нужен совет. Хочу создать сеть из нескольких AVR по USART. Кто нибудь сделал такое. На рисунке нарисовал примерную схему. Все будет управляться от компа, скажем хочу включить какую то ножку на AVR2, как должен выставлять адреса. С одним AVR-ом практика есть, а вот с несколькими... увы не могу разобраться. Заранее спасибо.
|
|
|
|
|
 |
Ответов
|
Jul 10 2011, 15:13
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Вообще-то любой не совсем уже бездарный протокол обмена, приняв байт и видя, что за ним не идут далее байты (в течении сколько-то символов) должен или обработать принятый "пакет" или его отбросить и подготовиться к приёму нового пакета. Поэтому возникает сразу предположение, относительно чего сравнивать. Если относительно дерьма, то теоретически Modbus+485 будет значительно помехоустойчивей. Но если относительно любого не дерьма, то как раз наоборот, в разы менее помехоустойчивей.
Чаще всего, на шине RS485 присутствует 1 мастер и много слейвов. И мастер всегда шину держит занятой, кроме времени когда ждёт ответа от слейва. Таким образом, помехи, которые способны исказить только свободно "болтающуюся" шину, уже не способны это делать. При этом анализировать настолько мелкие помехи, способные только болтающуюся линию болтать, это как обращать внимание на все микробы на пальцах, которыми держишь ложку во время еды. Только совсем уже больным, совсем без иммунитета, необходимо.
Сообщение отредактировал GetSmart - Jul 10 2011, 15:16
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Jul 11 2011, 10:08
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(GetSmart @ Jul 11 2011, 00:43)  Вообще-то любой не совсем уже бездарный протокол обмена, приняв байт и видя, что за ним не идут далее байты (в течении сколько-то символов) должен или обработать принятый "пакет" или его отбросить и подготовиться к приёму нового пакета. Нет, не любой. Это я вам просто про другие варианты не рассказал, а самому дотумкать у вас, очевидно, не получается. Существуют помехоустойчивые протоколы, которым не требуется контролировать тайм-ауты.  Цитата(GetSmart @ Jul 11 2011, 00:43)  Поэтому возникает сразу предположение, относительно чего сравнивать. Если относительно дерьма, то теоретически Modbus+485 будет значительно помехоустойчивей. Но если относительно любого не дерьма, то как раз наоборот, в разы менее помехоустойчивей. Это вы глупость сказали, по невежеству своему. Более помехоустойчивый, чем Modbus RTU, протокол поверх RS-485 сделать нельзя (определение помехоустойчивости я давал ранее). Modbus RTU обеспечивает максимально возможную для RS-485 помехоустойчивость. Другие протоколы могут с ним сравняться, но не могут превзойти. Если же вы считаете иначе - будьте любезны, приведите пример "в разы более помехоустойчивого" с необходимым обоснованием .  Цитата(GetSmart @ Jul 11 2011, 00:43)  Чаще всего, на шине RS485 присутствует 1 мастер и много слейвов. И мастер всегда шину держит занятой, кроме времени когда ждёт ответа от слейва. Таким образом, помехи, которые способны исказить только свободно "болтающуюся" шину, уже не способны это делать. Даже в этом гипотетическом варианте помеха способна изгадить ответ от слейва. В результате этого обмена таки не будет: в типичном случае мастер еще несколько раз пошлет запрос слейву, а затем зачислит его в категорию неисправных, или типа того. Так что зря тужитесь.
|
|
|
|
|
Jul 11 2011, 12:10
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Поскольку мне приходится поддерживать пару десятков разных кассовых протоколов, могу сказать определенно, что протокол влияет и на помехоустойчивость, и на жизнь разработчика, особенно если под протоколом понимать несколько больше, чем описание одного уровня взаимодействия. Так что я скорее на стороне =AK=, хотя он и допустил пару экстремистских высказываний  Есть отлично документированные протоколы с графами переходов между состояниями для мастера и для слэйва, а есть и, мягко говоря, неполные, дающие шанс криворукости. Что касается стартовой последовательности бит... Как использовать это с помощью стандартного UARTа во всем диапазоне параметров передачи?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jul 11 2011, 19:01
|

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

|
QUOTE (Dog Pawlowa @ Jul 11 2011, 15:10)  Есть отлично документированные протоколы с графами переходов между состояниями для мастера и для слэйва, а есть и, мягко говоря, неполные, дающие шанс криворукости. Есть, все есть... Есть совсем фиговые, есть просто фиговые, как Modbus, ну и соотственно много более продвинутые. Веся проблема в том, что Modbus на канальном уровне очень уродливый протокол, скажем даже так - самый уродливый из всех получивших распространение и ныне живущих. QUOTE Что касается стартовой последовательности бит... Как использовать это с помощью стандартного UARTа во всем диапазоне параметров передачи? Не понял. Ecли о 10 битах Modbus ASCII, это start-7bit_data_parity_stop. Естественно, они штатно обрабатываются UART. QUOTE (=AK= @ Jul 11 2011, 13:08)  Это вы глупость сказали, по невежеству своему. Более помехоустойчивый, чем Modbus RTU, протокол поверх RS-485 сделать нельзя (определение помехоустойчивости я давал ранее). Modbus RTU обеспечивает максимально возможную для RS-485 помехоустойчивость. Другие протоколы могут с ним сравняться, но не могут превзойти. QUOTE В случае Pbus, а также огромного количества самопальных протоколов, помеха, пересилившая резисторы растяжки, вызывает начало приема ложного фрейма, который протокол долгое время не в состоянии отличить от истинного фрейма. В любом вменяемом базирующимся на ассинхронной передачи байтов протоколе это "долгое время" менее ОДНОГО байта. Один байт, который будучи принятым с ошибкой (paryty или frame) и/или НЕ будет соответствовать комбинации начала фрейма будет отброшен. Опасное, так сказать время (почему всю "помехоустойчивось" Вы сводите только к нему оставим на Вашей совести) за время которого помеха способна вызвать потерю всего фрейма это время менее передачи одного символа. В дебильнейшем даже с этой точки оценки Modbus RTU помеха в 1+1,5 символьном интервале перед началом фрейма вызывает облом со всем фреймом. Вот такой он оказывается "обеспечивающий максимально возможную для RS-485 помехоустойчивость" протокол. Абыдно, да.... QUOTE Так что зря тужитесь.  Наверное зря - трудно разгововаривать с Вами, который собственно и Modbus толком не знает (приписывание требования включения передатчика на slient inteval, приписывание требования использования Modbus ASCII только для дуплекс и point to point, обвинение ASCII в пресловутой непомехоустойчивости, приписывание почему-то только Modbus исключительной возможности подержать передатчик включенным перед началом фрейма). Так-что расслабьтесь - лично для Вашей персоны никто не тужится. Просто пресекаем дезинформацию.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
antosh Сеть из AVR May 8 2011, 22:11 smalcom RS-485 May 9 2011, 05:18 Xenia Это будет суперкомпьютер на AVR!
Вообще-то, ... May 9 2011, 06:07 MaslovVG Почитайте про про алгоритмическую структуру интерф... May 9 2011, 06:39 e-serg Цитата(Xenia @ May 9 2011, 15:07) Это буд... May 9 2011, 06:51 _pv Цитата(Xenia @ May 9 2011, 13:07) ... Тог... May 9 2011, 14:52 VladislavS Действительно, ничего юмористического. Вот есть у ... May 9 2011, 07:15 e-serg Цитата(VladislavS @ May 9 2011, 16:15) ==... May 9 2011, 07:39 zhevak Вагончики... паровозики... кольцо... -- а если я с... May 9 2011, 17:42 e-serg Цитата(zhevak @ May 10 2011, 02:42) Там ж... May 10 2011, 09:21 Клим А в чем проблема использовать RS-232, параллельно ... May 10 2011, 14:23 Xenia Цитата(Клим @ May 10 2011, 18:23) А в чем... May 10 2011, 15:23  _pv Цитата(Xenia @ May 10 2011, 22:23) Паралл... May 10 2011, 17:06   zhevak Цитата(_pv @ May 10 2011, 23:06) вот поэт... May 10 2011, 17:40  zhevak Цитата(Xenia @ May 10 2011, 21:23) Паралл... May 10 2011, 17:21   Клим Цитата(zhevak @ May 10 2011, 20:21) Э-э... May 11 2011, 04:52    zhevak Цитата(Клим @ May 11 2011, 10:52) Ну рису... May 11 2011, 05:42     e-serg Цитата(zhevak @ May 11 2011, 14:42) абсол... May 11 2011, 08:57      iosifk Цитата(e-serg @ May 11 2011, 12:57) ... May 11 2011, 09:34       e-serg Цитата(iosifk @ May 11 2011, 18:34) Посмо... May 11 2011, 09:49        _Pasha Цитата(e-serg @ May 11 2011, 12:49) ... May 19 2011, 14:08         e-serg Цитата(_Pasha @ May 19 2011, 23:08) Интер... May 28 2011, 08:15          haker_fox QUOTE (e-serg @ May 28 2011, 17:15) ... May 28 2011, 12:47     =AK= Цитата(zhevak @ May 11 2011, 15:12) Если ... Jul 10 2011, 02:59      zhevak Цитата(=AK= @ Jul 10 2011, 08:59) Существ... Jul 10 2011, 05:15       =AK= Цитата(zhevak @ Jul 10 2011, 14:45) Предл... Jul 10 2011, 07:25        zltigo QUOTE (=AK= @ Jul 10 2011, 10:25) Для тог... Jul 10 2011, 08:58         =AK= Цитата(zltigo @ Jul 10 2011, 18:28) Дальш... Jul 10 2011, 11:57          zltigo QUOTE (=AK= @ Jul 10 2011, 14:57) Протоко... Jul 10 2011, 12:43           =AK= Цитата(zltigo @ Jul 10 2011, 22:13) И это... Jul 10 2011, 13:14            zltigo QUOTE (=AK= @ Jul 10 2011, 16:14) Да, име... Jul 10 2011, 13:48             =AK= Цитата(zltigo @ Jul 10 2011, 23:18) Ну-ну... Jul 10 2011, 14:43           GetSmart Цитата(zltigo @ Jul 10 2011, 17:43) Просн... Jul 10 2011, 14:27            zltigo QUOTE (GetSmart @ Jul 10 2011, 17:27) Раз... Jul 10 2011, 14:35             GetSmart Цитата(zltigo @ Jul 10 2011, 19:35) Серед... Jul 10 2011, 14:42 ILYAUL А растояния какие между AVR May 10 2011, 17:22 Xenia Нет интерфейса лучше, чем SPI! (С) Холивар May 11 2011, 09:49 MrYuran Цитата(Xenia @ May 11 2011, 13:49) Нет ин... May 11 2011, 10:13  defunct Цитата(MrYuran @ May 11 2011, 13:13) Есть... May 19 2011, 11:46   haker_fox QUOTE (defunct @ May 19 2011, 20:46) Пляс... May 20 2011, 08:01    kolobok0 Цитата(haker_fox @ May 20 2011, 12:01) ..... May 20 2011, 09:22    defunct Цитата(haker_fox @ May 20 2011, 11:01) Не... May 26 2011, 15:09 _Pasha Цитата(Xenia @ May 11 2011, 12:49) Нет ин... May 20 2011, 03:43 _Pasha PC817 на переключение рием/передача
H11L1 на все о... May 20 2011, 12:12 haker_fox Спасибо, друзья! Учту все советы и пожелания... May 27 2011, 03:07 Sirko Цитата...а если драйвер все таки надо ставить - то... May 31 2011, 17:35 Sirko Вот, для размышления, да и просто для "пополн... Jun 8 2011, 20:54 гигипотамм ...и вот еще... Jul 10 2011, 02:25 GetSmart Летнее обострение Jul 10 2011, 12:13  sonycman Цитата(=AK= @ Jul 11 2011, 14:08) Более п... Jul 11 2011, 14:35   GetSmart Цитата(sonycman @ Jul 11 2011, 19:35) Хм,... Jul 11 2011, 15:45   =AK= Цитата(sonycman @ Jul 12 2011, 00:05) Хм,... Jul 12 2011, 08:49    aaarrr Цитата(=AK= @ Jul 12 2011, 12:49) Соответ... Jul 12 2011, 08:52 zltigo QUOTE (=AK= @ Jul 10 2011, 17:43) Modbus ... Jul 10 2011, 15:28 GetSmart Цитата(zltigo @ Jul 10 2011, 20:28) Не зн... Jul 11 2011, 07:50  ViKo Цитата(GetSmart @ Jul 11 2011, 10:50) Пер... Jul 14 2011, 17:29   =AK= Цитата(ViKo @ Jul 15 2011, 02:59) не наше... Jul 15 2011, 00:06    zltigo QUOTE (=AK= @ Jul 15 2011, 02:06) Вам пол... Jul 15 2011, 05:31     =AK= Цитата(zltigo @ Jul 15 2011, 03:08) 422 ... Jul 15 2011, 07:10      zltigo QUOTE (=AK= @ Jul 15 2011, 09:10) Это оче... Jul 15 2011, 11:43       =AK= Цитата(zltigo @ Jul 15 2011, 21:13) Тольк... Jul 15 2011, 11:48       Maverick Цитата(zltigo @ Jul 15 2011, 14:43) Тольк... Jul 15 2011, 12:03        zltigo QUOTE (Maverick @ Jul 15 2011, 14:03) при... Jul 15 2011, 13:07 =AK= Цитата(zltigo @ Jul 11 2011, 00:58) Этот ... Jul 11 2011, 23:09  zltigo QUOTE (=AK= @ Jul 12 2011, 02:09) Я уже г... Jul 12 2011, 04:22   Dog Pawlowa Цитата(zltigo @ Jul 12 2011, 07:22) Дальш... Jul 12 2011, 06:45    zltigo QUOTE (Dog Pawlowa @ Jul 12 2011, 09:45) ... Jul 12 2011, 07:35  GetSmart Цитата(=AK= @ Jul 12 2011, 04:09) Я уже г... Jul 12 2011, 09:30 =AK= Цитата(zltigo @ Jul 11 2011, 00:58) Требо... Jul 12 2011, 11:23  Dog Pawlowa Цитата(=AK= @ Jul 12 2011, 14:23) А непра... Jul 12 2011, 11:42   =AK= Цитата(Dog Pawlowa @ Jul 12 2011, 21:12) ... Jul 12 2011, 11:55  aaarrr Цитата(=AK= @ Jul 12 2011, 15:23) Условие... Jul 12 2011, 12:27  zltigo QUOTE (=AK= @ Jul 12 2011, 14:23) Черным ... Jul 12 2011, 12:30   =AK= Цитата(zltigo @ Jul 12 2011, 22:00) В деб... Jul 12 2011, 13:48    GetSmart Цитата(=AK= @ Jul 12 2011, 18:48) Modbus ... Jul 12 2011, 14:01     =AK= Цитата(GetSmart @ Jul 12 2011, 23:31) У м... Jul 12 2011, 14:06      Maverick Цитата(=AK= @ Jul 12 2011, 17:06) В сочет... Jul 15 2011, 10:51    zltigo QUOTE (=AK= @ Jul 12 2011, 16:33) "К... Jul 12 2011, 17:35     Dog Pawlowa Цитата(zltigo @ Jul 12 2011, 20:35) Естес... Jul 12 2011, 20:00 GetSmart Кажется я всё понял. =AK= изобретатель.
До знакомс... Jul 12 2011, 13:27 haker_fox Гопода, не проще ли сделать адекватный физический ... Jul 14 2011, 06:30 GetSmart А зачем? Найдутся изобретатели, которые умудрятся ... Jul 14 2011, 16:02 zltigo QUOTE (GetSmart @ Jul 14 2011, 18:02) Кро... Jul 14 2011, 17:38  GetSmart Цитата(zltigo @ Jul 14 2011, 22:38) 422 ... Jul 14 2011, 18:12   zltigo QUOTE (GetSmart @ Jul 14 2011, 20:12) И ч... Jul 14 2011, 18:26    GetSmart Цитата(zltigo @ Jul 14 2011, 23:26) Дупле... Jul 14 2011, 18:33     Dog Pawlowa Цитата(GetSmart @ Jul 14 2011, 21:33) Так... Jul 14 2011, 18:44     zltigo QUOTE (GetSmart @ Jul 14 2011, 20:33) Щас... Jul 14 2011, 19:01      Dog Pawlowa Цитата(zltigo @ Jul 14 2011, 22:01) из-за... Jul 15 2011, 02:30    MrYuran Цитата(zltigo @ Jul 14 2011, 22:26) Дупле... Jul 15 2011, 07:13     ViKo Цитата(MrYuran @ Jul 15 2011, 10:13) Не г... Jul 15 2011, 08:16      MrYuran Цитата(ViKo @ Jul 15 2011, 12:16) ... чем... Jul 15 2011, 08:19       ViKo Цитата(MrYuran @ Jul 15 2011, 11:19) Там ... Jul 15 2011, 08:25     =AK= Цитата(MrYuran @ Jul 15 2011, 16:43) Не г... Jul 15 2011, 08:37      MrYuran Цитата(=AK= @ Jul 15 2011, 12:37) В RS422... Jul 15 2011, 08:45       =AK= Цитата(MrYuran @ Jul 15 2011, 18:15) Стра... Jul 15 2011, 08:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|