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

 
 
> Сеть из 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
=AK=
сообщение Jul 11 2011, 23:09
Сообщение #3


pontificator
******

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



Цитата(zltigo @ Jul 11 2011, 00:58) *
Этот волшебный "200 кратного sm.gif уменьшения влияния помех" механизм де факто реализуется во всех примитивных протоколах типа Master/Slave запрос/ответ, ибо по другому еще надо постараться сделать. Master вообще может держать свой передатчик сколь угодно долго.

Я уже говорил, что обмен не сводится к поведению одного только мастера. Ну, а самое главное: может держать, а может и не держать, как уж заблагорассудится программисту. Однако среди программистов, как мы выяснили на ваших с подельником sm.gif примерах, полно тех, кто не понимает, что незначительные (с их точки зрения) нюансы реализации могут изменить помехоустойчивость в сотни раз.

Однажды я встретил самопальный протокол, в котором недоумок-программист переводил передатчик RS-485 на прием после отсылки каждого байта во фрейме. А изделие стояло на портальном кране и, соответственно, дико глючило.

Цитата(zltigo @ Jul 11 2011, 00:58) *
АБСОЛЮТНО также могут поступать реализаторы в любого подобного протокола в том числе и Pbus.

В описании Pbus сказано, что слэйв должен игнорировать принятые символы, если зазор между ними превышает 200 мкс. Но при этом обмен идет на скорости 2400, т.е. битовый интервал равен 416 мкс. Так что этому невменяемому бреду, который вы защищаете, место в топке. sm.gif


Цитата(zltigo @ Jul 11 2011, 00:58) *
Самое жуткое для борца с помехами состоит в том, что в нормальных протоколах (а это не Modbus RTU sm.gif ) началом/концом фрейма является не одиночный (один, совсем один) стартовый бит а определенная последовательность битов. Причем к нормальным протоколам относится и тот самый Modbus ASCII (последовательность из 10 bit), который как Вы экспертно оценили, цитирую "Он непригоден для RS-485, поскольку в этом случае обеспечивает крайне низкую помехоустойчивость".

Самое жуткое для людей с атрофированными мозгами состоит в том, что помеха в момент, непосредственно предшествующий этой вашей "определенной последовательности битов" будет воспринята как старт-бит, в результате чего принятая последовательность будет искажена. В Modbus ASCII вместо двоеточия ":" из UARTа будет прочитан другой символ. В результате весь фрейм пропадет - связи не будет. wink.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 12 2011, 04:22
Сообщение #4


Гуру
******

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



QUOTE (=AK= @ Jul 12 2011, 02:09) *
Я уже говорил, что обмен не сводится к поведению одного только мастера. Ну, а самое главное: может держать, а может и не держать, как уж заблагорассудится программисту. Однако среди программистов, как мы выяснили на ваших с подельником sm.gif примерах, полно тех, кто не понимает, что незначительные (с их точки зрения) нюансы реализации могут изменить помехоустойчивость в сотни раз.

Я рад, что Вы тем не менее поняли, что "потрясающая помехоустойчивость" протокола Modbus RTU совершенно не является его особенностью. И в никаком "стандарте" соответственно как особенность Modbus RTU этот банальный трюк (про в 200 раз повышающий оставим на Вашей совести) не описан и более того применим к началу фрейма абсолютно любого протокола использующего асинхронный физический уровень.
QUOTE
В описании Pbus сказано, что слэйв должен игнорировать принятые символы, если зазор между ними превышает 200 мкс. Но при этом обмен идет на скорости 2400, т.е. битовый интервал равен 416 мкс. Так что этому невменяемому бреду, который вы защищаете, место в топке. sm.gif

Мне наплевать,что там Вам там не травится в Pbus - я с ним не знаком и не собираюсь знакомится, не разу его не защищал. По той простой причине, что утверждал и утверждаю - любой протокол включая Modbus RTU, который на физическом уровне использует асинхронные приемопередатчики, а на канальном уровне для выделения таймауты есть дерьмо изначально. Борьба, победы,поражения реализаторов Modbus RTU с изначально заложенном в нем дерьмом меня в принципе не интересуют. Дерьмо остается дерьмом. Я понимаю,что это Ваше любимое (точнее единственно знакомое ) дерьмо и что предела дерьмовости почти нет, и что Вы видели дерьмо по сравнеию с которым дерьмо Modbus RTU благоухает розами. Только это не изменит того факта, что канальный уровень Modbus RTU изначально дерьмов.
QUOTE
Самое жуткое для людей с атрофированными мозгами состоит в том, что помеха в момент, непосредственно предшествующий этой вашей "определенной последовательности битов" будет воспринята как старт-бит, в результате чего принятая последовательность будет искажена. В Modbus ASCII вместо двоеточия ":" из UARTа будет прочитан другой символ. В результате весь фрейм пропадет - связи не будет. wink.gif

Для тех, кто мозгов вообще не имел изначально, повторять очевидно бесполезно sad.gif. Да будет, да, так у меня и написано. Но время этого "опасного" интервала указано. И для дерьмового протокола Modbus RTU это время указано. И сравнение двух этих времен сделано. Повторю, еще раз - хреновато у Modbus RTU даже супротив Modbus ASCII, даже при сравнении по этому одному из многих ИСКУССТВЕННО взятому Вами для сравнения критерию оценки "помехоустойчивости".
QUOTE (Dog Pawlowa @ Jul 11 2011, 15:10) *
Есть отлично документированные протоколы с графами переходов между состояниями для мастера и для слэйва, а есть и, мягко говоря, неполные, дающие шанс криворукости.

Таки да sad.gif. Modbus в неполноте описания среди распространенных протоколов рекордсмен sad.gif. Это в общем-то и понятно - этот изначально не продуманный протокол на официальную стандартизацию никак не тянул. Слепили как умели, описали как могли, реализовали, как получилось и каждый сам. На самом деле проблемы Modbus RTU канальном уровне. Дальше проблемы в ПОЛНОМ отсутствии верхних уровней с 3 по 6. Собственно сейчас в разумных разработках только Application уровень Modbus и используется. Все остальные уже используются от ЛЮБЫХ чужих стеков. Само описание железно разделено на два документа, осталось только документ описывающий канальный уровень объявить устаревшим и все sm.gif. Да вообще-то и не надо, ведь это даже по названию не описание протокола, а некий Implementation Guide - какой спрос sm.gif.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jul 12 2011, 06:45
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(zltigo @ Jul 12 2011, 07:22) *
Дальше проблемы в ПОЛНОМ отсутствии верхних уровней с 3 по 6.

Ну, для простых последовательных протоколов объединение уровней - обычное решение, в результате получаем контроль доставки на уровне приложения. Сам такие протоколы "клёпал" sm.gif
Хотелось бы напомнить, что в мире существуют стандарты, имеющие прямое отношение к передаче инфрмации.
Например, DIN 66348, в результате имеем обмен типа такого (с экрана симулятора в режиме подмены управляющих кодов).

Код
ENQ          STX 3D11011012021202030300040400050500060600 ETB 60          STX 3D11070070080080099009000000000000000000 ETX 7D          EOT              
      DLE  0                                                       DLE  1                                                       DLE  0




--------------------
Уходя, оставьте свет...
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
|- - 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
|||- - 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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