Перейти к содержанию
    

Обсуждение USB и альтернативы

Название шины можно оставить предыдущим: USB (Utopian Serial Bus).

..

Кто что думает? Правда тему надо будет в ОФФТОП сносить)

Да уже подумали. В 1993-ем году еще.

В нашем изделии был RS-485, и надо было родить протокол для привязки полусотни изделий на общей разделяемой шине к одному PC. Схема с арбитражем доступа и обнаружений коллизий на расстояниях в сотни метров надежно не работает - уже влияет омическое сопротивление проводки, поэтому пришли к схеме мастер-слейв. На роль мастера, ессно, назначился PC. Потом начали протокол рожать - сначала канальный уровень, потом сетевой, потом уже и до приложения дошли. А потом вышла спецификация USB 1.x и когда я ее почитал - я буквально впал в ступор, потому что канальный уровень USB на 90% совпадал с тем что мы придумали. В итоге - предлагаемый путь "взять RS-485 и сделать все по (своему) уму" лично мной пройден, независимо и еще во времена когда ФИДО не каждый день ходило, не то что инет. И в результате, как ни странно, получился протокол, очень похожий на USB. :biggrin:. Естественно, группа экспертов USB-форума свой вариант получше и поглубже проработала, но ту же самую задачу на канальном уровне мы с ними решили практически одинаково.

USB - на сегодня это массовый стандарт. Да, сложноватый, не самый простой для реализации, но идеология там весьма толковая. И увы, во многих имплементациях есть ошибки и глюки. Питание слабовато, но это относительно. И единый стандарт гораздо лучше чем "колхоз" всяких проприетарных интерфейсов, распаек, разъемов и протоколов. Уже за одно это USB можно куда угодно поцеловать. И, имхо, не стоит сравнивать RS-485 с USB - у них разные ниши. Все равно что сравнивать фермерский пикап с городской "поповозкой".

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И в результате, как ни странно, получился протокол, очень похожий на USB. :biggrin:.

Поскольку тема для меня актуальна, позволю себе задать вопрос. Вы как устройства на шине распознавали/нумеровали. По заранее подготовленному списку, или просто проходились по адресам в цикле? Как поступали, если на шине присуствовало несколько одинаковых устройств?

Спасибо!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку тема для меня актуальна, позволю себе задать вопрос. Вы как устройства на шине распознавали/нумеровали. По заранее подготовленному списку, или просто проходились по адресам в цикле? Как поступали, если на шине присуствовало несколько одинаковых устройств?

Увы, до автоматической энумерации мы тогда не доросли. Адреса на устройствах назначались админами вручную - или с пользовательского интерфейса (на некоторых девайсах были клавы/индикаторы/память конфигурации) или банально полем перемычек (ака джамперы). Поскольку конфигурация сети менялась не так уж часто, и количество изделий было у пользователей ограничего (макс конфигурация это до трех сотен изделий на ~20 ветках RS-485, но таких кастомеров было единицы), то проблем это не создавало.

Если создавалась новая/реконфигурировалась старая сетка, то конфликт адресов вылавливался просто и быстро - сначала все изделия выключались. Потом на хосте запускалась программа-сканер и изделия включались/запитывались по-одному. Когда включалось конфликтующее изделие, то оно не появлялось в окошке-программы сканера, и отваливалось ранее включенное уже насканированное - и по адресу этого отвалившегося можно было судить что не так.

Сканер проходился по всему диапазону адресов, находил все активные устройства и составлял список, который уже можно было подсунуть как базу для остального софта. А дальше там уже были зачатки PnP - девайс сам рассказывал о себе, говорил чего у него "на борту" есть, и мастер-софт уже решал как им рулить.

PS. На сегодня RS-485 у нас практически помер - вместо него 10/100BASE-TX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На сегодня RS-485 у нас практически помер - вместо него 10/100BASE-TX.

Ну чтож, спасибо! Очень познавательно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я лично везде где можно применяю Ethernet, а уж если какой серьезный измеритель выбирать, или лабораторный блок питания, то это обязательное требование - наличие LXI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... единый стандарт гораздо лучше чем "колхоз" всяких проприетарных интерфейсов, распаек, разъемов и протоколов.

Это распространенное заблуждение.

Единый безальтернативный стандарт ни чем не лучше, чем "колхоз" пропиетарных интерфейсов. И то и другое - одинаково плохо.

Пользуясь вашей аналогией, USB - это попытка соединить в одном флаконе и фермерский пикап, и городскую "поповозку". С дальнейшей перспективой развития - скрестить курьерский поезд с велосипедом...

Слишком разные устройства приходится подключать к компьютеру. Диапазон возможных требований и их сочетаний очень велик. Причем, требования различных устройств вполне могут быть взаимоисключающими, не предполагающими какого-либо компромисного решения. То есть, на одной шине такие устройства не уживаются по определению. Попытка собрать весь этот "зоопарк" под крышей одного интерфейса неизбежно приводит к тому, что для одних устройств его возможностей его будет явно недостаточно, а для других он станет слишком избыточен и обременителен. Два-три специализированных интерфейса - каждый для своей области применения, для своей ниши устройств - справились бы с этой задачей гораздо лучше. USB - это системная ошибка, усугубленная коммерческой корыстью...

Изменено пользователем @Ark

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Единый безальтернативный стандарт ни чем не лучше, чем "колхоз" пропиетарных интерфейсов... Попытка собрать весь этот "зоопарк" под крышей одного интерфейса неизбежно приводит к тому, что для одних устройств его возможностей его будет явно недостаточно, а для других он станет слишком избыточен и обременителен.

USB никогда и не претендовал на то, что он будет единственным и безальтернативным интерфейсом. Это вы ему приписываете напрасно, наверное, от незнания. Его задача - покрыть макимум потребностей в шине расширения РС. И эту задачу он успешно решил. То, что не получается расширить через USB, можно сделать через PCI и PCIe. Помимо этих интерфейсов, являющихся для настольных РС системными, есть достаточное количество более узкоспециализированных:

- Ethernet - присутствует во всех РС, начиная от нетбуков

- Для подключения дисплеев существует свой собственный зоопарк интерфейсов, который, наконец-то, вскорости будет приведен к единому знаменателю стандартом DisplayPort.

- PCMCIA/ExpressCard - для карт расширения нетбуков и ноутбуков

- WiFi, котрый стал стандартом для нетбуков и нотбуков

- eSATA - для внешних накопителей, не очень часто, но встречается в десктопах

 

А весь остальной зоопарк с успехом подключается подключается через USB, PCI/PCIe и PCMCIA/ExpressCard. И в этом нет ни малейших поводов ни для нытья, ни для пароноидальных инсинуаций о "всемирном заговоре".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А весь остальной зоопарк с успехом подключается подключается через USB, PCI/PCIe и PCMCIA/ExpressCard. И в этом нет ни малейших поводов ни для нытья, ни для пароноидальных инсинуаций о "всемирном заговоре".

Если бы с успехом - не было бы ни нытья, ни поводов для "инсинуаций"....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
USB никогда и не претендовал на то, что он будет единственным и безальтернативным интерфейсом. Это вы ему приписываете напрасно, наверное, от незнания.

Именно на это он и претендовал, и претендует до сих пор. Уже из последних сил... Впрочем, разберем все по порядку:

 

Во-первых, отложим в сторону все беспроводные и сетевые интерфейсы, имеющиеся в ПК. Отдельно отметив только Ethernet. Сейчас нас интересуют только проводные интерфейсы. А произвольное внешнее устройство совсем не обязано поддерживать сетевые функции.

 

Во-вторых, отставим все узкоспециализированные интерфейсы, ориентированные на конкретные устройства - дисплеи и внешние диски. Подключить другие устройства через них конечно можно попытаться, соблазнившись характеристиками. Но это все-таки дурной тон, и это нельзя считать универсальным подключением. По крайней мере, официальным.

 

