Я понимаю, что в линиях I2C, SCL и SDA используются подтягивающие резисторы, а драйверы выводов являются устройствами NPN с открытым коллектором, которые могут приводить контакты в землю. Это дает I2C преимущество в том, что одна и та же шина теперь может совместно использоваться несколькими ведомыми, и даже если два или более ведомых устройства случайно попытаются управлять шиной в одно и то же время, это не приведет к повреждению системы.
Но это также можно сделать с помощью драйверов PNP с открытым стоком и понижающих резисторов на линиях SDA и SCL. Такие вещи, как растягивание часов и арбитраж с несколькими мастерами, могут быть достигнуты и с этим.
Дает ли текущая реализация протокола I2C какие-либо преимущества по сравнению с предложенной выше альтернативной реализацией?
Ответы:
Электрически это имеет смысл, потому что заземление - это одно общее соединение со всеми устройствами на шине IIC. Это намного меньшее ограничение, чем принудительное включение питания в качестве общего соединения для всех устройств IIC, что потребуется, если линии будут подняты высоко и низко подвешены из-за понижений.
Обратите внимание, что не все устройства IIC должны питаться от одной сети или от одного и того же напряжения. Это было бы неверно, если бы обе шинные линии приходились на одно общее напряжение питания.
источник
В старые добрые времена водители TTL гораздо лучше справлялись с потерей сигнала, чем с ним. Поэтому такие протоколы, как I2C, а также линии прерывания, сброс и т. Д., Были реализованы с использованием раскрывающегося раскрывающегося списка.
источник
Проще использовать землю в качестве общего эталона среди подсистем, которые могут иметь различные напряжения питания. Если вы используете PNP-транзисторы для поднятия напряжения питания, все подсистемы должны быть подключены к одному источнику питания.
источник
Хороших ответов здесь предостаточно, но есть и другая причина.
Если состояние покоя автобуса находится на земле, невозможно определить, подключена ли шина или просто висит в пространстве.
Это нормально, чтобы подтягивающее устройство находилось на главном устройстве. Рабы обычно не имеют подтягивания. Это связано с тем, что ток снижения, который потребуется для установления низкого уровня, будет увеличиваться с увеличением количества устройств, подключенных к шине.
Подчиненный, когда он подключен к шине, может затем обнаружить, что линия перегружена (при условии, что она не используется), и знать, что шина действительно там и работает тихо. Это не будет иметь место с автобусом, смещенным на землю.
источник
Если я правильно понимаю вопрос, один из аспектов:
Прежде всего, вы должны отметить, что вы используете не биполярные транзисторы (NPN, PNP), а полевые транзисторы (которые существуют в четырех различных вариантах).
Устройства, использующие вариант « подтягивания и NPN », используют MOSFET с улучшением n-канала . Поскольку источник этого полевого МОП-транзистора подключен к земле, напряжение затвора-источника (управляющее потоком тока) равно напряжению между затвором и землей. Таким образом, МОП-транзистором можно управлять, используя напряжение от 0 до Vdd.
Там будет три возможности для реализации " варианта раскрывающийся и PNP »:
Использование улучшенного p-канала MOSFET
На микросхемах NMOS или CMOS p-канальные MOSFET с сопоставимыми характеристиками (сопротивлением и т. Д.) Требуют больше места, чем n-канальные MOSFETS.
В микроэлектронике пространство - это деньги, поэтому по возможности избегают p-канальных МОП-транзисторов.
Используя n-канального улучшения MOSFET
Это потребовало бы, чтобы на выходе логической схемы, управляющей транзистором, было «НИЗКОЕ» напряжение напряжения питания (например, + 5 В) и «ВЫСОКОЕ» напряжение выше напряжения питания (например, + 10 В, когда на остальную цепь подается питание). с + 5V).
Причина: напряжение заземления источника будет Vdd, когда MOSFET проводит. Напряжение затвора-источника должно быть положительным, поэтому напряжение между затвором и землей должно быть даже выше.
Вам потребуются два источника напряжения - и схема, смещающая выход логической схемы с 0 ... + 5 В на + 5 В ... + 10 В ...
Использование n-канального истощения MOSFET
К сожалению, я не могу рассказать вам много об этом решении. Тем не менее, я нашел страницу, использующую Google, в которой говорится, что истощающие МОП-транзисторы сложнее производить, чем улучшающие МОП-транзисторы, и по этой причине их избегают.
Из силовой электроники (не микроэлектроники) я знаю, что описанный выше вариант с двумя источниками питания даже предпочтительнее полевых МОП-транзисторов. (Но я не могу сказать вам, почему.)
РЕДАКТИРОВАТЬ Используя n-канальные МОП-транзисторы с истощением, вам, вероятно, потребуется отрицательное напряжение (например, -5 В), поэтому вам также понадобятся два напряжения питания ...
источник
Есть также еще одно дополнительное преимущество, заключающееся в наличии общих линий передачи данных и подтягивающих линий (по сравнению с общими VCC и нисходящими линиями):
Даже если первоначальное намерение заключалось в том, чтобы подключать устройства на одной и той же печатной плате только на расстоянии нескольких дюймов, это было достаточно успешно, так что теперь нередко бывает, что в линиях есть пара футов и соединяющие «устройства», которые могут быть компьютерами или чем-то подобным сложность, с некоторыми устройствами, имеющими свои собственные источники питания (различного качества, скажем, вы подключаете что-то от розетки с питанием от батареи). Лучше, если соединение работает «хотя бы хорошо» даже в неидеальных и нестандартных условиях.
И многие из таких подключенных устройств могут быть как-то связаны и другими способами, тогда только через I2C-связь. Обычно, когда вы соединяете устройства вместе, вы подключаете его
common ground
- иногда как часть других функций, иногда просто потому, что он смонтирован на металлическом корпусе, а устройства тоже заземлены на корпус (или с обычным кулером или чем-то в этом роде) или могут быть экранированным кабелем с заземленным экраном внутри, который также соединяет заземление.Если вы также напрямую подключаете линии питания (VCC) таких устройств, у вас будут проблемы, когда эти линии будут, естественно, иметь разное напряжение (конечно, здесь и там может быть 5 В, но в зависимости от конструкции и допусков частей источников питания это также может быть 4,9 В или 5,2 В или даже изменяться, если он питается от батареи и иногда работает на некоторых двигателях, что приводит к падению мощности и росту со временем).
В таком случае между этими источниками питания, составляющими часть вольт, фактически происходит короткое замыкание, и в зависимости от источников (и сопротивления путей) могут протекать относительно большие токи, что приводит не только к потере энергии и повышению температуры, но, возможно, даже к повреждению ( или сокращение срока службы) некоторых из этих источников. Что не хорошо.
Наличие общего заземления и подтягиваний позволяет избежать таких проблем - заземление является заземлением, а подтягивающие резисторы допускают только очень небольшой перекрестный ток, даже если VCC сильно отличается от устройств.
источник
Вам не нужно передавать столько энергии через чип, если он тянет вверх.
Поскольку чип ничего не ведет, он просто создает короткое замыкание, чтобы довести шину до 0, и делает открытие, чтобы довести его до 1.
Если бы он был отключен, вам пришлось бы подать питание через чип, чтобы подвести шину к 1. Если шина оказалась случайной короткой, это может быть большая мощность, которую вы проезжаете через этот чип, чтобы попытаться протолкнуть его. до 1.
Отказ от ответственности: я довольно паршивый EE на данный момент.
источник