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

|
Нужен совет. Хочу создать сеть из нескольких AVR по USART. Кто нибудь сделал такое. На рисунке нарисовал примерную схему. Все будет управляться от компа, скажем хочу включить какую то ножку на AVR2, как должен выставлять адреса. С одним AVR-ом практика есть, а вот с несколькими... увы не могу разобраться. Заранее спасибо.
|
|
|
|
|
 |
Ответов
|
Jul 10 2011, 15:28
|

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

|
QUOTE (=AK= @ Jul 10 2011, 17:43)  Modbus RTU относится к наличию этой помехи индиферентно. Согласно протоколу, передающий узел обязан включить свой передатчик заранее и удерживать RS-485 в пассивном состоянии, ничего не передавая Этот волшебный "200 кратного  уменьшения влияния помех" механизм де факто реализуется во всех примитивных протоколах типа Master/Slave запрос/ответ, ибо по другому еще надо постараться сделать. Master вообще может держать свой передатчик сколь угодно долго. Даже страшно подумать во во сколько возрастет "помехащищенность"  . При этом вот это Ваше утверждение: QUOTE Согласно протоколу, передающий узел обязан включить свой передатчик заранее и... не есть требование протокола. Требование протокола распространяется только на наличие silent interval. Что там должно быть с физикой и как это обеспечивавается это дело десятое. Вы его можете включать заранее, Вы его можете вообще не выключать, и АБСОЛЮТНО также могут поступать реализаторы в любого подобного протокола в том числе и Pbus. Самое жуткое для борца с помехами состоит в том, что в нормальных протоколах (а это не Modbus RTU  ) началом/концом фрейма является не одиночный (один, совсем один) стартовый бит а определенная последовательность битов. Причем к нормальным протоколам относится и тот самый Modbus ASCII (последовательность из 10 bit), который как Вы экспертно оценили, цитирую "Он непригоден для RS-485, поскольку в этом случае обеспечивает крайне низкую помехоустойчивость". Фраза "Modbus ASCII предназначен для интерфейсов "точка-точка" (RS-232, RS-422, и т.п), о чем прямо написано в стандарте" тоже хороша, если, конечно, не знать что а в спецификации (а не стандарте, которого нет) Modbus over Serial такой глупости, естественно не написано. К этому можно добавить, что за счет избыточности в том-же Modbus ASCII можно пробовать восстанавливать битую информацию. Вот такой вот странный протокол с "крайне низкой помехоустойчивостью". Нет, наверное все-таки не протокол странный, а "эксперт" очень странный  . QUOTE Мне искренне жаль тех заказчиков, для которых вы "протоколов всех уровней реализовывали своими руками".  Главное, что им не жаль  . QUOTE (GetSmart @ Jul 10 2011, 17:42)  Официально лето с 1 июня до 31 августа. Читайте первоисточники. Вы же любите/уважаете стандарт  Не знаю, что Вы называете первоисточником, я ориентируюсь по РЕАЛЬНОМУ первоисточнику - Солнцу. Возражения по поводу его прав считаться первоисточником есть? Ну а чего-уж там кто что думает... Я вот знаю дюжину человек, так они вообще, чудаки, все, как один думают, что у них сейчас совсем даже не лето - +10, дождь. Зима говорят у нас в Сиднее.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 15 2011, 00:06
|

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