В-третьих, подключение через PCI и карты расширения. Замечательный способ. Только его скорее следует считать модернизацией компьютера, апгрейтом, а не универсальным интерфейсом для быстрого подключения/отключения внешних устройств. К тому же, ноутбуки и нетбуки практически лишены таких возможностей.

 

Что же остается? Какой интерфейс мы должны использовать при разработке устройств, подключаемых к ПК? Так чтобы подключиться можно было везде и всегда, к любому ПК, гарантированно и без проблем? - USB, и ничего кроме... Как говорится, при всем богатстве выбора, альтернативы нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Классический образчик демагогии: сначала (под воздействием неадекватного восприятия действительности) ввести собственные условия и взятые с потолка определения, а затем делать на их основе широковещательные выводы.

 

Одна из основных ролей USB - дать возможность расширить ("модернизировать") РС не вскрывая корпус и не влезая в материнскую плату. Пока не появился USB, такой возможности просто не было. Можно было только пристегнуть внешнее устройство через специализированный интерфейс. А USB дал возможность пристегнуть почти что угодно. Ни RS232 этой возможности никогда не предоставлял и не мог представить, кишка тонка, ни RS485. И вот именно за это USB - честь и халва. Ну а там, где у него не получилось (а он не всесилен, "играет как умеет") - там уж по-старинке, вскрывая корпус и втыкая платы расширения в материнку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Классический образчик демагогии...

Если аргументы по делу у Вас закончились, то не стоит продолжать. ;)

Одна из основных ролей USB - дать возможность расширить ("модернизировать") РС не вскрывая корпус и не влезая в материнскую плату. Пока не появился USB, такой возможности просто не было. Можно было только пристегнуть внешнее устройство через специализированный интерфейс. А USB дал возможность пристегнуть почти что угодно. Ни RS232 этой возможности никогда не предоставлял, ни уж тем более RS485. И вот именно за это USB - честь и халва. Ну а там, где у него не получилось (а он не всесилен, "играет как умеет") - там уж по-старинке, вскрывая корпус и втыкая платы расширения в материнку.

С луны свалились? USB просто "похоронил" многие возможности, которые были до него, ничего не предоставив взамен. Учите историю матчасти...

 

Изменено пользователем @Ark

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем тот же RS485 хуже USB? Все USB-шные "навороты" на нем легко могут быть реализованы.

Это ламерская чушь, чисто от дремучего невежества. Начиная хотя бы с того, что RS485 не обеспечит той скорости, которую обеспечивает USB. А также не обеспечит той дешевизны периферийных устройств, которую обеспечивает USB. Поскольку USB уже более десятка лет можно встроить прямо в микроконтроллер, а трансивер RS485 - пока нельзя, и неизвестно, когда будет можно, и сколько это будет стоить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
... Начиная хотя бы с того, что RS485 не обеспечит той скорости, которую обеспечивает USB. А также не обеспечит той дешевизны периферийных устройств, которую обеспечивает USB. Поскольку USB уже более десятка лет можно встроить прямо в микроконтроллер, а трансивер RS485 - пока нельзя, и неизвестно, когда будет можно, и сколько это будет стоить.

Угу. Не забудьте еще включить в стоимость вашего устройства стоимость удлиннителя из 5 хабов, который Вы здесь рекламировали... И про гальваническую развязку подумайте на досуге...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мы говорим не о лёгкости подключения disk-on-key к компьютеру, а о надёжности связи устройств и передачи данных. Представьте: длится эксперимент несколько суток. Собираются данные, пишутся в компьютер. И вдруг...

А мешает только то, что слотов на материнке тоже не в избытке. Да и в ноутбук карту не вставишь.

Возникает вопрос: а зачем используете компы для домохозяек, попутно ругая не нужный Вам интерфейс, вместо того, что бы использовать специально предназначенные для этих целей промышленные компьютеры?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Классический образчик демагогии: сначала (под воздействием неадекватного восприятия действительности)

Это ламерская чушь, чисто от дремучего невежества.

AK, воздержитесь от резкостей. Не вынуждайте применять сдерживающие эмоции инструменты. Давайте вести дискуссию спокойно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...