galjoen 0 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба Вы плохо знаете эзернетовскую матчасть. При обнаружении коллизии передача данных тут же прекращается. Никто не ждет, пока пройдет весь пакет. Да и коллизия может возникнуть только в начале пакета (ведь все абоненты слушают, а не началась ли чужая передача, и если началась, то не начинают свою). Кроме того, эзернет на общей шине давно мертв. Согласен. Я плохо знаю эзернет. Давным-давно попробовал и понял, что реалтайма от эзернета добится не получится, с тех пор и забросил т.к. все задачи у меня с жёстким реалтаймом связаны. А вот насчёт общей шины я не знал... Я считал, что до сих пор хабы пакеты во все стороны передают. Раньше ведь так было? Т.е. хоть шина и не общая, но везде кол-во пакетов одинаковое. Разве не так? Кстати не подскажете где бы про нынешнее состояние эзернета почитать? Простите за оффтоп. Но вот в случае мультимастерности на RS485 смысла в преамбулах я не вижу. Т.е. я имел ввиду, что сам пакет (он д.б. достаточно коротким) будет играть роль преамбулы. ... Ожидания тоже не будет т.к. если пакет по црц не прошел, он игнорируется и ждется следующий, т.к. перезапраивать предидущий нет смысла. ... "Ожидания не будет т.к. ждётся следующий" - несколько противоречиво... 1. Что будет делать ведущий RS485 после того, как он отправил ведомому пакет? 2. По каким признакам ведущий сможет узнать был-ли пакет отброшен ведомым т.к. CRC не совпало или ведомый просто сдох? 3. Если один из ведомых на некоторое время сдох, а потом опять заработал (например ватчдог перезапустил его процессор) восстановится ли связь с ним в вашем случае? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба Т.е. хоть шина и не общая, но везде кол-во пакетов одинаковое. Разве не так? Давно не так. Свичи коммутируют пакеты только туда, куда надо. Если это конечно не широковещательные пакеты. Кстати не подскажете где бы про нынешнее состояние эзернета почитать? Дык хоть в закромах, хоть в инете берете комплект стандартов IEEE802.3 и курите до состояния дзен :) Это для начала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
overloaded 0 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба "Ожидания не будет т.к. ждётся следующий" - несколько противоречиво... 1. Что будет делать ведущий RS485 после того, как он отправил ведомому пакет? 2. По каким признакам ведущий сможет узнать был-ли пакет отброшен ведомым т.к. CRC не совпало или ведомый просто сдох? 3. Если один из ведомых на некоторое время сдох, а потом опять заработал (например ватчдог перезапустил его процессор) восстановится ли связь с ним в вашем случае? 1. Зависит от типа ведомого) Если от ведомого данные не нужны, то передавать следующему. Если нужны данные от ведомого(а это зависит от его типа определенного при "энумерации" при запуске системы) то конечно ждать их с таймаутом, таймауты считать, если больше какого-то количества, то.. Но вообще я больше имел ввиду что устройства, которые не подключены, опрашиваться не будут. И посылаться им запросы тоже(кроме пары раз при запуске). 2. Ну просто сдох это как-то не тривиально =) Но вообще в каждом ведомом будет структура типа отладочная, отдельно запрашиваемая, в которую каждый ведомый заносит свое кол-во ошибок црц, оверфлов, может что-то еще.. И сдохший находится т.к. он ее вообще не выдаст) Как также находится и например плохо обжатый провод по большому кол-у ошибок относительно первых ведомых в сети. Да, это в компутер выводится.. Как собственно и данные в\из сети. 3. Ну а что ей мешает восстановиться? Скорость общего опроса конечно упадет за счет таймаутов пока проц будет заново инициализироваться, но это же не нормальный режим работы а просто как крайний вариант - сброс по вачдогу и постоянно он не должен срабатывать.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба Кроме того, эзернет на общей шине давно мертв. А что стандарт уже отменили ? Я почему-то уверен, что нет - ставь хаб и пользуй общую шину в полный рост. Можно поподробнее про конци и хаб? ) Зачем это нужно и что куда обьединять? Топология - звезда на RS422, один конец от каждого девайса заводится на хаб, где они и объединяются в общую шину. Другой вариант - объединяются все TX слейвов на RX мастера и RX слейвов на TX мастера. Давным-давно попробовал и понял, что реалтайма от эзернета добится не получится Если принять некоторые ограничения, то можно и реалтайм. Я считал, что до сих пор хабы пакеты во все стороны передают. Хабы передают. Свитчи - не передают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба А что стандарт уже отменили ? Я почему-то уверен, что нет - ставь хаб и пользуй общую шину в полный рост. Во-первых попробуйте сейчас найти хаб. Во-вторых, у обычного свича можно переполнить таблицу маков или отключить обучение и перевести его в такой режим, но, черт возьми, зачем??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 4 марта, 2009 Опубликовано 4 марта, 2009 · Жалоба Топология - звезда на RS422, один конец от каждого девайса заводится на хаб, где они и объединяются в общую шину. Другой вариант - объединяются все TX слейвов на RX мастера и RX слейвов на TX мастера.Вообще-то такая схема подключения обычно называется "4-х проводный RS485", а не RS422. Отличие в том, что передатчики ведомых всегда выключены, включаются только на время передачи и поэтому не создают коллизию на приемной шине мастера, как это было бы в случае RS422. Не нужно забывать, что RS422 для соединения точка-точка предназначен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Во-первых попробуйте сейчас найти хаб. Вот проблема, для электронщика. Вообще-то такая схема подключения обычно называется "4-х проводный RS485", а не RS422. Отличие в том, что передатчики ведомых всегда выключены, включаются только на время передачи и поэтому не создают коллизию на приемной шине мастера, как это было бы в случае RS422. Не нужно забывать, что RS422 для соединения точка-точка предназначен. Вы, видимо, совсем неправильно поняли. Соединение точка-точка, поэтому я пишу RS422, а не RS485, все передатчики всегда включены, а общая шина получается внутри хаба, за трансиверами. Второй вариант - трансивер мастера подключается наоборот. Аплинк, если хотите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Соединение точка-точка, поэтому я пишу RS422, а не RS485, все передатчики всегда включены, а общая шина получается внутри хаба, за трансиверами.Пока представляю только ненужную сущность - какой-то хаб. Если немного подумать, то можно и без него обойтись, визуально имея соединение "звезда", а физически одну линию. Только заглушки для неиспользуемых линков нужны. По-моему в какой-то ветке мы с вами это уже обсуждали? :cranky: Второй вариант - трансивер мастера подключается наоборот. Аплинк, если хотите.Т.е. данные ретранслируются до тех пор, пока не нужно вставить кадр со своей собственной информацией? Хм. Тоже вариант. :laughing: Только в обоих случаях для связи как минимум четыре провода нужны. Конечно если расстояния небольшие, то это не принципиально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Только заглушки для неиспользуемых линков нужны Если бы только. В общем, решение - по совокупности всех ограничений. Если рассматривать каждое ограничение отдельно, то будут другие решения. Повторяться почему так не буду - все в "тех" двух ветках. Т.е. данные ретранслируются до тех пор, пока не нужно вставить кадр со своей собственной информацией? Хм. Тоже вариант. Если "ретранслируются" хабом, а "вставляются" слейвом, то таки да. Но я бы назвал это "слушать эхо". Вот тогда можно вставлять в чужой пакет свои аварийные (срочные) сообщения. Передающий пакет с обычным приоритетом при этом должен обнаружить коллизию и заткнуться. Только в обоих случаях для связи как минимум четыре провода нужны. Конечно если расстояния небольшие, то это не принципиально. Что вы, в самом деле, на четыре провода еще поискать придется. Проще найти на восемь. А на два - так вообще экзотика. Если только не гоните сотню-другую пар одновременно. Но это совсем другая история. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
galjoen 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Если я правильно понял, то тут уже до эстафеты дообсуждались. Тогда рекомендую в качестве разъёмов использовать плинты - заглушки не нужны. А вообще драйвер CAN стоит одинаково с драйвером RS422. Так что никаких преимуществ. А вот почему USART с драйверами CAN широкого распостранения не получил лично я не понимаю. М.б. это из-за отсутствия стандарта? Так давайте подумаем о стандарте. Или это лучше в оффтопе делать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Вот проблема, для электронщика. Шутите? Витуху на резисторном мосту соединять? Смысл??? 8мипортовый свич стоит менее $10 в любом ларьке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Шутите? Витуху на резисторном мосту соединять? Совсем не так. Несклько чипов, трансов, разъемов, блок питания... А вообще драйвер CAN стоит одинаково с драйвером RS422. Разница в цене с RS422 в два-четыре раза. А если делать дуплексную передачу, то потребуется два драйвера CAN. Так тоже делал. После непродолжительного рассмотрения собранной платы пришел к выводу, что это как минимум неэстетично. Извращение, короче. 8мипортовый свич стоит менее $10 в любом ларьке. Да, кстати, поднять эзернет было бы весьма неплохо - решение практически полностью соответсвует всем ограничениям. Для полного счастья не хватает только чипа уарт-эзернет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Несклько чипов, трансов, разъемов, блок питания... Найдите сейчас ядра хабов в виде Ваших "нескольких чипов". Забудьте уже про хабы. Считайте, что их нет. Да, кстати, поднять эзернет было бы весьма неплохо - решение практически полностью соответсвует всем ограничениям. Для полного счастья не хватает только чипа уарт-эзернет. Ну, во-первых есть X-Port. Правда, это не очень бюджетно. Во-вторых - есть WizNet. Дешевле. Стек реализован прямо в нем. В-третьмх - есть всякие чипы аля ENC28J60 (или новые Micrel'овские). Тут уже стек внутри проца надо делать. Но цена еще ниже. В-четвертых, на форуме я выкладывал дешевое решение озернечивания устройства. Там разговор идет о единицах долларов на все - т.е. сравнимо по цене с RS485. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Забудьте уже про хабы. Считайте, что их нет. Почему же ? Есть объективные причины считать, что они есть. Детерминированный реалтайм, например. Ну, во-первых есть X-Port. Правда, это не очень бюджетно. Во-вторых - есть WizNet. Дешевле. Стек реализован прямо в нем. По таким ценам можно считать, что их и нет. Не нужно, как минимум. В-четвертых, на форуме я выкладывал дешевое решение озернечивания устройства. Там разговор идет о единицах долларов на все - т.е. сравнимо по цене с RS485. Вкратце ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rst7 5 5 марта, 2009 Опубликовано 5 марта, 2009 · Жалоба Детерминированный реалтайм, например. Да сколько уже можно носиться с этим жупелом под названием "реалтайм". Допустим, пакет будет битый. Че делать-то? Время подошло, а данных нет. Какой же тут реалтайм? Вкратце? http://electronix.ru/forum/index.php?showtopic=44276 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться