I2C подтягивающий резистор: использование внешнего вместе с внутренним

Я реализую соединение I2C между PIC18F4550 и внешней памятью EEPROM. Я знаю, что внутренний подтягивающий резистор не будет работать, и поэтому я собираюсь использовать внешний. Тем не менее, я использую в том же порту последние 4 контакта для взаимодействия с матричной клавиатурой, и для этого мне нужно включить внутренние подтягивания для всего порта (этот микроконтроллер не предлагает возможность включения только для те, которые вы хотите). Повлияет ли внутреннее подтягивание на соединение, хотя я использую внешний резистор?

1 ответ

Решение

Это создаст параллельное соединение внутреннего и внешнего подтягивающего резистора. Принимая во внимание слабый ток срабатывания, указанный в технических характеристиках контроллера, внутренний ток составляет 12-100 кОм.

Обычно результат зависит от значения внешнего резистора, рассчитайте его для выбранного значения и обоих краевых случаев внутреннего, вот некоторая информация о резисторе I2C в зависимости от скорости: http://www.ti.com/lit/an/slva689/slva689.pdf (рассмотрим тот, который описан как параллельное соединение двух вышеупомянутых)

Из моего опыта: это не должно быть большой проблемой, если вы выбираете внешнее сопротивление довольно небольшого значения. Обычно менее 2 кОм против 100 кОм можно просто считать 2000 кОм. Это округление, конечно, менее верно для 12 кОм.

Более общее правило гласит: чем больше результирующий резистор, тем меньше протекают токи, что приводит к более медленной перезарядке паразитной емкости и, таким образом, ограничивает скорость соединения. Если вы хотите получить дополнительные знания по этому вопросу, откройте импульсный / шаговый отклик google for RC, низкочастотный пассивный RC-фильтр и связанные с этим темы.

Удачи с вашим дизайном!

Другие вопросы по тегам