|
Цитата(ViKo @ Jul 15 2011, 02:59)  не нашел конкретной информации "как сделать хорошо" "Как сделать хорошо" описано в посте №65 (с уточнением в посте №67). Цитата(zltigo @ Jul 13 2011, 03:05)  Вообще для каналов с помехами (например радиоканалы) хорошим решением является ... посылка последовательности чередующихся битов ... затем двух байтовых посылок состоящих только из одного стартового бита для поднятия байт-фреймовой синхронизации. После чего уже можно начинать передавать фрейм - фреймовая синхронизация. Вам полезно будет узнать, что в радиоканалах как правило требуется сигнал, сбалансированный по DC, в силу чего символ, состоящий из одного только старт-бита не годится. Кроме того, в радиоканалах часто встречаются жесткие ограничения на длину подряд передаваемых нулей и единиц. Поэтому, при использовании в радиоканале UART, для байт-синхронизации в наибольшей степени подходит символ 0xF0, о котором я говорил ранее. При этом, вопреки вашему глупому заявлению, будто бы "посылка ложного стартового фрейма в качестве space символа есть наихудший из всех возможных вариантов", именно этот символ - 0xF0 - лучше всего сделать стартовым символом, обозначающим начало фрейма. Таким образом, передав два раза старт-символ 0xF0 можно одновременно обеспечить синхронизацию UART (т.е. байт-синхронизацию) и синхронизацию фрейма. Это упрощает процедуру передачи, а негативных эффектов в этом решении нет. Впрочем, допускаю, что лично вы пишете софт настолько криво и бездарно, что двойная передача старт-символа приводит в ваших поделках к каким-то негативным последствиям, поэтому вызывает возражения с вашей стороны. В случае RS-485, где требований к балансу по DC нет, в качестве стартового символа фрейма подходит любой из символов, двукратная передача которых обеспечивает байт-синхронизацию UARTa, а именно: 0xFF, 0xFE, 0xFC, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0x00. При достаточном быстродействии процессора никакой разницы между ними нет, любой из этих символов при приеме придется обрабатывать одинаково. И только в том случае, когда в приемнике стоит дико тормознутый процессор или же софт написан до предела криво, тогда предпочтение следует отдать символу 0xFF.
|
|
|
|
|
Jul 15 2011, 05:31
|

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

|
QUOTE (=AK= @ Jul 15 2011, 02:06)  Вам полезно будет узнать, что в радиоканалах как правило..... Вам бесполезно  будет узнать, что Вам не следует продолжать выдумывать "правила". QUOTE Поэтому, при использовании в радиоканале UART, для байт-синхронизации в наибольшей степени подходит символ 0xF0, о котором я говорил ранее. Таким образом, передав два раза старт-символ 0xF0 можно одновременно обеспечить синхронизацию UART (т.е. байт-синхронизацию) и синхронизацию фрейма. .... Разумеется нет. Захотите понять, или жизнь заставит, поймете. Хотя для Вас это маловероятно  . Для заполнения Вашего мозга до отказа оказалось достаточным одной единственной "идеи" с предварительной активизацией передатчика RS485. Ну да ладно. Хотя, как я тут смотрю уже который пост подряд Вы таки допустили мысль о признаке начала фрейма не по паузе, как это сделано у дебильного Modbus RTU. Это положительная тенденция. QUOTE (Dog Pawlowa @ Jul 15 2011, 04:30)  Я не понимаю, что за достоинства при наличии доминантного состояния, не подскажете? Гарантированное состояние при коллизиях в линии. Соответственно появляется возможность достоверно контролировать собственную передачу и использовать в протоколе механизмы разруливания коллизий.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 15 2011, 07:10
|

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

|
Цитата(zltigo @ Jul 15 2011, 03:08)  422 а еще лучше CAN приемопередатчики, даже если без CAN контроллера. Это очередная глупость. Передатчик RS422 имеет меньшую нагрузочную способность, поэтому он обеспечит примерно вдвое меньшую помехоустойчивость связи, чем передатчик RS485. Интерфейс RS422 следует рекомендовать начинающим и дилетантам, поскольку в нем передатчик все время включен, а посему автоматический обеспечивается хороший уровень помехоустойчивости при любом протоколе обмена, хоть самом простом. В сущности RS422 представляет собой улучшенный (быстрый, более помехоустойчивый и пригодный для больших расстояний) старый добрый RS232. Проводной CAN передатчик (такой как SN65HVD251 и т.п.) представляет собой разновидность "открытого коллекторного выхода". В рецессивном состоянии он подвержен помехам почти настолько же, насколько подвержена помехам свободная линия RS485 с растяжками. Соответственно, помехоустойчивость CAN примерно на порядок хуже, чем RS485 и RS422. Цитата(zltigo @ Jul 15 2011, 15:01)  Гарантированное состояние при коллизиях в линии. Соответственно появляется возможность достоверно контролировать собственную передачу и использовать в протоколе механизмы разруливания коллизий. К помехоустойчивости это отношения не имеет.
|
|
|
|
Сообщений в этой теме
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 GetSmart Вообще-то любой не совсем уже бездарный протокол о... Jul 10 2011, 15:13 =AK= Цитата(GetSmart @ Jul 11 2011, 00:43) Воо... Jul 11 2011, 10:08  Dog Pawlowa Поскольку мне приходится поддерживать пару десятко... Jul 11 2011, 12:10   zltigo QUOTE (Dog Pawlowa @ Jul 11 2011, 15:10) ... Jul 11 2011, 19:01  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 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
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|