реклама на сайте
подробности

 
 
> Сеть из AVR
antosh
сообщение May 8 2011, 22:11
Сообщение #1





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



Нужен совет. Хочу создать сеть из нескольких AVR по USART. Кто нибудь сделал такое. На рисунке нарисовал примерную схему. Все будет управляться от компа, скажем хочу включить какую то ножку на AVR2, как должен выставлять адреса. С одним AVR-ом практика есть, а вот с несколькими... увы не могу разобраться. Заранее спасибо.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Jul 10 2011, 15:28
Сообщение #2


Гуру
******

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



QUOTE (=AK= @ Jul 10 2011, 17:43) *
Modbus RTU относится к наличию этой помехи индиферентно. Согласно протоколу, передающий узел обязан включить свой передатчик заранее и удерживать RS-485 в пассивном состоянии, ничего не передавая

Этот волшебный "200 кратного sm.gif уменьшения влияния помех" механизм де факто реализуется во всех примитивных протоколах типа Master/Slave запрос/ответ, ибо по другому еще надо постараться сделать. Master вообще может держать свой передатчик сколь угодно долго. Даже страшно подумать во во сколько возрастет "помехащищенность" sm.gif. При этом вот это Ваше утверждение:
QUOTE
Согласно протоколу, передающий узел обязан включить свой передатчик заранее и...

не есть требование протокола. Требование протокола распространяется только на наличие silent interval. Что там должно быть с физикой и как это обеспечивавается это дело десятое. Вы его можете включать заранее, Вы его можете вообще не выключать, и АБСОЛЮТНО также могут поступать реализаторы в любого подобного протокола в том числе и Pbus.
Самое жуткое для борца с помехами состоит в том, что в нормальных протоколах (а это не Modbus RTU sm.gif ) началом/концом фрейма является не одиночный (один, совсем один) стартовый бит а определенная последовательность битов. Причем к нормальным протоколам относится и тот самый Modbus ASCII (последовательность из 10 bit), который как Вы экспертно оценили, цитирую "Он непригоден для RS-485, поскольку в этом случае обеспечивает крайне низкую помехоустойчивость". Фраза "Modbus ASCII предназначен для интерфейсов "точка-точка" (RS-232, RS-422, и т.п), о чем прямо написано в стандарте" тоже хороша, если, конечно, не знать что а в спецификации (а не стандарте, которого нет) Modbus over Serial такой глупости, естественно не написано. К этому можно добавить, что за счет избыточности в том-же Modbus ASCII можно пробовать восстанавливать битую информацию. Вот такой вот странный протокол с "крайне низкой помехоустойчивостью". Нет, наверное все-таки не протокол странный, а "эксперт" очень странный sad.gif.
QUOTE
Мне искренне жаль тех заказчиков, для которых вы "протоколов всех уровней реализовывали своими руками". sad.gif

Главное, что им не жаль sm.gif.

QUOTE (GetSmart @ Jul 10 2011, 17:42) *
Официально лето с 1 июня до 31 августа. Читайте первоисточники. Вы же любите/уважаете стандарт sm.gif

Не знаю, что Вы называете первоисточником, я ориентируюсь по РЕАЛЬНОМУ первоисточнику - Солнцу. Возражения по поводу его прав считаться первоисточником есть?
Ну а чего-уж там кто что думает... Я вот знаю дюжину человек, так они вообще, чудаки, все, как один думают, что у них сейчас совсем даже не лето - +10, дождь. Зима говорят у нас в Сиднее.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 11 2011, 07:50
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Jul 10 2011, 20:28) *
Не знаю, что Вы называете первоисточником, я ориентируюсь по РЕАЛЬНОМУ первоисточнику - Солнцу.

Первоисточник - календарь. Документ, между прочим.
А когда по Солнцу Новый год? Тоже отмечаете по Солнцу biggrin.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 14 2011, 17:29
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(GetSmart @ Jul 11 2011, 10:50) *
Первоисточник - календарь. Документ, между прочим.
А когда по Солнцу Новый год? Тоже отмечаете по Солнцу biggrin.gif

Извиняюсь, по теме сказать мне нечего. Прочитал с интересом, но не нашел конкретной информации "как сделать хорошо". bb-offtopic.gif
А по поводу лета и календаря - предлагаю GetSmart'у "исполнить" zltigo смарт-вопросом "А когда, по-вашему, начало и конец лета?" Думаю, ответ впечатлит и самого отвечающего. sm.gif
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jul 15 2011, 00:06
Сообщение #5


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.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 15 2011, 05:31
Сообщение #6


Гуру
******

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



QUOTE (=AK= @ Jul 15 2011, 02:06) *
Вам полезно будет узнать, что в радиоканалах как правило.....

Вам бесполезно sad.gif будет узнать, что Вам не следует продолжать выдумывать "правила".
QUOTE
Поэтому, при использовании в радиоканале UART, для байт-синхронизации в наибольшей степени подходит символ 0xF0, о котором я говорил ранее. Таким образом, передав два раза старт-символ 0xF0 можно одновременно обеспечить синхронизацию UART (т.е. байт-синхронизацию) и синхронизацию фрейма.
....

Разумеется нет. Захотите понять, или жизнь заставит, поймете. Хотя для Вас это маловероятно sad.gif. Для заполнения Вашего мозга до отказа оказалось достаточным одной единственной "идеи" с предварительной активизацией передатчика RS485. Ну да ладно. Хотя, как я тут смотрю уже который пост подряд Вы таки допустили мысль о признаке начала фрейма не по паузе, как это сделано у дебильного Modbus RTU. Это положительная тенденция.
QUOTE (Dog Pawlowa @ Jul 15 2011, 04:30) *
Я не понимаю, что за достоинства при наличии доминантного состояния, не подскажете?

Гарантированное состояние при коллизиях в линии. Соответственно появляется возможность достоверно контролировать собственную
передачу и использовать в протоколе механизмы разруливания коллизий.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jul 15 2011, 07:10
Сообщение #7


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) *
Гарантированное состояние при коллизиях в линии. Соответственно появляется возможность достоверно контролировать собственную
передачу и использовать в протоколе механизмы разруливания коллизий.

К помехоустойчивости это отношения не имеет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.0163 секунд с 7
ELECTRONIX ©2004-2016