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

=AK=

Свой
  • Постов

    3 299
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Весь контент =AK=


  1. Извольте. Но в этом случае предлагаемая вами система не способна ничего прочитать из удаленного слэйва. Она у вас write-only, и, вдобавок, игнорирует Ack, поскольку, к моменту генерации нерастянутого 9-го клока в байте, Ack от слэйва никак не успеет дойти через IP (надо полагать, фиктивный Ack мастеру вы собираетесь подсовывать своим "фальшивым слэйвом"). :cranky: Ну, раз уж начинает проясняться, что у вас система однонаправленная (искалеченный вариант write-only), то этот вопрос, действительно, становится неактуален. Предположение, что вы имели ввиду такую... м-м-м... странную систему (что, очевидно, вызвано вашим тотальным непониманием, как работает I2C - иначе такая странная система и в страшном сне не приснилась бы) , полностью объясняет и вашу неспособность отличить предлагаемое вами решение "через IP" от нормального удлинителя I2C, и ваши основания для утверждений о "работоспособности" и "прозрачности" вашего решения, и ваше искреннее недоумение при мысли, что мастеру зачем-то надо растягивать генерируемый им клок. Предлагаю вам сделать следующий шаг и разработать систему think-only - ей вообще не будет нужно ни проводов, ни эфира.
  2. Бита Вот величину этого времени и надо объяснить. Конкретно - назовите цифру, которая гарантирует, на ваш взгляд, работоспособность предлагаемого вами варианта. Желательно - с объяснением, почему вы назвали именно такое время. Конечно, непрозрачно. Я вам уже привел несколько примеров, для которых предлагаемое вами решение оказалось непрозрачным: - Мастер, не умеющий делать clock stretching - Даталоггер, которому требуется обеспечить запись в EEPROM за определенное время
  3. Распишите подробнее, как это, по-вашему, должно происходить. Странно. Это же ваша собственная идея была, которую вы высказали в посте №38. А сейчас продолжаете спорить, что она работоспособная - вот даже "фальшивый слейв" придумали. Интересная аберрация сознания...
  4. Хи-хи... Я же вас просил - изучите I2C, прежде чем нести ахинею. В этом режиме слэйв не успеет через IP затормозить мастера в момент непосредственно после старта. Потому что тормозить он обязан быстро, иначе мастер убежит - не догонишь. Опять хи-хи. Я вам такой даталоггер могу живьем показать. Уже лет 15 выпускается серийно. Как выяснилось, ваше мнение сформировалось вследствие элементарного недостатка знаний.
  5. Потому что при связке через IP невозможно выдержать времена, требуемые I2C. В этом принципиальное отличие от того варианта, который я предложил. А раз невозможно выдержать времянки - то мастер не сможет работать с удаленным слэйвом точно так же, как с локальным (а именно это и есть "прозрачность"). Более того, существует множество упрощенных реализаций мастеров I2C, которые вообще не смогут работать с тормозящими слэйвами, которые получатся у вас при связке по IP. А тормозить они у вас будут в любом случае, независимо от реализации. Вот представьте себе устройство (даталоггер), которое, скажем, раз в 100 мс читает и пишет несколько байт в I2C EPROM. Теперь вы эту EPROM выносите наружу и связываете с мастером I2C через IP, используя любой имеющийся на рынке экспандер I2C. Будет у вас такой даталоггер работать? Нет.
  6. Вы обмишулились. Спутали меня с моим оппонентом. Перечитайте сообщение №25 еще раз внимательнее, если до вас не дошло. Тем не менее, в предлагаемом варианте в рамках каждой из плат - чистый I2C. И для мастера абсолютно все равно, что происходит в кабеле - ему кажется, он непосредственно он общается со своими слэйвами, находящимися в паре сотен метров от него. Следовательно, I2C мастер имеет полное право сказать, что "I2C и на 250 метров работает". А то, как происходит доставка на такое расстояние, - разве что-то меняет в этом факте? А вот через IP прозрачно для I2C мастера никак не получится. Изучайте I2C. Если так и не поймете, почему через не получится - обращайтесь, я объясню. Вредный совет. Так, конечно, в принципе делать тоже можно, но это наименее предпочтительный вариант, в силу своей ненадежности, наихудшей из возможных. ПК выключили - все встало.
  7. От задачи зависит. Для сетевого транса - бессмысленно ее учитывать, а для вторичной обмотки транса высоковольтного импульсного БП - обязательно придется учитывать. Для борьбы с вредным влиянием емкости применяют такие способы: - разбивают обмотку на секции - увеличивают расстояние между слоями обмотки, прокладывая толстую межслойную изоляцию (заодно каждый слой становится как бы "секцией" обмотки) - увеличивают расстояние между витками используя провода в более толстой изоляции (ПЭВШО и т.п.) - мотают не ровно виток к витку, а "внавал", или, еще лучше, послойно, но так, чтобы витки в соседних слоях проходили под углом друг к другу (так наз. намотка "универсаль")
  8. Измените диаметр провода - и получите тот же эффект, поскольку геометрия катушки слегка изменится. А за счет разброса проницаемости сердечника неопределенность индуктивности от образца к образцу будет намного больше, чем разница за счет намотки одним проводом или многими, или разница за счет намотки проводом другого диаметра.
  9. Не больше, чем разница между двумя экземплярами катушек - в одной витки так легли, в другой иначе. Чтобы получить правильный ответ на ваш вопрос, достаточно провести нехитрый мысленный эксперимент. Представьте себе катушку, намотанную одножильным проводом, по которой течет ток, создавая магнитное поле. Катушка имеет индуктивность L. Теперь разрежем провод катушки вдоль по всей длине и введем в разрез идеальный изолятор бесконечно малой толщины. Что-то изменилось? Нет, ток как тек раньше, так и продолжает течь, создавая точно такое же поле. Следовательно, индуктивность катушки осталась неизменной. Введем еще разрез, и еще - индуктивность не меняется.
  10. Чушь, будет L Их коэфф. связи равен единице, поэтому поправка равна нулю. Иначе была бы разница, мотаешь катушку литцендратом или обычным проводом. А разницы нет. В отличие от независимых катушек, все провода работают на создание одного и того же поля. Тем более что есть сердечник.
  11. Убедили? А жаль. :) Есть вариант и с I2C: если использовать буфера P82B96 (предпочтительно - добавив к ним быструю гальваническую развязку), то I2C на 250 метров будет работать. :rolleyes: Идеально было бы скомбинировать их с ADM2482E, которые являются трансиверами RS485/RS422 с гальв. развязкой. На противоположном конце можно поставить приемопередатчики RS422 без развязки, например, ADM3077E Тогда для связи двyх устройств потребуется 4 витых пары, что не проблема: в обычном Эзернет кабеле (категории 5 или 6) как раз 4 витых пары. Получите простое решение. C огромной помехоустойчивостью. ;) PS: Имейте ввиду, это всего лишь идея. Реализуема она или нет - я пока точно не знаю. Скорей всего, реализуема (ну, может, резисторы подтяжки к питанию надо добавить на сигнальные линии между P82B96 и трансиверами RS422), но чтобы сказать точно, надо внимательно читать даташиты, а мне лень... :) В каком контроллере? И какой MBUS вы имеете ввиду, вот этот? http://www.m-bus.com/
  12. Персонал, проводящий техобслуживание, - это не пользователь. От пользователя нельзя требовать, чтобы он использовал антистатический коврик и надел антистатический браслет. Никто не говорит о "редкости". Доступ или есть, или его нет. При испытаниях устройства на электромагнитную совместимость, тестовая лаборатория не будет интересоваться, как часто пользователь будет касаться разъемов. Они чисто формально применят тестовое устройство, имитирующее электростатический разряд, ко всем металлическим частям работающего устройства, которых смогут коснуться. А там, где нет металла - применят вторую разновидность, "разряд по воздуху", подняв тестовое напряжение вдвое.
  13. Студент исчез давным-давно, так и не прореагировав на высказанные предложения. Когда появится - будем студента обучать. Имейте ввиду, что студент с его мелкой задачей - всего лишь повод для обсуждения. Я, например, вполне удовлетворен результатом обсуждения, в ходе которого был в очередной раз развенчан популярный и живучий ламерский миф о том, будто бы растяжки на RS-485 есть предел помехоустойчивости. Борьба с ламерскими глупостями имеет бОльшую ценность для общества, чем решение студенческой задачки.
  14. Никогда в жизни не встречал Ethernet-устройств, в которых в штатном виде плата была бы доступна для касания. :cranky: Поймите простую вещь: устройство должно работать в том виде, в каком его сконструировали работать. Если это плата в составе PC - она должна быть вставлена в РС, а сам компьютер должен быть собран. Если это плата в составе другого устройства - оно должно находиться внутри соответствующего корпуса. И т.д. По этой причине у человека нет доступа к самой плате. Ни к краю платы, ни к середине ее. У человека есть доступ только к тем элементам, которые находятся снаружи: к корпусу, к разъему, к передней планке, если она есть. И это все. Соответственно, устройство конструируется в расчете на то, что электростатические разряды могут попасть в любую точку, доступную человеку, когда устройство собрано. Никто и никогда в здравом уме не конструирует плату исходя из того, что пользователь раскрутит корпус и начнет тыкать пальцами по плате. Статья подписана Каршенбоймом, а не Микрелем. Бог весть откуда он нахватал того, что там написано. Но в любом случае он автор, ему и отвечать за написанное. Да кто ж вас знает, что у вас за устройство. Как оно сконструировано - так и будет распространяться. Например, в РС, электростатический разряд, попавший на переднюю планку, перетечет с нее непосредственно на шасси РС, без малейшего участия каких-либо "контуров на ПП". А если вы ему предоставите беспрепятственную возможность течь еще и на PCI-разьем, то часть разряда пройдет и через разъем, сшибая все на своем пути. А разряд, попавший на корпус разъема - тоже должен найти свой путь на землю. Если вы обеспечите ему прямой путь на переднюю планку и далее на корпус РС - проблемы не будет. А если вы через пресловутый "контур" уведете его на разъем PCI - плата будет глючить и выгорать.
  15. Если для вас понятие "софт" ассоциирутся только и исключительно с прикладной программой, то вам что-то втолковать практически невозможно... Драйверы вообще-то тоже входят в категорию софта. Из вашего высказывания можно понять, что вы думаете, будто прикладная программа на PC работает медленно и/или ненадежно. Вынужден вас разочаровать: это ваше мнение тоже ошибочно. Неужто это как-то подтверждает высказанную вами ошибочную мысль, будто "Интерфейсный и протокольный уровни не должны быть связаны между собой"? Одна только эта фраза непреложно свидетельствует, что вы никогда ничего не слышали об эталонной семиуровневой модели ISO/OSI и, соответственно, не представляете как взаимодействуют между собой различные уровни интерфейса. Каковой (интерфейс) разве что только дремучие кустари от электроники способны низвести до одного только физического уровня и отождествить с ним.
  16. Есть, несомненно. Существуют тысячи самопальных протоколов. Модбас был приведен в качестве примера. Но не просто примера, а примера такого протокола, который обеспечивает помехоустойчивую связь по RS-485. А те тысячи кривых протоколов, помехоустойчивость которых ограничена резисторами подтяжки, в данном контексте интереса не представляют. Мало ли на свете всякого мусора. "Это ваши смешные фантазии" (с) Очень наивно пытаться строить уровень Data Link, который ничего не знает и знать не хочет о PHY. Соответствено, тот же Модбас в документе "MODBUS over serial line specification and implementation guide V1.02" черным по белому пишет в разделе 3: MODBUS solution over serial line should implement an electrical interface in accordance with EIA/TIA-485 standard ( also known as RS485 standard). This standard allows point to point and multipoint systems, in a ”two-wire configuration”. Угу, как же. Вы лучше на фиг.14 в упомянутом документе внимательно посмотрите. Нет, не так. Я отличаю "преобразователь интерфейсов, который не способен полностью соответствовать спецификации Модбас" от "преобразователь интерфейсов, который способен полностью соответствовать спецификации Модбас". Вам нравится первый - пользуйтесь на здоровье. Только не врите, будто он обеспечивает помехоустойчивую связь. А мне бывает нужен второй. В котором трансивер RS-485 включается на передачу не от глупого "автомата", а по сигналу (одному из сигналов управления модемом в RS-232), который сформирует мой софт. Самое смешное состоит в том, что этот ваш недоделанный EL203 почти наверняка имеет лишний приемник RS232 на плате, который вы не могли дотумкать, куда и зачем применить. И вся "цена вопроса" - лишний джампер, при помощи которого выбирается источник сигнала управления передатчиком RS485: от "автомата" или непосредственно от RS232 :rolleyes:
  17. Я вижу, вы как-то очень щепетильно относитесь к терминологии, сведя все ваши претензии к тому, что, на ваш взгляд, я "сваливаю в кучу протоколы и интерфейсы". Поскольку я, действительно, не делаю между ними особо большой разницы, поскольку считаю, что: - всякий протокол вполне уместно назвать интерфейсом, - многие т.наз. "последовательные интерфейсы" на законных основаниях могут называться протоколами, то не будете ли вы так любезны пояснить подробнее, что именно в моих словах вызвало ваше недовольство? Итак, в чем разница между интерфейсом и протоколом? Где конкретно в моих сообщениях эти термины использованы, на ваш взгляд, некорректно? :)
  18. Иными словами, для вас слишком сложно то, что я рассказал, вы потеряли нить. :laughing: К счастью, то, что пишется на форуме, читают многие. Вы не поняли - другие поймут. А я про репитер рассказывал. В каталоге продукции вашей кустарной мастерской это EL200, если вы не знаете что такое репитер. Вы думаете, что он "устанaвливается на какое-то устройство" и "получает от него команды"? Если так, вы ошибаетесь. :01: Что же касается вашего преобразователя RS232-RS485, то с ним совсем другая проблема. Как я уже говорил, он резко снижает помехоустойчивость связи, когда работает в составе сети на базе RS-485. Допустим, все узлы такой сети работают с протоколом Модбас RTU. Однако тот узел, на котором стоит ваше изделие EL203, не полностью соответствует спецификации Модбас RTU: в отличие от нормальных узлов, он не формирует правильной преамбулы. Поскольку преамбула от него формируется резисторами, а не включенным в течении определенного интервала передатчиком RS-485, как того требует протокол Модбас RTU. В результате этого в условиях сильных помех все узлы разговаривают друг с другом как ни в чем не бывало, а сообщения от этого узла все время теряются. :twak:
  19. B моей практике было несколько случаев "разборок" с самодельными протоколами, работа которых основывалась на такой же, как у вас, слепой нерассуждающей вере в подтягивающие резисторы на шине RS-485. В одном случае это обошлось компании, помимо подмоченной репутации, в кругленькую сумму: инженеру специально под эту задачу купили "карманный" осциллограф Fluke (в те времена, 15 лет назад, это была очень дорогая игрушка) и несколько раз посылали в командировку на площадку заказчика, в Китай, где была установлена глючащая система - в надежде, что он на месте пофиксит проблему. Инженер тоже не любил думать, нo был большой мастак танцев с бyбном, поэтому каждый раз уменьшал номинал подтягивающих резисторов, камлал и молился. A когда возвращался из командировки - через некоторое время заказчик снова сообщал, что объект глючит. Oбъект - портовый кран высотой с десятиэтажный дом, глюк заключался в том, что кран время от времени "вставал": блокировки системы безопасности ложно срабатывали от помех на шине RS-485 и отрубали ему моторы. :krapula: Кстати, в те годы как раз получили распространение "автоматические преобразователи RS-485 - RS-232" и "автоматические репитеры RS-485" с развязкой. Как известно, и те и другие используют один и тот же принцип работы. Тот инженер, по ламерству своему, поставил в систему такой репитер для дополнительной развязки. Он тоже, как и вы, думал, что развязка - это панацея и гарантия помехоустойчивости. Oн не догадывался, что этот репитер реально привносил дополнительные проблемы, поскольку менял направление обмена невпопад, из-за помех. В другом случае система домашней автоматизации изредка "бибикала" по ночам, мешая людям спать: это терминал подсистемы безопасности рапортовал, что долгое время не может связаться по RS-485 с центральным контроллером. А приведенная вами ссылка, увы, к помехоустойчивости имеет весьма отдаленное отношение. ;)
  20. А как остальные-то будут передавать? "На авось", в надежде, что их передатчик окажется "сильнее"? С чего бы это? Я понимаю, что вам, как причастному к производству тех поделок, которые вы тут беззастенчиво рекламировали, хотелось бы, чтобы их применяли как можно больше, аж по две на каждый сегмент. Однако, увы, большинство инсталляций RS-485 вообще не использует такой хлам, поскольку состоит из настоящих узлов с RS-485. Тем более что хлипкие примочки типа вашей снижают общую помехоустойчивость сети на базе RS-485 - ведь они протоколов не разумеют и тупо надеются именно на подтягивающие резисторы. То есть, поставишь ваш "преобразователь" - и получишь снижение помехоустойчивости на порядок и более. :cranky:
  21. Не смешите. Разница между 820 ом и 1 к просто смехотворна при качественных оценках, которые я привел. Ну, уменьшите вы резисторы подтяжек до полкилоома, сократите отставание в помехоустойчивости до "всего" 50 раз, толку-то... "Дешевка, она и есть дешевка" (с). Все равно и близко не подступитесь к той помехоустойчивости, которую обеспечивает, например, старый добрый Modbus - безо всяких подтяжек. Что же касается 120 Ом - это типичное волновое сопротивление витой пары (большинство кабелей имеют волновое в диапазоне 100...150 Ом). Ваша "стандартная" подтяжка - включает в себя резистор согласования волнового для абстрактно-"усредненного" кабеля. Для правильной работы она должна включаться с одного конца кабеля, а с другого конца должен стоять второй резистор 120 Ом. В расчете я это прямо указал: волновое 120 ом, линия согласована с обеих концов. А вы даже такой элементарной вещи не поняли...
  22. Никакая витая пара не является идеальной. Поэтому внешняя помеха, наводимая на витую пару, создаст не только синфазную, но также и дифференциальную составляющую. Коэфф. подавления синфазной помехи - одна из важных характеристик кабеля (витой пары). Впрочем, неграмотные студенты могут не знать, что эта величина конечная и измеряемая :) Чем голословно такое утверждать, не поленитесь и посчитайте, какова должна быть мощность помехи для того, чтобы "пересилить" работающий драйвер и ваши "нехилые" резисторы. Разница - в десятки раз. Например, для прикидки рассмотрим достаточно типичные резисторы подтяжки - по 1 к, соединенные к +5 и к нулю. Линию с волновым 120 Ом согласуем с обеих сторон. Подтяжки создают в линии ток смещения около 2.5 мА, дифф. напряжение на 60 Омах будет чуть менее 150 мВ. Гистерезис приемника 50 мВ, всего же для создания ложного сигнала помеха должна развить (упрощенно) на нагрузке 60 Ом дифф. напряжение 150+50=200 мВ, для этого она должна иметь дифф. мощность порядка 0.67 мВт. Типичный драйвер RS485 обязан выдавать в нагрузку не менее 60 мА (в действительности выдает существенно больше) при (дифф) размахе не менее 2 В. Чтобы пересилить работающий драйвер, мощность помехи должна быть (упрощенно) 60 мА * 1 В = 60 мВт, или почти в 90 раз больше, чем для пересиливания подтяжек. Это дает адекватную качественную оценку, какой выигрыш в помехоустойчивости даст использование правильного протокола поверх RS-485. Увы, не вы первый, не вы последний из тех, кто ходит по граблям с RS-485, полагаясь на одни подтяжки. Это классический путь всех новичков и ламеров. Стандартный драйвер RS232 типа DS1488 выдает в нагрузку ток +-10 мА. При размахе вых. сигнала +-12 В, чтобы пересилить драйвер помеха должна развить мощность порядка 120 мВт. Это сопоставимо с RS-485 с правильным протоколом и заметно лучше, чем требуется, чтобы пересилить жалкие подтягивающие резисторы. Следовательно, вся разница, весь выигрыш RS-485 в помехоустойчивости по сравнению с RS-232 состоит в подавлении синфазного сигнала. Примените для RS-485 паршивый кабель с подавлением синфазной помехи в 40 дБ или хуже - и вполне можете получить с одними только подтягивающими резисторами помехоустойчивость меньше, чем в RS-232.
  23. Независимо от используемого протокола, использование RS-232 гарантирует довольно высокую помехоустойчивость связи. Причина этого в том, что передатчик RS-232 все время включен, и помеха должна пересилить выход передатчика для того, чтобы создать ложный сигнал на входе приемника. А при использовании RS-485 передатчики включаются изредка. Большую часть времени линии интерфейса RS-485 "болтаются в воздухе", а уровни на них задается не мощными передатчиками, а хилыми резисторами подтяжки, пересилить которые помехе ничего не стоит. Поэтому при использовании RS-485 помехоустойчивость сильно зависит от используемого протокола.
×
×
  • Создать...